STL Memory Versioning
Public Types | Public Member Functions | Public Attributes | Friends | List of all members
vs::_vs_tree_iterator< _Key, _Comp > Struct Template Reference

#include <vs_tree.h>

Collaboration diagram for vs::_vs_tree_iterator< _Key, _Comp >:
Collaboration graph
[legend]

Public Types

typedef _vs_tree_node< _Key, _Comp >::_Ptr_type _Ptr_type
 
typedef _Key value_type
 
typedef _Key & reference
 
typedef _Key * pointer
 
typedef std::forward_iterator_tag iterator_category
 
typedef ptrdiff_t difference_type
 
typedef _vs_tree_iterator< _Key, _Comp > _Self
 

Public Member Functions

 _vs_tree_iterator ()
 
 _vs_tree_iterator (_Ptr_type __x)
 
reference operator* ()
 
pointer operator-> ()
 
_Selfoperator++ ()
 
_Self operator++ (int)
 

Public Attributes

std::stack< _Ptr_typeparents
 
_Ptr_type node
 

Friends

bool operator== (const _Self &__x, const _Self &__y)
 
bool operator!= (const _Self &__x, const _Self &__y)
 

Detailed Description

template<typename _Key, typename _Comp = std::less<_Key>>
struct vs::_vs_tree_iterator< _Key, _Comp >

Definition at line 143 of file vs_tree.h.

Member Typedef Documentation

◆ _Ptr_type

template<typename _Key , typename _Comp = std::less<_Key>>
typedef _vs_tree_node<_Key, _Comp>::_Ptr_type vs::_vs_tree_iterator< _Key, _Comp >::_Ptr_type

Definition at line 147 of file vs_tree.h.

◆ _Self

template<typename _Key , typename _Comp = std::less<_Key>>
typedef _vs_tree_iterator<_Key, _Comp> vs::_vs_tree_iterator< _Key, _Comp >::_Self

Definition at line 156 of file vs_tree.h.

◆ difference_type

template<typename _Key , typename _Comp = std::less<_Key>>
typedef ptrdiff_t vs::_vs_tree_iterator< _Key, _Comp >::difference_type

Definition at line 154 of file vs_tree.h.

◆ iterator_category

template<typename _Key , typename _Comp = std::less<_Key>>
typedef std::forward_iterator_tag vs::_vs_tree_iterator< _Key, _Comp >::iterator_category

Definition at line 153 of file vs_tree.h.

◆ pointer

template<typename _Key , typename _Comp = std::less<_Key>>
typedef _Key* vs::_vs_tree_iterator< _Key, _Comp >::pointer

Definition at line 151 of file vs_tree.h.

◆ reference

template<typename _Key , typename _Comp = std::less<_Key>>
typedef _Key& vs::_vs_tree_iterator< _Key, _Comp >::reference

Definition at line 150 of file vs_tree.h.

◆ value_type

template<typename _Key , typename _Comp = std::less<_Key>>
typedef _Key vs::_vs_tree_iterator< _Key, _Comp >::value_type

Definition at line 149 of file vs_tree.h.

Constructor & Destructor Documentation

◆ _vs_tree_iterator() [1/2]

template<typename _Key , typename _Comp = std::less<_Key>>
vs::_vs_tree_iterator< _Key, _Comp >::_vs_tree_iterator ( )
inline

Definition at line 158 of file vs_tree.h.

159  : parents(), node() { }
std::stack< _Ptr_type > parents
Definition: vs_tree.h:213

◆ _vs_tree_iterator() [2/2]

template<typename _Key , typename _Comp = std::less<_Key>>
vs::_vs_tree_iterator< _Key, _Comp >::_vs_tree_iterator ( _Ptr_type  __x)
inlineexplicit

Definition at line 162 of file vs_tree.h.

163  : parents(), node(__x) { }

Member Function Documentation

◆ operator*()

template<typename _Key , typename _Comp = std::less<_Key>>
reference vs::_vs_tree_iterator< _Key, _Comp >::operator* ( )
inline

Definition at line 166 of file vs_tree.h.

167  { return node->value; }

◆ operator++() [1/2]

template<typename _Key , typename _Comp = std::less<_Key>>
_Self& vs::_vs_tree_iterator< _Key, _Comp >::operator++ ( )
inline

Definition at line 175 of file vs_tree.h.

176  {
177  dfs_increment();
178  return *this;
179  }

◆ operator++() [2/2]

template<typename _Key , typename _Comp = std::less<_Key>>
_Self vs::_vs_tree_iterator< _Key, _Comp >::operator++ ( int  )
inline

Definition at line 182 of file vs_tree.h.

183  {
184  _Self __tmp = *this;
185  dfs_increment();
186  return __tmp;
187  }
_vs_tree_iterator< _Key, _Comp > _Self
Definition: vs_tree.h:156

◆ operator->()

template<typename _Key , typename _Comp = std::less<_Key>>
pointer vs::_vs_tree_iterator< _Key, _Comp >::operator-> ( )
inline

Definition at line 170 of file vs_tree.h.

171  { return &(node->value); }

Friends And Related Function Documentation

◆ operator!=

template<typename _Key , typename _Comp = std::less<_Key>>
bool operator!= ( const _Self __x,
const _Self __y 
)
friend

Definition at line 209 of file vs_tree.h.

210  { return __x.node != __y.node; }

◆ operator==

template<typename _Key , typename _Comp = std::less<_Key>>
bool operator== ( const _Self __x,
const _Self __y 
)
friend

Definition at line 205 of file vs_tree.h.

206  { return __x.node == __y.node; }

Member Data Documentation

◆ node

template<typename _Key , typename _Comp = std::less<_Key>>
_Ptr_type vs::_vs_tree_iterator< _Key, _Comp >::node

Definition at line 214 of file vs_tree.h.

◆ parents

template<typename _Key , typename _Comp = std::less<_Key>>
std::stack<_Ptr_type> vs::_vs_tree_iterator< _Key, _Comp >::parents

Definition at line 213 of file vs_tree.h.


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