28 #ifndef GUM_MULTI_DIM_PARTIAL_INSTANTIATION_H 29 #define GUM_MULTI_DIM_PARTIAL_INSTANTIATION_H 31 #include <agrum/tools/core/set.h> 32 #include <agrum/tools/multidim/implementations/multiDimDecorator.h> 33 #include <agrum/tools/multidim/implementations/multiDimImplementation.h> 34 #include <agrum/tools/multidim/utils/partialInstantiationRegister4MultiDim.h> 35 #include <agrum/tools/variables/discreteVariable.h> 58 template <
typename GUM_SCALAR,
template <
typename >
class TABLE >
118 TABLE< GUM_SCALAR >*
instantiate(
const TABLE< GUM_SCALAR >& table,
119 const HashTable<
const DiscreteVariable*, Idx >& inst_vars);
134 const TABLE< GUM_SCALAR >& table,
135 const HashTable<
const DiscreteVariable*, Idx >& inst_vars);
143 #include <agrum/tools/multidim/implementations/multiDimPartialInstantiation_tpl.h> virtual ~MultiDimPartialInstantiation()
Class destructor.
MultiDimPartialInstantiation(const MultiDimPartialInstantiation< GUM_SCALAR, TABLE > &src)
Copy constructor.
INLINE void emplace(Args &&... args)
MultiDimPartialInstantiation()
Default constructor.
MultiDimPartialInstantiation< GUM_SCALAR, TABLE > & operator=(const MultiDimPartialInstantiation< GUM_SCALAR, TABLE > &src)
Copy operator.
TABLE< GUM_SCALAR > * instantiate(const TABLE< GUM_SCALAR > &table, const HashTable< const DiscreteVariable *, Idx > &inst_vars)
Creates and returns the partial instantiation of the table over a subset of its variables.
void instantiate(TABLE< GUM_SCALAR > &container, const TABLE< GUM_SCALAR > &table, const HashTable< const DiscreteVariable *, Idx > &inst_vars)
Creates and returns the partial instantiation of the table over a subset of its variables.
A generic class to instantiate a subset of variables of a multidimensional table. ...
virtual MultiDimPartialInstantiation< GUM_SCALAR, TABLE > * newFactory() const