ManaPlus
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends
mse::msevector< _Ty, _A >::mm_const_iterator_type Class Reference

#include <msemsevector.h>

Inheritance diagram for mse::msevector< _Ty, _A >::mm_const_iterator_type:
mse::msevector< _Ty, _A >::random_access_const_iterator_base

Public Types

typedef base_class::const_iterator::iterator_category iterator_category
 
typedef base_class::const_iterator::value_type value_type
 
typedef msev_int difference_type
 
typedef difference_type distance_type
 
typedef base_class::const_iterator::pointer pointer
 
typedef base_class::const_iterator::pointer const_pointer
 
typedef base_class::const_iterator::reference reference
 
typedef base_class::const_reference const_reference
 

Public Member Functions

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 ()
 
mm_const_iterator_typeoperator++ ()
 
mm_const_iterator_type operator++ (int)
 
mm_const_iterator_typeoperator-- ()
 
mm_const_iterator_type operator-- (int)
 
void advance (difference_type n)
 
void regress (difference_type n)
 
mm_const_iterator_typeoperator+= (difference_type n)
 
mm_const_iterator_typeoperator-= (difference_type n)
 
mm_const_iterator_type operator+ (difference_type n) const
 
mm_const_iterator_type operator- (difference_type n) const
 
difference_type operator- (const mm_const_iterator_type &rhs) const
 
const_reference operator* () const
 
const_reference item () const
 
const_reference previous_item () const
 
const_pointer operator-> () const
 
const_reference operator[] (difference_type _Off) const
 
mm_const_iterator_typeoperator= (const mm_const_iterator_type &_Right_cref)
 
bool operator== (const mm_const_iterator_type &_Right_cref) const
 
bool operator!= (const mm_const_iterator_type &_Right_cref) const
 
bool operator< (const mm_const_iterator_type &_Right) const
 
bool operator<= (const mm_const_iterator_type &_Right) const
 
bool operator> (const mm_const_iterator_type &_Right) const
 
bool operator>= (const mm_const_iterator_type &_Right) const
 
void set_to_const_item_pointer (const mm_const_iterator_type &_Right_cref)
 
void invalidate_inclusive_range (msev_size_t index_of_first, msev_size_t index_of_last)
 
void shift_inclusive_range (msev_size_t index_of_first, msev_size_t index_of_last, msev_int shift)
 
msev_size_t position () const
 
 operator typename base_class::const_iterator () const
 
 mm_const_iterator_type (const _Myt &owner_cref)
 

Private Member Functions

 mm_const_iterator_type (const mm_const_iterator_type &src_cref)
 
void sync_const_iterator_to_index ()
 

Private Attributes

msev_bool m_points_to_an_item = false
 
msev_size_t m_index = 0
 
const _Mytm_owner_cptr = nullptr
 

Friends

class mm_iterator_set_type
 
class msevector< _Ty, _A >
 
class mm_iterator_type
 

Detailed Description

template<class _Ty, class _A = std::allocator<_Ty>>
class mse::msevector< _Ty, _A >::mm_const_iterator_type

Definition at line 729 of file msemsevector.h.

Member Typedef Documentation

◆ const_pointer

template<class _Ty , class _A = std::allocator<_Ty>>
typedef base_class::const_iterator::pointer mse::msevector< _Ty, _A >::mm_const_iterator_type::const_pointer

Definition at line 737 of file msemsevector.h.

◆ const_reference

template<class _Ty , class _A = std::allocator<_Ty>>
typedef base_class::const_reference mse::msevector< _Ty, _A >::mm_const_iterator_type::const_reference

Definition at line 739 of file msemsevector.h.

◆ difference_type

template<class _Ty , class _A = std::allocator<_Ty>>
typedef msev_int mse::msevector< _Ty, _A >::mm_const_iterator_type::difference_type

Definition at line 734 of file msemsevector.h.

◆ distance_type

template<class _Ty , class _A = std::allocator<_Ty>>
typedef difference_type mse::msevector< _Ty, _A >::mm_const_iterator_type::distance_type

Definition at line 735 of file msemsevector.h.

◆ iterator_category

