|
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 |
| pointer | address (reference __x) const noexcept |
| const_pointer | address (const_reference __x) const noexcept |
| pointer | allocate (size_type __n, void *__hint=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 |
| template<typename _Up > | |
| bool | operator!= (const _ExtPtr_allocator< _Up > &__rarg) |
| bool | operator!= (const _ExtPtr_allocator &__rarg) |
| template<typename _Up > | |
| bool | operator== (const _ExtPtr_allocator< _Up > &__rarg) |
| bool | operator== (const _ExtPtr_allocator &__rarg) |
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.