LatticeHashForest
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
lhf::NestingNone< PropertyT >::PropertyElement< PropertyLess, PropertyHash, PropertyEqual, PropertyPrinter > Struct Template Reference

Base-case type for the elements for a property set. The template arguments are for the 'key' type. More...

#include <lhf.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 &value)
 
const PropertyT & get_key () const
 Gets the 'key' value.
 
const PropertyT & get_value () const
 Gets the nested value. In the base case it simply returns the key.
 
PropertyElement apply () const
 Performs an "apply" operation. In the base case it is an identity operation and does not do anything.
 
bool operator< (const PropertyElement &b) const
 
bool operator== (const PropertyElement &b) const
 
String to_string () const
 

Public Attributes

PropertyT value
 

Detailed Description

template<typename PropertyT>
template<typename PropertyLess, typename PropertyHash, typename PropertyEqual, typename PropertyPrinter>
struct lhf::NestingNone< PropertyT >::PropertyElement< PropertyLess, PropertyHash, PropertyEqual, PropertyPrinter >

Base-case type for the elements for a property set. The template arguments are for the 'key' type.

Template Parameters
PropertyLessCustom less-than comparator (if required)
PropertyHashCustom hasher (if required)
PropertyEqualCustom equality comaparator (if required)
PropertyPrinterPropertyT string representation generator

Definition at line 481 of file lhf.hpp.

Member Typedef Documentation

◆ InterfaceKeyType

template<typename PropertyT >
template<typename PropertyLess , typename PropertyHash , typename PropertyEqual , typename PropertyPrinter >
using lhf::NestingNone< PropertyT >::PropertyElement< PropertyLess, PropertyHash, PropertyEqual, PropertyPrinter >::InterfaceKeyType = PropertyT

Key type is made available here if required by user.

Definition at line 483 of file lhf.hpp.

◆ InterfaceValueType

template<typename PropertyT >
template<typename PropertyLess , typename PropertyHash , typename PropertyEqual , typename PropertyPrinter >
using lhf::NestingNone< PropertyT >::PropertyElement< PropertyLess, PropertyHash, PropertyEqual, PropertyPrinter >::InterfaceValueType = PropertyT

Value type is made available here if required by user.

Definition at line 486 of file lhf.hpp.

Constructor & Destructor Documentation

◆ PropertyElement()

template<typename PropertyT >
template<typename PropertyLess , typename PropertyHash , typename PropertyEqual , typename PropertyPrinter >
lhf::NestingNone< PropertyT >::PropertyElement< PropertyLess, PropertyHash, PropertyEqual, PropertyPrinter >::PropertyElement ( const PropertyT &  value)
inline

Definition at line 490 of file lhf.hpp.

Member Function Documentation

◆ apply()

template<typename PropertyT >
template<typename PropertyLess , typename PropertyHash , typename PropertyEqual , typename PropertyPrinter >
PropertyElement lhf::NestingNone< PropertyT >::PropertyElement< PropertyLess, PropertyHash, PropertyEqual, PropertyPrinter >::apply ( ) const
inline

Performs an "apply" operation. In the base case it is an identity operation and does not do anything.

Returns
The property element.

Definition at line 517 of file lhf.hpp.

◆ get_key()

template<typename PropertyT >
template<typename PropertyLess , typename PropertyHash , typename PropertyEqual , typename PropertyPrinter >
const PropertyT & lhf::NestingNone< PropertyT >::PropertyElement< PropertyLess, PropertyHash, PropertyEqual, PropertyPrinter >::get_key ( ) const
inline

Gets the 'key' value.

Returns
The key.

Definition at line 497 of file lhf.hpp.

◆ get_value()

template<typename PropertyT >
template<typename PropertyLess , typename PropertyHash , typename PropertyEqual , typename PropertyPrinter >
const PropertyT & lhf::NestingNone< PropertyT >::PropertyElement< PropertyLess, PropertyHash, PropertyEqual, PropertyPrinter >::get_value ( ) const
inline

Gets the nested value. In the base case it simply returns the key.

Returns
The value.

Definition at line 507 of file lhf.hpp.

◆ operator<()

template<typename PropertyT >
template<typename PropertyLess , typename PropertyHash , typename PropertyEqual , typename PropertyPrinter >
bool lhf::NestingNone< PropertyT >::PropertyElement< PropertyLess, PropertyHash, PropertyEqual, PropertyPrinter >::operator< ( const PropertyElement< PropertyLess, PropertyHash, PropertyEqual, PropertyPrinter > &  b) const
inline

Definition at line 521 of file lhf.hpp.

◆ operator==()

template<typename PropertyT >
template<typename PropertyLess , typename PropertyHash , typename PropertyEqual , typename PropertyPrinter >
bool lhf::NestingNone< PropertyT >::PropertyElement< PropertyLess, PropertyHash, PropertyEqual, PropertyPrinter >::operator== ( const PropertyElement< PropertyLess, PropertyHash, PropertyEqual, PropertyPrinter > &  b) const
inline

Definition at line 525 of file lhf.hpp.

◆ to_string()

template<typename PropertyT >
template<typename PropertyLess , typename PropertyHash , typename PropertyEqual , typename PropertyPrinter >
String lhf::NestingNone< PropertyT >::PropertyElement< PropertyLess, PropertyHash, PropertyEqual, PropertyPrinter >::to_string ( ) const
inline

Definition at line 529 of file lhf.hpp.

Member Data Documentation

◆ value

template<typename PropertyT >
template<typename PropertyLess , typename PropertyHash , typename PropertyEqual , typename PropertyPrinter >
PropertyT lhf::NestingNone< PropertyT >::PropertyElement< PropertyLess, PropertyHash, PropertyEqual, PropertyPrinter >::value

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