template<class _Ty , class _A = std::allocator<_Ty>>
typedef base_class::const_iterator::iterator_category mse::msevector< _Ty, _A >::mm_const_iterator_type::iterator_category

Definition at line 731 of file msemsevector.h.

◆ pointer

template<class _Ty , class _A = std::allocator<_Ty>>
typedef base_class::const_iterator::pointer mse::msevector< _Ty, _A >::mm_const_iterator_type::pointer

Definition at line 736 of file msemsevector.h.

◆ reference

template<class _Ty , class _A = std::allocator<_Ty>>
typedef base_class::const_iterator::reference mse::msevector< _Ty, _A >::mm_const_iterator_type::reference

Definition at line 738 of file msemsevector.h.

◆ value_type

template<class _Ty , class _A = std::allocator<_Ty>>
typedef base_class::const_iterator::value_type mse::msevector< _Ty, _A >::mm_const_iterator_type::value_type

Definition at line 732 of file msemsevector.h.

Constructor & Destructor Documentation

◆ mm_const_iterator_type() [1/2]

template<class _Ty , class _A = std::allocator<_Ty>>
mse::msevector< _Ty, _A >::mm_const_iterator_type::mm_const_iterator_type ( const _Myt owner_cref)
inline

◆ mm_const_iterator_type() [2/2]

template<class _Ty , class _A = std::allocator<_Ty>>
mse::msevector< _Ty, _A >::mm_const_iterator_type::mm_const_iterator_type ( const mm_const_iterator_type src_cref)
inlineprivate

Definition at line 913 of file msemsevector.h.

913 : m_owner_cptr(src_cref.m_owner_cptr) { (*this) = src_cref; }

Member Function Documentation

◆ advance()

template<class _Ty , class _A = std::allocator<_Ty>>
void mse::msevector< _Ty, _A >::mm_const_iterator_type::advance ( difference_type  n)
inline

Definition at line 795 of file msemsevector.h.

795  {
796  auto new_index = msev_int(m_index) + n;
797  if ((0 > new_index) || (m_owner_cptr->size() < msev_size_t(new_index))) {
798  MSE_THROW(msevector_range_error("index out of range - void advance(difference_type n) - mm_const_iterator_type - msevector"));
799  }
800  else {
801  m_index = msev_size_t(new_index);
802  if (m_owner_cptr->size() <= m_index) {
803  (*this).m_points_to_an_item = false;
804  }
805  else {
806  (*this).m_points_to_an_item = true;
807  }
808  }
809  }
#define MSE_THROW(x)
Definition: msemsevector.h:44
long int msev_int
Definition: msemsevector.h:62
size_t msev_size_t
Definition: msemsevector.h:61

References mse::msevector< _Ty, _A >::mm_const_iterator_type::m_index, mse::msevector< _Ty, _A >::mm_const_iterator_type::m_owner_cptr, and MSE_THROW.

Referenced by mse::msevector< _Ty, _A >::cipointer::advance(), mse::msevector< _Ty, _A >::ipointer::operator cipointer(), mse::msevector< _Ty, _A >::mm_iterator_type::operator mm_const_iterator_type(), mse::msevector< _Ty, _A >::mm_const_iterator_type::operator+(), mse::msevector< _Ty, _A >::mm_const_iterator_type::operator+=(), and mse::msevector< _Ty, _A >::mm_const_iterator_type::regress().

◆ has_next()

template<class _Ty , class _A = std::allocator<_Ty>>
bool mse::msevector< _Ty, _A >::mm_const_iterator_type::has_next ( ) const
inline

◆ has_next_item_or_end_marker()

template<class _Ty , class _A = std::allocator<_Ty>>
bool mse::msevector< _Ty, _A >::mm_const_iterator_type::has_next_item_or_end_marker ( ) const
inline

◆ has_previous()

template<class _Ty , class _A = std::allocator<_Ty>>
bool mse::msevector< _Ty, _A >::mm_const_iterator_type::has_previous ( ) const
inline

◆ invalidate_inclusive_range()

template<class _Ty , class _A = std::allocator<_Ty>>
void mse::msevector< _Ty, _A >::mm_const_iterator_type::invalidate_inclusive_range ( msev_size_t  index_of_first,
msev_size_t  index_of_last 
)
inline

