Namespaces
Variants
Actions

Experimental library header <experimental/optional>

From cppreference.com
< cpp‎ | header‎ | experimental
 
 
Standard library headers
 
Experimental library headers
Execution P2300
Filesystem TS
Parallelism TS (v1, v2)
experimental/algorithm
experimental/execution_policy
experimental/exception_list
experimental/numeric
experimental/task_block
Library Fundamentals TS (v1, v2, v3)
experimental/algorithm
experimental/array
experimental/chrono
experimental/deque
experimental/forward_list
experimental/future
experimental/iterator
experimental/list
experimental/map
experimental/memory
experimental/numeric
<experimental/optional>
experimental/propagate_const
experimental/random
experimental/ratio
experimental/regex
experimental/scope
experimental/set
experimental/source_location
experimental/string
experimental/system_error
experimental/tuple
experimental/type_traits
experimental/unordered_map
experimental/unordered_set
experimental/utility
experimental/vector

Concurrency TS
experimental/atomic
experimental/barrier
experimental/future
experimental/latch
Ranges TS
Coroutines TS
experimental/coroutine
Networking TS
experimental/buffer
experimental/executor
experimental/internet
experimental/io_context
experimental/netfwd
experimental/socket
experimental/timer
Reflection TS
 

This header is part of the Library Fundamentals TS (v1, v2).

[edit] Classes

Name Description
(library fundamentals TS)
a wrapper that may or may not hold an object
(class template) [edit]
(library fundamentals TS)
exception indicating checked access to an optional that doesn't contain a value
(class) [edit]
(library fundamentals TS)
disambiguation tag type for in-place construction of optional types
(class) [edit]
specializes the std::hash algorithm
(class template specialization) [edit]
(library fundamentals TS)
indicator of optional type with uninitialized state
(class) [edit]

[edit] Functions

Comparison
compares optional objects
(function template) [edit]
Specialized algorithms
specializes the std::swap algorithm
(function) [edit]
creates an optional object
(function template) [edit]
Hash support

[edit] Synopsis

namespace std {
 namespace experimental {
 inline namespace fundamentals_v1 {
 
 // 5.4, optional for object types
 template <class T> class optional;
 
 // 5.5, In-place construction
 struct in_place_t{};
 constexpr in_place_t in_place{};
 
 // 5.6, Disengaged state indicator
 struct nullopt_t{see below};
 constexpr nullopt_t nullopt(unspecified);
 
 // 5.7, Class bad_optional_access
 class bad_optional_access;
 
 // 5.8, Relational operators
 template <class T>
 constexpr bool operator==(const optional<T>&, const optional<T>&);
 template <class T>
 constexpr bool operator!=(const optional<T>&, const optional<T>&);
 template <class T>
 constexpr bool operator<(const optional<T>&, const optional<T>&);
 template <class T>
 constexpr bool operator>(const optional<T>&, const optional<T>&);
 template <class T>
 constexpr bool operator<=(const optional<T>&, const optional<T>&);
 template <class T>
 constexpr bool operator>=(const optional<T>&, const optional<T>&);
 
 // 5.9, Comparison with nullopt
 template <class T> constexpr bool operator==(const optional<T>&, nullopt_t) noexcept;
 template <class T> constexpr bool operator==(nullopt_t, const optional<T>&) noexcept;
 template <class T> constexpr bool operator!=(const optional<T>&, nullopt_t) noexcept;
 template <class T> constexpr bool operator!=(nullopt_t, const optional<T>&) noexcept;
 template <class T> constexpr bool operator<(const optional<T>&, nullopt_t) noexcept;
 template <class T> constexpr bool operator<(nullopt_t, const optional<T>&) noexcept;
 template <class T> constexpr bool operator<=(const optional<T>&, nullopt_t) noexcept;
 template <class T> constexpr bool operator<=(nullopt_t, const optional<T>&) noexcept;
 template <class T> constexpr bool operator>(const optional<T>&, nullopt_t) noexcept;
 template <class T> constexpr bool operator>(nullopt_t, const optional<T>&) noexcept;
 template <class T> constexpr bool operator>=(const optional<T>&, nullopt_t) noexcept;
 template <class T> constexpr bool operator>=(nullopt_t, const optional<T>&) noexcept;
 
 // 5.10, Comparison with T
 template <class T> constexpr bool operator==(const optional<T>&, const T&);
 template <class T> constexpr bool operator==(const T&, const optional<T>&);
 template <class T> constexpr bool operator!=(const optional<T>&, const T&);
 template <class T> constexpr bool operator!=(const T&, const optional<T>&);
 template <class T> constexpr bool operator<(const optional<T>&, const T&);
 template <class T> constexpr bool operator<(const T&, const optional<T>&);
 template <class T> constexpr bool operator<=(const optional<T>&, const T&);
 template <class T> constexpr bool operator<=(const T&, const optional<T>&);
 template <class T> constexpr bool operator>(const optional<T>&, const T&);
 template <class T> constexpr bool operator>(const T&, const optional<T>&);
 template <class T> constexpr bool operator>=(const optional<T>&, const T&);
 template <class T> constexpr bool operator>=(const T&, const optional<T>&);
 
 // 5.11, Specialized algorithms
 template <class T> void swap(optional<T>&, optional<T>&) noexcept(see below);
 template <class T> constexpr optional<see below> make_optional(T&&);
 
 } // namespace fundamentals_v1
 } // namespace experimental
 
 // 5.12, Hash support
 template <class T> struct hash;
 template <class T> struct hash<experimental::optional<T>>;
 
} // namespace std
Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/header/experimental/optional&oldid=112242"

AltStyle によって変換されたページ (->オリジナル) /