table of contents
        
      
      
    - Tumbleweed 2024.07.05-1.3
 - Leap-16.0
 - Leap-15.6
 
| std::pmr::polymorphic_allocator::allocate(3) | C++ Standard Libary | std::pmr::polymorphic_allocator::allocate(3) | 
NAME¶
std::pmr::polymorphic_allocator::allocate - std::pmr::polymorphic_allocator::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_limits<std::size_t>::max() /
  
   sizeof(T); may also throw any exceptions thrown by the call to
    resource()->allocate.
  
   Defect reports
  
   The following behavior-changing defect reports were applied retroactively to
  
   previously published C++ standards.
  
   DR Applied to Behavior as published Correct 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::allocator_traits<Alloc>)
  
   allocate allocates memory
  
   (public member function of std::pmr::memory_resource)
| 2024.06.10 | http://cppreference.com |