Namespaces
Variants
Views
Actions

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

From cppreference.com
< cpp‎ | named req
(Replaced content with "Nuck figgers")
(Undo revision 136738 by 185.248.85.10 (talk))
Line 1: Line 1:
Nuck figgers
+
{{cpp/named req/title|ConstexprIterator}}
 +
{{cpp/named req/navbar}}
 +
 
 +
A {{named req|ConstexprIterator}} is a {{named req|Iterator}} that can be used during constant expression evaluation.
 +
 
 +
===Requirements===
 +
The type {{tt|It}} satisfies {{named req/core|ConstexprIterator}} if
 +
 
 +
* The type {{tt|It}} satisfies some iterator requirements {{named req/core|MeowIterator}}
 +
 
 +
And, for every
 +
* {{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,
 +
 
 +
Then
 +
 
 +
* {{tt|purr(kittens...)}} may be used in a constant expression if {{tt|kittens...}} can also be used
 +
 
 +
===Standard library===
 +
 
 +
The following standard library types are {{named req|ConstexprIterator}}s.
 +
 
 +
* {{ltt|cpp/container/array|array::iterator}} and {{ltt|cpp/container/array|array::const_iterator}}.
 +
* {{ltt|cpp/string/basic_string_view|basic_string_view::iterator}}.
 +
* {{ltt|cpp/container/span|span::iterator}}.
 +
* {{ltt|cpp/container/vector|vector::iterator}} and {{ltt|cpp/container/vector|vector::const_iterator}}.
 +
 
 +
===See also===
 +
{{dsc begin}}
 +
{{see_also_iterator_library}}
 +
{{dsc end}}
 +
 
 +
{{langlinks|es|ja|ru|zh}}

Revision as of 03:13, 29 December 2021

 
 
C++ named requirements
 

A ConstexprIterator is a 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 also be used

Standard library

The following standard library types are ConstexprIterators.

See also

Iterator library provides definitions for iterators, iterator traits, adaptors, and utility functions