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

NAME
     std::pmr::polymorphic_allocator::allocate	-  std::pmr::polymorphic_alloca-
     tor::allocate

Synopsis
	T* allocate( std::size_t n );		     (since C++17)
						     (until C++20)
	[[nodiscard]] T* allocate( std::size_t n );  (since C++20)

	Allocates storage for n objects of type T using  the  underlying  memory
     resource.
	Equivalent to return static_cast<T*>(resource()->allocate(n * sizeof(T),
	alignof(T)));.

Parameters
	n - the number of objects to allocate storage for

Return value
	A pointer to the allocated storage.

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

	Defect reports

	The  following	behavior-changing  defect  reports were applied retroac-
     tively to
	previously published C++ standards.

	   DR	 Applied to	       Behavior as  published		    Cor-
     rect behavior
	LWG  3038 C++17      allocate might allocate storage of wrong	  throws
     length_error
			    size					 instead
	LWG 3237 C++17	    the exception thrown by  allocate  was	    made
     consistent
			    inconsistent with std::allocator::allocate

See also
	allocate_bytes	allocate raw aligned memory from the underlying resource
	(C++20) 	(public member function)
	allocate_object allocates raw memory suitable for an object or an array
	(C++20) 	(public member function)
	new_object	allocates and constructs an object
	(C++20) 	(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...or::allocate(3)

home | help