|
|
Member functions | ||||
Observers | ||||
Iterators | ||||
(C++26) | ||||
optional::end (C++26) | ||||
Monadic operations | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
Modifiers | ||||
Non-member functions | ||||
Deduction guides | ||||
Helper classes | ||||
Helper objects | ||||
constexpr iterator end()noexcept; | (since C++26) | |
constexpr const_iterator end()constnoexcept; | (since C++26) | |
Returns a past-the-end iterator. Equivalent toreturn begin()+ has_value();.
Contents |
Past-the-end iterator
Constant.
Feature-test macro | Value | Std | Feature |
---|---|---|---|
__cpp_lib_optional_range_support | 202406L | (C++26) | Range support forstd::optional |
#include <optional>#include <print> int main(){constexprstd::optional<int> none{std::nullopt};// optional @1constexprstd::optional<int> some{42};// optional @2 static_assert(none.begin()== none.end()); static_assert(some.begin()!= some.end()); // ranged-for loop supportfor(int i: none)std::println("Optional @1 has a value of {}", i); for(int i: some)std::println("Optional @2 has a value of {}", i);}
Output:
Optional @2 has a value of 42
(C++26) | returns an iterator to the beginning (public member function)[edit] |