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

Public Types

typedef _Cont_t::value_type _Value_t
 
typedef ReverseRandomAccessIterator< _Cont_t > _Mytype_t
 
typedef _STLCLR Generic::IRandomAccessIterator< _Value_t_Myiter_t
 
typedef _Cont_t::iterator _Mywrapped_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

 ReverseRandomAccessIterator (_Mywrapped_t%_Iter)
 
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)
 
_Mywrapped_t base ()
 

Static Public Member Functions

static reference operator-> (ReverseRandomAccessIterator%_Left)
 
static reference operator* (ReverseRandomAccessIterator%_Left)
 
static ReverseRandomAccessIterator operator++ (ReverseRandomAccessIterator%_Left)
 
static ReverseRandomAccessIterator operator-- (ReverseRandomAccessIterator%_Left)
 
static ReverseRandomAccessIterator operator+ (ReverseRandomAccessIterator%_Left, difference_type _Right)
 
static ReverseRandomAccessIterator operator+ (difference_type _Left, ReverseRandomAccessIterator%_Right)
 
static ReverseRandomAccessIterator operator- (ReverseRandomAccessIterator%_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__: _Mywrapped_t _Myiter
 

Member Typedef Documentation

template<typename _Cont_t >
typedef _STLCLR Generic::IRandomAccessIterator<_Value_t> cliext::ReverseRandomAccessIterator< _Cont_t >::_Myiter_t
template<typename _Cont_t >
typedef ReverseRandomAccessIterator<_Cont_t> cliext::ReverseRandomAccessIterator< _Cont_t >::_Mytype_t
template<typename _Cont_t >
typedef _Cont_t::iterator cliext::ReverseRandomAccessIterator< _Cont_t >::_Mywrapped_t
template<typename _Cont_t >
typedef _Cont_t::value_type cliext::ReverseRandomAccessIterator< _Cont_t >::_Value_t
template<typename _Cont_t >
typedef value_type cliext::ReverseRandomAccessIterator< _Cont_t >::const_reference
template<typename _Cont_t >
typedef int cliext::ReverseRandomAccessIterator< _Cont_t >::difference_type
template<typename _Cont_t >
typedef random_access_iterator_tag cliext::ReverseRandomAccessIterator< _Cont_t >::iterator_category
template<typename _Cont_t >
typedef value_type cliext::ReverseRandomAccessIterator< _Cont_t >::pointer
template<typename _Cont_t >
typedef value_type cliext::ReverseRandomAccessIterator< _Cont_t >::reference
template<typename _Cont_t >
typedef _Value_t cliext::ReverseRandomAccessIterator< _Cont_t >::value_type

Constructor & Destructor Documentation

template<typename _Cont_t >
cliext::ReverseRandomAccessIterator< _Cont_t >::ReverseRandomAccessIterator ( _Mywrapped_t _Iter)
inline
2915  : _Myiter(_Iter)
2916  { // construct from wrapped iterator
2917  }

Member Function Documentation

template<typename _Cont_t >
_Mywrapped_t cliext::ReverseRandomAccessIterator< _Cont_t >::base ( )
inline
3163  { // return wrapped iterator
3164  return (_Myiter);
3165  }
template<typename _Cont_t >
virtual System::Object cliext::ReverseRandomAccessIterator< _Cont_t >::Clone ( )
inlinevirtual
2921  { // return a copy
2922  return (gcnew ReverseRandomAccessIterator(_Myiter));
2923  }
ReverseRandomAccessIterator(_Mywrapped_t%_Iter)
Definition: iterator:2914
template<typename _Cont_t >
System::Object cliext::ReverseRandomAccessIterator< _Cont_t >::container ( )
inline
2941  { // return owning container
2942  return (_Myiter.container());
2943  }
template<typename _Cont_t >
difference_type cliext::ReverseRandomAccessIterator< _Cont_t >::distance ( _STLCLR Generic::IRandomAccessIterator< _Value_t >^  _Right)
inline
2992  { // return difference of two iterators
2993  return (_Myiter.distance(_Right));
2994  }
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
difference_type cliext::ReverseRandomAccessIterator< _Cont_t >::distance ( _Mytype_t _Right)
inline
2998  { // return difference of two iterators
2999  return (_Myiter.distance(_Right));
3000  }
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
bool cliext::ReverseRandomAccessIterator< _Cont_t >::equal_to ( _STLCLR Generic::IInputIterator< _Value_t >^  _Right)
inline
2951  { // test if *this == _Right
2952  if (container() == nullptr
2953  || container() != _Right->container())
2954  throw gcnew System::ArgumentException();
2955  return (get_bias() == _Right->get_bias()
2956  && get_node() == _Right->get_node());
2957  }
int get_bias()
Definition: iterator:2925
System::Object get_node()
Definition: iterator:2930
constexpr const _Ty &() _Right
Definition: algorithm:3723
System::Object container()
Definition: iterator:2940
template<typename _Cont_t >
bool cliext::ReverseRandomAccessIterator< _Cont_t >::equal_to ( _Mytype_t _Right)
inline
2960  { // test if *this == _Right
2961  return (_Myiter.equal_to(_Right._Myiter));
2962  }
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
int cliext::ReverseRandomAccessIterator< _Cont_t >::get_bias ( )
inline
2926  { // get offset from wrapped iterator
2927  return (_Myiter.get_bias());
2928  }
template<typename _Cont_t >
const_reference cliext::ReverseRandomAccessIterator< _Cont_t >::get_cref ( )
inline
2965  { // return const reference to designated element
2966  _Myiter.prev();
2967  const_reference _Ref = _Myiter.get_cref();
2968  _Myiter.next();
2969  return (_Ref);
2970  }
value_type const_reference
Definition: iterator:2911
template<typename _Cont_t >
System::Object cliext::ReverseRandomAccessIterator< _Cont_t >::get_node ( )
inline
2931  { // get node from wrapped iterator
2932  return (nullptr);
2933  }
template<typename _Cont_t >
reference cliext::ReverseRandomAccessIterator< _Cont_t >::get_ref ( )
inline
2973  { // return reference to designated element
2974  _Myiter.prev();
2975  const_reference _Ref = _Myiter.get_ref();
2976  _Myiter.next();
2977  return (_Ref);
2978  }
value_type const_reference
Definition: iterator:2911
template<typename _Cont_t >
bool cliext::ReverseRandomAccessIterator< _Cont_t >::less_than ( _STLCLR Generic::IRandomAccessIterator< _Value_t >^  _Right)
inline
3003  { // test if *this < _Right
3004  if (container() == nullptr
3005  || container() != _Right->container())
3006  throw gcnew System::ArgumentException();
3007  return (get_bias() < _Right->get_bias());
3008  }
int get_bias()
Definition: iterator:2925
constexpr const _Ty &() _Right
Definition: algorithm:3723
System::Object container()
Definition: iterator:2940
template<typename _Cont_t >
bool cliext::ReverseRandomAccessIterator< _Cont_t >::less_than ( _Mytype_t _Right)
inline
3011  { // test if *this < _Right
3012  return (_Myiter.less_than(_Right));
3013  }
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
difference_type cliext::ReverseRandomAccessIterator< _Cont_t >::move ( difference_type  _Offset)
inline
2986  { // incremented by integer
2987  return (_Myiter.move(_Offset));
2988  }
_Check_return_ _Ret_maybenull_ _In_ size_t _In_ size_t _Offset
Definition: corecrt_malloc.h:159
template<typename _Cont_t >
void cliext::ReverseRandomAccessIterator< _Cont_t >::next ( )
inline
2946  { // increment
2947  _Myiter.prev();
2948  }
template<typename _Cont_t >
bool cliext::ReverseRandomAccessIterator< _Cont_t >::operator!= ( _STLCLR Generic::IInputIterator< _Value_t >^  _Right)
inline
3047  { // test if *this != _Right
3048  return (!(*this == _Right));
3049  }
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
bool cliext::ReverseRandomAccessIterator< _Cont_t >::operator!= ( _Mytype_t _Right)
inline
3052  { // test if *this != _Right
3053  return (!(*this == _Right));
3054  }
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
static reference cliext::ReverseRandomAccessIterator< _Cont_t >::operator* ( ReverseRandomAccessIterator< _Cont_t >%  _Left)
inlinestatic
3022  { // return reference to designated element
3023  return (_Left.get_ref());
3024  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
template<typename _Cont_t >
static ReverseRandomAccessIterator cliext::ReverseRandomAccessIterator< _Cont_t >::operator+ ( ReverseRandomAccessIterator< _Cont_t >%  _Left,
difference_type  _Right 
)
inlinestatic
3069  { // return incremented by integer
3071 
3072  _Iter.move(_Right);
3073  return (_Iter);
3074  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
ReverseRandomAccessIterator(_Mywrapped_t%_Iter)
Definition: iterator:2914
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
static ReverseRandomAccessIterator cliext::ReverseRandomAccessIterator< _Cont_t >::operator+ ( difference_type  _Left,
ReverseRandomAccessIterator< _Cont_t >%  _Right 
)
inlinestatic
3079  { // return incremented by integer
3081 
3082  _Iter.move(_Left);
3083  return (_Iter);
3084  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
ReverseRandomAccessIterator(_Mywrapped_t%_Iter)
Definition: iterator:2914
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
static ReverseRandomAccessIterator cliext::ReverseRandomAccessIterator< _Cont_t >::operator++ ( ReverseRandomAccessIterator< _Cont_t >%  _Left)
inlinestatic
3030  { // return incremented
3031  _Left.next();
3032  return (_Left);
3033  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
template<typename _Cont_t >
static ReverseRandomAccessIterator cliext::ReverseRandomAccessIterator< _Cont_t >::operator- ( ReverseRandomAccessIterator< _Cont_t >%  _Left,
difference_type  _Right 
)
inlinestatic
3089  { // return decremented by integer
3091 
3092  _Iter.move(-_Right); // can overflow
3093  return (_Iter);
3094  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
ReverseRandomAccessIterator(_Mywrapped_t%_Iter)
Definition: iterator:2914
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
difference_type cliext::ReverseRandomAccessIterator< _Cont_t >::operator- ( _STLCLR Generic::IRandomAccessIterator< _Value_t >^  _Right)
inline
3098  { // return difference of two iterators
3099  return (distance(_Right));
3100  }
difference_type distance(_STLCLR Generic::IRandomAccessIterator< _Value_t >^_Right)
Definition: iterator:2990
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
static ReverseRandomAccessIterator cliext::ReverseRandomAccessIterator< _Cont_t >::operator-- ( ReverseRandomAccessIterator< _Cont_t >%  _Left)
inlinestatic
3060  { // return decremented
3061  _Left.prev();
3062  return (_Left);
3063  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
template<typename _Cont_t >
static reference cliext::ReverseRandomAccessIterator< _Cont_t >::operator-> ( ReverseRandomAccessIterator< _Cont_t >%  _Left)
inlinestatic
3017  { // return pointer to class object
3018  return (_Left.get_ref());
3019  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
template<typename _Cont_t >
bool cliext::ReverseRandomAccessIterator< _Cont_t >::operator< ( _STLCLR Generic::IRandomAccessIterator< _Value_t >^  _Right)
inline
3103  { // test if *this < _Right
3104  return (less_than(_Right));
3105  }
bool less_than(_STLCLR Generic::IRandomAccessIterator< _Value_t >^_Right)
Definition: iterator:3002
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
bool cliext::ReverseRandomAccessIterator< _Cont_t >::operator< ( _Mytype_t _Right)
inline
3108  { // test if *this < _Right
3109  return (less_than(_Right));
3110  }
bool less_than(_STLCLR Generic::IRandomAccessIterator< _Value_t >^_Right)
Definition: iterator:3002
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
static bool cliext::ReverseRandomAccessIterator< _Cont_t >::operator<= ( _STLCLR Generic::IRandomAccessIterator< _Value_t >^  _Left,
_Mytype_t _Right 
)
inlinestatic
3136  { // test if _Left <= _Right
3137  return (!(_Right < _Left));
3138  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
bool cliext::ReverseRandomAccessIterator< _Cont_t >::operator<= ( _Mytype_t _Right)
inline
3141  { // test if *this <= _Right
3142  return (!(_Right < *this));
3143  }
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
bool cliext::ReverseRandomAccessIterator< _Cont_t >::operator== ( _STLCLR Generic::IInputIterator< _Value_t >^  _Right)
inline
3037  { // test if *this == _Right
3038  return (equal_to(_Right));
3039  }
bool equal_to(_STLCLR Generic::IInputIterator< _Value_t >^_Right)
Definition: iterator:2950
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
bool cliext::ReverseRandomAccessIterator< _Cont_t >::operator== ( _Mytype_t _Right)
inline
3042  { // test if *this == _Right
3043  return (equal_to(_Right));
3044  }
bool equal_to(_STLCLR Generic::IInputIterator< _Value_t >^_Right)
Definition: iterator:2950
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
static bool cliext::ReverseRandomAccessIterator< _Cont_t >::operator> ( _STLCLR Generic::IRandomAccessIterator< _Value_t >^  _Left,
_Mytype_t _Right 
)
inlinestatic
3124  { // test if _Left > _Right
3125  return (_Right < _Left);
3126  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
bool cliext::ReverseRandomAccessIterator< _Cont_t >::operator> ( _Mytype_t _Right)
inline
3129  { // test if *this > _Right
3130  return (_Right < *this);
3131  }
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
bool cliext::ReverseRandomAccessIterator< _Cont_t >::operator>= ( _STLCLR Generic::IRandomAccessIterator< _Value_t >^  _Right)
inline
3113  { // test if *this >= _Right
3114  return (!(*this < _Right));
3115  }
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
bool cliext::ReverseRandomAccessIterator< _Cont_t >::operator>= ( _Mytype_t _Right)
inline
3118  { // test if *this >= _Right
3119  return (!(*this < _Right));
3120  }
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<typename _Cont_t >
void cliext::ReverseRandomAccessIterator< _Cont_t >::prev ( )
inline
2981  { // decrement
2982  return (_Myiter.next());
2983  }
template<typename _Cont_t >
bool cliext::ReverseRandomAccessIterator< _Cont_t >::valid ( )
inline
2936  { // test if iterator valid
2937  return (_Myiter.valid());
2938  }

Member Data Documentation

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

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