STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Private Attributes | List of all members
cliext::impl::deque_impl< _Value_t, _Is_ref > Class Template Reference
Inheritance diagram for cliext::impl::deque_impl< _Value_t, _Is_ref >:
cliext::impl::deque_base< _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_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_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 ()
 

Public Attributes

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

static const int _Maxsize = MAX_CONTAINER_SIZE
 
static const int _Mapshift = 5
 

Private Attributes

property size_type Count
 
property bool IsSynchronized
 
property System::Object SyncRoot
 

Member Typedef Documentation

template<typename _Value_t, bool _Is_ref>
typedef cli::array<_Value_t> cliext::impl::deque_impl< _Value_t, _Is_ref >::_Myarray_t
template<typename _Value_t, bool _Is_ref>
typedef _STLCLR IDeque<_Value_t> cliext::impl::deque_impl< _Value_t, _Is_ref >::_Mycont_it
template<typename _Value_t, bool _Is_ref>
typedef System::Collections::Generic::IEnumerable<_Value_t> cliext::impl::deque_impl< _Value_t, _Is_ref >::_Myenum_it
template<typename _Value_t, bool _Is_ref>
typedef _Cont_make_value<_Value_t, _Is_ref> cliext::impl::deque_impl< _Value_t, _Is_ref >::_Mymake_t
template<typename _Value_t, bool _Is_ref>
typedef cli::array<_Myarray_t^> cliext::impl::deque_impl< _Value_t, _Is_ref >::_Mymap_t
template<typename _Value_t, bool _Is_ref>
typedef deque_impl<_Value_t, _Is_ref> cliext::impl::deque_impl< _Value_t, _Is_ref >::_Mytype_t
template<typename _Value_t, bool _Is_ref>
typedef ConstRandomAccessIterator<_Mytype_t> cliext::impl::deque_impl< _Value_t, _Is_ref >::const_iterator
template<typename _Value_t, bool _Is_ref>
typedef value_type cliext::impl::deque_impl< _Value_t, _Is_ref >::const_reference
template<typename _Value_t, bool _Is_ref>
typedef ReverseRandomAccessIterator<_Mytype_t> cliext::impl::deque_impl< _Value_t, _Is_ref >::const_reverse_iterator
template<typename _Value_t, bool _Is_ref>
typedef int cliext::impl::deque_impl< _Value_t, _Is_ref >::difference_type
template<typename _Value_t, bool _Is_ref>
typedef _Mycont_it cliext::impl::deque_impl< _Value_t, _Is_ref >::generic_container
template<typename _Value_t, bool _Is_ref>
typedef _STLCLR Generic::ContainerRandomAccessIterator<_Value_t> cliext::impl::deque_impl< _Value_t, _Is_ref >::generic_iterator
template<typename _Value_t, bool _Is_ref>
typedef _STLCLR Generic::ReverseRandomAccessIterator<_Value_t> cliext::impl::deque_impl< _Value_t, _Is_ref >::generic_reverse_iterator
template<typename _Value_t, bool _Is_ref>
typedef value_type cliext::impl::deque_impl< _Value_t, _Is_ref >::generic_value
template<typename _Value_t, bool _Is_ref>
typedef RandomAccessIterator<_Mytype_t> cliext::impl::deque_impl< _Value_t, _Is_ref >::iterator
template<typename _Value_t, bool _Is_ref>
typedef value_type cliext::impl::deque_impl< _Value_t, _Is_ref >::reference
template<typename _Value_t, bool _Is_ref>
typedef ReverseRandomAccessIterator<_Mytype_t> cliext::impl::deque_impl< _Value_t, _Is_ref >::reverse_iterator
template<typename _Value_t, bool _Is_ref>
typedef int cliext::impl::deque_impl< _Value_t, _Is_ref >::size_type
template<typename _Value_t, bool _Is_ref>
typedef _Value_t cliext::impl::deque_impl< _Value_t, _Is_ref >::value_type

Constructor & Destructor Documentation

