2.0 KiB
2.0 KiB
[optional.ref.iterators]
22 General utilities library [utilities]
22.5 Optional objects [optional]
22.5.4 Partial specialization of optional for reference types [optional.optional.ref]
22.5.4.5 Iterator support [optional.ref.iterators]
using iterator = implementation-defined;
This type models contiguous_iterator ([iterator.concept.contiguous]), meets the Cpp17RandomAccessIterator requirements ([random.access.iterators]), and meets the requirements for constexpr iterators ([iterator.requirements.general]), with value type remove_cv_t.
The reference type is T& for iterator.
All requirements on container iterators ([container.reqmts]) apply tooptional::iterator.
constexpr iterator begin() const noexcept;
Returns: If has_value() is true, an iterator referring to *val.
Otherwise, a past-the-end iterator value.
constexpr iterator end() const noexcept;
Returns: begin() + has_value().