ManaPlus
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends
mse::mstd::vector< _Ty, _A >::const_iterator Class Reference

#include <msemstdvector.h>

Inheritance diagram for mse::mstd::vector< _Ty, _A >::const_iterator:
mse::msevector< _Ty, _A >::random_access_const_iterator_base

Public Types

typedef _MV::ss_const_iterator_type::iterator_category iterator_category
 
typedef _MV::ss_const_iterator_type::value_type value_type
 
typedef _MV::ss_const_iterator_type::difference_type difference_type
 
typedef _MV::difference_type distance_type
 
typedef _MV::ss_const_iterator_type::pointer pointer
 
typedef _MV::ss_const_iterator_type::reference reference
 

Public Member Functions

 const_iterator ()
 
 const_iterator (const const_iterator &src_cref)
 
 ~const_iterator ()
 
const _MV::ss_const_iterator_typemsevector_ss_const_iterator_type () const
 
_MV::ss_const_iterator_typemsevector_ss_const_iterator_type ()
 
const _MV::ss_const_iterator_typemvssci () const
 
_MV::ss_const_iterator_typemvssci ()
 
void reset ()
 
bool points_to_an_item () const
 
bool points_to_end_marker () const
 
bool points_to_beginning () const
 
bool has_next_item_or_end_marker () const
 
bool has_next () const
 
bool has_previous () const
 
void set_to_beginning ()
 
void set_to_end_marker ()
 
void set_to_next ()
 
void set_to_previous ()
 
const_iteratoroperator++ ()
 
const_iterator operator++ (int)
 
const_iteratoroperator-- ()
 
const_iterator operator-- (int)
 
void advance (typename _MV::difference_type n)
 
void regress (typename _MV::difference_type n)
 
const_iteratoroperator+= (difference_type n)
 
const_iteratoroperator-= (difference_type n)
 
const_iterator operator+ (difference_type n) const
 
const_iterator operator- (difference_type n) const
 
_MV::difference_type operator- (const const_iterator &_Right_cref) const
 
_MV::const_reference operator* () const
 
_MV::const_reference item () const
 
_MV::const_reference previous_item () const
 
_MV::const_pointer operator-> () const
 
_MV::const_reference operator[] (typename _MV::difference_type _Off) const
 
bool operator== (const const_iterator &_Right_cref) const
 
bool operator!= (const const_iterator &_Right_cref) const
 
bool operator< (const const_iterator &_Right) const
 
bool operator<= (const const_iterator &_Right) const
 
bool operator> (const const_iterator &_Right) const
 
bool operator>= (const const_iterator &_Right) const
 
void set_to_const_item_pointer (const const_iterator &_Right_cref)
 
msev_size_t position () const
 

Private Member Functions

 const_iterator (std::shared_ptr< _MV > msevector_shptr)
 

Private Attributes

std::shared_ptr< const _MVm_msevector_cshptr
 
_MV::ss_const_iterator_type m_ss_const_iterator
 

Friends

class vector< _Ty, _A >
 
class iterator
 

Detailed Description

template<class _Ty, class _A = std::allocator<_Ty>>
class mse::mstd::vector< _Ty, _A >::const_iterator

Definition at line 111 of file msemstdvector.h.

Member Typedef Documentation

◆ difference_type

template<class _Ty , class _A = std::allocator<_Ty>>
typedef _MV::ss_const_iterator_type::difference_type mse::mstd::vector< _Ty, _A >::const_iterator::difference_type

Definition at line 115 of file msemstdvector.h.

◆ distance_type

template<class _Ty , class _A = std::allocator<_Ty>>
typedef _MV::difference_type mse::mstd::vector< _Ty, _A >::const_iterator::distance_type

Definition at line 116 of file msemstdvector.h.

◆ iterator_category

template<class _Ty , class _A = std::allocator<_Ty>>
typedef _MV::ss_const_iterator_type::iterator_category mse::mstd::vector< _Ty, _A >::const_iterator::iterator_category

Definition at line 113 of file msemstdvector.h.

◆ pointer

template<class _Ty , class _A = std::allocator<_Ty>>
typedef _MV::ss_const_iterator_type::pointer mse::mstd::vector< _Ty, _A >::const_iterator::pointer

Definition at line 117 of file msemstdvector.h.

◆ reference

