Open Search
    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>