Scroll to navigation

__gnu_cxx::_ExtPtr_allocator< _Tp >(3cxx) __gnu_cxx::_ExtPtr_allocator< _Tp >(3cxx)

NAME

__gnu_cxx::_ExtPtr_allocator< _Tp > - An example allocator which uses a non-standard pointer type.

SYNOPSIS

#include <extptr_allocator.h>

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

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.

Member Typedef Documentation

template<typename _Tp > typedef _Pointer_adapter<_Relative_pointer_impl<const _Tp> > __gnu_cxx::_ExtPtr_allocator< _Tp >::const_pointer

Definition at line 65 of file extptr_allocator.h.

template<typename _Tp > typedef const _Tp& __gnu_cxx::_ExtPtr_allocator< _Tp >::const_reference

Definition at line 68 of file extptr_allocator.h.

template<typename _Tp > typedef std::ptrdiff_t __gnu_cxx::_ExtPtr_allocator< _Tp >::difference_type

Definition at line 60 of file extptr_allocator.h.

template<typename _Tp > typedef _Pointer_adapter<_Relative_pointer_impl<_Tp> > __gnu_cxx::_ExtPtr_allocator< _Tp >::pointer

Definition at line 63 of file extptr_allocator.h.

template<typename _Tp > typedef _Tp& __gnu_cxx::_ExtPtr_allocator< _Tp >::reference

Definition at line 67 of file extptr_allocator.h.

template<typename _Tp > typedef std::size_t __gnu_cxx::_ExtPtr_allocator< _Tp >::size_type

Definition at line 59 of file extptr_allocator.h.

template<typename _Tp > typedef _Tp __gnu_cxx::_ExtPtr_allocator< _Tp >::value_type

Definition at line 69 of file extptr_allocator.h.

Constructor & Destructor Documentation

template<typename _Tp > __gnu_cxx::_ExtPtr_allocator< _Tp >::_ExtPtr_allocator () [inline], [noexcept]

Definition at line 75 of file extptr_allocator.h.

template<typename _Tp > __gnu_cxx::_ExtPtr_allocator< _Tp >::_ExtPtr_allocator (const _ExtPtr_allocator< _Tp > & __rarg) [inline], [noexcept]

Definition at line 78 of file extptr_allocator.h.

template<typename _Tp > template<typename _Up > __gnu_cxx::_ExtPtr_allocator< _Tp >::_ExtPtr_allocator (const _ExtPtr_allocator< _Up > & __rarg) [inline], [noexcept]

Definition at line 82 of file extptr_allocator.h.

template<typename _Tp > __gnu_cxx::_ExtPtr_allocator< _Tp >::~_ExtPtr_allocator () [inline], [noexcept]

Definition at line 86 of file extptr_allocator.h.

Member Function Documentation

template<typename _Tp > const std::allocator< _Tp > & __gnu_cxx::_ExtPtr_allocator< _Tp >::_M_getUnderlyingImp () const [inline]

Definition at line 158 of file extptr_allocator.h.

template<typename _Tp > const_pointer __gnu_cxx::_ExtPtr_allocator< _Tp >::address (const_reference __x) const [inline], [noexcept]

Definition at line 92 of file extptr_allocator.h.

template<typename _Tp > pointer __gnu_cxx::_ExtPtr_allocator< _Tp >::address (reference __x) const [inline], [noexcept]

Definition at line 89 of file extptr_allocator.h.

template<typename _Tp > pointer __gnu_cxx::_ExtPtr_allocator< _Tp >::allocate (size_type __n, const void * = 0) [inline]

Definition at line 95 of file extptr_allocator.h.

template<typename _Tp > template<typename _Up , typename... _Args> void __gnu_cxx::_ExtPtr_allocator< _Tp >::construct (_Up * __p, _Args &&... __args) [inline]

Definition at line 107 of file extptr_allocator.h.

template<typename _Tp > template<typename... _Args> void __gnu_cxx::_ExtPtr_allocator< _Tp >::construct (pointer __p, _Args &&... __args) [inline]

Definition at line 112 of file extptr_allocator.h.

template<typename _Tp > void __gnu_cxx::_ExtPtr_allocator< _Tp >::deallocate (pointer __p, size_type __n) [inline]

Definition at line 98 of file extptr_allocator.h.

template<typename _Tp > template<typename _Up > void __gnu_cxx::_ExtPtr_allocator< _Tp >::destroy (_Up * __p) [inline]

Definition at line 117 of file extptr_allocator.h.

template<typename _Tp > void __gnu_cxx::_ExtPtr_allocator< _Tp >::destroy (pointer __p) [inline]

Definition at line 120 of file extptr_allocator.h.

template<typename _Tp > size_type __gnu_cxx::_ExtPtr_allocator< _Tp >::max_size () const [inline], [noexcept]

Definition at line 101 of file extptr_allocator.h.

template<typename _Tp > bool __gnu_cxx::_ExtPtr_allocator< _Tp >::operator== (const _ExtPtr_allocator< _Tp > & __rarg) const [inline]

Definition at line 138 of file extptr_allocator.h.

template<typename _Tp > template<typename _Up > bool __gnu_cxx::_ExtPtr_allocator< _Tp >::operator== (const _ExtPtr_allocator< _Up > & __rarg) const [inline]

Definition at line 134 of file extptr_allocator.h.

Author

Generated automatically by Doxygen for libstdc++ from the source code.

Mon Aug 22 2022 libstdc++