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

FreeBSD Manual Pages

  
 
  

home | help
std::experi...nstructible(3)  C++ Standard Libary std::experi...nstructible(3)

NAME
       std::experimental::ranges::MoveConstructible	 -     std::experimen-
       tal::ranges::MoveConstructible

Synopsis
	  Defined in header <experimental/ranges/concepts>
	  template < class T >

	  concept bool MoveConstructible =		    (ranges TS)

	  Constructible<T, T> && ConvertibleTo<T, T>;

	  The concept MoveConstructible	is satisfied if	T is a reference type,
       or if it	is an
	  object type where an object of that type  can	 constructed  from  an
       rvalue of that type
	  in both direct- and copy-initialization contexts, with the usual se-
       mantics.

	  More precisely, if T is an object type, then MoveConstructible<T> is
       satisfied only
	  if given

	    * rv, an rvalue of type T, and
	    * u2, a distinct object of type T equal to rv,

	  the following	are true:

	    * After the	definition T u = rv;, u	is equal to u2;
	    * T{rv} is equal to	u2; and
	    *  If  T  is not const-qualified, then rv's	resulting state	(after
       the
	      definition/expression is evaluated in either bullets  above)  is
       valid but
	      unspecified; otherwise, it is unchanged.

See also
	  is_move_constructible
	  is_trivially_move_constructible  checks if a type can	be constructed
       from an rvalue
	  is_nothrow_move_constructible	  reference
	  (C++11)			  (class template)
	  (C++11)
	  (C++11)

http://cppreference.com		  2022.07.31	  std::experi...nstructible(3)

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

home | help