26 #ifndef GUM_MULTI_DIM_COMPLETE_PROJECTION_H 27 #define GUM_MULTI_DIM_COMPLETE_PROJECTION_H 45 template <
typename GUM_SCALAR,
template <
typename >
class TABLE >
79 GUM_SCALAR
project(
const TABLE< GUM_SCALAR >& table,
87 GUM_SCALAR(*projectFunction())
A generic class to project efficiently a MultiDim table over all of its variables.
Base class for discrete random variable.
virtual MultiDimCompleteProjection< GUM_SCALAR, TABLE > * newFactory() const
Virtual constructor.
MultiDimCompleteProjection< GUM_SCALAR, TABLE > & operator=(const MultiDimCompleteProjection< GUM_SCALAR, TABLE > &)
Forbid copy operators.
gum is the global namespace for all aGrUM entities
virtual ~MultiDimCompleteProjection()
Destructor.
Header files of gum::Instantiation.
GUM_SCALAR(* _proj)(const TABLE< GUM_SCALAR > &, Instantiation *)
The projection function actually used.
A generic class to project efficiently a MultiDim table over all of its variables.
Class for assigning/browsing values to tuples of discrete variables.
GUM_SCALAR project(const TABLE< GUM_SCALAR > &table, Instantiation *instantiation=0)
Creates and returns the projection of the table over all of its vars.
void setProjectFunction(GUM_SCALAR(*proj)(const TABLE< GUM_SCALAR > &, Instantiation *))
Changes the function used for projecting TABLES.
MultiDimCompleteProjection(GUM_SCALAR(*proj)(const TABLE< GUM_SCALAR > &, Instantiation *))
Default constructor.