31 #ifndef GUM_MULTI_DIM_FUNCTION_GRAPH_PROJECTOR_H 32 #define GUM_MULTI_DIM_FUNCTION_GRAPH_PROJECTOR_H 36 #include <agrum/tools/multidim/implementations/multiDimFunctionGraph.h> 37 #include <agrum/tools/multidim/utils/FunctionGraphUtilities/terminalNodePolicies/ExactTerminalNodePolicy.h> 50 template <
typename GUM_SCALAR,
65 const MultiDimFunctionGraph< GUM_SCALAR, TerminalNodePolicy >* src,
66 const Set<
const DiscreteVariable* >& delVars,
67 const GUM_SCALAR neutral);
105 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 111 #include <agrum/tools/multidim/utils/FunctionGraphUtilities/operators/multiDimFunctionGraphProjector_tpl.h> const FUNCTOR< GUM_SCALAR > _function_
The function to be performed on the leaves.
INLINE void emplace(Args &&... args)
const MultiDimFunctionGraph< GUM_SCALAR, TerminalNodePolicy > * _src_
One of the two function graphs used for the Projection.
MultiDimFunctionGraph< GUM_SCALAR, TerminalNodePolicy > * _rd_
The resulting function graph.
MultiDimFunctionGraph< GUM_SCALAR, TerminalNodePolicy > * project()
Computes and builds the Function Graph that is the result of the Projection.
const GUM_SCALAR _neutral_
The function to be performed on the leaves.
const Set< const DiscreteVariable *> & _delVars_
The list of variables on which the projection is performed.
MultiDimFunctionGraphProjector(const MultiDimFunctionGraph< GUM_SCALAR, TerminalNodePolicy > *src, const Set< const DiscreteVariable * > &delVars, const GUM_SCALAR neutral)
Default constructor.
Class used to perform Function Graph projections.
~MultiDimFunctionGraphProjector()
Default destructor.