template<class _Ty , class _A = std::allocator<_Ty>>
typedef _MV::ss_const_iterator_type::reference mse::mstd::vector< _Ty, _A >::const_iterator::reference

Definition at line 118 of file msemstdvector.h.

◆ value_type

template<class _Ty , class _A = std::allocator<_Ty>>
typedef _MV::ss_const_iterator_type::value_type mse::mstd::vector< _Ty, _A >::const_iterator::value_type

Definition at line 114 of file msemstdvector.h.

Constructor & Destructor Documentation

◆ const_iterator() [1/3]

template<class _Ty , class _A = std::allocator<_Ty>>
mse::mstd::vector< _Ty, _A >::const_iterator::const_iterator ( )
inline

Definition at line 120 of file msemstdvector.h.

120 {}

◆ const_iterator() [2/3]

template<class _Ty , class _A = std::allocator<_Ty>>
mse::mstd::vector< _Ty, _A >::const_iterator::const_iterator ( const const_iterator src_cref)
inline

Definition at line 121 of file msemstdvector.h.

121  : m_msevector_cshptr(src_cref.m_msevector_cshptr) {
122  (*this) = src_cref;
123  }
std::shared_ptr< const _MV > m_msevector_cshptr

◆ ~const_iterator()

template<class _Ty , class _A = std::allocator<_Ty>>
mse::mstd::vector< _Ty, _A >::const_iterator::~const_iterator ( )
inline

Definition at line 124 of file msemstdvector.h.

124 {}

◆ const_iterator() [3/3]

template<class _Ty , class _A = std::allocator<_Ty>>
mse::mstd::vector< _Ty, _A >::const_iterator::const_iterator ( std::shared_ptr< _MV msevector_shptr)
inlineprivate

Definition at line 168 of file msemstdvector.h.

168  : m_msevector_cshptr(msevector_shptr) {
169  m_ss_const_iterator = msevector_shptr->ss_cbegin();
170  }
_MV::ss_const_iterator_type m_ss_const_iterator

References mse::mstd::vector< _Ty, _A >::const_iterator::m_ss_const_iterator.

Member Function Documentation

◆ advance()

template<class _Ty , class _A = std::allocator<_Ty>>
void mse::mstd::vector< _Ty, _A >::const_iterator::advance ( typename _MV::difference_type  n)
inline

◆ has_next()

template<class _Ty , class _A = std::allocator<_Ty>>
bool mse::mstd::vector< _Ty, _A >::const_iterator::has_next ( ) const
inline

◆ has_next_item_or_end_marker()

template<class _Ty , class _A = std::allocator<_Ty>>
bool mse::mstd::vector< _Ty, _A >::const_iterator::has_next_item_or_end_marker ( ) const
inline

◆ has_previous()

template<class _Ty , class _A = std::allocator<_Ty>>
bool mse::mstd::vector< _Ty, _A >::const_iterator::has_previous ( ) const
inline

◆ item()

template<class _Ty , class _A = std::allocator<_Ty>>
_MV::const_reference mse::mstd::vector< _Ty, _A >::const_iterator::item ( ) const
inline

Definition at line 155 of file msemstdvector.h.

155 { return operator*(); }
_MV::const_reference operator*() const

References mse::mstd::vector< _Ty, _A >::const_iterator::operator*().

◆ msevector_ss_const_iterator_type() [1/2]

template<class _Ty , class _A = std::allocator<_Ty>>
_MV::ss_const_iterator_type& mse::mstd::vector< _Ty, _A >::const_iterator::msevector_ss_const_iterator_type ( )
inline

◆ msevector_ss_const_iterator_type() [2/2]

template<class _Ty , class _A = std::allocator<_Ty>>
const _MV::ss_const_iterator_type& mse::mstd::vector< _Ty, _A >::const_iterator::msevector_ss_const_iterator_type ( ) const
inline

Definition at line 125 of file msemstdvector.h.

125 { return m_ss_const_iterator; }

References mse::mstd::vector< _Ty, _A >::const_iterator::m_ss_const_iterator.

