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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::copy_constructible - std::copy_constructible

Synopsis
	  Defined in header <concepts>
	  template <class T>

	  concept copy_constructible =
	  std::move_constructible<T> &&
	  std::constructible_from<T,  T&>  &&  std::convertible_to<T&,	T>  &&
       (since C++20)
	  std::constructible_from<T, const  T&>	 &&  std::convertible_to<const
       T&,
	  T> &&

	  std::constructible_from<T, const T> && std::convertible_to<const T,
	  T>;

	  The concept copy_constructible is satisfied if T is an lvalue	refer-
       ence type, or if
	  it  is a move_constructible object type where	an object of that type
       can constructed
	  from a (possibly const) lvalue or const rvalue of that type in  both
       direct- and
	  copy-initialization  contexts	 with  the  usual semantics (a copy is
       constructed with
	  the source unchanged).

	 Semantic requirements

	  If T is an object type, then copy_constructible<T> is	 modeled  only
       if given

	    *  v,  a  lvalue  of  type (possibly const)	T or an	rvalue of type
       const T,

	  the following	are true:

	    * After the	definition T u = v;, u is equal	to v and v is not mod-
       ified;
	    * T(v) is equal to v and does not modify v.

See also
	  is_copy_constructible
	  is_trivially_copy_constructible
	  is_nothrow_copy_constructible	  checks if a type  has	 a  copy  con-
       structor
	  (C++11)			  (class template)
	  (C++11)
	  (C++11)

http://cppreference.com		  2022.07.31	    std::copy_constructible(3)

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

home | help