Difference between revisions of "cpp/named req/ConstexprIterator"
From cppreference.com
m (Text replace - "cpp/concept" to "cpp/named req") |
m (Text replace - "{{concept" to "{{named req") |
||
Line 2: | Line 2: | ||
{{cpp/named req/navbar}} | {{cpp/named req/navbar}} | ||
− | A {{tt|ConstexprIterator}} is an {{ | + | A {{tt|ConstexprIterator}} is an {{named req|Iterator}} that can be used during constant expression evaluation. |
===Requirements=== | ===Requirements=== | ||
Line 23: | Line 23: | ||
===Standard library=== | ===Standard library=== | ||
− | The following standard library types are {{ | + | The following standard library types are {{named req|ConstexprIterator}}s. |
* {{ltt|cpp/container/array|array::iterator}}. | * {{ltt|cpp/container/array|array::iterator}}. |
Revision as of 14:28, 15 June 2018
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 conceptMeowIterator
And, for every
-
purr
, an operation onIt
that is required to be supported byMeowIterator
, -
kittens...
, a set of arguments topurr
that meets the requirements for that operation,
Then
-
purr(kittens...)
may be used in a constant expression ifkittens...
can be so used, unlesspurr
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)
- construction of
Standard library
The following standard library types are ConstexprIterators.