libstdc++
__gnu_cxx::_ExtPtr_allocator< _Tp > Class Template Reference

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
 
_GLIBCXX_NODISCARD 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 > &)
 

Detailed Description

template<typename _Tp>
class __gnu_cxx::_ExtPtr_allocator< _Tp >

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.


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