Definition at line 884 of file msemsevector.h.

884  {
885  if ((index_of_first <= (*this).m_index) && (index_of_last >= (*this).m_index)) {
886  (*this).reset();
887  }
888  }

◆ item()

template<class _Ty , class _A = std::allocator<_Ty>>
const_reference mse::msevector< _Ty, _A >::mm_const_iterator_type::item ( ) const
inline

Definition at line 829 of file msemsevector.h.

829 { return operator*(); }
const_reference operator*() const
Definition: msemsevector.h:826

References mse::msevector< _Ty, _A >::mm_const_iterator_type::operator*().

◆ operator typename base_class::const_iterator()

template<class _Ty , class _A = std::allocator<_Ty>>
mse::msevector< _Ty, _A >::mm_const_iterator_type::operator typename base_class::const_iterator ( ) const
inline

Definition at line 904 of file msemsevector.h.

904  {
905  typename base_class::const_iterator retval = (*m_owner_cptr).cbegin();
906  retval += msev_as_a_size_t(m_index);
907  return retval;
908  }
size_t msev_as_a_size_t
Definition: msemsevector.h:64

References mse::msevector< _Ty, _A >::mm_const_iterator_type::m_index.

◆ operator!=()

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

Definition at line 873 of file msemsevector.h.

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

◆ operator*()

template<class _Ty , class _A = std::allocator<_Ty>>
const_reference mse::msevector< _Ty, _A >::mm_const_iterator_type::operator* ( ) const
inline

◆ operator+()

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

Definition at line 813 of file msemsevector.h.

813  {
814  mm_const_iterator_type retval(*this);
815  retval = (*this);
816  retval.advance(n);
817  return retval;
818  }
mm_const_iterator_type(const _Myt &owner_cref)
Definition: msemsevector.h:911

References mse::msevector< _Ty, _A >::mm_const_iterator_type::advance().

◆ operator++() [1/2]

template<class _Ty , class _A = std::allocator<_Ty>>
mm_const_iterator_type& mse::msevector< _Ty, _A >::mm_const_iterator_type::operator++ ( )
inline

Definition at line 791 of file msemsevector.h.

791 { (*this).set_to_next(); return (*this); }

References mse::msevector< _Ty, _A >::mm_const_iterator_type::set_to_next().

◆ operator++() [2/2]

template<class _Ty , class _A = std::allocator<_Ty>>
mm_const_iterator_type mse::msevector< _Ty, _A >::mm_const_iterator_type::operator++ ( int  )
inline

Definition at line 792 of file msemsevector.h.

792 { mm_const_iterator_type _Tmp = *this; ++*this; return (_Tmp); }

◆ operator+=()

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

Definition at line 811 of file msemsevector.h.

811 { (*this).advance(n); return (*this); }

References mse::msevector< _Ty, _A >::mm_const_iterator_type::advance().

◆ operator-() [1/2]

template<class _Ty , class _A = std::allocator<_Ty>>
difference_type mse::msevector< _Ty, _A >::mm_const_iterator_type::operator- ( const mm_const_iterator_type rhs) const
inline

Definition at line 820 of file msemsevector.h.

820  {
821  if ((rhs.m_owner_cptr) != ((*this).m_owner_cptr)) { MSE_THROW(msevector_range_error("invalid argument - difference_type operator-(const mm_const_iterator_type &rhs) const - msevector::mm_const_iterator_type")); }
822  auto retval = difference_type((*this).m_index) - difference_type(rhs.m_index);
823  assert(difference_type(m_owner_cptr->size()) >= retval);
824  return retval;
825  }

References mse::msevector< _Ty, _A >::mm_const_iterator_type::m_index, mse::msevector< _Ty, _A >::mm_const_iterator_type::m_owner_cptr, and MSE_THROW.

◆ operator-() [2/2]

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

Definition at line 819 of file msemsevector.h.

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

◆ operator--() [1/2]

template<class _Ty , class _A = std::allocator<_Ty>>
mm_const_iterator_type& mse::msevector< _Ty, _A >::mm_const_iterator_type::operator-- ( )
inline

Definition at line 793 of file msemsevector.h.

