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::ConstRandomAccessIterator< _Cont_t > Class Template Reference
Inheritance diagram for cliext::ConstRandomAccessIterator< _Cont_t >:

Public Types

typedef _Cont_t::value_type _Value_t
 
typedef ConstRandomAccessIterator< _Cont_t > _Mytype_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
 
typedef _STLCLR Generic::ConstContainerRandomAccessIterator< _Value_t_Mygeniter_t
 

Public Member Functions

 ConstRandomAccessIterator (_Cont_t^_Cont, int _Offset)
 
 ConstRandomAccessIterator (_Mygeniter_t%_Right)
 
 operator _Mygeniter_t ()
 
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)
 
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)
 
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 const_reference operator-> (ConstRandomAccessIterator%_Left)
 
static const_reference operator* (ConstRandomAccessIterator%_Left)
 
static ConstRandomAccessIterator operator++ (ConstRandomAccessIterator%_Left)
 
static ConstRandomAccessIterator operator-- (ConstRandomAccessIterator%_Left)
 
static ConstRandomAccessIterator operator+ (ConstRandomAccessIterator%_Left, difference_type _Right)
 
static ConstRandomAccessIterator operator+ (difference_type _Left, ConstRandomAccessIterator _Right)
 
static ConstRandomAccessIterator operator- (ConstRandomAccessIterator%_Left, difference_type _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 const_reference default [difference_type]
 
_STLCLR_FIELD_ACCESS __pad0__: _Cont_t^ _Mycont
 
difference_type _Myoffset
 

Member Typedef Documentation

template<typename _Cont_t >
typedef _STLCLR Generic::ConstContainerRandomAccessIterator<_Value_t> cliext::ConstRandomAccessIterator< _Cont_t >::_Mygeniter_t
template<typename _Cont_t >
typedef _STLCLR Generic::IRandomAccessIterator<_Value_t> cliext::ConstRandomAccessIterator< _Cont_t >::_Myiter_t
template<typename _Cont_t >
typedef ConstRandomAccessIterator<_Cont_t> cliext::ConstRandomAccessIterator< _Cont_t >::_Mytype_t
template<typename _Cont_t >
typedef _Cont_t::value_type cliext::ConstRandomAccessIterator< _Cont_t >::_Value_t
template<typename _Cont_t >
typedef value_type cliext::ConstRandomAccessIterator< _Cont_t >::const_reference
template<typename _Cont_t >
typedef int cliext::ConstRandomAccessIterator< _Cont_t >::difference_type
template<typename _Cont_t >
typedef random_access_iterator_tag cliext::ConstRandomAccessIterator< _Cont_t >::iterator_category
template<typename _Cont_t >
typedef value_type cliext::ConstRandomAccessIterator< _Cont_t >::pointer
template<typename _Cont_t >
typedef value_type cliext::ConstRandomAccessIterator< _Cont_t >::reference
template<typename _Cont_t >
typedef _Value_t cliext::ConstRandomAccessIterator< _Cont_t >::value_type

Constructor & Destructor Documentation

template<typename _Cont_t >
cliext::ConstRandomAccessIterator< _Cont_t >::ConstRandomAccessIterator ( _Cont_t^  _Cont,
int  _Offset 
)
inline
1327  : _Mycont(_Cont), _Myoffset(_Offset)
1328  { // construct from container pointer and offset
1329  }
_Check_return_opt_ _In_ long _Offset
Definition: io.h:334
difference_type _Myoffset
Definition: iterator:1607
template<typename _Cont_t >
cliext::ConstRandomAccessIterator< _Cont_t >::ConstRandomAccessIterator ( _Mygeniter_t _Right)
inline
1336  : _Mycont((_Cont_t^)_Right.container()),
1337  _Myoffset(_Right.get_bias())
1338  { // construct by copying a generic iterator
1339  }
difference_type _Myoffset
Definition: iterator:1607
const _Ty & _Right
Definition: algorithm:4087

Member Function Documentation

template<typename _Cont_t >
virtual System::Object cliext::ConstRandomAccessIterator< _Cont_t >::Clone ( )
inlinevirtual
1348  { // return a copy
1349  return (gcnew ConstRandomAccessIterator(_Mycont, _Myoffset));
1350  }
ConstRandomAccessIterator(_Cont_t^_Cont, int _Offset)
Definition: iterator:1326
difference_type _Myoffset
Definition: iterator:1607
template<typename _Cont_t >
System::Object cliext::ConstRandomAccessIterator< _Cont_t >::container ( )
inline
1369  { // return owning container
1370  return (_Mycont);
1371  }
template<typename _Cont_t >
difference_type cliext::ConstRandomAccessIterator< _Cont_t >::distance ( _STLCLR Generic::IRandomAccessIterator< _Value_t >^  _Right)
inline
1430  { // return difference of two iterators
1431  if (container() == nullptr
1432  || container() != _Right->container())
1433  throw gcnew System::ArgumentException();
1434  return (get_bias() - _Right->get_bias());
1435  }
int get_bias()
Definition: iterator:1352
System::Object container()
Definition: iterator:1368
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t >
difference_type cliext::ConstRandomAccessIterator< _Cont_t >::distance ( _Mytype_t _Right)
inline
1439  { // return difference of two iterators
1440  if (container() == nullptr
1441  || container() != _Right.container())
1442  throw gcnew System::ArgumentException();
1443  return (get_bias() - _Right.get_bias());
1444  }
int get_bias()
Definition: iterator:1352
System::Object container()
Definition: iterator:1368
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t >
bool cliext::ConstRandomAccessIterator< _Cont_t >::equal_to ( _STLCLR Generic::IInputIterator< _Value_t >^  _Right)
inline
1381  { // test if *this == _Right
1382  if (container() == nullptr
1383  || container() != _Right->container())
1384  throw gcnew System::ArgumentException();
1385  return (get_bias() == _Right->get_bias()
1386  && get_node() == _Right->get_node());
1387  }
int get_bias()
Definition: iterator:1352
System::Object get_node()
Definition: iterator:1357
System::Object container()
Definition: iterator:1368
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t >
bool cliext::ConstRandomAccessIterator< _Cont_t >::equal_to ( _Mytype_t _Right)
inline
1390  { // test if *this == _Right
1391  if (container() == nullptr
1392  || container() != _Right.container())
1393  throw gcnew System::ArgumentException();
1394  return (get_bias() == _Right.get_bias()
1395  && get_node() == _Right.get_node());
1396  }
int get_bias()
Definition: iterator:1352
System::Object get_node()
Definition: iterator:1357
System::Object container()
Definition: iterator:1368
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t >
int cliext::ConstRandomAccessIterator< _Cont_t >::get_bias ( )
inline
1353  { // get offset from wrapped iterator
1354  return (_Myoffset);
1355  }
difference_type _Myoffset
Definition: iterator:1607
template<typename _Cont_t >
const_reference cliext::ConstRandomAccessIterator< _Cont_t >::get_cref ( )
inline
1399  { // return const reference to designated element
1400  return (_Mycont->at_bias(_Myoffset));
1401  }
difference_type _Myoffset
Definition: iterator:1607
template<typename _Cont_t >
System::Object cliext::ConstRandomAccessIterator< _Cont_t >::get_node ( )
inline
1358  { // get node from wrapped iterator
1359  return (nullptr);
1360  }
template<typename _Cont_t >
reference cliext::ConstRandomAccessIterator< _Cont_t >::get_ref ( )
inline
1404  { // return reference to designated element
1405 #pragma warning(push)
1406 #pragma warning(disable: 4715)
1407  throw gcnew System::InvalidOperationException();
1408 #pragma warning(pop)
1409  }
template<typename _Cont_t >
bool cliext::ConstRandomAccessIterator< _Cont_t >::less_than ( _STLCLR Generic::IRandomAccessIterator< _Value_t >^  _Right)
inline
1447  { // test if *this < _Right
1448  if (container() == nullptr
1449  || container() != _Right->container())
1450  throw gcnew System::ArgumentException();
1451  return (get_bias() < _Right->get_bias());
1452  }
int get_bias()
Definition: iterator:1352
System::Object container()
Definition: iterator:1368
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t >
bool cliext::ConstRandomAccessIterator< _Cont_t >::less_than ( _Mytype_t _Right)
inline
1455  { // test if *this < _Right
1456  if (container() == nullptr
1457  || container() != _Right.container())
1458  throw gcnew System::ArgumentException();
1459  return (get_bias() < _Right.get_bias());
1460  }
int get_bias()
Definition: iterator:1352
System::Object container()
Definition: iterator:1368
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t >
difference_type cliext::ConstRandomAccessIterator< _Cont_t >::move ( difference_type  _Offset)
inline
1419  { // incremented by integer
1420  difference_type _Newoffset = _Myoffset + _Offset; // can overflow
1421 
1422  if (!_Mycont->valid_bias(_Newoffset))
1423  throw gcnew System::InvalidOperationException();
1424  _Myoffset = _Newoffset;
1425  return (_Myoffset);
1426  }
_Check_return_opt_ _In_ long _Offset
Definition: io.h:334
difference_type _Myoffset
Definition: iterator:1607
int difference_type
Definition: iterator:1320
template<typename _Cont_t >
void cliext::ConstRandomAccessIterator< _Cont_t >::next ( )
inline
1374  { // increment
1375  if (!_Mycont->valid_bias(_Myoffset + 1))
1376  throw gcnew System::InvalidOperationException();
1377  ++_Myoffset;
1378  }
difference_type _Myoffset
Definition: iterator:1607
template<typename _Cont_t >
cliext::ConstRandomAccessIterator< _Cont_t >::operator _Mygeniter_t ( )
inline
1342  { // convert to generic iterator
1343  return (_Mygeniter_t(_Mycont, _Myoffset));
1344  }
difference_type _Myoffset
Definition: iterator:1607
_STLCLR Generic::ConstContainerRandomAccessIterator< _Value_t > _Mygeniter_t
Definition: iterator:1333
template<typename _Cont_t >
bool cliext::ConstRandomAccessIterator< _Cont_t >::operator!= ( _STLCLR Generic::IInputIterator< _Value_t >^  _Right)
inline
1496  { // test if *this != _Right
1497  return (!(*this == _Right));
1498  }
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t >
bool cliext::ConstRandomAccessIterator< _Cont_t >::operator!= ( _Mytype_t _Right)
inline
1501  { // test if *this != _Right
1502  return (!(*this == _Right));
1503  }
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t >
static const_reference cliext::ConstRandomAccessIterator< _Cont_t >::operator* ( ConstRandomAccessIterator< _Cont_t >%  _Left)
inlinestatic
1471  { // return const reference to designated element
1472  return (_Left.get_cref());
1473  }
template<typename _Cont_t >
static ConstRandomAccessIterator cliext::ConstRandomAccessIterator< _Cont_t >::operator+ ( ConstRandomAccessIterator< _Cont_t >%  _Left,
difference_type  _Right 
)
inlinestatic
1517  { // return incremented by integer
1518  ConstRandomAccessIterator _Iter = _Left;
1519 
1520  _Iter.move(_Right);
1521  return (_Iter);
1522  }
ConstRandomAccessIterator(_Cont_t^_Cont, int _Offset)
Definition: iterator:1326
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t >
static ConstRandomAccessIterator cliext::ConstRandomAccessIterator< _Cont_t >::operator+ ( difference_type  _Left,
ConstRandomAccessIterator< _Cont_t >  _Right 
)
inlinestatic
1527  { // return incremented by integer
1529 
1530  _Iter.move(_Left);
1531  return (_Iter);
1532  }
ConstRandomAccessIterator(_Cont_t^_Cont, int _Offset)
Definition: iterator:1326
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t >
static ConstRandomAccessIterator cliext::ConstRandomAccessIterator< _Cont_t >::operator++ ( ConstRandomAccessIterator< _Cont_t >%  _Left)
inlinestatic
1479  { // return incremented
1480  _Left.next();
1481  return (_Left);
1482  }
template<typename _Cont_t >
static ConstRandomAccessIterator cliext::ConstRandomAccessIterator< _Cont_t >::operator- ( ConstRandomAccessIterator< _Cont_t >%  _Left,
difference_type  _Right 
)
inlinestatic
1537  { // return decremented by integer
1538  ConstRandomAccessIterator _Iter = _Left;
1539 
1540  _Iter.move(-_Right); // can overflow
1541  return (_Iter);
1542  }
ConstRandomAccessIterator(_Cont_t^_Cont, int _Offset)
Definition: iterator:1326
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t >
difference_type cliext::ConstRandomAccessIterator< _Cont_t >::operator- ( _STLCLR Generic::IRandomAccessIterator< _Value_t >^  _Right)
inline
1546  { // return difference of two iterators
1547  return (distance(_Right));
1548  }
difference_type distance(_STLCLR Generic::IRandomAccessIterator< _Value_t >^_Right)
Definition: iterator:1428
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t >
static ConstRandomAccessIterator cliext::ConstRandomAccessIterator< _Cont_t >::operator-- ( ConstRandomAccessIterator< _Cont_t >%  _Left)
inlinestatic
1509  { // return decremented
1510  _Left.prev();
1511  return (_Left);
1512  }
template<typename _Cont_t >
static const_reference cliext::ConstRandomAccessIterator< _Cont_t >::operator-> ( ConstRandomAccessIterator< _Cont_t >%  _Left)
inlinestatic
1465  { // return pointer to class object
1466  return (_Left.get_cref());
1467  }
template<typename _Cont_t >
bool cliext::ConstRandomAccessIterator< _Cont_t >::operator< ( _STLCLR Generic::IRandomAccessIterator< _Value_t >^  _Right)
inline
1551  { // test if *this < _Right
1552  return (less_than(_Right));
1553  }
bool less_than(_STLCLR Generic::IRandomAccessIterator< _Value_t >^_Right)
Definition: iterator:1446
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t >
bool cliext::ConstRandomAccessIterator< _Cont_t >::operator< ( _Mytype_t _Right)
inline
1556  { // test if *this < _Right
1557  return (less_than(_Right));
1558  }
bool less_than(_STLCLR Generic::IRandomAccessIterator< _Value_t >^_Right)
Definition: iterator:1446
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t >
static bool cliext::ConstRandomAccessIterator< _Cont_t >::operator<= ( _STLCLR Generic::IRandomAccessIterator< _Value_t >^  _Left,
_Mytype_t _Right 
)
inlinestatic
1585  { // test if _Left <= _Right
1586  return (!(_Right < _Left));
1587  }
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t >
bool cliext::ConstRandomAccessIterator< _Cont_t >::operator<= ( _Mytype_t _Right)
inline
1590  { // test if *this <= _Right
1591  return (!(_Right < *this));
1592  }
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t >
bool cliext::ConstRandomAccessIterator< _Cont_t >::operator== ( _STLCLR Generic::IInputIterator< _Value_t >^  _Right)
inline
1486  { // test if *this == _Right
1487  return (equal_to(_Right));
1488  }
bool equal_to(_STLCLR Generic::IInputIterator< _Value_t >^_Right)
Definition: iterator:1380
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t >
bool cliext::ConstRandomAccessIterator< _Cont_t >::operator== ( _Mytype_t _Right)
inline
1491  { // test if *this == _Right
1492  return (equal_to(_Right));
1493  }
bool equal_to(_STLCLR Generic::IInputIterator< _Value_t >^_Right)
Definition: iterator:1380
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t >
static bool cliext::ConstRandomAccessIterator< _Cont_t >::operator> ( _STLCLR Generic::IRandomAccessIterator< _Value_t >^  _Left,
_Mytype_t _Right 
)
inlinestatic
1573  { // test if _Left > _Right
1574  return (_Right < _Left);
1575  }
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t >
bool cliext::ConstRandomAccessIterator< _Cont_t >::operator> ( _Mytype_t _Right)
inline
1578  { // test if *this > _Right
1579  return (_Right < *this);
1580  }
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t >
bool cliext::ConstRandomAccessIterator< _Cont_t >::operator>= ( _STLCLR Generic::IRandomAccessIterator< _Value_t >^  _Right)
inline
1561  { // test if *this >= _Right
1562  return (!(*this < _Right));
1563  }
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t >
bool cliext::ConstRandomAccessIterator< _Cont_t >::operator>= ( _Mytype_t _Right)
inline
1566  { // test if *this >= _Right
1567  return (!(*this < _Right));
1568  }
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t >
void cliext::ConstRandomAccessIterator< _Cont_t >::prev ( )
inline
1412  { // decrement
1413  if (!_Mycont->valid_bias(_Myoffset - 1))
1414  throw gcnew System::InvalidOperationException();
1415  --_Myoffset;
1416  }
difference_type _Myoffset
Definition: iterator:1607
template<typename _Cont_t >
bool cliext::ConstRandomAccessIterator< _Cont_t >::valid ( )
inline
1363  { // test if iterator valid
1364  return (container() != nullptr
1365  && _Mycont->valid_bias(_Myoffset));
1366  }
difference_type _Myoffset
Definition: iterator:1607
System::Object container()
Definition: iterator:1368

Member Data Documentation

template<typename _Cont_t >
_STLCLR_FIELD_ACCESS cliext::ConstRandomAccessIterator< _Cont_t >::__pad0__
template<typename _Cont_t >
difference_type cliext::ConstRandomAccessIterator< _Cont_t >::_Myoffset
template<typename _Cont_t >
property const_reference cliext::ConstRandomAccessIterator< _Cont_t >::default[difference_type]
Initial value:
{
{
ConstRandomAccessIterator _Where = *this + _Pos;
return (*_Where);
}
}

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