Difference between revisions of "cpp/named req/ConstexprIterator"
From cppreference.com
m |
m (named req/core) |
||
Line 5: | Line 5: | ||
===Requirements=== | ===Requirements=== | ||
− | The type {{tt|It}} satisfies {{ | + | The type {{tt|It}} satisfies {{named req/core|ConstexprIterator}} if |
− | * The type {{tt|It}} satisfies some iterator requirements {{ | + | * The type {{tt|It}} satisfies some iterator requirements {{named req/core|MeowIterator}} |
And, for every | And, for every | ||
− | * {{tt|purr}}, an operation on {{tt|It}} that is required to be supported by {{ | + | * {{tt|purr}}, an operation on {{tt|It}} that is required to be supported by {{named req/core|MeowIterator}}, |
* {{tt|kittens...}}, a set of arguments to {{tt|purr}} that meets the requirements for that operation, | * {{tt|kittens...}}, a set of arguments to {{tt|purr}} that meets the requirements for that operation, | ||
Revision as of 01:24, 17 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 requirements MeowIterator
And, for every
-
purr
, an operation onIt
that is required to be supported by MeowIterator, -
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.