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

Public Types

typedef _Cont_t::value_type _Value_t
 
typedef UncheckedRandomAccessIterator< _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 ConstUncheckedRandomAccessIterator< _Cont_t > _Myciter_t
 
typedef _STLCLR Generic::ContainerRandomAccessIterator< _Value_t_Mygeniter_t
 

Public Member Functions

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

Member Typedef Documentation

template<typename _Cont_t >
typedef ConstUncheckedRandomAccessIterator<_Cont_t> cliext::UncheckedRandomAccessIterator< _Cont_t >::_Myciter_t
template<typename _Cont_t >
typedef _STLCLR Generic::ContainerRandomAccessIterator<_Value_t> cliext::UncheckedRandomAccessIterator< _Cont_t >::_Mygeniter_t
template<typename _Cont_t >
typedef _STLCLR Generic::IRandomAccessIterator<_Value_t> cliext::UncheckedRandomAccessIterator< _Cont_t >::_Myiter_t
template<typename _Cont_t >
typedef UncheckedRandomAccessIterator<_Cont_t> cliext::UncheckedRandomAccessIterator< _Cont_t >::_Mytype_t
template<typename _Cont_t >
typedef _Cont_t::value_type cliext::UncheckedRandomAccessIterator< _Cont_t >::_Value_t
template<typename _Cont_t >
typedef value_type cliext::UncheckedRandomAccessIterator< _Cont_t >::const_reference
template<typename _Cont_t >
typedef int cliext::UncheckedRandomAccessIterator< _Cont_t >::difference_type
template<typename _Cont_t >
typedef value_type cliext::UncheckedRandomAccessIterator< _Cont_t >::pointer
template<typename _Cont_t >
typedef value_type cliext::UncheckedRandomAccessIterator< _Cont_t >::reference
template<typename _Cont_t >
typedef _Value_t cliext::UncheckedRandomAccessIterator< _Cont_t >::value_type

Constructor & Destructor Documentation

template<typename _Cont_t >
cliext::UncheckedRandomAccessIterator< _Cont_t >::UncheckedRandomAccessIterator ( _Cont_t^  _Cont,
int  _Offset 
)
inline
2505  : _Mycont(_Cont), _Myoffset(_Offset)
2506  { // construct from container pointer and offset
2507  }
difference_type _Myoffset
Definition: iterator:2801
_Check_return_ _Ret_maybenull_ _In_ size_t _In_ size_t _Offset
Definition: corecrt_malloc.h:159
template<typename _Cont_t >
cliext::UncheckedRandomAccessIterator< _Cont_t >::UncheckedRandomAccessIterator ( _Mygeniter_t _Right)
inline
2526  : _Mycont((_Cont_t^)_Right.container()),
2527  _Myoffset(_Right.get_bias())
2528  { // construct by copying a generic iterator
2529  }
difference_type _Myoffset
Definition: iterator:2801
constexpr const _Ty &() _Right
Definition: algorithm:3723

Member Function Documentation

