Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::contiguous_iterator(3)   C++ Standard Libary  std::contiguous_iterator(3)

NAME
       std::contiguous_iterator	- std::contiguous_iterator

Synopsis
	  Defined in header <iterator>
	  template< class I >

	      concept contiguous_iterator =
		  std::random_access_iterator<I> &&
		  std::derived_from</*ITER_CONCEPT*/<I>,
	  std::contiguous_iterator_tag>	&&
		  std::is_lvalue_reference_v<std::iter_reference_t<I>> &&
		  std::same_as<
       (since
		      std::iter_value_t<I>,
       C++20)
	  std::remove_cvref_t<std::iter_reference_t<I>>
		  > &&
		  requires(const I& i) {
		      {	std::to_address(i) } ->
			std::same_as<std::add_pointer_t<std::iter_refer-
       ence_t<I>>>;

		  };

	  The  contiguous_iterator  concept  refines random_access_iterator by
       providing a
	  guarantee the	denoted	elements are stored contiguously in  the  mem-
       ory.

Notes
	  contiguous_iterator is modeled by every pointer type to complete ob-
       ject type.

	  Iterator  types in the standard library that are required to satisfy
       the
	  LegacyContiguousIterator requirements	in C++17 are also required  to
       model
	  contiguous_iterator in C++20.

See also
				 specifies  that a bidirectional_iterator is a
       random-access
	  random_access_iterator iterator, supporting advancement in  constant
       time and
	  (C++20)		 subscripting
				 (concept)

http://cppreference.com		  2024.06.10	   std::contiguous_iterator(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::contiguous_iterator&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help