Referenced by mse::mstd::vector< _Ty, _A >::const_iterator::advance(), mse::mstd::vector< _Ty, _A >::assign_inclusive(), mse::mstd::vector< _Ty, _A >::emplace(), mse::mstd::vector< _Ty, _A >::erase(), mse::mstd::vector< _Ty, _A >::const_iterator::has_next(), mse::mstd::vector< _Ty, _A >::const_iterator::has_next_item_or_end_marker(), mse::mstd::vector< _Ty, _A >::const_iterator::has_previous(), mse::mstd::vector< _Ty, _A >::insert_before(), mse::mstd::vector< _Ty, _A >::const_iterator::mvssci(), mse::mstd::vector< _Ty, _A >::iterator::operator const_iterator(), mse::mstd::vector< _Ty, _A >::const_iterator::operator*(), mse::mstd::vector< _Ty, _A >::const_iterator::operator++(), mse::mstd::vector< _Ty, _A >::const_iterator::operator+=(), mse::mstd::vector< _Ty, _A >::const_iterator::operator-(), mse::mstd::vector< _Ty, _A >::const_iterator::operator--(), mse::mstd::vector< _Ty, _A >::const_iterator::operator-=(), mse::mstd::vector< _Ty, _A >::const_iterator::operator->(), mse::mstd::vector< _Ty, _A >::const_iterator::operator<(), mse::mstd::vector< _Ty, _A >::const_iterator::operator<=(), mse::mstd::vector< _Ty, _A >::const_iterator::operator==(), mse::mstd::vector< _Ty, _A >::const_iterator::operator>(), mse::mstd::vector< _Ty, _A >::const_iterator::operator>=(), mse::mstd::vector< _Ty, _A >::const_iterator::points_to_an_item(), mse::mstd::vector< _Ty, _A >::const_iterator::points_to_beginning(), mse::mstd::vector< _Ty, _A >::const_iterator::points_to_end_marker(), mse::mstd::vector< _Ty, _A >::const_iterator::position(), mse::mstd::vector< _Ty, _A >::const_iterator::previous_item(), mse::mstd::vector< _Ty, _A >::const_iterator::regress(), mse::mstd::vector< _Ty, _A >::const_iterator::reset(), mse::mstd::vector< _Ty, _A >::const_iterator::set_to_beginning(), mse::mstd::vector< _Ty, _A >::const_iterator::set_to_const_item_pointer(), mse::mstd::vector< _Ty, _A >::const_iterator::set_to_end_marker(), mse::mstd::vector< _Ty, _A >::const_iterator::set_to_next(), and mse::mstd::vector< _Ty, _A >::const_iterator::set_to_previous().

◆ mvssci() [1/2]

template<class _Ty , class _A = std::allocator<_Ty>>
_MV::ss_const_iterator_type& mse::mstd::vector< _Ty, _A >::const_iterator::mvssci ( )
inline

◆ mvssci() [2/2]

template<class _Ty , class _A = std::allocator<_Ty>>
const _MV::ss_const_iterator_type& mse::mstd::vector< _Ty, _A >::const_iterator::mvssci ( ) const
inline

◆ operator!=()

template<class _Ty , class _A = std::allocator<_Ty>>
bool mse::mstd::vector< _Ty, _A >::const_iterator::operator!= ( const const_iterator _Right_cref) const
inline

Definition at line 160 of file msemstdvector.h.

160 { return (!(_Right_cref == (*this))); }

◆ operator*()

template<class _Ty , class _A = std::allocator<_Ty>>
_MV::const_reference mse::mstd::vector< _Ty, _A >::const_iterator::operator* ( ) const
inline

◆ operator+()

template<class _Ty , class _A = std::allocator<_Ty>>
const_iterator mse::mstd::vector< _Ty, _A >::const_iterator::operator+ ( difference_type  n) const
inline

Definition at line 151 of file msemstdvector.h.

151 { auto retval = (*this); retval += n; return retval; }

◆ operator++() [1/2]

template<class _Ty , class _A = std::allocator<_Ty>>
const_iterator& mse::mstd::vector< _Ty, _A >::const_iterator::operator++ ( )
inline

Definition at line 143 of file msemstdvector.h.

143 { msevector_ss_const_iterator_type().operator ++(); return (*this); }

References mse::mstd::vector< _Ty, _A >::const_iterator::msevector_ss_const_iterator_type().

◆ operator++() [2/2]

template<class _Ty , class _A = std::allocator<_Ty>>
const_iterator mse::mstd::vector< _Ty, _A >::const_iterator::operator++ ( int  )
inline

Definition at line 144 of file msemstdvector.h.

