HybridMapSelector< SMALL, LARGE, THRESHOLD, REVERSE_THRESHOLD > Class Template Reference

#include <hybridmap.h>

Detailed Description

template<typename SMALL, typename LARGE, Int THRESHOLD, Int REVERSE_THRESHOLD>
class maxon::HybridMapSelector< SMALL, LARGE, THRESHOLD, REVERSE_THRESHOLD >

This selector class is used for template parameters which select the map implementation to use. It will then instruct the template to use the HybridMap implementation. For example, RangeSet uses an underlying BurstTrieMap by default. If you want to use a HybridMap instead, you'd write

RangeSet<UInt, HybridMapSelector<ArrayMapSelector<>, BurstTrieMapSelector<>, 64, 16>> set;
Template Parameters
SMALLA map selector template to choose the map implementation to use for a small number of entries.
LARGEA map selector template to choose the map implementation to use for a large number of entries.
THRESHOLDWhen the number of entries reaches THRESHOLD, HybridMap switches to the LARGE implementation.
REVERSE_THRESHOLDWhen the number of entries falls below REVERSE_THRESHOLD, HybridMap switches back to the SMALL implementation. If this is negative, this will never happen.

Public Types

template<typename K , typename V >
using Type = HybridMap< K, V, SMALL, LARGE, THRESHOLD, REVERSE_THRESHOLD >
 

Member Typedef Documentation

◆ Type

using Type = HybridMap<K, V, SMALL, LARGE, THRESHOLD, REVERSE_THRESHOLD>