template<typename _Value_t, bool _Is_ref>
cliext::impl::deque_impl< _Value_t, _Is_ref >::deque_impl ( )
inline
83  { // construct empty deque
84  _Buy(0);
85  }
template<typename _Value_t, bool _Is_ref>
cliext::impl::deque_impl< _Value_t, _Is_ref >::deque_impl ( _Mytype_t _Right)
inline
88  { // construct by copying _Right
89  size_type _Count = _Right.size();
90  size_type _Idx = 0;
91 
92  for (_Buy(_Count); _Idx < _Count; ++_Idx)
93  push_back(_Right.at(_Idx));
94  }
void push_back(value_type _Val)
Definition: deque:360
int size_type
Definition: deque:64
_Diff _Count
Definition: algorithm:1941
constexpr const _Ty &() _Right
Definition: algorithm:3591
template<typename _Value_t, bool _Is_ref>
cliext::impl::deque_impl< _Value_t, _Is_ref >::deque_impl ( size_type  _Count)
inlineexplicit
97  { // construct from _Count * value_type()
98  for (_Buy(_Count); 0 < _Count; --_Count)
100  }
void push_back(value_type _Val)
Definition: deque:360
_Value_t value_type
Definition: deque:66
_Diff _Count
Definition: algorithm:1941
template<typename _Value_t, bool _Is_ref>
cliext::impl::deque_impl< _Value_t, _Is_ref >::deque_impl ( size_type  _Count,
value_type  _Val 
)
inline
103  { // construct from _Count * _Val
104  for (_Buy(_Count); 0 < _Count; --_Count)
105  push_back(_Val);
106  }
void push_back(value_type _Val)
Definition: deque:360
_Diff _Count
Definition: algorithm:1941
_FwdIt const _Ty _Val
Definition: algorithm:1938
template<typename _Value_t, bool _Is_ref>
template<typename _InIt_t >
cliext::impl::deque_impl< _Value_t, _Is_ref >::deque_impl ( _InIt_t  _First,
_InIt_t  _Last 
)
inline
110  { // construct from [_First, _Last)
111  _Construct(_First, _Last, _Iter_category(_First));
112  }
iterator_traits< _Iter_t >::iterator_category _Iter_category(_Iter_t)
Definition: xutility:654
_FwdIt _Last
Definition: algorithm:1936
void _Construct(_InIt_t _Count, _InIt_t _Val, _Int_iterator_tag)
Definition: deque:115
template<typename _Value_t, bool _Is_ref>
cliext::impl::deque_impl< _Value_t, _Is_ref >::deque_impl ( System::Collections::Generic::IEnumerable< _Value_t >^  _Right)
inline
145  { // initialize with enumeration
146  _Buy(0);
147  for each (value_type _Val in _Right)
148  push_back(_Val);
149  }
void push_back(value_type _Val)
Definition: deque:360
_Value_t value_type
Definition: deque:66
_FwdIt const _Ty _Val
Definition: algorithm:1938
constexpr const _Ty &() _Right
Definition: algorithm:3591
template<typename _Value_t, bool _Is_ref>
cliext::impl::deque_impl< _Value_t, _Is_ref >::~deque_impl ( )
inline
153  { // destroy the object
154  clear();
155  _Mymap = nullptr;
156  _Mybias = 0;
157  _Mysize = 0;
158  ++_Mygen;
159  }
_Mymap
Definition: deque:712
void clear()
Definition: deque:659
_Mygen
Definition: deque:715
_Mysize
Definition: deque:714
_Mybias
Definition: deque:713

Member Function Documentation

