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

FreeBSD Manual Pages

  
 
  

home | help
std::alloca...::construct(3)  C++ Standard Libary std::alloca...::construct(3)

NAME
       std::allocator_traits::construct	- std::allocator_traits::construct

Synopsis
	  Defined in header <memory>
	  template<	   class	T,	  class...	  Args	     >
       (since C++11)
	  static  void	construct(  Alloc&  a,	T*  p,	 Args&&...   args   );
       (until C++20)
	  template<	   class	T,	  class...	  Args	     >
       (since C++20)
	  static constexpr void	construct( Alloc& a, T*	p, Args&&... args );

	  If possible, constructs an object of type T in allocated  uninitial-
       ized storage
	  pointed to by	p, by calling

	  a.construct(p, std::forward<Args>(args)...)

	  If  the  above  is not possible (e.g.	Alloc does not have the	member
       function
	  construct()),	then calls

	  ::new	(static_cast<void*>(p))	T(std::forward<Args>(args)...)	(until
       C++20)
	  std::construct_at(p,	std::forward<Args>(args)...)		(since
       C++20)

Parameters
	  a	  - allocator to use for construction
	  p	  - pointer to the uninitialized storage on which a  T	object
       will be
		    constructed
		    the	constructor arguments to pass to a.construct() or to
		    placement-new
	  args... - (until C++20)
		    std::construct_at()
		    (since C++20)

Return value
	  (none)

Notes
	  This	function  is  used by the standard library containers when in-
       serting,	copying, or
	  moving elements.

	  Because this function	provides the automatic fall back to  placement
       new, the	member
	  function  construct()	 is  an	 optional  Allocator requirement since
       C++11.

See also
	  operator new	 allocation functions
	  operator new[] (function)
	  construct	 constructs an object in allocated storage
	  (until C++20)	 (public member	function of std::allocator<T>)
	  construct_at	 creates an object at a	given address
	  (C++20)	 (function template)

http://cppreference.com		  2022.07.31	  std::alloca...::construct(3)

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

home | help