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::for-
       ward<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		  2024.06.10	  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.1.quarterly>

home | help