144 { const_iterator _Tmp = *this; ++*this; return (_Tmp); }

◆ operator+=()

template<class _Ty , class _A = std::allocator<_Ty>>
const_iterator& mse::mstd::vector< _Ty, _A >::const_iterator::operator+= ( difference_type  n)
inline

Definition at line 149 of file msemstdvector.h.

149 { msevector_ss_const_iterator_type().operator +=(n); return (*this); }

References mse::mstd::vector< _Ty, _A >::const_iterator::msevector_ss_const_iterator_type().

◆ operator-() [1/2]

template<class _Ty , class _A = std::allocator<_Ty>>
_MV::difference_type mse::mstd::vector< _Ty, _A >::const_iterator::operator- ( const const_iterator _Right_cref) const
inline

Definition at line 153 of file msemstdvector.h.

153 { return msevector_ss_const_iterator_type() - (_Right_cref.msevector_ss_const_iterator_type()); }

References mse::mstd::vector< _Ty, _A >::const_iterator::msevector_ss_const_iterator_type().

◆ operator-() [2/2]

template<class _Ty , class _A = std::allocator<_Ty>>
const_iterator mse::mstd::vector< _Ty, _A >::const_iterator::operator- ( difference_type  n) const
inline

Definition at line 152 of file msemstdvector.h.

152 { return ((*this) + (-n)); }

◆ operator--() [1/2]

template<class _Ty , class _A = std::allocator<_Ty>>
const_iterator& mse::mstd::vector< _Ty, _A >::const_iterator::operator-- ( )
inline

Definition at line 145 of file msemstdvector.h.

145 { msevector_ss_const_iterator_type().operator --(); return (*this); }

References mse::mstd::vector< _Ty, _A >::const_iterator::msevector_ss_const_iterator_type().

◆ operator--() [2/2]

template<class _Ty , class _A = std::allocator<_Ty>>
const_iterator mse::mstd::vector< _Ty, _A >::const_iterator::operator-- ( int  )
inline

Definition at line 146 of file msemstdvector.h.

146 { const_iterator _Tmp = *this; --*this; return (_Tmp); }

◆ operator-=()

template<class _Ty , class _A = std::allocator<_Ty>>
const_iterator& mse::mstd::vector< _Ty, _A >::const_iterator::operator-= ( difference_type  n)
inline

Definition at line 150 of file msemstdvector.h.

150 { msevector_ss_const_iterator_type().operator -=(n); return (*this); }

References mse::mstd::vector< _Ty, _A >::const_iterator::msevector_ss_const_iterator_type().

◆ operator->()

template<class _Ty , class _A = std::allocator<_Ty>>
_MV::const_pointer mse::mstd::vector< _Ty, _A >::const_iterator::operator-> ( ) const
inline

◆ operator<()

template<class _Ty , class _A = std::allocator<_Ty>>
bool mse::mstd::vector< _Ty, _A >::const_iterator::operator< ( const const_iterator _Right) const
inline

Definition at line 161 of file msemstdvector.h.

161 { return (msevector_ss_const_iterator_type() < _Right.msevector_ss_const_iterator_type()); }

References mse::mstd::vector< _Ty, _A >::const_iterator::msevector_ss_const_iterator_type().

◆ operator<=()

template<class _Ty , class _A = std::allocator<_Ty>>
bool mse::mstd::vector< _Ty, _A >::const_iterator::operator<= ( const const_iterator _Right) const
inline

Definition at line 162 of file msemstdvector.h.

162 { return (msevector_ss_const_iterator_type() <= _Right.msevector_ss_const_iterator_type()); }

References mse::mstd::vector< _Ty, _A >::const_iterator::msevector_ss_const_iterator_type().

◆ operator==()

template<class _Ty , class _A = std::allocator<_Ty>>
bool mse::mstd::vector< _Ty, _A >::const_iterator::operator== ( const const_iterator _Right_cref) const
inline

Definition at line 159 of file msemstdvector.h.

159 { return msevector_ss_const_iterator_type().operator==(_Right_cref.msevector_ss_const_iterator_type()); }

References mse::mstd::vector< _Ty, _A >::const_iterator::msevector_ss_const_iterator_type().

◆ operator>()

template<class _Ty , class _A = std::allocator<_Ty>>
bool mse::mstd::vector< _Ty, _A >::const_iterator::operator> ( const const_iterator _Right) const
inline

