Difference between revisions of "cpp/named req/ConstexprIterator"
From cppreference.com
m (Text replace - "{{concept" to "{{named req") |
m |
||
Line 2: | Line 2: | ||
{{cpp/named req/navbar}} | {{cpp/named req/navbar}} | ||
− | A {{ | + | A {{named req|ConstexprIterator}} is an {{named req|Iterator}} that can be used during constant expression evaluation. |
===Requirements=== | ===Requirements=== | ||
The type {{tt|It}} satisfies {{tt|ConstexprIterator}} if | The type {{tt|It}} satisfies {{tt|ConstexprIterator}} if | ||
− | * The type {{tt|It}} satisfies some iterator | + | * The type {{tt|It}} satisfies some iterator requirements {{tt|MeowIterator}} |
And, for every | And, for every |
Revision as of 19:57, 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 requirementsMeowIterator
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.