HybridMap< K, V, SMALL, LARGE, THRESHOLD, REVERSE_THRESHOLD >::IteratorTemplate< CONSTITERATOR, SUPER > Class Template Reference

#include <hybridmap.h>

Inheritance diagram for HybridMap< K, V, SMALL, LARGE, THRESHOLD, REVERSE_THRESHOLD >::IteratorTemplate< CONSTITERATOR, SUPER >:

详细描述

template<typename K, typename V, typename SMALL, typename LARGE, Int THRESHOLD, Int REVERSE_THRESHOLD>
template<Bool CONSTITERATOR, template< Bool > class SUPER>
class maxon::HybridMap< K, V, SMALL, LARGE, THRESHOLD, REVERSE_THRESHOLD >::IteratorTemplate< CONSTITERATOR, SUPER >

Iterator implementation for HybridMap . Besides the usual iterator operations, ArrayMap iterators support the foreach protocol and (depending on the underlying implementations) Erase and ChangeKey functions.

Public Types

using  Super = ForEachIterator < IteratorTemplate < CONSTITERATOR, SUPER >, SUPER< CONSTITERATOR > >
-  Public Types inherited from ForEachIterator< IteratorTemplate< CONSTITERATOR, SUPER >, SUPER< CONSTITERATOR > >
using  IsForEachIterator = std::true_type

公共成员函数

  IteratorTemplate ()
MAXON_IMPLICIT   IteratorTemplate (const typename Super::SmallIterator & src )
MAXON_IMPLICIT   IteratorTemplate (const typename Super::LargeIterator & src )
  IteratorTemplate (const IteratorTemplate & src )
  IteratorTemplate (typename Super::CollectionType &m, Int s=0)
  IteratorTemplate (const typename Super::SmallIterator & src , const SmallType &m)
  IteratorTemplate (const typename Super::LargeIterator & src , const LargeType &m)
template<typename ENTRY >
  IteratorTemplate (ENTRY * src , typename ConstIf < SmallType , CONSTITERATOR >::type &m)
template<typename ENTRY >
  IteratorTemplate (ENTRY * src , typename ConstIf < LargeType , CONSTITERATOR >::type &m)
  MAXON_OPERATOR_COPY_ASSIGNMENT ( IteratorTemplate )
template<Bool C, template< Bool > class S, typename = typename std::enable_if<!CONSTITERATOR || C>::type>
  operator IteratorTemplate< C, S > & ()
IteratorTemplate operator++ ()
IteratorTemplate operator-- ()
-  Public Member Functions inherited from ForEachIterator< IteratorTemplate< CONSTITERATOR, SUPER >, SUPER< CONSTITERATOR > >
MAXON_ATTRIBUTE_FORCE_INLINE   ForEachIterator (ARGS &&... args)
String   ToString (const FormatStatement *formatStatement=nullptr)
IteratorTemplate< CONSTITERATOR, SUPER > &  Find (const T &v)
Int   FindIndex (const T &v)
MAXON_ATTRIBUTE_FORCE_INLINE Bool   Contains (const T &v)
MAXON_ATTRIBUTE_FORCE_INLINE Wrapper  begin ()

Additional Inherited Members

-  Static Public Member Functions inherited from ForEachIterator< IteratorTemplate< CONSTITERATOR, SUPER >, SUPER< CONSTITERATOR > >
static MAXON_ATTRIBUTE_FORCE_INLINE   PRIVATE_MAXON_RBF_SENTINEL (Wrapper) end()

Member Typedef Documentation

◆  Super

using Super = ForEachIterator < IteratorTemplate <CONSTITERATOR, SUPER>, SUPER<CONSTITERATOR> >

构造函数 & 析构函数文档编制

◆  IteratorTemplate() [1/9]

IteratorTemplate ( )

◆  IteratorTemplate() [2/9]

MAXON_IMPLICIT IteratorTemplate ( const typename Super::SmallIterator &  src )

◆  IteratorTemplate() [3/9]

MAXON_IMPLICIT IteratorTemplate ( const typename Super::LargeIterator &  src )

◆  IteratorTemplate() [4/9]

IteratorTemplate ( const IteratorTemplate < CONSTITERATOR, SUPER > &  src )

◆  IteratorTemplate() [5/9]

IteratorTemplate ( typename Super::CollectionType &  m ,
Int   s = 0  
)
explicit

◆  IteratorTemplate() [6/9]

IteratorTemplate ( const typename Super::SmallIterator &  src ,
const SmallType m  
)

◆  IteratorTemplate() [7/9]

IteratorTemplate ( const typename Super::LargeIterator &  src ,
const LargeType m  
)

◆  IteratorTemplate() [8/9]

IteratorTemplate ( ENTRY *  src ,
typename ConstIf < SmallType , CONSTITERATOR >::type &  m  
)
explicit

◆  IteratorTemplate() [9/9]

IteratorTemplate ( ENTRY *  src ,
typename ConstIf < LargeType , CONSTITERATOR >::type &  m  
)
explicit

成员函数文档编制

◆  MAXON_OPERATOR_COPY_ASSIGNMENT()

MAXON_OPERATOR_COPY_ASSIGNMENT ( IteratorTemplate < CONSTITERATOR, SUPER >  )

◆  operator IteratorTemplate< C, S > &()

operator IteratorTemplate < C, S > & ( )

◆  operator++()

IteratorTemplate & operator++ ( )

◆  operator--()

IteratorTemplate & operator-- ( )