template<typename _Value_t, bool _Is_ref>
template<typename _InIt_t >
void cliext::impl::deque_impl< _Value_t, _Is_ref >::_Construct ( _InIt_t  _Count,
_InIt_t  _Val,
_Int_iterator_tag   
)
inline
117  { // initialize with _Count * _Val
118  if (_Count < 0)
119  throw gcnew System::ArgumentOutOfRangeException();
120  for (_Buy((size_type)_Count); 0 < _Count; --_Count)
122  }
void push_back(value_type _Val)
Definition: deque:360
int size_type
Definition: deque:64
_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_impl< _Value_t, _Is_ref >::_Construct ( _InIt_t  _First,
_InIt_t  _Last,
input_iterator_tag   
)
inline
127  { // initialize with [_First, _Last), input iterators
128  for (_Buy(0); _First != _Last; ++_First)
129  push_back((value_type)*_First);
130  }
void push_back(value_type _Val)
Definition: deque:360
_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_impl< _Value_t, _Is_ref >::_Construct ( _InIt_t  _First,
_InIt_t  _Last,
forward_iterator_tag   
)
inline
135  { // initialize with [_First, _Last), forward iterators
137 
138  if (_Size < 0)
139  throw gcnew System::ArgumentOutOfRangeException();
140  for (_Buy(_Size); 0 < _Size; --_Size, ++_First)
141  push_back((value_type)*_First);
142  }
void push_back(value_type _Val)
Definition: deque:360
int size_type
Definition: deque:64
int distance(_InIt_t _First, _InIt_t _Last)
Definition: xutility:720
_Value_t value_type
Definition: deque:66
_FwdIt _Last
Definition: algorithm:1936
_Size
Definition: vcruntime_string.h:36
template<typename _Value_t, bool _Is_ref>
void cliext::impl::deque_impl< _Value_t, _Is_ref >::_Growmap ( )
inline
729  { // grow map by doubling its size
730  if (_Maxsize - (_Mymap->Length << _Blockshift)
731  < (_Mymap->Length << _Blockshift)) // can't double map size
732  throw gcnew System::ArgumentOutOfRangeException();
733 
734  _Mymap_t^ _Newmap = gcnew _Mymap_t(2 * _Mymap->Length);
735  size_type _Count = _Mymap->Length;
736  size_type _Block = _Mybias >> _Blockshift;
737 
738  for (; 0 < _Count; --_Count, ++_Block)
739  _Newmap[_Block % _Newmap->Length] =
740  _Mymap[_Block % _Mymap->Length];
741  _Mymap = _Newmap;
742  }
static const int _Maxsize
Definition: deque:78
_Mymap
Definition: deque:712
int size_type
Definition: deque:64
cli::array< _Myarray_t^> _Mymap_t
Definition: deque:52
_Diff _Count
Definition: algorithm:1941
_Mybias
Definition: deque:713
_Blockshift
Definition: deque:704
template<typename _Value_t, bool _Is_ref>
void cliext::impl::deque_impl< _Value_t, _Is_ref >::assign ( size_type  _Count,
value_type  _Val 
)
inline
391  { // assign _Count * _Val
392  if (_Count < 0)
393  throw gcnew System::ArgumentOutOfRangeException();
394  clear();
395  for (; 0 < _Count; --_Count)
396  push_back(_Val);
397  }
void push_back(value_type _Val)
Definition: deque:360
void clear()
Definition: deque:659
_Diff _Count
Definition: algorithm:1941
_FwdIt const _Ty _Val
Definition: algorithm:1938
template<typename _Value_t, bool _Is_ref>
void cliext::impl::deque_impl< _Value_t, _Is_ref >::assign ( _STLCLR Generic::IInputIterator< _Value_t >^  _First,
_STLCLR Generic::IInputIterator< _Value_t >^  _Last 
)
inline
401  { // initialize with [_First, _Last), input iterators
402  if (_Iter_container(_First) != this)
403  clear();
404 
405  size_type _Oldsize = size();
406 
407  for (; !_First->equal_to(_Last); _First->next())
408  push_back((value_type)_First->get_cref()); // append new stuff
409  for (; 0 < _Oldsize; --_Oldsize)
410  pop_front(); // erase any leftover old stuff
411  }
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>
void cliext::impl::deque_impl< _Value_t, _Is_ref >::assign ( _Myenum_it _Right)
inline
414  { // initialize with enumeration
415  size_type _Oldsize = size();
416 
417  for each (value_type _Val in _Right)
418  push_back(_Val); // append new stuff
419  for (; 0 < _Oldsize; --_Oldsize)
420  pop_front(); // erase any leftover old stuff
421  }
void push_back(value_type _Val)
Definition: deque:360
void pop_front()
Definition: deque:349
int size_type
Definition: deque:64
_Value_t value_type
Definition: deque:66
_FwdIt const _Ty _Val
Definition: algorithm:1938
constexpr const _Ty &() _Right
Definition: algorithm:3591
size_type size()
Definition: deque:317
template<typename _Value_t, bool _Is_ref>
void cliext::impl::deque_impl< _Value_t, _Is_ref >::assign ( System::Collections::IEnumerable^  _Right)
inline
424  { // initialize with enumeration
425  size_type _Oldsize = size();
426 
427  for each (value_type _Val in _Right)
428  push_back(_Val); // append new stuff
429  for (; 0 < _Oldsize; --_Oldsize)
430  pop_front(); // erase any leftover old stuff
431  }
void push_back(value_type _Val)
Definition: deque:360
void pop_front()
Definition: deque:349
int size_type
Definition: deque:64
_Value_t value_type
Definition: deque:66
_FwdIt const _Ty _Val
Definition: algorithm:1938
constexpr const _Ty &() _Right
Definition: algorithm:3591
size_type size()
Definition: deque:317
template<typename _Value_t, bool _Is_ref>
reference cliext::impl::deque_impl< _Value_t, _Is_ref >::at ( size_type  _Pos)
inline
181  { // subscript mutable sequence with checking
182  return (at_bias(begin_bias() + _Pos));
183  }
reference at_bias(size_type _Bias)
Definition: deque:185
int begin_bias()
Definition: deque:196
template<typename _Value_t, bool _Is_ref>
reference cliext::impl::deque_impl< _Value_t, _Is_ref >::at_bias ( size_type  _Bias)
inline
186  { // subscript mutable sequence with checking, biased
187  if ((unsigned int)size() <= (unsigned int)_Bias - begin_bias())
188  throw gcnew System::ArgumentOutOfRangeException();
189 
190  int _Blocksize = 1 << _Blockshift;
191 
192  _Bias &= (_Mymap->Length << _Blockshift) - 1;
193  return (_Mymap[_Bias >> _Blockshift][_Bias & (_Blocksize - 1)]);
194  }
int begin_bias()
Definition: deque:196
_Mymap
Definition: deque:712
size_type size()
Definition: deque:317
_Blockshift
Definition: deque:704
template<typename _Value_t, bool _Is_ref>
reference cliext::impl::deque_impl< _Value_t, _Is_ref >::back ( )
inline
253  { // get last element of mutable sequence
254  if (empty())
255  throw gcnew System::NullReferenceException();
256  return (at(size() - 1));
257  }
reference at(size_type _Pos)
Definition: deque:180
size_type size()
Definition: deque:317
bool empty()
Definition: deque:322
template<typename _Value_t, bool _Is_ref>
iterator cliext::impl::deque_impl< _Value_t, _Is_ref >::begin ( )
inline
276  { // return iterator for beginning of mutable sequence
277  return (make_iterator(begin_bias()));
278  }
int begin_bias()
Definition: deque:196
iterator make_iterator(size_type _Bias)
Definition: deque:270
template<typename _Value_t, bool _Is_ref>
int cliext::impl::deque_impl< _Value_t, _Is_ref >::begin_bias ( )
inline
197  { // get bias of beginning of current sequence
198  return (_Mybias);
199  }
_Mybias
Definition: deque:713
template<typename _Value_t, bool _Is_ref>
void cliext::impl::deque_impl< _Value_t, _Is_ref >::clear ( )
inline
660  { // erase all
661  for (; !empty(); )
662  pop_back();
663  }
void pop_back()
Definition: deque:380
bool empty()
Definition: deque:322
template<typename _Value_t, bool _Is_ref>
virtual System::Object cliext::impl::deque_impl< _Value_t, _Is_ref >::Clone ( )
inlinevirtual

Reimplemented in cliext::deque< _Value_t >.

