BurstTrieMap< K, V, GROUP_BITS, BUCKET_SIZE, SORT, POOL >::IteratorTemplate< CONSTITERATOR, SUPER > Class Template Reference

#include <bursttriemap.h>

Inheritance diagram for BurstTrieMap< K, V, GROUP_BITS, BUCKET_SIZE, SORT, POOL >::IteratorTemplate< CONSTITERATOR, SUPER >:

Detailed Description

template<typename K, typename V, Int GROUP_BITS = 4, Int BUCKET_SIZE = 16, BURSTTRIE_SORT SORT = BURSTTRIE_SORT::LINEAR_SEARCH, template< typename, typename > class POOL = PointerBurstTriePool>
template<Bool CONSTITERATOR, template< Bool > class SUPER>
class maxon::BurstTrieMap< K, V, GROUP_BITS, BUCKET_SIZE, SORT, POOL >::IteratorTemplate< CONSTITERATOR, SUPER >

Iterator implementation for BurstTrieMap. Besides the usual iterator operations, BurstTrieMap iterators support the foreach protocol and Erase and ChangeKey functions. Unless the sorting mode is BURSTTRIE_SORT::NONE, the iterator will point to the map entries in ascending order of the keys if you use ++ on the iterator.

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
 

Public Member Functions

 IteratorTemplate ()
 
 IteratorTemplate (typename Super::CollectionType &m, Int s=0)
 
 IteratorTemplate (const IteratorTemplate &src)
 
 MAXON_OPERATOR_COPY_ASSIGNMENT (IteratorTemplate)
 
template<Bool C, template< Bool > class S, typename = typename std::enable_if<!CONSTITERATOR || C>::type>
 operator IteratorTemplate< C, S > & ()
 
IteratorTemplateoperator++ ()
 
IteratorTemplate operator++ (int)
 
IteratorTemplateoperator-- ()
 
IteratorTemplate operator-- (int)
 
- 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> >

Constructor & Destructor Documentation

◆ IteratorTemplate() [1/3]

◆ IteratorTemplate() [2/3]

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

◆ IteratorTemplate() [3/3]

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

Member Function Documentation

◆ MAXON_OPERATOR_COPY_ASSIGNMENT()

MAXON_OPERATOR_COPY_ASSIGNMENT ( IteratorTemplate< CONSTITERATOR, SUPER >  )

◆ operator IteratorTemplate< C, S > &()

operator IteratorTemplate< C, S > & ( )

◆ operator++() [1/2]

IteratorTemplate& operator++ ( )

◆ operator++() [2/2]

IteratorTemplate operator++ ( int  )

◆ operator--() [1/2]

IteratorTemplate& operator-- ( )

◆ operator--() [2/2]

IteratorTemplate operator-- ( int  )