Namespaces
Variants
Views
Actions

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

From cppreference.com
< cpp‎ | named req
(Created page with "{{cpp/concept/title|ContiguousIterator}} {{cpp/concept/navbar}} A {{tt|ContiguousIterator}} is an {{concept|Iterator}} whose logically adjacent elements are also physically a...")
 
m (Requirements)
Line 17: Line 17:
 
* {{tt|n}}, an integral value
 
* {{tt|n}}, an integral value
  
{{c|a + n}} is valid and results in a dereferenceable iterator of type {{tt|It}}, then {{c|*(a + n)}} is equivalent to {{c|*(std::addressof(*a) + n)}}.
+
If {{c|a + n}} is valid and results in a dereferenceable iterator of type {{tt|It}}, then {{c|*(a + n)}} is equivalent to {{c|*(std::addressof(*a) + n)}}.
  
 
===Standard library===
 
===Standard library===

Revision as of 09:43, 29 November 2017

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

A ContiguousIterator is an Template:concept whose logically adjacent elements are also physically adjacent in memory.

A pointer to an element of an array satisfies all requirements of ContiguousIterator.

Template:cpp/concept/concept note

Requirements

The type It satisfies ContiguousIterator if

And, given

  • a, a dereferenceable iterator of type It
  • n, an integral value

If a + n is valid and results in a dereferenceable iterator of type It, then *(a + n) is equivalent to *(std::addressof(*a) + n).

Standard library

The following standard library types are Template:concepts.

See also