Definition at line 163 of file msemstdvector.h.

163 { return (msevector_ss_const_iterator_type() > _Right.msevector_ss_const_iterator_type()); }

References mse::mstd::vector< _Ty, _A >::const_iterator::msevector_ss_const_iterator_type().

◆ operator>=()

template<class _Ty , class _A = std::allocator<_Ty>>
bool mse::mstd::vector< _Ty, _A >::const_iterator::operator>= ( const const_iterator _Right) const
inline

Definition at line 164 of file msemstdvector.h.

164 { return (msevector_ss_const_iterator_type() >= _Right.msevector_ss_const_iterator_type()); }

References mse::mstd::vector< _Ty, _A >::const_iterator::msevector_ss_const_iterator_type().

◆ operator[]()

template<class _Ty , class _A = std::allocator<_Ty>>
_MV::const_reference mse::mstd::vector< _Ty, _A >::const_iterator::operator[] ( typename _MV::difference_type  _Off) const
inline

Definition at line 158 of file msemstdvector.h.

158 { return (*(*this + _Off)); }

◆ points_to_an_item()

template<class _Ty , class _A = std::allocator<_Ty>>
bool mse::mstd::vector< _Ty, _A >::const_iterator::points_to_an_item ( ) const
inline

◆ points_to_beginning()

template<class _Ty , class _A = std::allocator<_Ty>>
bool mse::mstd::vector< _Ty, _A >::const_iterator::points_to_beginning ( ) const
inline

◆ points_to_end_marker()

template<class _Ty , class _A = std::allocator<_Ty>>
bool mse::mstd::vector< _Ty, _A >::const_iterator::points_to_end_marker ( ) const
inline

◆ position()

template<class _Ty , class _A = std::allocator<_Ty>>
msev_size_t mse::mstd::vector< _Ty, _A >::const_iterator::position ( ) const
inline

◆ previous_item()

template<class _Ty , class _A = std::allocator<_Ty>>
_MV::const_reference mse::mstd::vector< _Ty, _A >::const_iterator::previous_item ( ) const
inline

◆ regress()

template<class _Ty , class _A = std::allocator<_Ty>>
void mse::mstd::vector< _Ty, _A >::const_iterator::regress ( typename _MV::difference_type  n)
inline

◆ reset()

template<class _Ty , class _A = std::allocator<_Ty>>
void mse::mstd::vector< _Ty, _A >::const_iterator::reset ( )
inline

◆ set_to_beginning()

template<class _Ty , class _A = std::allocator<_Ty>>
void mse::mstd::vector< _Ty, _A >::const_iterator::set_to_beginning ( )
inline

◆ set_to_const_item_pointer()

template<class _Ty , class _A = std::allocator<_Ty>>
void mse::mstd::vector< _Ty, _A >::const_iterator::set_to_const_item_pointer ( const const_iterator _Right_cref)
inline

◆ set_to_end_marker()

template<class _Ty , class _A = std::allocator<_Ty>>
void mse::mstd::vector< _Ty, _A >::const_iterator::set_to_end_marker ( )
inline

◆ set_to_next()

template<class _Ty , class _A = std::allocator<_Ty>>
void mse::mstd::vector< _Ty, _A >::const_iterator::set_to_next ( )
inline

◆ set_to_previous()

template<class _Ty , class _A = std::allocator<_Ty>>
void mse::mstd::vector< _Ty, _A >::const_iterator::set_to_previous ( )
inline

Friends And Related Function Documentation

◆ iterator

template<class _Ty , class _A = std::allocator<_Ty>>
friend class iterator
friend

Definition at line 175 of file msemstdvector.h.

◆ vector< _Ty, _A >

template<class _Ty , class _A = std::allocator<_Ty>>
friend class vector< _Ty, _A >
friend

Definition at line 173 of file msemstdvector.h.

Field Documentation

◆ m_msevector_cshptr

template<class _Ty , class _A = std::allocator<_Ty>>
std::shared_ptr<const _MV> mse::mstd::vector< _Ty, _A >::const_iterator::m_msevector_cshptr
private

◆ m_ss_const_iterator

template<class _Ty , class _A = std::allocator<_Ty>>
_MV::ss_const_iterator_type mse::mstd::vector< _Ty, _A >::const_iterator::m_ss_const_iterator
private

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