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

#include <array.h>

Inheritance diagram for uninitialized_allocator< BaseAlloc >:

Public Types

using value_type = typename std::allocator_traits< BaseAlloc >::value_type
 
using propagate_on_container_copy_assignment = typename std::allocator_traits< BaseAlloc >::propagate_on_container_copy_assignment
 
using propagate_on_container_move_assignment = typename std::allocator_traits< BaseAlloc >::propagate_on_container_move_assignment
 
using propagate_on_container_swap = typename std::allocator_traits< BaseAlloc >::propagate_on_container_swap
 

Public Member Functions

value_type * allocate (size_t n)
 
void deallocate (value_type *p, size_t n) noexcept
 
template<class... Args>
NDARRAY_INLINE void construct (value_type *ptr, Args &&...args)
 

Static Public Member Functions

static uninitialized_allocator select_on_container_copy_construction (const uninitialized_allocator &alloc)
 

Friends

template<class OtherBaseAlloc >
bool operator== (const uninitialized_allocator &a, const uninitialized_allocator< OtherBaseAlloc > &b)
 
template<class OtherBaseAlloc >
bool operator!= (const uninitialized_allocator &a, const uninitialized_allocator< OtherBaseAlloc > &b)
 

Detailed Description

template<class BaseAlloc>
class nda::uninitialized_allocator< BaseAlloc >

Allocator satisfying the std::allocator interface that is a wrapper around another allocator BaseAlloc, and skips default construction. Using this allocator can be dangerous, it is only safe to use when BaseAlloc::value_type is a trivial type.


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