793 { (*this).set_to_previous(); return (*this); }

References mse::msevector< _Ty, _A >::mm_const_iterator_type::set_to_previous().

◆ operator--() [2/2]

template<class _Ty , class _A = std::allocator<_Ty>>
mm_const_iterator_type mse::msevector< _Ty, _A >::mm_const_iterator_type::operator-- ( int  )
inline

Definition at line 794 of file msemsevector.h.

794 { mm_const_iterator_type _Tmp = *this; --*this; return (_Tmp); }

◆ operator-=()

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

Definition at line 812 of file msemsevector.h.

812 { (*this).regress(n); return (*this); }

References mse::msevector< _Ty, _A >::mm_const_iterator_type::regress().

◆ operator->()

template<class _Ty , class _A = std::allocator<_Ty>>
const_pointer mse::msevector< _Ty, _A >::mm_const_iterator_type::operator-> ( ) const
inline

◆ operator<()

template<class _Ty , class _A = std::allocator<_Ty>>
bool mse::msevector< _Ty, _A >::mm_const_iterator_type::operator< ( const mm_const_iterator_type _Right) const
inline

Definition at line 874 of file msemsevector.h.

874  {
875  if (((*this).m_owner_cptr) != (_Right.m_owner_cptr)) { MSE_THROW(msevector_range_error("invalid argument - mm_const_iterator_type& operator<(const mm_const_iterator_type& _Right) - mm_const_iterator_type - msevector")); }
876  return (m_index < _Right.m_index);
877  }

References mse::msevector< _Ty, _A >::mm_const_iterator_type::m_index, mse::msevector< _Ty, _A >::mm_const_iterator_type::m_owner_cptr, and MSE_THROW.

◆ operator<=()

template<class _Ty , class _A = std::allocator<_Ty>>
bool mse::msevector< _Ty, _A >::mm_const_iterator_type::operator<= ( const mm_const_iterator_type _Right) const
inline

Definition at line 878 of file msemsevector.h.

878 { return (((*this) < _Right) || (_Right == (*this))); }

◆ operator=()

template<class _Ty , class _A = std::allocator<_Ty>>
mm_const_iterator_type& mse::msevector< _Ty, _A >::mm_const_iterator_type::operator= ( const mm_const_iterator_type _Right_cref)
inline

Definition at line 857 of file msemsevector.h.

858  {
859  if (((*this).m_owner_cptr) == (_Right_cref.m_owner_cptr)) {
860  assert((*this).m_owner_cptr->size() >= _Right_cref.m_index);
861  (*this).m_points_to_an_item = _Right_cref.m_points_to_an_item;
862  (*this).m_index = _Right_cref.m_index;
863  }
864  else {
865  MSE_THROW(msevector_range_error("doesn't seem to be a valid assignment value - mm_const_iterator_type& operator=(const typename base_class::iterator& _Right_cref) - mm_const_iterator_type - msevector"));
866  }
867  return (*this);
868  }

References mse::msevector< _Ty, _A >::mm_const_iterator_type::m_index, mse::msevector< _Ty, _A >::mm_const_iterator_type::m_owner_cptr, mse::msevector< _Ty, _A >::mm_const_iterator_type::m_points_to_an_item, and MSE_THROW.

◆ operator==()

template<class _Ty , class _A = std::allocator<_Ty>>
bool mse::msevector< _Ty, _A >::mm_const_iterator_type::operator== ( const mm_const_iterator_type _Right_cref) const
inline

Definition at line 869 of file msemsevector.h.

869  {
870  if (((*this).m_owner_cptr) != (_Right_cref.m_owner_cptr)) { MSE_THROW(msevector_range_error("invalid argument - mm_const_iterator_type& operator==(const mm_const_iterator_type& _Right) - mm_const_iterator_type - msevector")); }
871  return (_Right_cref.m_index == m_index);
872  }

References mse::msevector< _Ty, _A >::mm_const_iterator_type::m_index, mse::msevector< _Ty, _A >::mm_const_iterator_type::m_owner_cptr, and MSE_THROW.

◆ operator>()

template<class _Ty , class _A = std::allocator<_Ty>>
bool mse::msevector< _Ty, _A >::mm_const_iterator_type::operator> ( const mm_const_iterator_type _Right) const
inline

