STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Private Attributes | List of all members
cliext::impl::deque_base< _Value_t, _Is_ref > Class Template Reference
Inheritance diagram for cliext::impl::deque_base< _Value_t, _Is_ref >:
cliext::impl::deque_impl< _Value_t, _Is_ref > cliext::impl::deque_select< _Value_t, _Is_ref > cliext::impl::deque_select< _Value_t, __is_ref_class(_Dehandle< _Value_t >::type)&&!is_handle< _Value_t >::value > cliext::deque< _Value_t >

Public Types

typedef deque_base< _Value_t, _Is_ref > _Mytype_t
 
typedef deque_impl< _Value_t, _Is_ref > _Mybase_t
 
typedef _Cont_make_value< _Value_t, _Is_ref > _Mymake_t
 
- Public Types inherited from cliext::impl::deque_impl< _Value_t, _Is_ref >
typedef deque_impl< _Value_t, _Is_ref > _Mytype_t
 
typedef _STLCLR IDeque< _Value_t > _Mycont_it
 
typedef System::Collections::Generic::IEnumerable< _Value_t > _Myenum_it
 
typedef cli::array< _Value_t > _Myarray_t
 
typedef cli::array< _Myarray_t^> _Mymap_t
 
typedef _Cont_make_value< _Value_t, _Is_ref > _Mymake_t
 
typedef RandomAccessIterator< _Mytype_titerator
 
typedef ConstRandomAccessIterator< _Mytype_tconst_iterator
 
typedef ReverseRandomAccessIterator< _Mytype_treverse_iterator
 
typedef ReverseRandomAccessIterator< _Mytype_tconst_reverse_iterator
 
typedef int size_type
 
typedef int difference_type
 
typedef _Value_t value_type
 
typedef value_type reference
 
typedef value_type const_reference
 
typedef _Mycont_it generic_container
 
typedef value_type generic_value
 
typedef _STLCLR Generic::ContainerRandomAccessIterator< _Value_t > generic_iterator
 
typedef _STLCLR Generic::ReverseRandomAccessIterator< _Value_t > generic_reverse_iterator
 

Public Member Functions

 deque_base ()
 
 deque_base (deque_base%_Right)
 
deque_base operator= (deque_base%_Right)
 
 operator _Mycont_it^ ()
 
 deque_base (size_type _Count)
 
 deque_base (size_type _Count, value_type _Val)
 
template<typename _InIt_t >
 deque_base (_InIt_t _First, _InIt_t _Last)
 
 deque_base (_Myenum_it^_Right)
 
template<typename _InIt_t >
void assign (_InIt_t _First, _InIt_t _Last)
 
template<typename _InIt_t >
void _Assign (_InIt_t _Count_arg, _InIt_t _Val, _Int_iterator_tag%)
 
template<typename _InIt_t >
void _Assign (_InIt_t _First, _InIt_t _Last, input_iterator_tag%)
 
template<typename _InIt_t >
void _Assign (_InIt_t _First, _InIt_t _Last, random_access_iterator_tag%)
 
template<typename _InIt_t >
void insert (iterator _Where, _InIt_t _First, _InIt_t _Last)
 
template<typename _InIt_t >
void _Insert (size_type _Where, _InIt_t _First, _InIt_t _Last, _Int_iterator_tag%)
 
template<typename _InIt_t >
void _Insert (size_type _Where, _InIt_t _First, _InIt_t _Last, input_iterator_tag%)
 
- Public Member Functions inherited from cliext::impl::deque_impl< _Value_t, _Is_ref >
 deque_impl ()
 
 deque_impl (_Mytype_t%_Right)
 
 deque_impl (size_type _Count)
 
 deque_impl (size_type _Count, value_type _Val)
 
template<typename _InIt_t >
 deque_impl (_InIt_t _First, _InIt_t _Last)
 
template<typename _InIt_t >
void _Construct (_InIt_t _Count, _InIt_t _Val, _Int_iterator_tag)
 
template<typename _InIt_t >
void _Construct (_InIt_t _First, _InIt_t _Last, input_iterator_tag)
 
template<typename _InIt_t >
void _Construct (_InIt_t _First, _InIt_t _Last, forward_iterator_tag)
 
 deque_impl (System::Collections::Generic::IEnumerable< _Value_t >^_Right)
 
 ~deque_impl ()
 
unsigned long get_generation ()
 
size_type get_bias (iterator _Where)
 
bool valid_bias (size_type _Bias)
 
reference at (size_type _Pos)
 
reference at_bias (size_type _Bias)
 
int begin_bias ()
 
int end_bias ()
 
reference front ()
 
reference back ()
 
_Myarray_t to_array ()
 
iterator make_iterator (size_type _Bias)
 
iterator begin ()
 
iterator end ()
 
reverse_iterator rbegin ()
 
