Dune Core Modules (2.9.0)
Dune::TypeTree::AccumulateValue< Tree, Functor, Reduction, startValue, ParentChildReduction > Struct Template Reference
Statically accumulate a value over the nodes of a TypeTree. More...
#include <dune/typetree/accumulate_static.hh>
Public Types | |
typedef Functor::result_type | result_type |
The result type of the computation. | |
Static Public Attributes | |
static const result_type | result = accumulate_value<Tree,Functor,Reduction,ParentChildReduction,startValue,HybridTreePath<>,NodeTag<Tree>>::result |
The accumulated result of the computation. | |
Detailed Description
template<typename Tree, typename Functor, typename Reduction, typename Functor::result_type startValue, typename ParentChildReduction = Reduction>
struct Dune::TypeTree::AccumulateValue< Tree, Functor, Reduction, startValue, ParentChildReduction >
struct Dune::TypeTree::AccumulateValue< Tree, Functor, Reduction, startValue, ParentChildReduction >
Statically accumulate a value over the nodes of a TypeTree.
This struct implements an algorithm for iterating over a tree and calculating an accumulated value at compile time.
- Template Parameters
-
Tree The tree to iterate over. Functor The compile-time functor used for visiting each node.
This functor must implement the following interface:
struct AccumulationFunctor
{
// The result type of the overall computation.
typedef ... result_type;
// Decide whether to include the given node in the calculation
// or to skip it.
template<typename Node, typename TreePath>
struct doVisit
{
static const bool value = true;
};
// Calculate the per-node result.
template<typename Node, typename TreePath>
struct visit
{
};
};
Functor::result_type result_type
The result type of the computation.
Definition: accumulate_static.hh:262
static const result_type result
The accumulated result of the computation.
Definition: accumulate_static.hh:265
- Template Parameters
-
Reduction The reduction operator used to accumulate the per-node results.
The reduction operator must implement the following interface:
template<typename result_type>
struct ReductionOperator
{
// combine two per-node results
template<result_type r1, result_type r2>
struct reduce
{
};
};
- Template Parameters
-
startValue The starting value fed into the initial accumulation step.
The documentation for this struct was generated from the following file:
- dune/typetree/accumulate_static.hh
|
Legal Statements / Impressum |
Hosted by TU Dresden |
generated with Hugo v0.111.3
(Dec 21, 23:30, 2024)