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

2.0 KiB
Raw Permalink Blame History

[counted.iter.elem]

24 Iterators library [iterators]

24.5 Iterator adaptors [predef.iterators]

24.5.7 Counted iterators [iterators.counted]

24.5.7.4 Element access [counted.iter.elem]

🔗

constexpr decltype(auto) operator*(); constexpr decltype(auto) operator*() const requires [dereferenceable](iterator.synopsis#concept:dereferenceable "24.2Header <iterator>&nbsp;synopsis[iterator.synopsis]")<const I>;

1

#

Hardened preconditions: length > 0 is true.

2

#

Effects: Equivalent to: return *current;

🔗

constexpr auto operator->() const noexcept requires [contiguous_iterator](iterator.concept.contiguous#concept:contiguous_iterator "24.3.4.14Concept contiguous_­iterator[iterator.concept.contiguous]")<I>;

3

#

Effects: Equivalent to: return to_address(current);

🔗

constexpr decltype(auto) operator[](iter_difference_t<I> n) const requires [random_access_iterator](iterator.concept.random.access#concept:random_access_iterator "24.3.4.13Concept random_­access_­iterator[iterator.concept.random.access]")<I>;

4

#

Hardened preconditions: n < length is true.

5

#

Effects: Equivalent to: return current[n];