754  { // clone the deque
755  return (gcnew deque_impl(*this));
756  }
deque_impl()
Definition: deque:82
template<typename _Value_t, bool _Is_ref>
bool cliext::impl::deque_impl< _Value_t, _Is_ref >::empty ( )
inline
323  { // test if sequence is empty
324  return (size() == 0);
325  }
size_type size()
Definition: deque:317
template<typename _Value_t, bool _Is_ref>
iterator cliext::impl::deque_impl< _Value_t, _Is_ref >::end ( )
inline
281  { // return iterator for end of mutable sequence
282  return (make_iterator(end_bias()));
283  }
int end_bias()
Definition: deque:201
iterator make_iterator(size_type _Bias)
Definition: deque:270
template<typename _Value_t, bool _Is_ref>
int cliext::impl::deque_impl< _Value_t, _Is_ref >::end_bias ( )
inline
202  { // get bias of end of current sequence
203  return (begin_bias() + size());
204  }
int begin_bias()
Definition: deque:196
size_type size()
Definition: deque:317
template<typename _Value_t, bool _Is_ref>
iterator cliext::impl::deque_impl< _Value_t, _Is_ref >::erase ( iterator  _Where)
inline
598  { // erase element at _Where
599  size_type _Bias = get_bias(_Where);
600 
601  return (make_iterator(erase_n(_Bias, _Bias + 1)));
602  }
size_type get_bias(iterator _Where)
Definition: deque:167
int size_type
Definition: deque:64
size_type erase_n(size_type _First, size_type _Last)
Definition: deque:610
iterator make_iterator(size_type _Bias)
Definition: deque:270
template<typename _Value_t, bool _Is_ref>
iterator cliext::impl::deque_impl< _Value_t, _Is_ref >::erase ( iterator  _First,
iterator  _Last 
)
inline
605  { // erase [_First, _Last)
606  return (make_iterator(
607  erase_n(get_bias(_First), get_bias(_Last))));
608  }
size_type get_bias(iterator _Where)
Definition: deque:167
size_type erase_n(size_type _First, size_type _Last)
Definition: deque:610
iterator make_iterator(size_type _Bias)
Definition: deque:270
template<typename _Value_t, bool _Is_ref>
size_type cliext::impl::deque_impl< _Value_t, _Is_ref >::erase_n ( size_type  _First,
size_type  _Last 
)
inline
611  { // erase [_First, _Last)
612  if (!valid_bias(_First)
613  || !valid_bias(_Last)
614  || _Last < _First)
615  throw gcnew System::InvalidOperationException();
616 
617  if (_First == _Last)
618  return (_First);
619  else if (_First - begin_bias() < end_bias() - _Last)
620  { // erase finite sequence closer to front
621  size_type _Count = _First - begin_bias();
622  size_type _Stride = _Last - _First;
623 
624  for (_First = _Last - 1; 0 < _Count; --_Count, --_First)
625  at_bias(_First) = at_bias(_First - _Stride); // copy up
626  for (; 0 < _Stride; --_Stride)
627  pop_front();
628  return (_Last);
629  }
630  else
631  { // erase finite sequence closer to back
632  size_type _Count = end_bias() - _Last;
633  size_type _Stride = _Last - _First;
634 
635  for (; 0 < _Count; --_Count, ++_Last)
636  at_bias(_Last - _Stride) = at_bias(_Last); // copy down
637  for (; 0 < _Stride; --_Stride)
638  pop_back();
639  return (_First);
640  }
641  }
reference at_bias(size_type _Bias)
Definition: deque:185
int begin_bias()
Definition: deque:196
int end_bias()
Definition: deque:201
bool valid_bias(size_type _Bias)
Definition: deque:174
void pop_front()
Definition: deque:349
int size_type
Definition: deque:64
void pop_back()
Definition: deque:380
_Diff _Count
Definition: algorithm:1941
_FwdIt _Last
Definition: algorithm:1936
template<typename _Value_t, bool _Is_ref>
cliext::impl::deque_impl< _Value_t, _Is_ref >::for ( )
template<typename _Value_t, bool _Is_ref>
reference cliext::impl::deque_impl< _Value_t, _Is_ref >::front ( )
inline
246  { // get first element of mutable sequence
247  if (empty())
248  throw gcnew System::NullReferenceException();
249  return (at(0));
250  }
reference at(size_type _Pos)
Definition: deque:180
bool empty()
Definition: deque:322
template<typename _Value_t, bool _Is_ref>
size_type cliext::impl::deque_impl< _Value_t, _Is_ref >::get_bias ( iterator  _Where)
inline
168  { // get offset from valid iterator
169  if (_Where.container() != this)
170  throw gcnew System::ArgumentException();
171  return (_Where.get_bias());
172  }
template<typename _Value_t, bool _Is_ref>
unsigned long cliext::impl::deque_impl< _Value_t, _Is_ref >::get_generation ( )
inline
163  { // get underlying container generation
164  return (_Mygen);
165  }
_Mygen
Definition: deque:715
template<typename _Value_t, bool _Is_ref>
iterator cliext::impl::deque_impl< _Value_t, _Is_ref >::insert ( iterator  _Where,
value_type  _Val 
)
inline
434  { // insert _Val at _Where
435  return (make_iterator(
436  insert_n(get_bias(_Where), 1, _Val)));
437  }
size_type get_bias(iterator _Where)
Definition: deque:167
size_type insert_n(size_type _Where, size_type _Count, value_type _Val)
Definition: deque:560
iterator make_iterator(size_type _Bias)
Definition: deque:270
_FwdIt const _Ty _Val
Definition: algorithm:1938
template<typename _Value_t, bool _Is_ref>
void cliext::impl::deque_impl< _Value_t, _Is_ref >::insert ( iterator  _Where,
size_type  _Count,
value_type  _Val 
)
inline
441  { // insert _Count * _Val at _Where
442  insert_n(get_bias(_Where), _Count, _Val);
443  }
size_type get_bias(iterator _Where)
Definition: deque:167
size_type insert_n(size_type _Where, size_type _Count, value_type _Val)
Definition: deque:560
_Diff _Count
Definition: algorithm:1941
_FwdIt const _Ty _Val
Definition: algorithm:1938
template<typename _Value_t, bool _Is_ref>
void cliext::impl::deque_impl< _Value_t, _Is_ref >::insert ( iterator  _Where_iter,
_STLCLR Generic::IInputIterator< _Value_t >^  _First,
_STLCLR Generic::IInputIterator< _Value_t >^  _Last 
)
inline
448  { // insert [_First, _Last) at _Where, input iterators
449  size_type _Where = get_bias(_Where_iter);
450 
451  if (!valid_bias(_Where))
452  throw gcnew System::InvalidOperationException();
453 
454  if (_First->equal_to(_Last))
455  ;
456  else if (_Where - begin_bias() < end_bias() - _Where)
457  { // add elements near beginning
458  size_type _Oldfirst = begin_bias();
459 
460  for (; !_First->equal_to(_Last); _First->next())
461  push_front((value_type)_First->get_cref()); // prepend flipped
462 
463  if (_Oldfirst != _Where)
464  { // insert not at beginning, flip new stuff into place
465  reverse_n(_Oldfirst, _Where);
466  reverse_n(begin_bias(), _Where);
467  }
468  else
469  reverse_n(begin_bias(), _Oldfirst); // flip new stuff in place
470  }
471  else
472  { // add elements near end
473  size_type _Oldlast = end_bias();
474 
475  for (; !_First->equal_to(_Last); _First->next())
476  push_back((value_type)_First->get_cref()); // append
477  if (_Oldlast != _Where)
478  { // insert not at end, flip new stuff into place
479  reverse_n(_Where, _Oldlast);
480  reverse_n(_Oldlast, end_bias());
481  reverse_n(_Where, end_bias());
482  }
483  }
484  }
int begin_bias()
Definition: deque:196
int end_bias()
Definition: deque:201
bool valid_bias(size_type _Bias)
Definition: deque:174
size_type get_bias(iterator _Where)
Definition: deque:167
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>
void cliext::impl::deque_impl< _Value_t, _Is_ref >::insert ( iterator  _Where_iter,
System::Collections::Generic::IEnumerable< _Value_t >^  _Right 
)
inline
488  { // insert enumeration at _Where, possibly from this container
489  size_type _Where = get_bias(_Where_iter);
490 
491  if (!valid_bias(_Where))
492  throw gcnew System::InvalidOperationException();
493 
494  if (_Where - begin_bias() < end_bias() - _Where)
495  { // add elements near beginning
496  size_type _Oldfirst = begin_bias();
497 
498  for each (value_type _Val in _Right)
499  push_front(_Val); // flipped
500  if (_Oldfirst != _Where)
501  { // insert not at beginning, flip new stuff into place
502  reverse_n(_Oldfirst, _Where);
503  reverse_n(begin_bias(), _Where);
504  }
505  else
506  reverse_n(begin_bias(), _Oldfirst); // flip new stuff in place
507  }
508  else
509  { // add elements near end
510  size_type _Oldlast = end_bias();
511 
512  for each (value_type _Val in _Right)
513  push_back(_Val); // not flipped
514  if (_Oldlast != _Where)
515  { // insert not at end, flip new stuff into place
516  reverse_n(_Where, _Oldlast);
517  reverse_n(_Oldlast, end_bias());
518  reverse_n(_Where, end_bias());
519  }
520  }
521  }
int begin_bias()
Definition: deque:196
int end_bias()
Definition: deque:201
bool valid_bias(size_type _Bias)
Definition: deque:174
size_type get_bias(iterator _Where)
Definition: deque:167
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 const _Ty _Val
Definition: algorithm:1938
constexpr const _Ty &() _Right
Definition: algorithm:3591
template<typename _Value_t, bool _Is_ref>
void cliext::impl::deque_impl< _Value_t, _Is_ref >::insert ( iterator  _Where_iter,
System::Collections::IEnumerable^  _Right 
)
inline
525  { // insert enumeration at _Where, possibly from this container
526  size_type _Where = get_bias(_Where_iter);
527 
528  if (!valid_bias(_Where))
529  throw gcnew System::InvalidOperationException();
530 
531  if (_Where - begin_bias() < end_bias() - _Where)
532  { // add elements near beginning
533  size_type _Oldfirst = begin_bias();
534 
535  for each (value_type _Val in _Right)
536  push_front(_Val); // flipped
537  if (_Oldfirst != _Where)
538  { // insert not at beginning, flip new stuff into place
539  reverse_n(_Oldfirst, _Where);
540  reverse_n(begin_bias(), _Where);
541  }
542  else
543  reverse_n(begin_bias(), _Oldfirst); // flip new stuff in place
544  }
545  else
546  { // add elements near end
547  size_type _Oldlast = end_bias();
548 
549  for each (value_type _Val in _Right)
550  push_back(_Val); // not flipped
551  if (_Oldlast != _Where)
552  { // insert not at end, flip new stuff into place
553  reverse_n(_Where, _Oldlast);
554  reverse_n(_Oldlast, end_bias());
555  reverse_n(_Where, end_bias());
556  }
557  }
558  }
int begin_bias()
Definition: deque:196
int end_bias()
Definition: deque:201
bool valid_bias(size_type _Bias)
Definition: deque:174
size_type get_bias(iterator _Where)
Definition: deque:167
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 const _Ty _Val
Definition: algorithm:1938
constexpr const _Ty &() _Right
Definition: algorithm:3591
template<typename _Value_t, bool _Is_ref>
size_type cliext::impl::deque_impl< _Value_t, _Is_ref >::insert_n ( size_type  _Where,
size_type  _Count,
value_type  _Val 
)
inline
562  { // insert _Count * _Val at _Where
563  if (_Count < 0 || !valid_bias(_Where))
564  throw gcnew System::ArgumentOutOfRangeException();
565 
566  if (_Count == 0)
567  return (_Where);
568  else if (_Where - begin_bias() < end_bias() - _Where)
569  { // add elements near beginning
570  size_type _Oldfirst = begin_bias();
571 
572  for (; 0 < _Count; --_Count)
573  push_front(_Val);
574  if (_Oldfirst != _Where)
575  { // insert not at beginning, flip new stuff into place
576  reverse_n(_Oldfirst, _Where);
577  reverse_n(begin_bias(), _Where);
578  }
579  return (_Where - 1);
580  }
581  else
582  { // add elements near end
583  size_type _Oldlast = end_bias();
584  size_type _Ans = _Where + _Count - 1;
585 
586  for (; 0 < _Count; --_Count)
587  push_back(_Val);
588  if (_Oldlast != _Where)
589  { // insert not at end, flip new stuff into place
590  reverse_n(_Where, _Oldlast);
591  reverse_n(_Where, end_bias());
592  }
593  return (_Ans);
594  }
595  }
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
_Diff _Count
Definition: algorithm:1941
_FwdIt const _Ty _Val
Definition: algorithm:1938
template<typename _Value_t, bool _Is_ref>
iterator cliext::impl::deque_impl< _Value_t, _Is_ref >::make_iterator ( size_type  _Bias)
inline
271  { // return iterator for offset
272  return (iterator(this, _Bias));
273  }
RandomAccessIterator< _Mytype_t > iterator
Definition: deque:56
template<typename _Value_t, bool _Is_ref>
deque_impl cliext::impl::deque_impl< _Value_t, _Is_ref >::operator= ( deque_impl< _Value_t, _Is_ref >%  _Right)
inline
689  { // assign
690  if ((Object^)this != %_Right)
691  { // worth assigning, do it
692  clear();
693  for (size_type _Idx = 0; _Idx < _Right.size(); ++_Idx)
694  push_back(_Right.at(_Idx));
695  }
696  return (*this);
697  }
void push_back(value_type _Val)
Definition: deque:360
void clear()
Definition: deque:659
int size_type
Definition: deque:64
constexpr const _Ty &() _Right
Definition: algorithm:3591
template<typename _Value_t, bool _Is_ref>
void cliext::impl::deque_impl< _Value_t, _Is_ref >::pop_back ( )
inline
381  { // erase element at end
382  if (empty())
383  throw gcnew System::InvalidOperationException();
384 
386  --_Mysize;
387  ++_Mygen;
388  }
_Mygen
Definition: deque:715
static void unmake_value(_Value_t%)
Definition: xutility:92
_Mysize
Definition: deque:714
reference back()
Definition: deque:252
bool empty()
Definition: deque:322
template<typename _Value_t, bool _Is_ref>
void cliext::impl::deque_impl< _Value_t, _Is_ref >::pop_front ( )
inline
350  { // erase element at beginning
351  if (empty())
352  throw gcnew System::InvalidOperationException();
353 
355  ++_Mybias;
356  --_Mysize;
357  ++_Mygen;
358  }
_Mygen
Definition: deque:715
static void unmake_value(_Value_t%)
Definition: xutility:92
_Mysize
Definition: deque:714
reference front()
Definition: deque:245
_Mybias
Definition: deque:713
bool empty()
Definition: deque:322
template<typename _Value_t, bool _Is_ref>
void cliext::impl::deque_impl< _Value_t, _Is_ref >::push_back ( value_type  _Val)
inline
361  { // insert element at end
362  int _Blocksize = 1 << _Blockshift;
363 
364  if (((_Mybias + _Mysize) & (_Blocksize - 1)) == 0
365  && _Mymap->Length <= (_Mysize + _Blocksize) / _Blocksize)
366  _Growmap(); // starting new block and no spare block
367 
368  size_type _Newoff = (_Mybias + _Mysize)
369  & ((_Mymap->Length << _Blockshift) - 1);
370  size_type _Block = _Newoff >> _Blockshift;
371 
372  if (_Mymap[_Block] == nullptr)
373  _Mymap[_Block] = gcnew _Myarray_t(_Blocksize);
374  _Mymap[_Block][_Newoff & (_Blocksize - 1)] =
376  ++_Mysize;
377  ++_Mygen;
378  }
static _Value_t make_value(_Value_t%_Val)
Definition: xutility:87
_Mymap
Definition: deque:712
cli::array< _Value_t > _Myarray_t
Definition: deque:51
int size_type
Definition: deque:64
void _Growmap()
Definition: deque:728
_Mygen
Definition: deque:715
_Mysize
Definition: deque:714
_Mybias
Definition: deque:713
_FwdIt const _Ty _Val
Definition: algorithm:1938
_Blockshift
Definition: deque:704
template<typename _Value_t, bool _Is_ref>
void cliext::impl::deque_impl< _Value_t, _Is_ref >::push_front ( value_type  _Val)
inline
329  { // insert element at beginning
330  int _Blocksize = 1 << _Blockshift;
331 
332  if ((_Mybias & (_Blocksize - 1)) == 0
333  && _Mymap->Length <= (_Mysize + _Blocksize) / _Blocksize)
334  _Growmap(); // starting new block and no spare block
335  --_Mybias;
336 
337  size_type _Newoff = _Mybias
338  & ((_Mymap->Length << _Blockshift) - 1);
339  size_type _Block = _Newoff >> _Blockshift;
340 
341  if (_Mymap[_Block] == nullptr)
342  _Mymap[_Block] = gcnew _Myarray_t(_Blocksize);
343  _Mymap[_Block][_Newoff & (_Blocksize - 1)] =
345  ++_Mysize;
346  ++_Mygen;
347  }
static _Value_t make_value(_Value_t%_Val)
Definition: xutility:87
_Mymap
Definition: deque:712
cli::array< _Value_t > _Myarray_t
Definition: deque:51
int size_type
Definition: deque:64
void _Growmap()
Definition: deque:728
_Mygen
Definition: deque:715
_Mysize
Definition: deque:714
_Mybias
Definition: deque:713
_FwdIt const _Ty _Val
Definition: algorithm:1938
_Blockshift
Definition: deque:704
template<typename _Value_t, bool _Is_ref>
reverse_iterator cliext::impl::deque_impl< _Value_t, _Is_ref >::rbegin ( )
inline
286  { // return reverse iterator for beginning of mutable sequence
287  return (reverse_iterator(end()));
288  }
iterator end()
Definition: deque:280
ReverseRandomAccessIterator< _Mytype_t > reverse_iterator
Definition: deque:60
template<typename _Value_t, bool _Is_ref>
reverse_iterator cliext::impl::deque_impl< _Value_t, _Is_ref >::rend ( )
inline
291  { // return reverse iterator for end of mutable sequence
292  return (reverse_iterator(begin()));
293  }
ReverseRandomAccessIterator< _Mytype_t > reverse_iterator
Definition: deque:60
iterator begin()
Definition: deque:275
template<typename _Value_t, bool _Is_ref>
virtual void cliext::impl::deque_impl< _Value_t, _Is_ref >::resize ( size_type  _Newsize)
inlinevirtual

Reimplemented in cliext::impl::deque_select< _Value_t, true >.

300  { // determine new length, padding with value_type elements
301  resize(_Newsize, value_type());
302  }
_Value_t value_type
Definition: deque:66
virtual void resize(size_type _Newsize)
Definition: deque:299
template<typename _Value_t, bool _Is_ref>
void cliext::impl::deque_impl< _Value_t, _Is_ref >::resize ( size_type  _Newsize,
value_type  _Val 
)
inline
305  { // determine new length, padding with _Val elements
306  if (_Newsize < 0)
307  throw gcnew System::ArgumentOutOfRangeException();
308 
309  difference_type _Count = _Newsize - size();
310 
311  for (; 0 < _Count; --_Count)
312  push_back(_Val);
313  for (; _Count < 0; ++_Count)
314  pop_back();
315  }
int difference_type
Definition: deque:65
void push_back(value_type _Val)
Definition: deque:360
void pop_back()
Definition: deque:380
_Diff _Count
Definition: algorithm:1941
_FwdIt const _Ty _Val
Definition: algorithm:1938
size_type size()
Definition: deque:317
template<typename _Value_t, bool _Is_ref>
void cliext::impl::deque_impl< _Value_t, _Is_ref >::reverse_n ( size_type  _First,
size_type  _Last 
)
inline
644  { // reverse a subrange
645  if (!valid_bias(_First)
646  || !valid_bias(_Last)
647  || _Last < _First)
648  throw gcnew System::InvalidOperationException();
649 
650  for (; _First != _Last && _First != --_Last; ++_First)
651  { // swap distinct _First and _Last
652  value_type _Temp = at_bias(_First);
653 
654  at_bias(_First) = at_bias(_Last);
655  at_bias(_Last) = _Temp;
656  }
657  }
reference at_bias(size_type _Bias)
Definition: deque:185
bool valid_bias(size_type _Bias)
Definition: deque:174
_Value_t value_type
Definition: deque:66
_FwdIt _Last
Definition: algorithm:1936
template<typename _Value_t, bool _Is_ref>
size_type cliext::impl::deque_impl< _Value_t, _Is_ref >::size ( )
inline
318  { // return length of sequence
319  return (_Mysize);
320  }
_Mysize
Definition: deque:714
template<typename _Value_t, bool _Is_ref>
void cliext::impl::deque_impl< _Value_t, _Is_ref >::swap ( _Mytype_t _Right)
inline
666  { // exchange contents with _Right
667  if ((Object^)this != %_Right)
668  { // worth doing, swap
669  _Mymap_t^ _Tmap = _Mymap;
670  size_type _Tbias = _Mybias;
671  size_type _Tsize = _Mysize;
672 
673  _Mymap = _Right._Mymap;
674  _Right._Mymap = _Tmap;
675 
676  _Mybias = _Right._Mybias;
677  _Right._Mybias = _Tbias;
678 
679  _Mysize = _Right._Mysize;
680  _Right._Mysize = _Tsize;
681 
682  ++_Mygen;
683  ++_Right._Mygen;
684  }
685  }
_Mymap
Definition: deque:712
int size_type
Definition: deque:64
_Mygen
Definition: deque:715
cli::array< _Myarray_t^> _Mymap_t
Definition: deque:52
_Mysize
Definition: deque:714
_Mybias
Definition: deque:713
constexpr const _Ty &() _Right
Definition: algorithm:3591
template<typename _Value_t, bool _Is_ref>
_Myarray_t cliext::impl::deque_impl< _Value_t, _Is_ref >::to_array ( )
inline
261  { // convert to array
262  _Myarray_t^ _Ans = gcnew _Myarray_t(size());
263 
264  for (int _Idx = size(); 0 <= --_Idx; )
265  _Ans[_Idx] = _Mymake_t::make_value(at(_Idx));
266  return (_Ans);
267  }
static _Value_t make_value(_Value_t%_Val)
Definition: xutility:87
cli::array< _Value_t > _Myarray_t
Definition: deque:51
reference at(size_type _Pos)
Definition: deque:180
size_type size()
Definition: deque:317
template<typename _Value_t, bool _Is_ref>
bool cliext::impl::deque_impl< _Value_t, _Is_ref >::valid_bias ( size_type  _Bias)
inline
175  { // test if _Bias is currently a valid bias
176  return ((unsigned int)_Bias - begin_bias()
177  <= (unsigned int)size()); // unsigned to handle bias wraparound
178  }
int begin_bias()
Definition: deque:196
size_type size()
Definition: deque:317

