souffle  2.0.2-371-g6315b36
Data Structures | Namespaces | Macros | Typedefs | Functions
Brie.h File Reference
#include "souffle/RamTypes.h"
#include "souffle/utility/CacheUtil.h"
#include "souffle/utility/ContainerUtil.h"
#include "souffle/utility/MiscUtil.h"
#include "souffle/utility/StreamUtil.h"
#include "souffle/utility/span.h"
#include <algorithm>
#include <atomic>
#include <bitset>
#include <cassert>
#include <climits>
#include <cstdint>
#include <cstring>
#include <iostream>
#include <iterator>
#include <limits>
#include <type_traits>
#include <utility>
#include <vector>
Include dependency graph for Brie.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

union  souffle::SparseArray< T, BITS, merge_op, copy_op >::Cell
 The value stored in a single cell of a inner or leaf node. More...
 
struct  souffle::detail::brie::default_factory< T >
 A templated functor to obtain default values for unspecified elements of sparse array instances. More...
 
struct  souffle::detail::brie::default_merge< T >
 A operation to be utilized by the sparse map when merging elements associated to different values. More...
 
struct  souffle::SparseArray< T, BITS, merge_op, copy_op >::FirstInfoSnapshot
 A struct summarizing the state of the first node reference. More...
 
struct  souffle::detail::brie::fix_binding< Len, Pos, Dim >
 A functor initializing an iterator upon creation to reference the first element exhibiting a given prefix within a given Trie. More...
 
struct  souffle::detail::brie::fix_binding< 0, Dim, Dim >
 
struct  souffle::detail::brie::fix_binding< 0, Pos, Dim >
 
struct  souffle::detail::brie::fix_first< Pos, Dim >
 A functor initializing an iterator upon creation to reference the first element in the associated Trie. More...
 
struct  souffle::detail::brie::fix_first< Dim, Dim >
 
struct  souffle::detail::brie::fix_first_nested< Dim >
 
struct  souffle::detail::brie::fix_lower_bound< Dim >
 A functor initializing an iterator upon creation to reference the first element within a given Trie being not less than a given value . More...
 
struct  souffle::detail::brie::fix_upper_bound< Dim >
 A functor initializing an iterator upon creation to reference the first element within a given Trie being greater than a given value . More...
 
struct  souffle::detail::brie::forward_non_output_iterator_traits< A >
 
struct  souffle::detail::brie::get_nested_iter_core< Level >
 A functor extracting a reference to a nested iterator core from an enclosing iterator core. More...
 
struct  souffle::detail::brie::get_nested_iter_core< 0 >
 
struct  souffle::detail::brie::TrieBase< Dim, Derived >::hint_statistics
 
struct  souffle::detail::brie::identity< T >
 A functor representing the identity function. More...
 
struct  souffle::detail::brie::TrieTypes< 1u >::iterator_core
 The iterator core of this level contributing to the construction of a composed trie iterator. More...
 
struct  souffle::detail::brie::TrieTypes< Dim >::iterator_core
 
struct  std::iterator_traits< SparseArrayIter< A > >
 
struct  std::iterator_traits< SparseBitMapIter< A > >
 
struct  std::iterator_traits< TrieIterator< A, IterCore > >
 
struct  souffle::SparseBitMap< BITS >::merge_op
 
struct  souffle::detail::brie::TrieTypes< Dim >::nested_trie_cloner
 
struct  souffle::detail::brie::TrieTypes< Dim >::nested_trie_merger
 
struct  souffle::SparseArray< T, BITS, merge_op, copy_op >::Node
 The node type of the internally maintained tree. More...
 
struct  souffle::detail::brie::TrieTypes< Dim >::op_context
 
struct  souffle::SparseArray< T, BITS, merge_op, copy_op >::op_context
 A struct to be utilized as a local, temporal context by client code to speed up the execution of various operations (optional parameter). More...
 
struct  souffle::SparseArray< T, BITS, merge_op, copy_op >::RootInfo
 A struct describing all the information required by the container class to manage the wrapped up tree. More...
 
struct  souffle::SparseArray< T, BITS, merge_op, copy_op >::RootInfoSnapshot
 A struct to cover a snapshot of the root node state. More...
 
class  souffle::SparseArray< T, BITS, merge_op, copy_op >
 A sparse array simulates an array associating to every element of uint32_t an element of a generic type T. More...
 
struct  souffle::detail::brie::SparseArrayIter< SparseArray >
 Iterator type for souffle::SparseArray. More...
 
class  souffle::SparseBitMap< BITS >
 A sparse bit-map is a bit map virtually assigning a bit value to every value if the uint32_t domain. More...
 
class  souffle::detail::brie::SparseBitMapIter< SparseBitMap >
 Iterator type for souffle::SparseArray. More...
 
class  souffle::Trie< Dim >
 
class  souffle::Trie< Dim >
 
class  souffle::Trie< 1u >
 A template specialization for tries representing a set. More...
 
class  souffle::detail::brie::TrieBase< Dim, Derived >
 A base class for the Trie implementation allowing various specializations of the Trie template to inherit common functionality. More...
 
class  souffle::detail::brie::TrieIterator< Value, IterCore >
 An iterator over the stored entries. More...
 
struct  souffle::detail::brie::TrieTypes< Dim >
 
struct  souffle::detail::brie::TrieTypes< Dim >
 
struct  souffle::detail::brie::TrieTypes< Dim >
 
struct  souffle::detail::brie::TrieTypes< 1u >
 

Namespaces

 souffle
 
 souffle::detail
 
 souffle::detail::brie
 
 std
 

Macros

#define BRIE_OVERLOAD_INIT_LIST(fn, constness)
 

Typedefs

using souffle::detail::brie::brie_element_type = RamDomain
 

Functions

template<typename A , size_t arity>
auto souffle::detail::brie::copy (span< A, arity > s)
 
template<size_t offset, typename A , size_t arity>
auto souffle::detail::brie::drop (span< A, arity > s) -> std::enable_if_t< offset<=arity, span< A, arity - offset >>
 
template<typename C >
auto souffle::detail::brie::tail (C &s)
 

Macro Definition Documentation

◆ BRIE_OVERLOAD_INIT_LIST

#define BRIE_OVERLOAD_INIT_LIST (   fn,
  constness 
)
Value:
auto fn(const_entry_span_type entry) constness { \
op_context ctxt; \
return impl().fn(entry, ctxt); \
} \
auto fn(const entry_type& entry, op_context& ctxt) constness { \
return impl().fn(const_entry_span_type(entry), ctxt); \
} \
auto fn(const entry_type& entry) constness { \
return impl().fn(const_entry_span_type(entry)); \
}

Definition at line 2131 of file Brie.h.