libstdc++
|
Public Types | |
typedef _Pointer_adapter< _Relative_pointer_impl< const _Tp > > | const_pointer |
typedef const _Tp & | const_reference |
typedef std::ptrdiff_t | difference_type |
typedef _Pointer_adapter< _Relative_pointer_impl< _Tp > > | pointer |
typedef _Tp & | reference |
typedef std::size_t | size_type |
typedef _Tp | value_type |
Public Member Functions | |
_ExtPtr_allocator (const _ExtPtr_allocator &__rarg) noexcept | |
template<typename _Up > | |
_ExtPtr_allocator (const _ExtPtr_allocator< _Up > &__rarg) noexcept | |
const std::allocator< _Tp > & | _M_getUnderlyingImp () const |
const_pointer | address (const_reference __x) const noexcept |
pointer | address (reference __x) const noexcept |
pointer | allocate (size_type __n, const void *=0) |
template<typename _Up , typename... _Args> | |
void | construct (_Up *__p, _Args &&... __args) |
template<typename... _Args> | |
void | construct (pointer __p, _Args &&... __args) |
void | deallocate (pointer __p, size_type __n) |
template<typename _Up > | |
void | destroy (_Up *__p) |
void | destroy (pointer __p) |
size_type | max_size () const noexcept |
bool | operator!= (const _ExtPtr_allocator &__rarg) const |
template<typename _Up > | |
bool | operator!= (const _ExtPtr_allocator< _Up > &__rarg) const |
bool | operator== (const _ExtPtr_allocator &__rarg) const |
template<typename _Up > | |
bool | operator== (const _ExtPtr_allocator< _Up > &__rarg) const |
Friends | |
template<typename _Up > | |
void | swap (_ExtPtr_allocator< _Up > &, _ExtPtr_allocator< _Up > &) |
An example allocator which uses a non-standard pointer type.
This allocator specifies that containers use a 'relative pointer' as it's pointer type. (See ext/pointer.h) Memory allocation in this example is still performed using std::allocator.
Definition at line 56 of file extptr_allocator.h.