Multilevel Deduplication Engine (MDE)
Loading...
Searching...
No Matches
Classes | Public Types | Static Public Attributes | List of all members
mde::NestingBase< PropertyT, ChildT > Struct Template Reference

Describes the standard nesting structure. Act as "non-leaf" nodes in a tree of nested MDEs. More...

#include <mde.hpp>

Classes

struct  PropertyElement
 Type for the elements for a property set in the nested. The template arguments are for the 'key' type. More...
 

Public Types

using MDEReferenceList = std::tuple< ChildT &... >
 Reference list. References to all the nested MDEs are presented here.
 
using ChildValueList = std::tuple< typename ChildT::Index... >
 
template<std::size_t ListIndex>
using ChildValueListIndexType = typename std::tuple_element< ListIndex, ChildValueList >::type
 Gets the type of a particular index in the child value list tuple.
 

Static Public Attributes

static constexpr bool is_nested = true
 Compile-time value that says this is nested.
 
static constexpr Size num_children = sizeof...(ChildT)
 

Detailed Description

template<typename PropertyT, typename ... ChildT>
struct mde::NestingBase< PropertyT, ChildT >

Describes the standard nesting structure. Act as "non-leaf" nodes in a tree of nested MDEs.

Template Parameters
PropertyTThe key property that the MDE acts upon.
ChildTthe children of the property that are nested.

Definition at line 511 of file mde.hpp.

Member Typedef Documentation

◆ ChildValueList

template<typename PropertyT , typename ... ChildT>
using mde::NestingBase< PropertyT, ChildT >::ChildValueList = std::tuple<typename ChildT::Index...>

Child index tuple. This contains index types of all of the child MDEs. This is what is used to store indices to the nested values.

Definition at line 524 of file mde.hpp.

◆ ChildValueListIndexType

template<typename PropertyT , typename ... ChildT>
template<std::size_t ListIndex>
using mde::NestingBase< PropertyT, ChildT >::ChildValueListIndexType = typename std::tuple_element<ListIndex, ChildValueList>::type

Gets the type of a particular index in the child value list tuple.

Definition at line 528 of file mde.hpp.

◆ MDEReferenceList

template<typename PropertyT , typename ... ChildT>
using mde::NestingBase< PropertyT, ChildT >::MDEReferenceList = std::tuple<ChildT&...>

Reference list. References to all the nested MDEs are presented here.

Definition at line 520 of file mde.hpp.

Member Data Documentation

◆ is_nested

template<typename PropertyT , typename ... ChildT>
constexpr bool mde::NestingBase< PropertyT, ChildT >::is_nested = true
staticconstexpr

Compile-time value that says this is nested.

Definition at line 513 of file mde.hpp.

◆ num_children

template<typename PropertyT , typename ... ChildT>
constexpr Size mde::NestingBase< PropertyT, ChildT >::num_children = sizeof...(ChildT)
staticconstexpr

Compile-time value that says that the number of nested children are equal to the number of parameters in the template parameter pack.

Definition at line 517 of file mde.hpp.


The documentation for this struct was generated from the following file: