LatticeHashForest
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Protected Attributes | Friends | 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
 

Protected Attributes

PropertyT value
 

Friends

std::ostream & operator<< (std::ostream &os, const PropertyElement &obj)
 

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 579 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 582 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 585 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 591 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 618 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 598 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 608 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 622 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 626 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 630 of file lhf.hpp.

Friends And Related Symbol Documentation

◆ operator<<

template<typename PropertyT >
template<typename PropertyLess , typename PropertyHash , typename PropertyEqual , typename PropertyPrinter >
std::ostream & operator<< ( std::ostream &  os,
const PropertyElement< PropertyLess, PropertyHash, PropertyEqual, PropertyPrinter > &  obj 
)
friend

Definition at line 634 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
protected

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