LatticeHashForest
Loading...
Searching...
No Matches
Classes | Public Types | Static Public Attributes | List of all members
lhf::NestingBase< PropertyT, ChildT > Struct Template Reference

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

#include <lhf.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 LHFReferenceList = std::tuple< ChildT &... >
 Reference list. References to all the nested LHFs are presented here.
 
using ChildValueList = std::tuple< typename ChildT::Index... >
 

Static Public Attributes

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

Detailed Description

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

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

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

Definition at line 597 of file lhf.hpp.

Member Typedef Documentation

◆ ChildValueList

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

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

Definition at line 610 of file lhf.hpp.

◆ LHFReferenceList

template<typename PropertyT , typename ... ChildT>
using lhf::NestingBase< PropertyT, ChildT >::LHFReferenceList = std::tuple<ChildT&...>

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

Definition at line 606 of file lhf.hpp.

Member Data Documentation

◆ is_nested

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

Compile-time value that says this is nested.

Definition at line 599 of file lhf.hpp.

◆ num_children

template<typename PropertyT , typename ... ChildT>
constexpr std::size_t lhf::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 603 of file lhf.hpp.


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