template<typename _Cont_t >
virtual System::Object cliext::UncheckedRandomAccessIterator< _Cont_t >::Clone ( )
inlinevirtual
2538  { // return a copy
2539  return (gcnew UncheckedRandomAccessIterator(_Mycont, _Myoffset));
2540  }
difference_type _Myoffset
Definition: iterator:2801
UncheckedRandomAccessIterator(_Cont_t^_Cont, int _Offset)
Definition: iterator:2504
template<typename _Cont_t >
System::Object cliext::UncheckedRandomAccessIterator< _Cont_t >::container ( )
inline
2560  { // return owning container
2561  return (_Mycont);
2562  }
template<typename _Cont_t >
difference_type cliext::UncheckedRandomAccessIterator< _Cont_t >::distance ( _STLCLR Generic::IRandomAccessIterator< _Value_t >^  _Right)
inline
2618  { // return difference of two iterators
2619 // if (container() == nullptr // UNCHECKED
2620 // || container() != _Right->container())
2621 // throw gcnew System::ArgumentException();
2622  return (get_bias() - _Right->get_bias());
2623  }
int get_bias()
Definition: iterator:2542
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
difference_type cliext::UncheckedRandomAccessIterator< _Cont_t >::distance ( _Mytype_t _Right)
inline
2627  { // return difference of two iterators
2628 // if (container() == nullptr // UNCHECKED
2629 // || container() != _Right->container())
2630 // throw gcnew System::ArgumentException();
2631  return (get_bias() - _Right.get_bias());
2632  }
int get_bias()
Definition: iterator:2542
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
bool cliext::UncheckedRandomAccessIterator< _Cont_t >::equal_to ( _STLCLR Generic::IInputIterator< _Value_t >^  _Right)
inline
2572  { // test if *this == _Right
2573 // if (container() == nullptr // UNCHECKED
2574 // || container() != _Right->container())
2575 // throw gcnew System::ArgumentException();
2576  return (get_bias() == _Right->get_bias()
2577  && get_node() == _Right->get_node());
2578  }
int get_bias()
Definition: iterator:2542
System::Object get_node()
Definition: iterator:2547
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
bool cliext::UncheckedRandomAccessIterator< _Cont_t >::equal_to ( _Mytype_t _Right)
inline
2581  { // test if *this == _Right
2582 // if (container() == nullptr // UNCHECKED
2583 // || container() != _Right.container())
2584 // throw gcnew System::ArgumentException();
2585  return (get_bias() == _Right.get_bias()
2586  && get_node() == _Right.get_node());
2587  }
int get_bias()
Definition: iterator:2542
System::Object get_node()
Definition: iterator:2547
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
int cliext::UncheckedRandomAccessIterator< _Cont_t >::get_bias ( )
inline
2543  { // get offset from wrapped iterator
2544  return (_Myoffset);
2545  }
difference_type _Myoffset
Definition: iterator:2801
template<typename _Cont_t >
const_reference cliext::UncheckedRandomAccessIterator< _Cont_t >::get_cref ( )
inline
2590  { // return const reference to designated element
2591  return (_Mycont->at_bias(_Myoffset));
2592  }
difference_type _Myoffset
Definition: iterator:2801
template<typename _Cont_t >
System::Object cliext::UncheckedRandomAccessIterator< _Cont_t >::get_node ( )
inline
2548  { // get node from wrapped iterator
2549  return (nullptr);
2550  }
template<typename _Cont_t >
reference cliext::UncheckedRandomAccessIterator< _Cont_t >::get_ref ( )
inline
2595  { // return reference to designated element
2596  return (_Mycont->at_bias(_Myoffset));
2597  }
difference_type _Myoffset
Definition: iterator:2801
template<typename _Cont_t >
bool cliext::UncheckedRandomAccessIterator< _Cont_t >::less_than ( _STLCLR Generic::IRandomAccessIterator< _Value_t >^  _Right)
inline
2635  { // test if *this < _Right
2636 // if (container() == nullptr // UNCHECKED
2637 // || container() != _Right->container())
2638 // throw gcnew System::ArgumentException();
2639  return (get_bias() < _Right->get_bias());
2640  }
int get_bias()
Definition: iterator:2542
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
bool cliext::UncheckedRandomAccessIterator< _Cont_t >::less_than ( _Mytype_t _Right)
inline
2643  { // test if *this < _Right
2644 // if (container() == nullptr // UNCHECKED
2645 // || container() != _Right->container())
2646 // throw gcnew System::ArgumentException();
2647  return (get_bias() < _Right.get_bias());
2648  }
int get_bias()
Definition: iterator:2542
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
difference_type cliext::UncheckedRandomAccessIterator< _Cont_t >::move ( difference_type  _Offset)
inline
2607  { // incremented by integer
2608  difference_type _Newoffset = _Myoffset + _Offset; // can overflow
2609 
2610 // if (!_Mycont->valid_bias(_Newoffset)) // UNCHECKED
2611 // throw gcnew System::InvalidOperationException();
2612  _Myoffset = _Newoffset;
2613  return (_Myoffset);
2614  }
difference_type _Myoffset
Definition: iterator:2801
int difference_type
Definition: iterator:2498
_Check_return_ _Ret_maybenull_ _In_ size_t _In_ size_t _Offset
Definition: corecrt_malloc.h:159
template<typename _Cont_t >
void cliext::UncheckedRandomAccessIterator< _Cont_t >::next ( )
inline
2565  { // increment
2566 // if (!_Mycont->valid_bias(_Myoffset + 1)) // UNCHECKED
2567 // throw gcnew System::InvalidOperationException();
2568  ++_Myoffset;
2569  }
difference_type _Myoffset
Definition: iterator:2801
template<typename _Cont_t >
cliext::UncheckedRandomAccessIterator< _Cont_t >::operator _Myciter_t ( )
inline
2512  { // convert to const iterator
2513  return (_Myciter_t(_Mycont, _Myoffset));
2514  }
difference_type _Myoffset
Definition: iterator:2801
ConstUncheckedRandomAccessIterator< _Cont_t > _Myciter_t
Definition: iterator:2509
template<typename _Cont_t >
cliext::UncheckedRandomAccessIterator< _Cont_t >::operator _Mygeniter_t ( )
inline
2532  { // convert to generic iterator
2533  return (_Mygeniter_t(_Mycont, _Myoffset));
2534  }
difference_type _Myoffset
Definition: iterator:2801
_STLCLR Generic::ContainerRandomAccessIterator< _Value_t > _Mygeniter_t
Definition: iterator:2523
template<typename _Cont_t >
cliext::UncheckedRandomAccessIterator< _Cont_t >::operator RandomAccessIterator< _Cont_t > ( )
inline
2517  { // convert to checked iterator
2518  return (RandomAccessIterator<_Cont_t>(_Mycont, _Myoffset));
2519  }
difference_type _Myoffset
Definition: iterator:2801
template<typename _Cont_t >
bool cliext::UncheckedRandomAccessIterator< _Cont_t >::operator!= ( _STLCLR Generic::IInputIterator< _Value_t >^  _Right)
inline
2682  { // test if *this != _Right
2683  return (!(*this == _Right));
2684  }
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
bool cliext::UncheckedRandomAccessIterator< _Cont_t >::operator!= ( _Mytype_t _Right)
inline
2687  { // test if *this != _Right
2688  return (!(*this == _Right));
2689  }
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
static reference cliext::UncheckedRandomAccessIterator< _Cont_t >::operator* ( UncheckedRandomAccessIterator< _Cont_t >%  _Left)
inlinestatic
2657  { // return reference to designated element
2658  return (_Left.get_ref());
2659  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
template<typename _Cont_t >
static UncheckedRandomAccessIterator cliext::UncheckedRandomAccessIterator< _Cont_t >::operator+ ( UncheckedRandomAccessIterator< _Cont_t >%  _Left,
difference_type  _Right 
)
inlinestatic
2704  { // return incremented by integer
2706 
2707  _Iter.move(_Right);
2708  return (_Iter);
2709  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
constexpr const _Ty &() _Right
Definition: algorithm:3723
UncheckedRandomAccessIterator(_Cont_t^_Cont, int _Offset)
Definition: iterator:2504
template<typename _Cont_t >
static UncheckedRandomAccessIterator cliext::UncheckedRandomAccessIterator< _Cont_t >::operator+ ( difference_type  _Left,
UncheckedRandomAccessIterator< _Cont_t >%  _Right 
)
inlinestatic
2714  { // return incremented by integer
2716 
2717  _Iter.move(_Left);
2718  return (_Iter);
2719  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
constexpr const _Ty &() _Right
Definition: algorithm:3723
UncheckedRandomAccessIterator(_Cont_t^_Cont, int _Offset)
Definition: iterator:2504
template<typename _Cont_t >
static UncheckedRandomAccessIterator cliext::UncheckedRandomAccessIterator< _Cont_t >::operator++ ( UncheckedRandomAccessIterator< _Cont_t >%  _Left)
inlinestatic
2665  { // return incremented
2666  _Left.next();
2667  return (_Left);
2668  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
template<typename _Cont_t >
static UncheckedRandomAccessIterator cliext::UncheckedRandomAccessIterator< _Cont_t >::operator- ( UncheckedRandomAccessIterator< _Cont_t >%  _Left,
difference_type  _Right 
)
inlinestatic
2724  { // return decremented by integer
2726 
2727  _Iter.move(-_Right); // can overflow
2728  return (_Iter);
2729  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
constexpr const _Ty &() _Right
Definition: algorithm:3723
UncheckedRandomAccessIterator(_Cont_t^_Cont, int _Offset)
Definition: iterator:2504
template<typename _Cont_t >
difference_type cliext::UncheckedRandomAccessIterator< _Cont_t >::operator- ( _STLCLR Generic::IRandomAccessIterator< _Value_t >^  _Right)
inline
2733  { // return difference of two iterators
2734  return (distance(_Right));
2735  }
difference_type distance(_STLCLR Generic::IRandomAccessIterator< _Value_t >^_Right)
Definition: iterator:2616
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
static UncheckedRandomAccessIterator cliext::UncheckedRandomAccessIterator< _Cont_t >::operator-- ( UncheckedRandomAccessIterator< _Cont_t >%  _Left)
inlinestatic
2695  { // return decremented
2696  _Left.prev();
2697  return (_Left);
2698  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
template<typename _Cont_t >
static reference cliext::UncheckedRandomAccessIterator< _Cont_t >::operator-> ( UncheckedRandomAccessIterator< _Cont_t >%  _Left)
inlinestatic
2652  { // return pointer to class object
2653  return (_Left.get_ref());
2654  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
template<typename _Cont_t >
bool cliext::UncheckedRandomAccessIterator< _Cont_t >::operator< ( _STLCLR Generic::IRandomAccessIterator< _Value_t >^  _Right)
inline
2738  { // test if *this < _Right
2739  return (less_than(_Right));
2740  }
bool less_than(_STLCLR Generic::IRandomAccessIterator< _Value_t >^_Right)
Definition: iterator:2634
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
bool cliext::UncheckedRandomAccessIterator< _Cont_t >::operator< ( _Mytype_t _Right)
inline
2743  { // test if *this < _Right
2744  return (less_than(_Right));
2745  }
bool less_than(_STLCLR Generic::IRandomAccessIterator< _Value_t >^_Right)
Definition: iterator:2634
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
static bool cliext::UncheckedRandomAccessIterator< _Cont_t >::operator<= ( _STLCLR Generic::IRandomAccessIterator< _Value_t >^  _Left,
_Mytype_t _Right 
)
inlinestatic
2772  { // test if _Left <= _Right
2773  return (!(_Right < _Left));
2774  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
bool cliext::UncheckedRandomAccessIterator< _Cont_t >::operator<= ( _Mytype_t _Right)
inline
2777  { // test if *this <= _Right
2778  return (!(_Right < *this));
2779  }
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
bool cliext::UncheckedRandomAccessIterator< _Cont_t >::operator== ( _STLCLR Generic::IInputIterator< _Value_t >^  _Right)
inline
2672  { // test if *this == _Right
2673  return (equal_to(_Right));
2674  }
bool equal_to(_STLCLR Generic::IInputIterator< _Value_t >^_Right)
Definition: iterator:2571
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
bool cliext::UncheckedRandomAccessIterator< _Cont_t >::operator== ( _Mytype_t _Right)
inline
2677  { // test if *this == _Right
2678  return (equal_to(_Right));
2679  }
bool equal_to(_STLCLR Generic::IInputIterator< _Value_t >^_Right)
Definition: iterator:2571
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
static bool cliext::UncheckedRandomAccessIterator< _Cont_t >::operator> ( _STLCLR Generic::IRandomAccessIterator< _Value_t >^  _Left,
_Mytype_t _Right 
)
inlinestatic
2760  { // test if _Left > _Right
2761  return (_Right < _Left);
2762  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
bool cliext::UncheckedRandomAccessIterator< _Cont_t >::operator> ( _Mytype_t _Right)
inline
2765  { // test if *this > _Right
2766  return (_Right < *this);
2767  }
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
bool cliext::UncheckedRandomAccessIterator< _Cont_t >::operator>= ( _STLCLR Generic::IRandomAccessIterator< _Value_t >^  _Right)
inline
2748  { // test if *this >= _Right
2749  return (!(*this < _Right));
2750  }
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
bool cliext::UncheckedRandomAccessIterator< _Cont_t >::operator>= ( _Mytype_t _Right)
inline
2753  { // test if *this >= _Right
2754  return (!(*this < _Right));
2755  }
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
void cliext::UncheckedRandomAccessIterator< _Cont_t >::prev ( )
inline
2600  { // decrement
2601 // if (!_Mycont->valid_bias(_Myoffset - 1)) // UNCHECKED
2602 // throw gcnew System::InvalidOperationException();
2603  --_Myoffset;
2604  }
difference_type _Myoffset
Definition: iterator:2801
template<typename _Cont_t >
bool cliext::UncheckedRandomAccessIterator< _Cont_t >::valid ( )
inline
2553  { // test if iterator valid
2554  return (true); // UNCHECKED
2555 // return (container() != nullptr
2556 // && _Mycont->valid_bias(_Myoffset));
2557  }

Member Data Documentation

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

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