souffle
2.0.2-371-g6315b36
|
A template specialization for tries representing a set. More...
#include <Brie.h>
Public Types | |
using | const_entry_span_type = typename types::const_entry_span_type |
using | element_type = entry_type |
using | entry_span_type = typename types::entry_span_type |
using | entry_type = typename types::entry_type |
using | iterator = typename types::iterator |
using | iterator_core = typename types::iterator_core |
using | op_context = typename types::op_context |
using | operation_hints = op_context |
Public Types inherited from souffle::detail::brie::TrieBase< 1u, Trie< 1u > > | |
using | const_entry_span_type = typename types::const_entry_span_type |
using | entry_span_type = typename types::entry_span_type |
using | entry_type = typename types::entry_type |
using | iterator = typename types::iterator |
using | iterator_core = typename types::iterator_core |
using | op_context = typename types::op_context |
Public Member Functions | |
void | clear () |
Removes all elements form this trie. More... | |
bool | contains (const_entry_span_type tuple, op_context &ctxt) const |
Determines whether the given tuple is present in this trie or not. More... | |
template<unsigned levels> | |
range< iterator > | getBoundaries (const_entry_span_type entry, op_context &ctxt) const |
Obtains a range of elements matching the prefix of the given entry up to levels elements. More... | |
std::size_t | getMemoryUsage () const |
Computes the total memory usage of this data structure. More... | |
bool | insert (const_entry_span_type tuple, op_context &ctxt) |
Inserts the given tuple into this trie. More... | |
iterator | lower_bound (const_entry_span_type entry, op_context &) const |
std::vector< range< iterator > > | partition (unsigned chunks=500) const |
Obtains a partition of this tire such that the resulting list of ranges cover disjoint subsets of the elements stored in this trie. More... | |
std::size_t | size () const |
Determines the number of entries in this trie. More... | |
iterator | upper_bound (const_entry_span_type entry, op_context &) const |
Public Member Functions inherited from souffle::detail::brie::TrieBase< 1u, Trie< 1u > > | |
iterator | begin () const |
Obtains an iterator referencing the first element stored within this trie. More... | |
bool | empty () const |
Determines whether this trie is empty or not. More... | |
iterator | end () const |
Obtains an iterator referencing the position after the last element stored within this trie. More... | |
iterator | find (const_entry_span_type entry, op_context &ctxt) const |
range< iterator > | getBoundaries (const entry_type &entry) const |
range< iterator > | getBoundaries (const entry_type &entry, op_context &ctxt) const |
range< iterator > | getBoundaries (const_entry_span_type entry) const |
range< iterator > | getBoundaries (Values... values) const |
const store_type & | getStore () const |
Provides protected access to the internally maintained store. More... | |
void | insertAll (const TrieBase &other) |
Inserts all tuples stored within the given trie into this trie. More... | |
void | printStats (std::ostream &out) const |
Private Types | |
using | base = TrieBase< 1u, Trie< 1u > > |
using | store_type = typename types::store_type |
using | types = TrieTypes< 1u > |
Additional Inherited Members | |
Protected Types inherited from souffle::detail::brie::TrieBase< 1u, Trie< 1u > > | |
using | store_type = typename types::store_type |
using | types = TrieTypes< Dim > |
Protected Attributes inherited from souffle::detail::brie::TrieBase< 1u, Trie< 1u > > | |
hint_statistics | hint_stats |
store_type | store |
A template specialization for tries representing a set.
For improved memory efficiency, this level is the leaf-node level of all tries exhibiting an arity >= 1. Internally, values are stored utilizing sparse bit maps.
|
private |
using souffle::Trie< 1u >::const_entry_span_type = typename types::const_entry_span_type |
using souffle::Trie< 1u >::element_type = entry_type |
using souffle::Trie< 1u >::entry_span_type = typename types::entry_span_type |
using souffle::Trie< 1u >::entry_type = typename types::entry_type |
using souffle::Trie< 1u >::iterator = typename types::iterator |
using souffle::Trie< 1u >::iterator_core = typename types::iterator_core |
using souffle::Trie< 1u >::op_context = typename types::op_context |
using souffle::Trie< 1u >::operation_hints = op_context |
|
private |
|
private |
|
inline |
|
inline |
Determines whether the given tuple is present in this trie or not.
An operation context can be provided to exploit temporal locality.
tuple | the tuple to be tested |
ctxt | an operation context for exploiting temporal locality |
|
inline |
Obtains a range of elements matching the prefix of the given entry up to levels elements.
A operation context may be provided to exploit temporal locality.
levels | the length of the requested matching prefix |
entry | the entry to be looking for |
ctxt | the operation context to be utilized |
|
inline |
|
inline |
Inserts the given tuple into this trie.
An operation context can be provided to exploit temporal locality.
tuple | the tuple to be inserted |
ctxt | an operation context for exploiting temporal locality |
|
inline |
|
inline |
|
inline |
|
inline |