![]() |
Multilevel Deduplication Engine (MDE)
|
Namespaces | |
| namespace | slz |
Classes | |
| struct | __CalcTime |
| The object used to enable the duration capturing mechanism. More... | |
| struct | AbsentValueAccessError |
| Thrown if an Optional is accessed when the value is absent. More... | |
| struct | AssertError |
| Struct that is thrown on an assertion failure. More... | |
| struct | Deduplicator |
| An straightforward deduplicator for scalar values. It does not implement any special operations besides deduplication. Unlike MDE, this does NOT enforce constness on the data items registered. However, a mutable access must always be marked. More... | |
| struct | DefaultPrinter |
| class | MapAdapter |
| struct | MDEConfig |
| class | MDENode |
| The main MDENode structure. This class can be used as-is with a type or derived for additional functionality as needed. More... | |
| struct | NestingBase |
| Describes the standard nesting structure. Act as "non-leaf" nodes in a tree of nested MDEs. More... | |
| struct | NestingNone |
| The nesting type for non-nested data structures. Act as "leaf" nodes in a tree of nested MDEs. More... | |
| struct | OperationNode |
| This struct contains the information about the operands of an operation (union, intersection, etc.) More... | |
| struct | OperationPerf |
| Operation performance Statistics. More... | |
| class | Optional |
| Describes an optional of some type T. The value may either be present or absent. More... | |
| class | OptionalRef |
| Describes an optional reference of some type T. The value may either be present or absent. More... | |
| struct | PerformanceStatistics |
| Utility class for enabling code-based profiling. More... | |
| struct | SetEqual |
| Generic Equality comparator for set types. More... | |
| struct | SetHash |
| Hasher for set types. More... | |
| struct | SetLess |
| Generic Less-than comparator for set types. More... | |
| struct | Unreachable |
| Thrown if code region is unreachable. More... | |
Typedefs | |
| template<typename K , typename V > | |
| using | InternalMap = MapAdapter< HashMap< K, V > > |
| template<typename T > | |
| using | OperationMap = InternalMap< T, IndexValue > |
| using | Size = std::size_t |
| using | String = std::string |
| using | IndexValue = Size |
| template<typename T > | |
| using | UniquePointer = std::unique_ptr< T > |
| template<typename T > | |
| using | Vector = std::vector< T > |
| template<typename K , typename V > | |
| using | HashMap = std::unordered_map< K, V > |
| template<typename K , typename V > | |
| using | OrderedMap = std::map< K, V > |
| template<typename T > | |
| using | HashSet = std::unordered_set< T > |
| template<typename T > | |
| using | OrderedSet = std::set< T > |
| template<typename T > | |
| using | DefaultLess = std::less< T > |
| template<typename T > | |
| using | DefaultHash = std::hash< T > |
| template<typename T > | |
| using | DefaultEqual = std::equal_to< T > |
Enumerations | |
| enum | SubsetRelation { UNKNOWN = 0 , SUBSET = 1 , SUPERSET = 2 } |
| Used to store a subset relation between two set indices. Because the index pair must be in sorted order to prevent duplicates, it necessitates this enum. More... | |
Functions | |
| std::ostream & | operator<< (std::ostream &os, const OperationNode &op) |
| template<typename T , typename Hash = DefaultHash<T>> | |
| Size | compose_hash (const Size prev, T next) |
Composes a preexisting hash with another variable. Useful for Hashing containers. Adapted from boost::hash_combine. | |
| using mde::DefaultEqual = typedef std::equal_to<T> |
Definition at line 102 of file mde_common.hpp.
| using mde::DefaultHash = typedef std::hash<T> |
Definition at line 99 of file mde_common.hpp.
| using mde::DefaultLess = typedef std::less<T> |
Definition at line 96 of file mde_common.hpp.
Definition at line 84 of file mde_common.hpp.
| using mde::HashSet = typedef std::unordered_set<T> |
Definition at line 90 of file mde_common.hpp.
Definition at line 75 of file mde_common.hpp.
| using mde::InternalMap = typedef MapAdapter<HashMap<K, V> > |
| using mde::OperationMap = typedef InternalMap<T, IndexValue> |
Definition at line 87 of file mde_common.hpp.
| using mde::OrderedSet = typedef std::set<T> |
Definition at line 93 of file mde_common.hpp.
Definition at line 61 of file mde_common.hpp.
| using mde::String = typedef std::string |
Definition at line 63 of file mde_common.hpp.
| using mde::UniquePointer = typedef std::unique_ptr<T> |
Definition at line 78 of file mde_common.hpp.
| using mde::Vector = typedef std::vector<T> |
Definition at line 81 of file mde_common.hpp.
Used to store a subset relation between two set indices. Because the index pair must be in sorted order to prevent duplicates, it necessitates this enum.
| Enumerator | |
|---|---|
| UNKNOWN | |
| SUBSET | |
| SUPERSET | |
Definition at line 198 of file mde_common.hpp.
Composes a preexisting hash with another variable. Useful for Hashing containers. Adapted from boost::hash_combine.
| [in] | prev | The current hash |
| [in] | next | The value to compose with the current hash |
| T | Value type |
| Hash | Hash for the value type |
Definition at line 222 of file mde_common.hpp.
|
inline |