Definition at line 879 of file msemsevector.h.

879 { return (!((*this) <= _Right)); }

◆ operator>=()

template<class _Ty , class _A = std::allocator<_Ty>>
bool mse::msevector< _Ty, _A >::mm_const_iterator_type::operator>= ( const mm_const_iterator_type _Right) const
inline

Definition at line 880 of file msemsevector.h.

880 { return (!((*this) < _Right)); }

◆ operator[]()

template<class _Ty , class _A = std::allocator<_Ty>>
const_reference mse::msevector< _Ty, _A >::mm_const_iterator_type::operator[] ( difference_type  _Off) const
inline

Definition at line 836 of file msemsevector.h.

836 { return (*m_owner_cptr).at(msev_as_a_size_t(difference_type(m_index) + _Off)); }

References mse::msevector< _Ty, _A >::mm_const_iterator_type::m_index.

◆ points_to_an_item()

template<class _Ty , class _A = std::allocator<_Ty>>
bool mse::msevector< _Ty, _A >::mm_const_iterator_type::points_to_an_item ( ) const
inline

◆ points_to_beginning()

template<class _Ty , class _A = std::allocator<_Ty>>
bool mse::msevector< _Ty, _A >::mm_const_iterator_type::points_to_beginning ( ) const
inline

Definition at line 750 of file msemsevector.h.

750  {
751  if (0 == m_index) { return true; }
752  else { return false; }
753  }

References mse::msevector< _Ty, _A >::mm_const_iterator_type::m_index.

Referenced by mse::msevector< _Ty, _A >::mm_const_iterator_type::has_previous(), and mse::msevector< _Ty, _A >::cipointer::points_to_beginning().

◆ points_to_end_marker()

template<class _Ty , class _A = std::allocator<_Ty>>
bool mse::msevector< _Ty, _A >::mm_const_iterator_type::points_to_end_marker ( ) const
inline

◆ position()

template<class _Ty , class _A = std::allocator<_Ty>>
msev_size_t mse::msevector< _Ty, _A >::mm_const_iterator_type::position ( ) const
inline

Definition at line 901 of file msemsevector.h.

901  {
902  return m_index;
903  }

References mse::msevector< _Ty, _A >::mm_const_iterator_type::m_index.

Referenced by mse::msevector< _Ty, _A >::cipointer::position().

◆ previous_item()

template<class _Ty , class _A = std::allocator<_Ty>>
const_reference mse::msevector< _Ty, _A >::mm_const_iterator_type::previous_item ( ) const
inline

◆ regress()

template<class _Ty , class _A = std::allocator<_Ty>>
void mse::msevector< _Ty, _A >::mm_const_iterator_type::regress ( difference_type  n)
inline

◆ reset()

template<class _Ty , class _A = std::allocator<_Ty>>
void mse::msevector< _Ty, _A >::mm_const_iterator_type::reset ( )
inline

◆ set_to_beginning()

template<class _Ty , class _A = std::allocator<_Ty>>
void mse::msevector< _Ty, _A >::mm_const_iterator_type::set_to_beginning ( )
inline

◆ set_to_const_item_pointer()

template<class _Ty , class _A = std::allocator<_Ty>>
void mse::msevector< _Ty, _A >::mm_const_iterator_type::set_to_const_item_pointer ( const mm_const_iterator_type _Right_cref)
inline

Definition at line 881 of file msemsevector.h.

881  {
882  (*this) = _Right_cref;
883  }

Referenced by mse::msevector< _Ty, _A >::cipointer::set_to_const_item_pointer().

◆ set_to_end_marker()

template<class _Ty , class _A = std::allocator<_Ty>>
void mse::msevector< _Ty, _A >::mm_const_iterator_type::set_to_end_marker ( )
inline

◆ set_to_next()

template<class _Ty , class _A = std::allocator<_Ty>>
void mse::msevector< _Ty, _A >::mm_const_iterator_type::set_to_next ( )
inline

Definition at line 770 of file msemsevector.h.

