STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | List of all members
_Flist_buy< _Ty, _Alloc > Class Template Reference
Inheritance diagram for _Flist_buy< _Ty, _Alloc >:
_Flist_alloc<!is_empty< _Alloc >::value, _Flist_base_types< _Ty, _Alloc > > _Flist_val< _Flist_base_types< _Ty, _Alloc >::_Val_types > _Container_base0 forward_list< _Ty, _Alloc >

Public Types

typedef _Flist_alloc<!is_empty< _Alloc >::value, _Flist_base_types< _Ty, _Alloc > > _Mybase
 
typedef _Mybase::_Alty _Alty
 
typedef _Mybase::_Nodeptr _Nodeptr
 
- Public Types inherited from _Flist_alloc<!is_empty< _Alloc >::value, _Flist_base_types< _Ty, _Alloc > >
typedef _Flist_alloc< _Al_has_storage, _Flist_base_types< _Ty, _Alloc > > _Myt
 
typedef _Flist_val< typename _Flist_base_types< _Ty, _Alloc >::_Val_types > _Mybase
 
typedef _Flist_base_types< _Ty, _Alloc >::_Alloc _Alloc
 
typedef _Flist_base_types< _Ty, _Alloc >::_Alnod_type _Alty
 
typedef _Flist_base_types< _Ty, _Alloc >::_Node _Node
 
typedef _Flist_base_types< _Ty, _Alloc >::_Nodeptr _Nodeptr
 
- Public Types inherited from _Flist_val< _Flist_base_types< _Ty, _Alloc >::_Val_types >
typedef _Flist_val< _Flist_base_types< _Ty, _Alloc >::_Val_types > _Myt
 
typedef _Flist_base_types< _Ty, _Alloc >::_Val_types::_Nodeptr _Nodeptr
 
typedef _Nodeptr_Nodepref
 
typedef _Flist_base_types< _Ty, _Alloc >::_Val_types::value_type value_type
 
typedef _Flist_base_types< _Ty, _Alloc >::_Val_types::size_type size_type
 
typedef _Flist_base_types< _Ty, _Alloc >::_Val_types::difference_type difference_type
 
typedef _Flist_base_types< _Ty, _Alloc >::_Val_types::pointer pointer
 
typedef _Flist_base_types< _Ty, _Alloc >::_Val_types::const_pointer const_pointer
 
typedef _Flist_base_types< _Ty, _Alloc >::_Val_types::reference reference
 
typedef _Flist_base_types< _Ty, _Alloc >::_Val_types::const_reference const_reference
 
typedef _Flist_const_iterator< _Mytconst_iterator
 
typedef _Flist_iterator< _Mytiterator
 

Public Member Functions

 _Flist_buy (_Alloc _Al=_Alloc())
 
_Nodeptr _Buynode0 (_Nodeptr _Next)
 
template<class... _Valty>
_Nodeptr _Buynode (_Nodeptr _Next, _Valty &&..._Val)
 
void _Freenode (_Nodeptr _Pnode)
 
- Public Member Functions inherited from _Flist_alloc<!is_empty< _Alloc >::value, _Flist_base_types< _Ty, _Alloc > >
 _Flist_alloc (_Alloc _Al=_Alloc())
 
 ~_Flist_alloc () _NOEXCEPT
 
void _Change_alloc (const _Alty &_Al)
 
void _Swap_alloc (_Myt &_Right)
 
_Alty_Getal ()
 
const _Alty_Getal () const
 
- Public Member Functions inherited from _Flist_val< _Flist_base_types< _Ty, _Alloc >::_Val_types >
 _Flist_val ()
 
- Public Member Functions inherited from _Container_base0
void _Orphan_all ()
 
void _Swap_all (_Container_base0 &)
 

Additional Inherited Members

- Static Public Member Functions inherited from _Flist_val< _Flist_base_types< _Ty, _Alloc >::_Val_types >
static _Nodepref _Nextnode (_Nodeptr _Pnode)
 
static reference _Myval (_Nodeptr _Pnode)
 
- Public Attributes inherited from _Flist_alloc<!is_empty< _Alloc >::value, _Flist_base_types< _Ty, _Alloc > >
_Alty _Alnod
 
