Type for the elements for a property set in the nested. The template arguments are for the 'key' type.
More...
template<typename PropertyT, typename ... ChildT>
template<typename PropertyLess, typename PropertyHash, typename PropertyEqual, typename PropertyPrinter>
struct lhf::NestingBase< PropertyT, ChildT >::PropertyElement< PropertyLess, PropertyHash, PropertyEqual, PropertyPrinter >
Type for the elements for a property set in the nested. The template arguments are for the 'key' type.
- Template Parameters
-
PropertyLess | Custom less-than comparator (if required) |
PropertyHash | Custom hasher (if required) |
PropertyEqual | Custom equality comaparator (if required) |
PropertyPrinter | PropertyT string representation generator |
Definition at line 626 of file lhf.hpp.
template<typename PropertyT , typename ... ChildT>
template<typename PropertyLess , typename PropertyHash , typename PropertyEqual , typename PropertyPrinter >
Key type is made available here if required by user.
Definition at line 628 of file lhf.hpp.
template<typename PropertyT , typename ... ChildT>
template<typename PropertyLess , typename PropertyHash , typename PropertyEqual , typename PropertyPrinter >
Value type is made available here if required by user.
Definition at line 631 of file lhf.hpp.
template<typename PropertyT , typename ... ChildT>
template<typename PropertyLess , typename PropertyHash , typename PropertyEqual , typename PropertyPrinter >
template<typename Operation >
Performs the "apply" operation on the list of nested children specified by the Operation
parameter.
- Parameters
-
[in] | lhf | The list of references to the LHF. |
[in] | arg | The right-hand side operand. |
- Template Parameters
-
Operation | The operation to perform. |
- Returns
- A new
PropertyElement
that contains the result of the apply operation.
Definition at line 705 of file lhf.hpp.
template<typename PropertyT , typename ... ChildT>
template<typename PropertyLess , typename PropertyHash , typename PropertyEqual , typename PropertyPrinter >
template<typename Operation , std::size_t... Indices>
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.
- Note
- This feature in particular requires C++14 and above.
- Parameters
-
| ret | The list of results. |
[in] | lhf | The list of references to the LHF. |
[in] | arg_value | The list of values in the right-hand side operand. |
- Template Parameters
-
Operation | The operation to perform on each child. |
Indices | Parameter pack to enable template iteration. |
Definition at line 680 of file lhf.hpp.
template<typename PropertyT , typename ... ChildT>
template<typename PropertyLess , typename PropertyHash , typename PropertyEqual , typename PropertyPrinter >
Gets the nested value. It returns a tuple of values containing indices to each of the nested sets of different LHFs.
- Returns
- The value.
Definition at line 659 of file lhf.hpp.
template<typename PropertyT , typename ... ChildT>
template<typename PropertyLess , typename PropertyHash , typename PropertyEqual , typename PropertyPrinter >
std::ostream & operator<< |
( |
std::ostream & |
os, |
|
|
const PropertyElement< PropertyLess, PropertyHash, PropertyEqual, PropertyPrinter > & |
obj |
|
) |
| |
|
friend |