reverse_iterator rend ()
 
virtual void resize (size_type _Newsize)
 
void resize (size_type _Newsize, value_type _Val)
 
size_type size ()
 
bool empty ()
 
void push_front (value_type _Val)
 
void pop_front ()
 
void push_back (value_type _Val)
 
void pop_back ()
 
void assign (size_type _Count, value_type _Val)
 
void assign (_STLCLR Generic::IInputIterator< _Value_t >^_First, _STLCLR Generic::IInputIterator< _Value_t >^_Last)
 
void assign (_Myenum_it^_Right)
 
void assign (System::Collections::IEnumerable^_Right)
 
iterator insert (iterator _Where, value_type _Val)
 
void insert (iterator _Where, size_type _Count, value_type _Val)
 
void insert (iterator _Where_iter, _STLCLR Generic::IInputIterator< _Value_t >^_First, _STLCLR Generic::IInputIterator< _Value_t >^_Last)
 
void insert (iterator _Where_iter, System::Collections::Generic::IEnumerable< _Value_t >^_Right)
 
void insert (iterator _Where_iter, System::Collections::IEnumerable^_Right)
 
size_type insert_n (size_type _Where, size_type _Count, value_type _Val)
 
iterator erase (iterator _Where)
 
iterator erase (iterator _First, iterator _Last)
 
size_type erase_n (size_type _First, size_type _Last)
 
void reverse_n (size_type _First, size_type _Last)
 
void clear ()
 
void swap (_Mytype_t%_Right)
 
deque_impl operator= (deque_impl%_Right)
 
 for (;_Dequesize< _Capacity &&_Maxsize-_Dequesize< _Dequesize;_Mapsize<<=1, _Dequesize<<=1)
 
void _Growmap ()
 
virtual System::Object Clone ()
 

Private Attributes

property size_type Count_generic
 
property bool IsReadOnly
 

Additional Inherited Members

- Public Attributes inherited from cliext::impl::deque_impl< _Value_t, _Is_ref >
property value_type default [size_type]
 
property value_type front_item
 
property value_type back_item
 
