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  memory
     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 alloca-
     tor
	std::pmr::polymorphic_allocator<>, but it may be useful in any	special-
     ization as a
	shortcut  to  avoid  having to rebind from std::pmr::polymorphic_alloca-
     tor<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 resource
	(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 	   2024.06.10	    std::pmr::p...cate_object(3)

home | help