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

Public Types

typedef _Cont_t::value_type _Value_t
 
typedef ConstBidirectionalIterator< _Cont_t > _Mytype_t
 
typedef _STLCLR Generic::IBidirectionalIterator< _Value_t_Myiter_t
 
typedef _Cont_t::node_type node_type
 
typedef bidirectional_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::ConstContainerBidirectionalIterator< _Value_t_Mygeniter_t
 

Public Member Functions

 ConstBidirectionalIterator (node_type^_Node)
 
 ConstBidirectionalIterator (_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 ()
 
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)
 

Static Public Member Functions

static const_reference operator-> (ConstBidirectionalIterator%_Left)
 
static const_reference operator* (ConstBidirectionalIterator%_Left)
 
static ConstBidirectionalIterator operator++ (ConstBidirectionalIterator%_Left)
 
static ConstBidirectionalIterator operator-- (ConstBidirectionalIterator%_Left)
 

Public Attributes

_STLCLR_FIELD_ACCESS __pad0__: node_type^ _Mynode
 

Member Typedef Documentation

template<typename _Cont_t >
typedef _STLCLR Generic::ConstContainerBidirectionalIterator<_Value_t> cliext::ConstBidirectionalIterator< _Cont_t >::_Mygeniter_t
template<typename _Cont_t >
typedef _STLCLR Generic::IBidirectionalIterator<_Value_t> cliext::ConstBidirectionalIterator< _Cont_t >::_Myiter_t
template<typename _Cont_t >
typedef ConstBidirectionalIterator<_Cont_t> cliext::ConstBidirectionalIterator< _Cont_t >::_Mytype_t
template<typename _Cont_t >
typedef _Cont_t::value_type cliext::ConstBidirectionalIterator< _Cont_t >::_Value_t
template<typename _Cont_t >
typedef value_type cliext::ConstBidirectionalIterator< _Cont_t >::const_reference
template<typename _Cont_t >
typedef int cliext::ConstBidirectionalIterator< _Cont_t >::difference_type
template<typename _Cont_t >
typedef bidirectional_iterator_tag cliext::ConstBidirectionalIterator< _Cont_t >::iterator_category
template<typename _Cont_t >
typedef _Cont_t::node_type cliext::ConstBidirectionalIterator< _Cont_t >::node_type
template<typename _Cont_t >
typedef value_type cliext::ConstBidirectionalIterator< _Cont_t >::pointer
template<typename _Cont_t >
typedef value_type cliext::ConstBidirectionalIterator< _Cont_t >::reference
template<typename _Cont_t >
typedef _Value_t cliext::ConstBidirectionalIterator< _Cont_t >::value_type

Constructor & Destructor Documentation

template<typename _Cont_t >
cliext::ConstBidirectionalIterator< _Cont_t >::ConstBidirectionalIterator ( node_type _Node)
inline
40  : _Mynode(_Node)
41  { // construct from node
42  }
template<typename _Cont_t >
cliext::ConstBidirectionalIterator< _Cont_t >::ConstBidirectionalIterator ( _Mygeniter_t _Right)
inline
49  : _Mynode((node_type^)_Right.get_node())
50  { // construct by copying a generic iterator
51  }
_Cont_t::node_type node_type
Definition: iterator:29
const _Ty & _Right
Definition: algorithm:4087

Member Function Documentation

