STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | List of all members
_List_buy< _Ty, _Alloc > Class Template Reference
Inheritance diagram for _List_buy< _Ty, _Alloc >:
_List_alloc< _List_base_types< _Ty, _Alloc > > list< _Ty, _Alloc >

Public Types

typedef _List_buy< _Ty, _Alloc_Myt
 
typedef _List_alloc< _List_base_types< _Ty, _Alloc > > _Mybase
 
typedef _Mybase::_Alty _Alty
 
typedef _Mybase::_Nodeptr _Nodeptr
 
- Public Types inherited from _List_alloc< _List_base_types< _Ty, _Alloc > >
typedef _List_alloc< _List_base_types< _Ty, _Alloc > > _Myt
 
typedef _List_base_types< _Ty, _Alloc >::_Alloc _Alloc
 
typedef _List_base_types< _Ty, _Alloc >::_Alnod_type _Alty
 
typedef _List_base_types< _Ty, _Alloc >::_Node _Node
 
typedef _List_base_types< _Ty, _Alloc >::_Nodeptr _Nodeptr
 
typedef _List_base_types< _Ty, _Alloc >::_Val_types _Val_types
 
typedef _Nodeptr_Nodepref
 
typedef _Val_types::value_type value_type
 
typedef _Val_types::size_type size_type
 
typedef _Val_types::difference_type difference_type
 
typedef _Val_types::pointer pointer
 
typedef _Val_types::const_pointer const_pointer
 
typedef _Val_types::reference reference
 
typedef _Val_types::const_reference const_reference
 
typedef _List_const_iterator< _List_val< _Val_types > > const_iterator
 
typedef _List_iterator< _List_val< _Val_types > > iterator
 
typedef _List_unchecked_const_iterator< _List_val< _Val_types > > _Unchecked_const_iterator
 
typedef _List_unchecked_iterator< _List_val< _Val_types > > _Unchecked_iterator
 

Public Member Functions

 _List_buy ()
 
template<class _Any_alloc , class = enable_if_t<!is_same<decay_t<_Any_alloc>, _Myt>::value>>
 _List_buy (_Any_alloc &&_Al)
 
template<class... _Valty>
_Nodeptr _Buynode (_Nodeptr _Next, _Nodeptr _Prev, _Valty &&..._Val)
 
void _Freenode (_Nodeptr _Pnode)
 
- Public Member Functions inherited from _List_alloc< _List_base_types< _Ty, _Alloc > >
 _List_alloc ()
 
 _List_alloc (_Any_alloc &&_Al)
 
 ~_List_alloc () _NOEXCEPT
 
void _Alloc_proxy ()
 
void _Free_proxy ()
 
void _Copy_alloc (const _Alty &_Al)
 
void _Move_alloc (_Alty &_Al)
 
_Nodeptr _Buyheadnode ()
 
void _Freeheadnode (_Nodeptr _Pnode)
 
_Nodeptr _Buynode0 (_Nodeptr _Next, _Nodeptr _Prev)
 
void _Orphan_all ()
 
void _Swap_all (_Myt &_Right)
 
_Alty_Getal () _NOEXCEPT
 
const _Alty_Getal () const _NOEXCEPT
 
_List_val< _Val_types > & _Get_data () _NOEXCEPT
 
const _List_val< _Val_types > & _Get_data () const _NOEXCEPT
 
_Nodeptr_Myhead () _NOEXCEPT
 
const _Nodeptr_Myhead () const _NOEXCEPT
 
size_type_Mysize () _NOEXCEPT
 
const size_type_Mysize () const _NOEXCEPT
 

Additional Inherited Members

- Static Public Member Functions inherited from _List_alloc< _List_base_types< _Ty, _Alloc > >
static _Nodepref _Nextnode (_Nodeptr _Pnode)
 
static _Nodepref _Prevnode (_Nodeptr _Pnode)
 
static reference _Myval (_Nodeptr _Pnode)
 

