std::experimental::nullopt_t
From cppreference.com
< cpp | experimental | optional
C++
Experimental
| Technical Specification | ||||
| Filesystem library (filesystem TS) | ||||
| Library fundamentals (library fundamentals TS) | ||||
| Library fundamentals 2 (library fundamentals TS v2) | ||||
| Library fundamentals 3 (library fundamentals TS v3) | ||||
| Extensions for parallelism (parallelism TS) | ||||
| Extensions for parallelism 2 (parallelism TS v2) | ||||
| Extensions for concurrency (concurrency TS) | ||||
| Extensions for concurrency 2 (concurrency TS v2) | ||||
| Concepts (concepts TS) | ||||
| Ranges (ranges TS) | ||||
| Reflection (reflection TS) | ||||
| Mathematical special functions (special functions TR) | ||||
| Experimental Non-TS | ||||
| Pattern Matching | ||||
| Linear Algebra | ||||
| std::execution | ||||
| Contracts | ||||
| 2D Graphics |
Library fundamentals
std::experimental::optional
| Member functions | ||||
| Observers | ||||
| Modifiers | ||||
| Non-member functions | ||||
| Helper classes | ||||
nullopt_t | ||||
| Helper objects | ||||
| Defined in header <experimental/optional>
|
||
| struct nullopt_t; |
(library fundamentals TS) | |
std::experimental::nullopt_t is an empty class type used to indicate optional type with uninitialized state. In particular, std::experimental::optional has a constructor with nullopt_t as a single argument, which creates an optional that does not contain a value.
std::experimental::nullopt_t must be a LiteralType and cannot have a default constructor.
It must have a constexpr constructor that takes some implementation-defined literal type.
[edit] Notes
nullopt_t is not DefaultConstructible to support both op = {}; and op = nullopt; as the syntax for disengaging an optional object.
A possible implementation of this class is
struct nullopt_t { constexpr nullopt_t(int) {} };
[edit] See also
| (C++17) |
an object of type nullopt_t (constant) [edit] |