Mixin Builders

OrderedBuilder

template<typename Extractor = PairExtractor<0>, typename Compare = MinComparator, typename BinarySearch = std::false_type>
struct OrderedBuilder

Public Types

template<typename T>
using extractor = OrderedBuilder<T, Compare, BinarySearch>
template<typename T>
using compare = OrderedBuilder<Extractor, T, BinarySearch>
template<bool b>
using binary_search = OrderedBuilder<Extractor, Compare, std::conditional_t<b, std::true_type, std::false_type>>
template<typename KeyValue>
using build = Ordered<KeyValue, Extractor, Compare, BinarySearch>

IndexedBuilder

template<typename SizeType = size_t>
struct IndexedBuilder

Public Types

template<typename Value>
using build = Indexed<Value, SizeType>

SummedBuilder

template<typename Extractor = ValueExtractor>
struct SummedBuilder

Public Types

template<typename Value>
using build = Summed<Value, Extractor>

MinBuilder

template<typename Extractor = ValueExtractor, typename Comp = MinComparator>
struct MinBuilder

Public Types

template<typename T>
using compare = MinBuilder<Extractor, T>
template<typename T>
using extractor = MinBuilder<T, Comp>
template<typename Value>
using build = Min<Value, Extractor, Comp>

MaxBuilder

template<typename Extractor = ValueExtractor, typename Comp = MaxComparator>
struct MaxBuilder

Public Types

template<typename T>
using compare = MaxBuilder<Extractor, T>
template<typename T>
using extractor = MaxBuilder<T, Comp>
template<typename Value>
using build = Max<Value, Extractor, Comp>