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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::indirectly_swappable - std::indirectly_swappable

Synopsis
	  Defined in header <iterator>
	  template< class I1, class I2 = I1 >

	  concept indirectly_swappable =
	      std::indirectly_readable<I1> &&
	      std::indirectly_readable<I2> &&
	      requires(	const I1 i1, const I2 i2 )
	      {					    (since C++20)
		  ranges::iter_swap(i1,	i1);
		  ranges::iter_swap(i1,	i2);
		  ranges::iter_swap(i2,	i1);
		  ranges::iter_swap(i2,	i2);

	      };

	  The  concept	indirectly_swappable  specifies	a relationship between
       two types
	  respectively modelling std::indirectly_readable, where their	refer-
       enced types can be
	  swapped.

	  Semantic requirements

	  I1  and  I2  model indirectly_swappable only if all concepts it sub-
       sumes are modeled.

	  Equality preservation

	  Expressions declared in requires expressions of the standard library
       concepts	are
	  required to be equality-preserving (except where stated otherwise).

See also
	  indirectly_readable specifies	that a type is indirectly readable  by
       applying
	  (C++20)	      operator *
			      (concept)
	  iter_swap	       swaps the values	referenced by two dereference-
       able objects
	  (C++20)	      (customization point object)

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

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

home | help