radix_heap.hpp File Reference
#include <array>
#include <cassert>
#include <limits>
#include <type_traits>
#include <utility>
#include <vector>
#include <tlx/define/likely.hpp>
#include <tlx/math/clz.hpp>
#include <tlx/math/div_ceil.hpp>
#include <tlx/math/ffs.hpp>
#include <tlx/meta/log2.hpp>

Go to the source code of this file.


class  IntegerRank< Int >
 Compute the rank of an integer x (i.e. More...
class  BitArrayRecursive< Size, SizeIsAtmost64 >
 Internal implementation of BitArray; do not invoke directly. More...
class  BitArrayRecursive< Size, false >
class  BitArrayRecursive< Size, true >
class  BitArray< Size >
 A BitArray of fixed size supporting reading, setting, and clearing of individual bits. More...
class  BucketComputation< Radix, Int >
struct  PairKeyExtract< KeyType, DataType >
 Used as an adapter to implement RadixHeapPair on top of RadixHeap. More...
class  RadixHeap< ValueType, KeyExtract, KeyType, Radix >
 This class implements a monotonic integer min priority queue, more specific a multi-level radix heap. More...




template<typename KeyType , typename DataType , unsigned Radix = 8>
using RadixHeapPair = RadixHeap< std::pair< KeyType, DataType >, radix_heap_detail::PairKeyExtract< KeyType, DataType >, KeyType, Radix >
 This class is a variant of tlx::RadixHeap for data types which do not include the key directly. More...


template<typename DataType , unsigned Radix = 8, typename KeyExtract = void>
auto make_radix_heap (KeyExtract &&key_extract) -> RadixHeap< DataType, KeyExtract, decltype(key_extract(std::declval< DataType >())), Radix >
 Helper to easily derive type of RadixHeap for a pre-C++17 compiler. More...