770  {
771  if (points_to_an_item()) {
772  m_index += 1;
773  if (m_owner_cptr->size() <= m_index) {
774  (*this).m_points_to_an_item = false;
775  if (m_owner_cptr->size() < m_index) { assert(false); reset(); }
776  }
777  }
778  else {
779  MSE_THROW(msevector_range_error("attempt to use invalid const_item_pointer - void set_to_next() - mm_const_iterator_type - msevector"));
780  }
781  }

References mse::msevector< _Ty, _A >::mm_const_iterator_type::m_index, mse::msevector< _Ty, _A >::mm_const_iterator_type::m_owner_cptr, MSE_THROW, mse::msevector< _Ty, _A >::mm_const_iterator_type::points_to_an_item(), and mse::msevector< _Ty, _A >::mm_const_iterator_type::reset().

Referenced by mse::msevector< _Ty, _A >::mm_const_iterator_type::operator++(), and mse::msevector< _Ty, _A >::cipointer::set_to_next().

◆ set_to_previous()

template<class _Ty , class _A = std::allocator<_Ty>>
void mse::msevector< _Ty, _A >::mm_const_iterator_type::set_to_previous ( )
inline

Definition at line 782 of file msemsevector.h.

782  {
783  if (has_previous()) {
784  m_index -= 1;
785  (*this).m_points_to_an_item = true;
786  }
787  else {
788  MSE_THROW(msevector_range_error("attempt to use invalid const_item_pointer - void set_to_previous() - mm_const_iterator_type - msevector"));
789  }
790  }

References mse::msevector< _Ty, _A >::mm_const_iterator_type::has_previous(), mse::msevector< _Ty, _A >::mm_const_iterator_type::m_index, and MSE_THROW.

Referenced by mse::msevector< _Ty, _A >::mm_const_iterator_type::operator--(), and mse::msevector< _Ty, _A >::cipointer::set_to_previous().

◆ shift_inclusive_range()

template<class _Ty , class _A = std::allocator<_Ty>>
void mse::msevector< _Ty, _A >::mm_const_iterator_type::shift_inclusive_range ( msev_size_t  index_of_first,
msev_size_t  index_of_last,
msev_int  shift 
)
inline

Definition at line 889 of file msemsevector.h.

889  {
890  if ((index_of_first <= (*this).m_index) && (index_of_last >= (*this).m_index)) {
891  auto new_index = (*this).m_index + shift;
892  if ((0 > new_index) || (m_owner_cptr->size() < new_index)) {
893  MSE_THROW(msevector_range_error("void shift_inclusive_range() - mm_const_iterator_type - msevector"));
894  }
895  else {
896  (*this).m_index = msev_size_t(new_index);
897  (*this).sync_const_iterator_to_index();
898  }
899  }
900  }

References mse::msevector< _Ty, _A >::mm_const_iterator_type::m_owner_cptr, and MSE_THROW.

◆ sync_const_iterator_to_index()

template<class _Ty , class _A = std::allocator<_Ty>>
void mse::msevector< _Ty, _A >::mm_const_iterator_type::sync_const_iterator_to_index ( )
inlineprivate

Definition at line 914 of file msemsevector.h.

914  {
915  assert(m_owner_cptr->size() >= (*this).m_index);
916  }

References mse::msevector< _Ty, _A >::mm_const_iterator_type::m_owner_cptr.

Friends And Related Function Documentation

◆ mm_iterator_set_type

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

Definition at line 920 of file msemsevector.h.

◆ mm_iterator_type

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

Definition at line 922 of file msemsevector.h.

◆ msevector< _Ty, _A >

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

Definition at line 920 of file msemsevector.h.

Field Documentation

◆ m_index

template<class _Ty , class _A = std::allocator<_Ty>>
msev_size_t mse::msevector< _Ty, _A >::mm_const_iterator_type::m_index = 0
private

◆ m_owner_cptr

template<class _Ty , class _A = std::allocator<_Ty>>
const _Myt* mse::msevector< _Ty, _A >::mm_const_iterator_type::m_owner_cptr = nullptr
private

◆ m_points_to_an_item

template<class _Ty , class _A = std::allocator<_Ty>>
msev_bool mse::msevector< _Ty, _A >::mm_const_iterator_type::m_points_to_an_item = false
private

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