template<typename _Cont_t >
virtual System::Object cliext::ConstBidirectionalIterator< _Cont_t >::Clone ( )
inlinevirtual
60  { // return a copy
61  return (gcnew ConstBidirectionalIterator(_Mynode));
62  }
ConstBidirectionalIterator(node_type^_Node)
Definition: iterator:39
template<typename _Cont_t >
System::Object cliext::ConstBidirectionalIterator< _Cont_t >::container ( )
inline
80  { // return owning container
81  return (_Mynode == nullptr ? nullptr : _Mynode->container());
82  }
template<typename _Cont_t >
bool cliext::ConstBidirectionalIterator< _Cont_t >::equal_to ( _STLCLR Generic::IInputIterator< _Value_t >^  _Right)
inline
90  { // test if *this == _Right
91  if (container() == nullptr
92  || container() != _Right->container())
93  throw gcnew System::ArgumentException();
94  return (get_bias() == _Right->get_bias()
95  && get_node() == _Right->get_node());
96  }
int get_bias()
Definition: iterator:64
System::Object get_node()
Definition: iterator:69
System::Object container()
Definition: iterator:79
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t >
bool cliext::ConstBidirectionalIterator< _Cont_t >::equal_to ( _Mytype_t _Right)
inline
99  { // test if *this == _Right
100  if (container() == nullptr
101  || container() != _Right.container())
102  throw gcnew System::ArgumentException();
103  return (get_bias() == _Right.get_bias()
104  && get_node() == _Right.get_node());
105  }
int get_bias()
Definition: iterator:64
System::Object get_node()
Definition: iterator:69
System::Object container()
Definition: iterator:79
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t >
int cliext::ConstBidirectionalIterator< _Cont_t >::get_bias ( )
inline
65  { // get offset from wrapped iterator
66  return (0);
67  }
template<typename _Cont_t >
const_reference cliext::ConstBidirectionalIterator< _Cont_t >::get_cref ( )
inline
108  { // return const reference to designated element
109  return (_Mynode->_Value);
110  }
template<typename _Cont_t >
System::Object cliext::ConstBidirectionalIterator< _Cont_t >::get_node ( )
inline
70  { // get node from wrapped iterator
71  return (_Mynode);
72  }
template<typename _Cont_t >
reference cliext::ConstBidirectionalIterator< _Cont_t >::get_ref ( )
inline
113  { // return reference to designated element
114 #pragma warning(push)
115 #pragma warning(disable: 4715)
116  throw gcnew System::InvalidOperationException();
117 #pragma warning(pop)
118  }
template<typename _Cont_t >
void cliext::ConstBidirectionalIterator< _Cont_t >::next ( )
inline
85  { // increment
86  _Mynode = _Mynode->next_node();
87  }
template<typename _Cont_t >
cliext::ConstBidirectionalIterator< _Cont_t >::operator _Mygeniter_t ( )
inline
54  { // convert to generic iterator
55  return (_Mygeniter_t(_Mynode));
56  }
_STLCLR Generic::ConstContainerBidirectionalIterator< _Value_t > _Mygeniter_t
Definition: iterator:46
template<typename _Cont_t >
bool cliext::ConstBidirectionalIterator< _Cont_t >::operator!= ( _STLCLR Generic::IInputIterator< _Value_t >^  _Right)
inline
164  { // test if *this != _Right
165  return (!(*this == _Right));
166  }
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t >
bool cliext::ConstBidirectionalIterator< _Cont_t >::operator!= ( _Mytype_t _Right)
inline
169  { // test if *this != _Right
170  return (!(*this == _Right));
171  }
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t >
static const_reference cliext::ConstBidirectionalIterator< _Cont_t >::operator* ( ConstBidirectionalIterator< _Cont_t >%  _Left)
inlinestatic
139  { // return const reference to designated element
140  return (_Left.get_cref());
141  }
template<typename _Cont_t >
static ConstBidirectionalIterator cliext::ConstBidirectionalIterator< _Cont_t >::operator++ ( ConstBidirectionalIterator< _Cont_t >%  _Left)
inlinestatic
147  { // return incremented
148  _Left.next();
149  return (_Left);
150  }
template<typename _Cont_t >
static ConstBidirectionalIterator cliext::ConstBidirectionalIterator< _Cont_t >::operator-- ( ConstBidirectionalIterator< _Cont_t >%  _Left)
inlinestatic
177  { // return decremented
178  _Left.prev();
179  return (_Left);
180  }
template<typename _Cont_t >
static const_reference cliext::ConstBidirectionalIterator< _Cont_t >::operator-> ( ConstBidirectionalIterator< _Cont_t >%  _Left)
inlinestatic
133  { // return pointer to class object
134  return (_Left.get_cref());
135  }
template<typename _Cont_t >
bool cliext::ConstBidirectionalIterator< _Cont_t >::operator== ( _STLCLR Generic::IInputIterator< _Value_t >^  _Right)
inline
154  { // test if *this == _Right
155  return (equal_to(_Right));
156  }
bool equal_to(_STLCLR Generic::IInputIterator< _Value_t >^_Right)
Definition: iterator:89
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t >
bool cliext::ConstBidirectionalIterator< _Cont_t >::operator== ( _Mytype_t _Right)
inline
159  { // test if *this == _Right
160  return (equal_to(_Right));
161  }
bool equal_to(_STLCLR Generic::IInputIterator< _Value_t >^_Right)
Definition: iterator:89
const _Ty & _Right
Definition: algorithm:4087
template<typename _Cont_t >
void cliext::ConstBidirectionalIterator< _Cont_t >::prev ( )
inline
121  { // decrement
122  _Mynode = _Mynode->prev_node();
123  }
template<typename _Cont_t >
bool cliext::ConstBidirectionalIterator< _Cont_t >::valid ( )
inline
75  { // test if iterator valid
76  return (container() != nullptr);
77  }
System::Object container()
Definition: iterator:79

Member Data Documentation

template<typename _Cont_t >
_STLCLR_FIELD_ACCESS cliext::ConstBidirectionalIterator< _Cont_t >::__pad0__

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