cppreference.com
Create account
Log in
Namespaces
Template
Discussion
Variants
Views
View
Edit
History
Actions
Template:cpp/utility/optional/navbar
From cppreference.com
C++
Compiler support
Freestanding and hosted
Language
Standard library
Standard library headers
Named requirements
Feature test macros
(C++20)
Language support library
Concepts library
(C++20)
Metaprogramming library
(C++11)
Diagnostics library
General utilities library
Strings library
Containers library
Iterators library
Ranges library
(C++20)
Algorithms library
Numerics library
Localizations library
Input/output library
Filesystem library
(C++17)
Regular expressions library
(C++11)
Concurrency support library
(C++11)
Execution support library
(C++26)
Technical specifications
Symbols index
External libraries
[edit]
Utilities library
Language support
Type support
(basic types, RTTI)
Library feature-test macros
(C++20)
Dynamic memory management
Program utilities
Coroutine support
(C++20)
Variadic functions
is_constant_evaluated
(C++20)
is_within_lifetime
(C++26)
initializer_list
(C++11)
source_location
(C++20)
Three-way comparison
three_way_comparable
three_way_comparable_with
(C++20)
(C++20)
strong_ordering
(C++20)
weak_ordering
(C++20)
partial_ordering
(C++20)
common_comparison_category
(C++20)
compare_three_way_result
(C++20)
compare_three_way
(C++20)
strong_order
(C++20)
weak_order
(C++20)
partial_order
(C++20)
compare_strong_order_fallback
(C++20)
compare_weak_order_fallback
(C++20)
compare_partial_order_fallback
(C++20)
is_eq
is_lt
is_lteq
(C++20)
(C++20)
(C++20)
is_neq
is_gt
is_gteq
(C++20)
(C++20)
(C++20)
General utilities
Date and time
Function objects
Formatting library
(C++20)
bitset
hash
(C++11)
Relational operators
(deprecated in C++20)
rel_ops::operator!=
rel_ops::operator>
rel_ops::operator<=
rel_ops::operator>=
Integer comparison functions
cmp_equal
cmp_less
cmp_less_than
(C++20)
(C++20)
(C++20)
cmp_not_equal
cmp_greater
cmp_greater_than
(C++20)
(C++20)
(C++20)
in_range
(C++20)
Swap
and
type operations
swap
ranges::swap
(C++20)
exchange
(C++14)
declval
(C++11)
to_underlying
(C++23)
forward
(C++11)
forward_like
(C++23)
move
(C++11)
move_if_noexcept
(C++11)
as_const
(C++17)
Common vocabulary types
pair
tuple
(C++11)
optional
(C++17)
any
(C++17)
variant
(C++17)
tuple_size
(C++11)
tuple_element
(C++11)
apply
(C++17)
make_from_tuple
(C++17)
expected
(C++23)
Elementary string conversions
to_chars
(C++17)
from_chars
(C++17)
chars_format
(C++17)
to_chars_result
(C++17)
from_chars_result
(C++17)
[edit]
std::optional
Member functions
optional::optional
optional::~optional
optional::operator=
Observers
optional::operator->
optional::operator*
optional::operator bool
optional::has_value
optional::value
optional::value_or
Iterators
optional::begin
(C++26)
optional::end
(C++26)
Monadic operations
optional::and_then
(C++23)
optional::transform
(C++23)
optional::or_else
(C++23)
Modifiers
optional::emplace
optional::swap
optional::reset
Non-member functions
operator==
operator!=
operator<
operator<=
operator>
operator>=
operator<=>
(C++20)
make_optional
swap
(std::optional)
Deduction guides
Helper classes
hash
<std::optional>
nullopt_t
in_place_t
bad_optional_access
Helper objects
nullopt
in_place
[edit]