- Public Attributes inherited from _Flist_val< _Flist_base_types< _Ty, _Alloc >::_Val_types >
_Nodeptr _Myhead
 

Member Typedef Documentation

template<class _Ty , class _Alloc >
typedef _Mybase::_Alty _Flist_buy< _Ty, _Alloc >::_Alty
template<class _Ty , class _Alloc >
typedef _Flist_alloc<!is_empty<_Alloc>::value, _Flist_base_types<_Ty, _Alloc> > _Flist_buy< _Ty, _Alloc >::_Mybase
template<class _Ty , class _Alloc >
typedef _Mybase::_Nodeptr _Flist_buy< _Ty, _Alloc >::_Nodeptr

Constructor & Destructor Documentation

template<class _Ty , class _Alloc >
_Flist_buy< _Ty, _Alloc >::_Flist_buy ( _Alloc  _Al = _Alloc())
inline
647  : _Mybase(_Al)
648  { // construct from allocator
649  }
_Flist_alloc<!is_empty< _Alloc >::value, _Flist_base_types< _Ty, _Alloc > > _Mybase
Definition: forward_list:642

Member Function Documentation

template<class _Ty , class _Alloc >
template<class... _Valty>
_Nodeptr _Flist_buy< _Ty, _Alloc >::_Buynode ( _Nodeptr  _Next,
_Valty &&...  _Val 
)
inline
669  { // allocate a node and set links and value
670  _Nodeptr _Pnode = this->_Buynode0(_Next);
671 
672  _TRY_BEGIN
673  this->_Getal().construct(
674  _STD addressof(this->_Myval(_Pnode)),
675  _STD forward<_Valty>(_Val)...);
676  _CATCH_ALL
677  this->_Getal().deallocate(_Pnode, 1);
678  _RERAISE;
679  _CATCH_END
680 
681  return (_Pnode);
682  }
#define _TRY_BEGIN
Definition: xstddef:60
#define _CATCH_END
Definition: xstddef:63
static reference _Myval(_Nodeptr _Pnode)
Definition: forward_list:457
_Nodeptr _Buynode0(_Nodeptr _Next)
Definition: forward_list:651
#define _CATCH_ALL
Definition: xstddef:62
_Ty * addressof(_Ty &_Val) _NOEXCEPT
Definition: xstddef:91
#define _RERAISE
Definition: xstddef:74
_FwdIt const _Ty _Val
Definition: algorithm:1938
_Mybase::_Nodeptr _Nodeptr
Definition: forward_list:644
template<class _Ty , class _Alloc >
_Nodeptr _Flist_buy< _Ty, _Alloc >::_Buynode0 ( _Nodeptr  _Next)
inline
652  { // allocate a node and set links
653  _Nodeptr _Pnode = this->_Getal().allocate(1);
654 
655  _TRY_BEGIN
656  this->_Getal().construct(
657  _STD addressof(this->_Nextnode(_Pnode)), _Next);
658  _CATCH_ALL
659  this->_Getal().deallocate(_Pnode, 1);
660  _RERAISE;
661  _CATCH_END
662 
663  return (_Pnode);
664  }
#define _TRY_BEGIN
Definition: xstddef:60
#define _CATCH_END
Definition: xstddef:63
#define _CATCH_ALL
Definition: xstddef:62
_Ty * addressof(_Ty &_Val) _NOEXCEPT
Definition: xstddef:91
static _Nodepref _Nextnode(_Nodeptr _Pnode)
Definition: forward_list:452
#define _RERAISE
Definition: xstddef:74
_Mybase::_Nodeptr _Nodeptr
Definition: forward_list:644
template<class _Ty , class _Alloc >
void _Flist_buy< _Ty, _Alloc >::_Freenode ( _Nodeptr  _Pnode)
inline
686  { // give node back
687  this->_Getal().destroy(
688  _STD addressof(this->_Nextnode(_Pnode)));
689  this->_Getal().destroy(
690  _STD addressof(this->_Myval(_Pnode)));
691  this->_Getal().deallocate(_Pnode, 1);
692  }
static reference _Myval(_Nodeptr _Pnode)
Definition: forward_list:457
_Ty * addressof(_Ty &_Val) _NOEXCEPT
Definition: xstddef:91
static _Nodepref _Nextnode(_Nodeptr _Pnode)
Definition: forward_list:452

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