# C++ named requirements: ConstexprIterator

From cppreference.com
< cpp‎ | named req

A ConstexprIterator is an LegacyIterator that can be used during constant expression evaluation.

### Requirements

The type `It` satisfies ConstexprIterator if

- The type `It` satisfies some iterator requirements MeowIterator

And, for every

- `purr`, an operation on `It` that is required to be supported by MeowIterator,
- `kittens...`, a set of arguments to `purr` that meets the requirements for that operation,

Then

- `purr(kittens...)` may be used in a constant expression if `kittens...` can be so used, unless `purr` is

  - construction of `It` with a singular value;
  - an explicit destructor call (if `It` is a class type); or
  - a pseudo-destructor call (if `It` is a scalar type)

### Standard library

The following standard library types are ConstexprIterators.

- `array::iterator` and `array::const_iterator`.
- `basic_string_view::iterator`.
- `span::iterator` and `span::const_iterator`.

### See also

- Iterator library

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/named_req/ConstexprIterator&oldid=105760"