array
C++ library for multi-dimensional arrays
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
auto_allocator< T, N, Alignment, BaseAlloc > Class Template Reference

#include <array.h>

Public Types

using value_type = T
 
using propagate_on_container_copy_assignment = std::false_type
 
using propagate_on_container_move_assignment = std::false_type
 
using propagate_on_container_swap = std::false_type
 

Public Member Functions

template<class U , size_t U_N, size_t U_A, class U_BaseAlloc >
constexpr auto_allocator (const auto_allocator< U, U_N, U_A, U_BaseAlloc > &) noexcept
 
 auto_allocator (const auto_allocator &copy) noexcept
 
 auto_allocator (auto_allocator &&move) noexcept
 
auto_allocatoroperator= (const auto_allocator &copy)
 
auto_allocatoroperator= (auto_allocator &&move)
 
value_type * allocate (size_t n)
 
void deallocate (value_type *ptr, size_t n) noexcept
 

Static Public Member Functions

static auto_allocator select_on_container_copy_construction (const auto_allocator &)
 

Friends

template<class U , size_t U_N, size_t U_A>
bool operator== (const auto_allocator &a, const auto_allocator< U, U_N, U_A > &b)
 
template<class U , size_t U_N, size_t U_A>
bool operator!= (const auto_allocator &a, const auto_allocator< U, U_N, U_A > &b)
 

Detailed Description

template<class T, size_t N, size_t Alignment = alignof(T), class BaseAlloc = std::allocator<T>>
class nda::auto_allocator< T, N, Alignment, BaseAlloc >

Allocator satisfying the std::allocator interface that owns a buffer with automatic storage, and a fallback base allocator. For allocations, the allocator uses the buffer if it is large enough and not already allocated, otherwise it uses the base allocator.


The documentation for this class was generated from the following file: