STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
cliext::BCL_iterator< _Cont_t, _Is_ref > Class Template Reference
Inheritance diagram for cliext::BCL_iterator< _Cont_t, _Is_ref >:

Public Types

typedef BCL_iterator< _Cont_t, _Is_ref > _Mytype_t
 
typedef _Cont_t::value_type _Value_t
 
typedef _STLCLR Generic::IRandomAccessIterator< _Value_t_Myiter_t
 
typedef random_access_iterator_tag iterator_category
 
typedef _Value_t value_type
 
typedef int difference_type
 
typedef value_type pointer
 
typedef value_type reference
 
typedef value_type const_reference
 

Public Member Functions

 BCL_iterator ()
 
 BCL_iterator (BCL_iterator%_Right)
 
BCL_iterator operator= (BCL_iterator%_Right)
 
 operator _Myiter_t^ ()
 
 BCL_iterator (_Cont_t^_Cont, int _Offset)
 
virtual System::Object Clone ()
 
int get_bias ()
 
System::Object get_node ()
 
bool valid ()
 
System::Object container ()
 
void next ()
 
bool equal_to (_STLCLR Generic::IInputIterator< _Value_t >^_Right)
 
bool equal_to (_Mytype_t%_Right)
 
const_reference get_cref ()
 
reference get_ref ()
 
void prev ()
 
difference_type move (difference_type _Offset)
 
difference_type distance (_STLCLR Generic::IRandomAccessIterator< _Value_t >^_Right)
 
difference_type distance (_Mytype_t%_Right)
 
bool less_than (_STLCLR Generic::IRandomAccessIterator< _Value_t >^_Right)
 
bool less_than (_Mytype_t%_Right)
 
BCL_iterator operator++ ()
 
BCL_iterator operator++ (int)
 
bool operator== (_STLCLR Generic::IInputIterator< _Value_t >^_Right)
 
bool operator== (_Mytype_t%_Right)
 
bool operator!= (_STLCLR Generic::IInputIterator< _Value_t >^_Right)
 
bool operator!= (_Mytype_t%_Right)
 
BCL_iterator operator-- ()
 
BCL_iterator operator-- (int)
 
BCL_iterator operator+ (difference_type _Right)
 
BCL_iterator operator- (difference_type _Right)
 
difference_type operator- (_STLCLR Generic::IRandomAccessIterator< _Value_t >^_Right)
 
bool operator< (_STLCLR Generic::IRandomAccessIterator< _Value_t >^_Right)
 
bool operator< (_Mytype_t%_Right)
 
bool operator>= (_STLCLR Generic::IRandomAccessIterator< _Value_t >^_Right)
 
bool operator>= (_Mytype_t%_Right)
 
bool operator> (_Mytype_t%_Right)
 
bool operator<= (_Mytype_t%_Right)
 

Static Public Member Functions

static BCL_reference< _Cont_t, _Is_ref > operator-> (BCL_iterator%_Left)
 
static BCL_reference< _Cont_t, _Is_ref > operator* (BCL_iterator%_Left)
 
static BCL_iterator operator+ (difference_type _Left, BCL_iterator _Right)
 
static bool operator> (_STLCLR Generic::IRandomAccessIterator< _Value_t >^_Left, _Mytype_t%_Right)
 
static bool operator<= (_STLCLR Generic::IRandomAccessIterator< _Value_t >^_Left, _Mytype_t%_Right)
 

Public Attributes

property value_type default [difference_type]
 
_STLCLR_FIELD_ACCESS __pad0__: _Cont_t^ _Mycont
 
difference_type _Myoffset
 
value_type _Myval
 

Member Typedef Documentation

template<typename _Cont_t , bool _Is_ref = false>
typedef _STLCLR Generic::IRandomAccessIterator<_Value_t> cliext::BCL_iterator< _Cont_t, _Is_ref >::_Myiter_t
template<typename _Cont_t , bool _Is_ref = false>
typedef BCL_iterator<_Cont_t, _Is_ref> cliext::BCL_iterator< _Cont_t, _Is_ref >::_Mytype_t
template<typename _Cont_t , bool _Is_ref = false>
typedef _Cont_t::value_type cliext::BCL_iterator< _Cont_t, _Is_ref >::_Value_t
template<typename _Cont_t , bool _Is_ref = false>
typedef value_type cliext::BCL_iterator< _Cont_t, _Is_ref >::const_reference
template<typename _Cont_t , bool _Is_ref = false>
typedef int cliext::BCL_iterator< _Cont_t, _Is_ref >::difference_type
template<typename _Cont_t , bool _Is_ref = false>
typedef random_access_iterator_tag cliext::BCL_iterator< _Cont_t, _Is_ref >::iterator_category
template<typename _Cont_t , bool _Is_ref = false>
typedef value_type cliext::BCL_iterator< _Cont_t, _Is_ref >::pointer
template<typename _Cont_t , bool _Is_ref = false>
typedef value_type cliext::BCL_iterator< _Cont_t, _Is_ref >::reference
template<typename _Cont_t , bool _Is_ref = false>
typedef _Value_t cliext::BCL_iterator< _Cont_t, _Is_ref >::value_type

Constructor & Destructor Documentation

template<typename _Cont_t , bool _Is_ref = false>
cliext::BCL_iterator< _Cont_t, _Is_ref >::BCL_iterator ( )
inline
3377  : _Mycont(nullptr), _Myoffset(0)
3378  { // construct default
3379  }
difference_type _Myoffset
Definition: iterator:3669
template<typename _Cont_t , bool _Is_ref = false>
cliext::BCL_iterator< _Cont_t, _Is_ref >::BCL_iterator ( BCL_iterator< _Cont_t, _Is_ref >%  _Right)
inline
3382  : _Mycont(_Right._Mycont), _Myoffset(_Right._Myoffset)
3383  { // construct by copying an iterator
3384  }
difference_type _Myoffset
Definition: iterator:3669
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t , bool _Is_ref = false>
cliext::BCL_iterator< _Cont_t, _Is_ref >::BCL_iterator ( _Cont_t^  _Cont,
int  _Offset 
)
inline
3400  : _Mycont(_Cont), _Myoffset(_Offset)
3401  { // construct from container pointer and offset
3402  }
_Check_return_opt_ _In_ long _Offset
Definition: io.h:334
difference_type _Myoffset
Definition: iterator:3669

Member Function Documentation

template<typename _Cont_t , bool _Is_ref = false>
virtual System::Object cliext::BCL_iterator< _Cont_t, _Is_ref >::Clone ( )
inlinevirtual
3406  { // return a copy
3407  return (gcnew BCL_iterator(_Mycont, _Myoffset));
3408  }
difference_type _Myoffset
Definition: iterator:3669
BCL_iterator()
Definition: iterator:3376
template<typename _Cont_t , bool _Is_ref = false>
System::Object cliext::BCL_iterator< _Cont_t, _Is_ref >::container ( )
inline
3427  { // return owning container
3428  return (_Mycont);
3429  }
template<typename _Cont_t , bool _Is_ref = false>
difference_type cliext::BCL_iterator< _Cont_t, _Is_ref >::distance ( _STLCLR Generic::IRandomAccessIterator< _Value_t >^  _Right)
inline
3487  { // return difference of two iterators
3488  if (container() == nullptr
3489  || container() != _Right->container())
3490  throw gcnew System::ArgumentException();
3491  return (get_bias() - _Right->get_bias());
3492  }
System::Object container()
Definition: iterator:3426
int get_bias()
Definition: iterator:3410
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t , bool _Is_ref = false>
difference_type cliext::BCL_iterator< _Cont_t, _Is_ref >::distance ( _Mytype_t _Right)
inline
3496  { // return difference of two iterators
3497  if (container() == nullptr
3498  || container() != _Right.container())
3499  throw gcnew System::ArgumentException();
3500  return (get_bias() - _Right.get_bias());
3501  }
System::Object container()
Definition: iterator:3426
int get_bias()
Definition: iterator:3410
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t , bool _Is_ref = false>
bool cliext::BCL_iterator< _Cont_t, _Is_ref >::equal_to ( _STLCLR Generic::IInputIterator< _Value_t >^  _Right)
inline
3439  { // test if *this == _Right
3440  if (container() == nullptr
3441  || container() != _Right->container())
3442  throw gcnew System::ArgumentException();
3443  return (get_bias() == _Right->get_bias()
3444  && get_node() == _Right->get_node());
3445  }
System::Object container()
Definition: iterator:3426
int get_bias()
Definition: iterator:3410
System::Object get_node()
Definition: iterator:3415
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t , bool _Is_ref = false>
bool cliext::BCL_iterator< _Cont_t, _Is_ref >::equal_to ( _Mytype_t _Right)
inline
3448  { // test if *this == _Right
3449  if (container() == nullptr
3450  || container() != _Right.container())
3451  throw gcnew System::ArgumentException();
3452  return (get_bias() == _Right.get_bias()
3453  && get_node() == _Right.get_node());
3454  }
System::Object container()
Definition: iterator:3426
int get_bias()
Definition: iterator:3410
System::Object get_node()
Definition: iterator:3415
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t , bool _Is_ref = false>
int cliext::BCL_iterator< _Cont_t, _Is_ref >::get_bias ( )
inline
3411  { // get offset from wrapped iterator
3412  return (_Myoffset);
3413  }
difference_type _Myoffset
Definition: iterator:3669
template<typename _Cont_t , bool _Is_ref = false>
const_reference cliext::BCL_iterator< _Cont_t, _Is_ref >::get_cref ( )
inline
3457  { // return const reference to designated element
3458  _Myval = _Mycont[_Myoffset];
3459  return (_Myval);
3460  }
difference_type _Myoffset
Definition: iterator:3669
value_type _Myval
Definition: iterator:3670
template<typename _Cont_t , bool _Is_ref = false>
System::Object cliext::BCL_iterator< _Cont_t, _Is_ref >::get_node ( )
inline
3416  { // get node from wrapped iterator
3417  return (nullptr);
3418  }
template<typename _Cont_t , bool _Is_ref = false>
reference cliext::BCL_iterator< _Cont_t, _Is_ref >::get_ref ( )
inline
3463  { // return reference to designated element
3464  _Myval = _Mycont[_Myoffset];
3465  return (_Myval);
3466  }
difference_type _Myoffset
Definition: iterator:3669
value_type _Myval
Definition: iterator:3670
template<typename _Cont_t , bool _Is_ref = false>
bool cliext::BCL_iterator< _Cont_t, _Is_ref >::less_than ( _STLCLR Generic::IRandomAccessIterator< _Value_t >^  _Right)
inline
3504  { // test if *this < _Right
3505  if (container() == nullptr
3506  || container() != _Right->container())
3507  throw gcnew System::ArgumentException();
3508  return (get_bias() < _Right->get_bias());
3509  }
System::Object container()
Definition: iterator:3426
int get_bias()
Definition: iterator:3410
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t , bool _Is_ref = false>
bool cliext::BCL_iterator< _Cont_t, _Is_ref >::less_than ( _Mytype_t _Right)
inline
3512  { // test if *this < _Right
3513  if (container() == nullptr
3514  || container() != _Right.container())
3515  throw gcnew System::ArgumentException();
3516  return (get_bias() < _Right.get_bias());
3517  }
System::Object container()
Definition: iterator:3426
int get_bias()
Definition: iterator:3410
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t , bool _Is_ref = false>
difference_type cliext::BCL_iterator< _Cont_t, _Is_ref >::move ( difference_type  _Offset)
inline
3476  { // incremented by integer
3477  difference_type _Newoffset = _Myoffset + _Offset; // can overflow
3478 
3479  if (!_Mycont->valid_bias(_Newoffset))
3480  throw gcnew System::InvalidOperationException();
3481  _Myoffset = _Newoffset;
3482  return (_Myoffset);
3483  }
_Check_return_opt_ _In_ long _Offset
Definition: io.h:334
int difference_type
Definition: iterator:3370
difference_type _Myoffset
Definition: iterator:3669
template<typename _Cont_t , bool _Is_ref = false>
void cliext::BCL_iterator< _Cont_t, _Is_ref >::next ( )
inline
3432  { // increment
3433  if (!_Mycont->valid_bias(_Myoffset + 1))
3434  throw gcnew System::InvalidOperationException();
3435  ++_Myoffset;
3436  }
difference_type _Myoffset
Definition: iterator:3669
template<typename _Cont_t , bool _Is_ref = false>
cliext::BCL_iterator< _Cont_t, _Is_ref >::operator _Myiter_t^ ( )
inline
3394  { // convert to interface
3395  return (this);
3396  }
template<typename _Cont_t , bool _Is_ref = false>
bool cliext::BCL_iterator< _Cont_t, _Is_ref >::operator!= ( _STLCLR Generic::IInputIterator< _Value_t >^  _Right)
inline
3555  { // test if *this != _Right
3556  return (!(*this == _Right));
3557  }
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t , bool _Is_ref = false>
bool cliext::BCL_iterator< _Cont_t, _Is_ref >::operator!= ( _Mytype_t _Right)
inline
3560  { // test if *this != _Right
3561  return (!(*this == _Right));
3562  }
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t , bool _Is_ref = false>
static BCL_reference<_Cont_t, _Is_ref> cliext::BCL_iterator< _Cont_t, _Is_ref >::operator* ( BCL_iterator< _Cont_t, _Is_ref >%  _Left)
inlinestatic
3526  { // return reference to designated element
3527  return (_Left._Mycont->at(_Left._Myoffset));
3528  }
template<typename _Cont_t , bool _Is_ref = false>
BCL_iterator cliext::BCL_iterator< _Cont_t, _Is_ref >::operator+ ( difference_type  _Right)
inline
3579  { // return incremented by integer
3580  BCL_iterator _Iter = *this;
3581 
3582  _Iter.move(_Right);
3583  return (_Iter);
3584  }
BCL_iterator()
Definition: iterator:3376
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t , bool _Is_ref = false>
static BCL_iterator cliext::BCL_iterator< _Cont_t, _Is_ref >::operator+ ( difference_type  _Left,
BCL_iterator< _Cont_t, _Is_ref >  _Right 
)
inlinestatic
3588  { // return incremented by integer
3589  BCL_iterator _Iter = _Right;
3590 
3591  _Iter.move(_Left);
3592  return (_Iter);
3593  }
BCL_iterator()
Definition: iterator:3376
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t , bool _Is_ref = false>
BCL_iterator cliext::BCL_iterator< _Cont_t, _Is_ref >::operator++ ( )
inline
3531  { // return incremented
3532  next();
3533  return (*this);
3534  }
void next()
Definition: iterator:3431
template<typename _Cont_t , bool _Is_ref = false>
BCL_iterator cliext::BCL_iterator< _Cont_t, _Is_ref >::operator++ ( int  )
inline
3537  { // return incremented
3538  BCL_iterator _Iter = *this;
3539 
3540  ++*this;
3541  return (_Iter);
3542  }
BCL_iterator()
Definition: iterator:3376
template<typename _Cont_t , bool _Is_ref = false>
BCL_iterator cliext::BCL_iterator< _Cont_t, _Is_ref >::operator- ( difference_type  _Right)
inline
3596  { // return decremented by integer
3597  BCL_iterator _Iter = *this;
3598 
3599  _Iter.move(-_Right); // can overflow
3600  return (_Iter);
3601  }
BCL_iterator()
Definition: iterator:3376
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t , bool _Is_ref = false>
difference_type cliext::BCL_iterator< _Cont_t, _Is_ref >::operator- ( _STLCLR Generic::IRandomAccessIterator< _Value_t >^  _Right)
inline
3605  { // return difference of two iterators
3606  return (distance(_Right));
3607  }
difference_type distance(_STLCLR Generic::IRandomAccessIterator< _Value_t >^_Right)
Definition: iterator:3485
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t , bool _Is_ref = false>
BCL_iterator cliext::BCL_iterator< _Cont_t, _Is_ref >::operator-- ( )
inline
3565  { // return decremented
3566  prev();
3567  return (*this);
3568  }
void prev()
Definition: iterator:3468
template<typename _Cont_t , bool _Is_ref = false>
BCL_iterator cliext::BCL_iterator< _Cont_t, _Is_ref >::operator-- ( int  )
inline
3571  { // return decremented
3572  BCL_iterator _Iter = *this;
3573 
3574  --*this;
3575  return (_Iter);
3576  }
BCL_iterator()
Definition: iterator:3376
template<typename _Cont_t , bool _Is_ref = false>
static BCL_reference<_Cont_t, _Is_ref> cliext::BCL_iterator< _Cont_t, _Is_ref >::operator-> ( BCL_iterator< _Cont_t, _Is_ref >%  _Left)
inlinestatic
3521  { // return pointer to class object
3522  return (_Left._Mycont->at(_Myoffset));
3523  }
difference_type _Myoffset
Definition: iterator:3669
template<typename _Cont_t , bool _Is_ref = false>
bool cliext::BCL_iterator< _Cont_t, _Is_ref >::operator< ( _STLCLR Generic::IRandomAccessIterator< _Value_t >^  _Right)
inline
3610  { // test if *this < _Right
3611  return (less_than(_Right));
3612  }
bool less_than(_STLCLR Generic::IRandomAccessIterator< _Value_t >^_Right)
Definition: iterator:3503
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t , bool _Is_ref = false>
bool cliext::BCL_iterator< _Cont_t, _Is_ref >::operator< ( _Mytype_t _Right)
inline
3615  { // test if *this < _Right
3616  return (less_than(_Right));
3617  }
bool less_than(_STLCLR Generic::IRandomAccessIterator< _Value_t >^_Right)
Definition: iterator:3503
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t , bool _Is_ref = false>
static bool cliext::BCL_iterator< _Cont_t, _Is_ref >::operator<= ( _STLCLR Generic::IRandomAccessIterator< _Value_t >^  _Left,
_Mytype_t _Right 
)
inlinestatic
3644  { // test if _Left <= _Right
3645  return (!(_Right < _Left));
3646  }
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t , bool _Is_ref = false>
bool cliext::BCL_iterator< _Cont_t, _Is_ref >::operator<= ( _Mytype_t _Right)
inline
3649  { // test if *this <= _Right
3650  return (!(_Right < *this));
3651  }
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t , bool _Is_ref = false>
BCL_iterator cliext::BCL_iterator< _Cont_t, _Is_ref >::operator= ( BCL_iterator< _Cont_t, _Is_ref >%  _Right)
inline
3387  { // assign an iterator
3388  _Mycont = _Right._Mycont;
3389  _Myoffset = _Right._Myoffset;
3390  return (*this);
3391  }
difference_type _Myoffset
Definition: iterator:3669
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t , bool _Is_ref = false>
bool cliext::BCL_iterator< _Cont_t, _Is_ref >::operator== ( _STLCLR Generic::IInputIterator< _Value_t >^  _Right)
inline
3545  { // test if *this == _Right
3546  return (equal_to(_Right));
3547  }
bool equal_to(_STLCLR Generic::IInputIterator< _Value_t >^_Right)
Definition: iterator:3438
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t , bool _Is_ref = false>
bool cliext::BCL_iterator< _Cont_t, _Is_ref >::operator== ( _Mytype_t _Right)
inline
3550  { // test if *this == _Right
3551  return (equal_to(_Right));
3552  }
bool equal_to(_STLCLR Generic::IInputIterator< _Value_t >^_Right)
Definition: iterator:3438
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t , bool _Is_ref = false>
static bool cliext::BCL_iterator< _Cont_t, _Is_ref >::operator> ( _STLCLR Generic::IRandomAccessIterator< _Value_t >^  _Left,
_Mytype_t _Right 
)
inlinestatic
3632  { // test if _Left > _Right
3633  return (_Right < _Left);
3634  }
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t , bool _Is_ref = false>
bool cliext::BCL_iterator< _Cont_t, _Is_ref >::operator> ( _Mytype_t _Right)
inline
3637  { // test if *this > _Right
3638  return (_Right < *this);
3639  }
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t , bool _Is_ref = false>
bool cliext::BCL_iterator< _Cont_t, _Is_ref >::operator>= ( _STLCLR Generic::IRandomAccessIterator< _Value_t >^  _Right)
inline
3620  { // test if *this >= _Right
3621  return (!(*this < _Right));
3622  }
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t , bool _Is_ref = false>
bool cliext::BCL_iterator< _Cont_t, _Is_ref >::operator>= ( _Mytype_t _Right)
inline
3625  { // test if *this >= _Right
3626  return (!(*this < _Right));
3627  }
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t , bool _Is_ref = false>
void cliext::BCL_iterator< _Cont_t, _Is_ref >::prev ( )
inline
3469  { // decrement
3470  if (!_Mycont->valid_bias(_Myoffset - 1))
3471  throw gcnew System::InvalidOperationException();
3472  --_Myoffset;
3473  }
difference_type _Myoffset
Definition: iterator:3669
template<typename _Cont_t , bool _Is_ref = false>
bool cliext::BCL_iterator< _Cont_t, _Is_ref >::valid ( )
inline
3421  { // test if iterator valid
3422  return (container() != nullptr
3423  && _Mycont->valid_bias(_Myoffset));
3424  }
difference_type _Myoffset
Definition: iterator:3669
System::Object container()
Definition: iterator:3426

Member Data Documentation

template<typename _Cont_t , bool _Is_ref = false>
_STLCLR_FIELD_ACCESS cliext::BCL_iterator< _Cont_t, _Is_ref >::__pad0__
template<typename _Cont_t , bool _Is_ref = false>
difference_type cliext::BCL_iterator< _Cont_t, _Is_ref >::_Myoffset
template<typename _Cont_t , bool _Is_ref = false>
value_type cliext::BCL_iterator< _Cont_t, _Is_ref >::_Myval
template<typename _Cont_t , bool _Is_ref = false>
property value_type cliext::BCL_iterator< _Cont_t, _Is_ref >::default[difference_type]
Initial value:
{
{
return (_Mycont[_Pos]);
}
{
_Mycont[_Pos] = _Val;
}
}

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