Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/named req/ConstexprIterator"

From cppreference.com
< cpp‎ | named req
m (Requirements)
m (Requirements)
Line 10: Line 10:
  
 
And, for every  
 
And, for every  
* {{tt|purr}}, an operation required to be supported by {{tt|MeowIterator}},
+
* {{tt|purr}}, an operation on {{tt|It}} that is required to be supported by {{tt|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 14:22, 26 April 2018

Template:cpp/concept/title Template:cpp/concept/navbar

A ConstexprIterator is an Template:concept that can be used during constant expression evaluation.

Requirements

The type It satisfies ConstexprIterator if

  • The type It satisfies some iterator concept 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
  • a call to swap;
  • 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 Template:concepts.

See also