![]() |
Multilevel Deduplication Engine (MDE)
|
Type for the elements for a property set in the nested. The template arguments are for the 'key' type. More...
#include <mde.hpp>
Classes | |
| struct | FullEqual |
| This forces a comparison of both the key and the value instead of only the key. Required in instances where distinguishing this is necessary (like in the property set storage array) More... | |
| struct | Hash |
Public Types | |
| using | InterfaceKeyType = PropertyT |
| Key type is made available here if required by user. | |
| using | InterfaceValueType = PropertyT |
| Value type is made available here if required by user. | |
Public Member Functions | |
| PropertyElement (const PropertyT &key, const ChildValueList &value) | |
| const PropertyT & | get_key () const |
| Gets the 'key' value. | |
| const PropertyT & | key () const |
| Gets the 'key' value. Synonymous with get_key. | |
| const ChildValueList & | get_value () const |
| Gets the nested value. It returns a tuple of values containing indices to each of the nested sets of different MDEs. | |
| template<int ListIndex> | |
| const ChildValueListIndexType< ListIndex > & | value () const |
| Gets the first object in the tuple of the nested values. | |
| const ChildValueListIndexType< 0 > & | value0 () const |
| template<typename Operation , Size... Indices> | |
| void | apply_internal (ChildValueList &ret, const MDEReferenceList &mde, const ChildValueList &arg_value, std::index_sequence< Indices... >) const |
Actually performs the template "apply" operation. This sets up template syntax to go over each element of the tuple statically to execute the operation specified by the Operation template parameter. | |
| template<typename Operation > | |
| PropertyElement | apply (const MDEReferenceList &mde, const PropertyElement &arg) const |
Performs the "apply" operation on the list of nested children specified by the Operation parameter. | |
| bool | operator< (const PropertyElement &b) const |
| bool | operator== (const PropertyElement &b) const |
| String | to_string () const |
Friends | |
| std::ostream & | operator<< (std::ostream &os, const PropertyElement &obj) |
Type for the elements for a property set in the nested. The template arguments are for the 'key' type.
| PropertyLess | Custom less-than comparator (if required) |
| PropertyHash | Custom hasher (if required) |
| PropertyEqual | Custom equality comaparator (if required) |
| PropertyPrinter | PropertyT string representation generator |
| using mde::NestingBase< PropertyT, ChildT >::PropertyElement< PropertyLess, PropertyHash, PropertyEqual, PropertyPrinter >::InterfaceKeyType = PropertyT |
| using mde::NestingBase< PropertyT, ChildT >::PropertyElement< PropertyLess, PropertyHash, PropertyEqual, PropertyPrinter >::InterfaceValueType = PropertyT |
|
inline |
|
inline |
Performs the "apply" operation on the list of nested children specified by the Operation parameter.
| [in] | mde | The list of references to the MDE. |
| [in] | arg | The right-hand side operand. |
| Operation | The operation to perform. |
PropertyElement that contains the result of the apply operation.
|
inline |
Actually performs the template "apply" operation. This sets up template syntax to go over each element of the tuple statically to execute the operation specified by the Operation template parameter.
| ret | The list of results. | |
| [in] | mde | The list of references to the MDE. |
| [in] | arg_value | The list of values in the right-hand side operand. |
| Operation | The operation to perform on each child. |
| Indices | Parameter pack to enable template iteration. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |