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

FreeBSD Manual Pages

  
 
  

home | help
std::default_initializable(3) C++ Standard Libarystd::default_initializable(3)

NAME
       std::default_initializable - std::default_initializable

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

	  concept   default_initializable   =	std::constructible_from<T>  &&
       (since C++20)
	  requires { T{}; } &&

	  /* T t; is well-formed, see below */;

	  The default_initializable concept checks whether variables of	type T
       can be

	    * value-initialized	(T() is	well-formed);
	    * direct-list-initialized from an empty initializer	list  (T{}  is
       well-formed); and
	    * default-initialized (T t;	is well-formed).

	  Access checking is performed as if in	a context unrelated to T. Only
       the validity of
	  the immediate	context	of the variable	initialization is considered.

Possible implementation
	  template<class T>
	  concept default_initializable	=
	      std::constructible_from<T> &&
	      requires { T{}; }	&&
	      requires { ::new (static_cast<void*>(nullptr)) T;	};

See also
					     specifies	that a variable	of the
       type can	be
	  constructible_from		     constructed from or  bound	 to  a
       set of argument
	  (C++20)			     types
					     (concept)
	  is_default_constructible
	  is_trivially_default_constructible
	  is_nothrow_default_constructible    checks  if  a type has a default
       constructor
	  (C++11)			     (class template)
	  (C++11)
	  (C++11)

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

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

home | help