Files
2025-10-25 03:02:53 +03:00

2.0 KiB
Raw Permalink Blame History

[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;

1

#

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.

2

#

All requirements on container iterators ([container.reqmts]) apply tooptional::iterator.

🔗

constexpr iterator begin() const noexcept;

3

#

Returns: If has_value() is true, an iterator referring to *val.

Otherwise, a past-the-end iterator value.

🔗

constexpr iterator end() const noexcept;

4

#

Returns: begin() + has_value().