_STLCLR_FIELD_ACCESS __pad0__: void _Buy(size_type _Capacity) { size_type _Valsize = _Get_sizeof<value_type>::value()
 
 _Blockshift
 
 _Mymap = nullptr
 
 _Mybias = 0
 
 _Mysize = 0
 
 _Mygen = 0
 
if(_Capacity< 0) throw gcnew System size_type _Mapsize = 1 << _Mapshift
 
size_type _Dequesize = _Mapsize << _Blockshift
 
_Mymap_t _Mymap
 
int _Blockshift
 
int _Mybias
 
size_type _Mysize
 
unsigned long _Mygen
 
- Static Public Attributes inherited from cliext::impl::deque_impl< _Value_t, _Is_ref >
static const int _Maxsize = MAX_CONTAINER_SIZE
 
static const int _Mapshift = 5
 

Member Typedef Documentation

template<typename _Value_t, bool _Is_ref>
typedef deque_impl<_Value_t, _Is_ref> cliext::impl::deque_base< _Value_t, _Is_ref >::_Mybase_t
template<typename _Value_t, bool _Is_ref>
typedef _Cont_make_value<_Value_t, _Is_ref> cliext::impl::deque_base< _Value_t, _Is_ref >::_Mymake_t
template<typename _Value_t, bool _Is_ref>
typedef deque_base<_Value_t, _Is_ref> cliext::impl::deque_base< _Value_t, _Is_ref >::_Mytype_t

Constructor & Destructor Documentation

template<typename _Value_t, bool _Is_ref>
cliext::impl::deque_base< _Value_t, _Is_ref >::deque_base ( )
inline
1033  : _Mybase_t()
1034  { // construct default
1035  }
deque_impl< _Value_t, _Is_ref > _Mybase_t
Definition: deque:1018
template<typename _Value_t, bool _Is_ref>
cliext::impl::deque_base< _Value_t, _Is_ref >::deque_base ( deque_base< _Value_t, _Is_ref >%  _Right)
inline
1038  : _Mybase_t(_Right)
1039  { // construct by copying a deque
1040  }
deque_impl< _Value_t, _Is_ref > _Mybase_t
Definition: deque:1018
const _Ty & _Right
Definition: algorithm:4087
template<typename _Value_t, bool _Is_ref>
cliext::impl::deque_base< _Value_t, _Is_ref >::deque_base ( size_type  _Count)
inlineexplicit
1055  : _Mybase_t(_Count)
1056  { // construct from _Count * value_type()
1057  }
_Diff _Count
Definition: algorithm:1941
deque_impl< _Value_t, _Is_ref > _Mybase_t
Definition: deque:1018
template<typename _Value_t, bool _Is_ref>
cliext::impl::deque_base< _Value_t, _Is_ref >::deque_base ( size_type  _Count,
value_type  _Val 
)
inline
1060  : _Mybase_t(_Count, _Val)
1061  { // construct from _Count * _Val
1062  }
_Diff _Count
Definition: algorithm:1941
deque_impl< _Value_t, _Is_ref > _Mybase_t
Definition: deque:1018
_FwdIt const _Ty _Val
Definition: algorithm:1938
template<typename _Value_t, bool _Is_ref>
template<typename _InIt_t >
cliext::impl::deque_base< _Value_t, _Is_ref >::deque_base ( _InIt_t  _First,
_InIt_t  _Last 
)
inline
1066  : _Mybase_t(_First, _Last)
1067  { // construct from [_First, _Last)
1068  }
deque_impl< _Value_t, _Is_ref > _Mybase_t
Definition: deque:1018
_FwdIt _Last
Definition: algorithm:1936
template<typename _Value_t, bool _Is_ref>
cliext::impl::deque_base< _Value_t, _Is_ref >::deque_base ( _Myenum_it _Right)
inline
1071  : _Mybase_t(_Right)
1072  { // initialize with enumeration
1073  }
deque_impl< _Value_t, _Is_ref > _Mybase_t
Definition: deque:1018
const _Ty & _Right
Definition: algorithm:4087

Member Function Documentation

template<typename _Value_t, bool _Is_ref>
template<typename _InIt_t >
void cliext::impl::deque_base< _Value_t, _Is_ref >::_Assign ( _InIt_t  _Count_arg,
_InIt_t  _Val,
_Int_iterator_tag  
)
inline
1085  { // assign _Count * _Val
1086  value_type _Count = (value_type)_Count_arg;
1087 
1088  if (_Count < 0)
1089  throw gcnew System::ArgumentOutOfRangeException();
1090  clear();
1091  for (; 0 < _Count; --_Count)
1093  }
void push_back(value_type _Val)
Definition: deque:360
void clear()
Definition: deque:659
_Value_t value_type
Definition: deque:66
_Diff _Count
Definition: algorithm:1941
_FwdIt const _Ty _Val
Definition: algorithm:1938
template<typename _Value_t, bool _Is_ref>
template<typename _InIt_t >
void cliext::impl::deque_base< _Value_t, _Is_ref >::_Assign ( _InIt_t  _First,
_InIt_t  _Last,
input_iterator_tag  
)
inline
1098  { // initialize with [_First, _Last), input iterators
1099  if (_Iter_container(_First) != this)
1100  clear();
1101 
1102  size_type _Oldsize = size();
1103 
1104  for (; _First != _Last; ++_First)
1105  push_back((value_type)*_First); // append new stuff
1106  for (; 0 < _Oldsize; --_Oldsize)
1107  pop_front(); // erase any leftover old stuff
1108  }
void push_back(value_type _Val)
Definition: deque:360
void pop_front()
Definition: deque:349
void clear()
Definition: deque:659
int size_type
Definition: deque:64
System::Object _Iter_container(_Iter_t%_Next)
Definition: iterator:4248
_Value_t value_type
Definition: deque:66
_FwdIt _Last
Definition: algorithm:1936
size_type size()
Definition: deque:317
template<typename _Value_t, bool _Is_ref>
template<typename _InIt_t >
void cliext::impl::deque_base< _Value_t, _Is_ref >::_Assign ( _InIt_t  _First,
_InIt_t  _Last,
random_access_iterator_tag  
)
inline
1113  { // initialize with [_First, _Last), input iterators
1114  if (_Last < _First)
1115  throw gcnew System::ArgumentOutOfRangeException();
1116 
1117  if (_Iter_container(_First) != this)
1118  clear();
1119 
1120  size_type _Oldsize = size();
1121 
1122  for (; _First != _Last; ++_First)
1123  push_back((value_type)*_First); // append new stuff
1124  for (; 0 < _Oldsize; --_Oldsize)
1125  pop_front(); // erase any leftover old stuff
1126  }
void push_back(value_type _Val)
Definition: deque:360
void pop_front()
Definition: deque:349
void clear()
Definition: deque:659
int size_type
Definition: deque:64
System::Object _Iter_container(_Iter_t%_Next)
Definition: iterator:4248
_Value_t value_type
Definition: deque:66
_FwdIt _Last
Definition: algorithm:1936
size_type size()
Definition: deque:317
template<typename _Value_t, bool _Is_ref>
template<typename _InIt_t >
void cliext::impl::deque_base< _Value_t, _Is_ref >::_Insert ( size_type  _Where,
_InIt_t  _First,
_InIt_t  _Last,
_Int_iterator_tag  
)
inline
1138  { // insert _Count * _Val at _Where
1139  insert_n(_Where, (size_type)_First, (value_type)_Last);
1140  }
size_type insert_n(size_type _Where, size_type _Count, value_type _Val)
Definition: deque:560
int size_type
Definition: deque:64
_Value_t value_type
Definition: deque:66
_FwdIt _Last
Definition: algorithm:1936
template<typename _Value_t, bool _Is_ref>
template<typename _InIt_t >
void cliext::impl::deque_base< _Value_t, _Is_ref >::_Insert ( size_type  _Where,
_InIt_t  _First,
_InIt_t  _Last,
input_iterator_tag  
)
inline
1145  { // insert [_First, _Last) at _Where, input iterators
1146  if (!valid_bias(_Where))
1147  throw gcnew System::InvalidOperationException();
1148 
1149  if (_First == _Last)
1150  ;
1151  else if (_Where - begin_bias() < end_bias() - _Where)
1152  { // add elements near beginning
1153  size_type _Oldfirst = begin_bias();
1154 
1155  for (; _First != _Last; ++_First)
1156  push_front((value_type)*_First); // prepend flipped
1157  if (_Oldfirst != _Where)
1158  { // insert not at beginning, flip new stuff into place
1159  reverse_n(_Oldfirst, _Where);
1160  reverse_n(begin_bias(), _Where);
1161  }
1162  else
1163  reverse_n(begin_bias(), _Oldfirst); // flip new stuff in place
1164  }
1165  else
1166  { // add elements near end
1167  size_type _Oldlast = end_bias();
1168 
1169  for (; _First != _Last; ++_First)
1170  push_back((value_type)*_First); // append
1171  if (_Oldlast != _Where)
1172  { // insert not at end, flip new stuff into place
1173  reverse_n(_Where, _Oldlast);
1174  reverse_n(_Oldlast, end_bias());
1175  reverse_n(_Where, end_bias());
1176  }
1177  }
1178  }
int begin_bias()
Definition: deque:196
int end_bias()
Definition: deque:201
bool valid_bias(size_type _Bias)
Definition: deque:174
void push_back(value_type _Val)
Definition: deque:360
int size_type
Definition: deque:64
void reverse_n(size_type _First, size_type _Last)
Definition: deque:643
void push_front(value_type _Val)
Definition: deque:328
_Value_t value_type
Definition: deque:66
_FwdIt _Last
Definition: algorithm:1936
template<typename _Value_t, bool _Is_ref>
template<typename _InIt_t >
void cliext::impl::deque_base< _Value_t, _Is_ref >::assign ( _InIt_t  _First,
_InIt_t  _Last 
)
inline
1078  { // assign [_First, _Last)
1079  _Assign(_First, _Last, _Iter_category(_First));
1080  }
iterator_traits< _Iter_t >::iterator_category _Iter_category(_Iter_t)
Definition: xutility:654
void _Assign(_InIt_t _Count_arg, _InIt_t _Val, _Int_iterator_tag%)
Definition: deque:1083
_FwdIt _Last
Definition: algorithm:1936
template<typename _Value_t, bool _Is_ref>
template<typename _InIt_t >
void cliext::impl::deque_base< _Value_t, _Is_ref >::insert ( iterator  _Where,
_InIt_t  _First,
_InIt_t  _Last 
)
inline
1130  { // insert [_First, _Last) at _Where
1131  _Insert(get_bias(_Where), _First, _Last,
1132  _Iter_category(_First));
1133  }
iterator_traits< _Iter_t >::iterator_category _Iter_category(_Iter_t)
Definition: xutility:654
size_type get_bias(iterator _Where)
Definition: deque:167
void _Insert(size_type _Where, _InIt_t _First, _InIt_t _Last, _Int_iterator_tag%)
Definition: deque:1136
_FwdIt _Last
Definition: algorithm:1936
template<typename _Value_t, bool _Is_ref>
cliext::impl::deque_base< _Value_t, _Is_ref >::operator _Mycont_it^ ( )
inline
1049  { // convert to interface
1050  return (this);
1051  }
template<typename _Value_t, bool _Is_ref>
deque_base cliext::impl::deque_base< _Value_t, _Is_ref >::operator= ( deque_base< _Value_t, _Is_ref >%  _Right)
inline
1043  { // assign
1045  return (*this);
1046  }
deque_impl operator=(deque_impl%_Right)
Definition: deque:688
const _Ty & _Right
Definition: algorithm:4087

Member Data Documentation

template<typename _Value_t, bool _Is_ref>
property size_type cliext::impl::deque_base< _Value_t, _Is_ref >::Count_generic
private
Initial value:
template<typename _Value_t, bool _Is_ref>
property bool cliext::impl::deque_base< _Value_t, _Is_ref >::IsReadOnly
private
Initial value:
{
virtual bool get() sealed
= System::Collections::Generic::ICollection<_Value_t>
{
return (false);
}
}

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