Member Data Documentation

template<typename _Value_t, bool _Is_ref>
_STLCLR_FIELD_ACCESS cliext::impl::deque_impl< _Value_t, _Is_ref >::__pad0__
template<typename _Value_t, bool _Is_ref>
cliext::impl::deque_impl< _Value_t, _Is_ref >::_Blockshift
Initial value:
= _Valsize <= 1 ? 6
: _Valsize <= 2 ? 5
: _Valsize <= 4 ? 4
: _Valsize <= 8 ? 3
: _Valsize <= 16 ? 2
: _Valsize <= 32 ? 1
: 0
template<typename _Value_t, bool _Is_ref>
int cliext::impl::deque_impl< _Value_t, _Is_ref >::_Blockshift
template<typename _Value_t, bool _Is_ref>
size_type cliext::impl::deque_impl< _Value_t, _Is_ref >::_Dequesize = _Mapsize << _Blockshift
template<typename _Value_t, bool _Is_ref>
const int cliext::impl::deque_impl< _Value_t, _Is_ref >::_Mapshift = 5
static
template<typename _Value_t, bool _Is_ref>
if (_Capacity < 0) throw gcnew System size_type cliext::impl::deque_impl< _Value_t, _Is_ref >::_Mapsize = 1 << _Mapshift
template<typename _Value_t, bool _Is_ref>
const int cliext::impl::deque_impl< _Value_t, _Is_ref >::_Maxsize = MAX_CONTAINER_SIZE
static
template<typename _Value_t, bool _Is_ref>
cliext::impl::deque_impl< _Value_t, _Is_ref >::_Mybias = 0
template<typename _Value_t, bool _Is_ref>
int cliext::impl::deque_impl< _Value_t, _Is_ref >::_Mybias
template<typename _Value_t, bool _Is_ref>
cliext::impl::deque_impl< _Value_t, _Is_ref >::_Mygen = 0
template<typename _Value_t, bool _Is_ref>
unsigned long cliext::impl::deque_impl< _Value_t, _Is_ref >::_Mygen
template<typename _Value_t, bool _Is_ref>
cliext::impl::deque_impl< _Value_t, _Is_ref >::_Mymap = nullptr
template<typename _Value_t, bool _Is_ref>
_Mymap_t cliext::impl::deque_impl< _Value_t, _Is_ref >::_Mymap
template<typename _Value_t, bool _Is_ref>
cliext::impl::deque_impl< _Value_t, _Is_ref >::_Mysize = 0
template<typename _Value_t, bool _Is_ref>
size_type cliext::impl::deque_impl< _Value_t, _Is_ref >::_Mysize
template<typename _Value_t, bool _Is_ref>
property value_type cliext::impl::deque_impl< _Value_t, _Is_ref >::back_item
Initial value:
{
virtual value_type get()
{
return (back());
}
virtual void set(value_type _Val)
{
back() = _Val;
}
}
template<typename _Value_t, bool _Is_ref>
property size_type cliext::impl::deque_impl< _Value_t, _Is_ref >::Count
private
Initial value:
{
virtual size_type get() sealed
{
return (size());
}
}
template<typename _Value_t, bool _Is_ref>
property value_type cliext::impl::deque_impl< _Value_t, _Is_ref >::default[size_type]
Initial value:
{
virtual value_type get(size_type _Pos)
{
return (at(_Pos));
}
virtual void set(size_type _Pos, value_type _Val)
{
at(_Pos) = _Val;
}
}
template<typename _Value_t, bool _Is_ref>
property value_type cliext::impl::deque_impl< _Value_t, _Is_ref >::front_item
Initial value:
{
virtual value_type get()
{
return (front());
}
virtual void set(value_type _Val)
{
front() = _Val;
}
}
template<typename _Value_t, bool _Is_ref>
property bool cliext::impl::deque_impl< _Value_t, _Is_ref >::IsSynchronized
private
Initial value:
{
virtual bool get() sealed
{
return (false);
}
}
template<typename _Value_t, bool _Is_ref>
property System::Object cliext::impl::deque_impl< _Value_t, _Is_ref >::SyncRoot
private
Initial value:
{
virtual System::Object^ get() sealed
{
return (this);
}
}

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