Thrill  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Containers and Data Structures
+ Collaboration diagram for Containers and Data Structures:

Modules

 B+ Trees
 
 Loser Trees
 

Classes

class  LruCacheMap< Key, Value, Alloc >
 This is an expected O(1) LRU cache which contains a map of (key -> value) elements. More...
 
class  LruCacheSet< Key, Alloc >
 This is an expected O(1) LRU cache which contains a set of key-only elements. More...
 
class  RadixHeap< ValueType, KeyExtract, KeyType, Radix >
 This class implements a monotonic integer min priority queue, more specific a multi-level radix heap. More...
 
class  RingBuffer< Type, Allocator >
 A ring (circular) buffer of static (non-growing) size. More...
 
class  SimpleVector< ValueType, Mode >
 Simpler non-growing vector without initialization. More...
 

Typedefs

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 T >
using simple_vector = SimpleVector< T >
 make template alias due to similarity with std::vector More...
 

Enumerations

enum  SimpleVectorMode { Normal, NoInitButDestroy, NoInitNoDestroy }
 enum class to select SimpleVector object initialization More...
 

Functions

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...
 

Detailed Description

Containers and Data Structures

Typedef Documentation

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.

Hence each entry is stored as an (Key,Value)-Pair implemented with std::pair.

Definition at line 671 of file radix_heap.hpp.

using simple_vector = SimpleVector<T>

make template alias due to similarity with std::vector

Definition at line 222 of file simple_vector.hpp.

Enumeration Type Documentation

enum SimpleVectorMode
strong

enum class to select SimpleVector object initialization

Enumerator
Normal 

Initialize objects at allocation and destroy on deallocation.

NoInitButDestroy 

Do not initialize objects at allocation, but destroy on deallocation. Thus, all objects must be constructed from outside.

NoInitNoDestroy 

Do not initialize objects at allocation and do not destroy them.

Definition at line 28 of file simple_vector.hpp.

Function Documentation

auto tlx::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.

Refer to RadixHeap for description of parameters.

Definition at line 651 of file radix_heap.hpp.