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

FreeBSD Manual Pages

  
 
  

home | help
std::pmr::p...cate_object(3)  C++ Standard Libary std::pmr::p...cate_object(3)

NAME
       std::pmr::polymorphic_allocator::allocate_object	 -  std::pmr::polymor-
       phic_allocator::allocate_object

Synopsis
	  template<  class  U	>					(since
       C++20)
	  [[nodiscard]]	U* allocate_object( std::size_t	n = 1 );

	  Allocates  storage for n objects of type U using the underlying mem-
       ory resource.

	  If std::numeric_limits<std::size_t>::max() / sizeof(U) < n, throws
	  std::bad_array_new_length, otherwise equivalent to return
	  static_cast<U*>(allocate_bytes(n * sizeof(U),	alignof(U)) );

Parameters
	  n - the number of objects to allocate	storage	for

Return value
	  A pointer to the allocated storage.

Notes
	  This function	was introduced for use with the	fully-specialized  al-
       locator
	  std::pmr::polymorphic_allocator<>,  but it may be useful in any spe-
       cialization as a
	  shortcut to avoid having to rebind from  std::pmr::polymorphic_allo-
       cator<T>	to
	  std::pmr::polymorphic_allocator<U>.

	  Since	 U  is not deduced, it must be provided	as a template argument
       when calling this
	  function.

Exceptions
	  Throws   std::bad_array_new_length   if   n	>    std::numeric_lim-
       its<std::size_t>::max() /
	  sizeof(U);  may  also	 be  any  exceptions thrown by the call	to re-
       source()->allocate.

See also
	  allocate_bytes Allocate raw aligned memory from the  underlying  re-
       source
	  (C++20)	 (public member	function)
	  new_object	 Allocates and constructs an object
	  (C++20)	 (public member	function)
	  allocate	 Allocate memory
			 (public member	function)
	  allocate	 allocates uninitialized storage using the allocator
	  [static]	   (public  static  member  function  of  std::alloca-
       tor_traits<Alloc>)
	  allocate	 allocates memory
			 (public member	function of std::pmr::memory_resource)

http://cppreference.com		  2022.07.31	  std::pmr::p...cate_object(3)

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

home | help