Member Typedef Documentation

template<class _Ty, class _Alloc>
typedef _Mybase::_Alty _List_buy< _Ty, _Alloc >::_Alty
template<class _Ty, class _Alloc>
typedef _List_alloc<_List_base_types<_Ty, _Alloc> > _List_buy< _Ty, _Alloc >::_Mybase
template<class _Ty, class _Alloc>
typedef _List_buy<_Ty, _Alloc> _List_buy< _Ty, _Alloc >::_Myt
template<class _Ty, class _Alloc>
typedef _Mybase::_Nodeptr _List_buy< _Ty, _Alloc >::_Nodeptr

Constructor & Destructor Documentation

template<class _Ty, class _Alloc>
_List_buy< _Ty, _Alloc >::_List_buy ( )
inline
833  : _Mybase()
834  { // default construct
835  }
_List_alloc< _List_base_types< _Ty, _Alloc > > _Mybase
Definition: list:828
template<class _Ty, class _Alloc>
template<class _Any_alloc , class = enable_if_t<!is_same<decay_t<_Any_alloc>, _Myt>::value>>
_List_buy< _Ty, _Alloc >::_List_buy ( _Any_alloc &&  _Al)
inline
840  : _Mybase(_STD forward<_Any_alloc>(_Al))
841  { // construct from allocator
842  }
_List_alloc< _List_base_types< _Ty, _Alloc > > _Mybase
Definition: list:828

Member Function Documentation

template<class _Ty, class _Alloc>
template<class... _Valty>
_Nodeptr _List_buy< _Ty, _Alloc >::_Buynode ( _Nodeptr  _Next,
_Nodeptr  _Prev,
_Valty &&...  _Val 
)
inline
847  { // allocate a node and set links and value
848  _Nodeptr _Pnode = this->_Buynode0(_Next, _Prev);
849 
850  _TRY_BEGIN
851  this->_Getal().construct(
852  _STD addressof(this->_Myval(_Pnode)),
853  _STD forward<_Valty>(_Val)...);
854  _CATCH_ALL
855  this->_Getal().deallocate(_Pnode, 1);
856  _RERAISE;
857  _CATCH_END
858 
859  return (_Pnode);
860  }
_STD_BEGIN constexpr _Ty * addressof(_Ty &_Val) _NOEXCEPT
Definition: xstddef:628
#define _TRY_BEGIN
Definition: xstddef:26
#define _CATCH_END
Definition: xstddef:29
_Mybase::_Nodeptr _Nodeptr
Definition: list:830
_Nodeptr _Buynode0(_Nodeptr _Next, _Nodeptr _Prev)
Definition: list:743
#define _CATCH_ALL
Definition: xstddef:28
_Alty & _Getal() _NOEXCEPT
Definition: list:776
#define _RERAISE
Definition: xstddef:32
_FwdIt const _Ty _Val
Definition: algorithm:1938
static reference _Myval(_Nodeptr _Pnode)
Definition: list:588
template<class _Ty, class _Alloc>
void _List_buy< _Ty, _Alloc >::_Freenode ( _Nodeptr  _Pnode)
inline
864  { // give node back
865  this->_Getal().destroy(
866  _STD addressof(this->_Nextnode(_Pnode)));
867  this->_Getal().destroy(
868  _STD addressof(this->_Prevnode(_Pnode)));
869  this->_Getal().destroy(
870  _STD addressof(this->_Myval(_Pnode)));
871  this->_Getal().deallocate(_Pnode, 1);
872  }
_STD_BEGIN constexpr _Ty * addressof(_Ty &_Val) _NOEXCEPT
Definition: xstddef:628
static _Nodepref _Prevnode(_Nodeptr _Pnode)
Definition: list:583
_Alty & _Getal() _NOEXCEPT
Definition: list:776
static _Nodepref _Nextnode(_Nodeptr _Pnode)
Definition: list:578
static reference _Myval(_Nodeptr _Pnode)
Definition: list:588

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