25 #ifndef GUM_MULTI_DIM_PROJECTION_H 26 #define GUM_MULTI_DIM_PROJECTION_H 85 template <
typename GUM_SCALAR,
template <
typename >
class TABLE >
128 TABLE< GUM_SCALAR >*
project(
const TABLE< GUM_SCALAR >& table,
131 void project(TABLE< GUM_SCALAR >& container,
132 const TABLE< GUM_SCALAR >& table,
133 const Set<
const TABLE< GUM_SCALAR >* >& del_vars);
169 std::pair< long, long >
185 std::pair< long, long >
193 TABLE< GUM_SCALAR >* (*_proj)(
const TABLE< GUM_SCALAR >&,
TABLE< GUM_SCALAR > *(*)(const TABLE< GUM_SCALAR > &, const Set< const DiscreteVariable *> &) projectFunction()
Returns the projection function currently used by the projector.
Base class for discrete random variable.
Header file of gum::Sequence, a class for storing (ordered) sequences of objects. ...
The generic class for storing (ordered) sequences of objects.
MultiDimProjection(TABLE< GUM_SCALAR > *(*proj)(const TABLE< GUM_SCALAR > &, const Set< const DiscreteVariable * > &))
Default constructor.
gum is the global namespace for all aGrUM entities
Representation of a setA Set is a structure that contains arbitrary elements.
A generic interface to project efficiently a MultiDim table over a subset of its variables.
std::pair< long, long > memoryUsage(const TABLE< GUM_SCALAR > &table, const Set< const DiscreteVariable * > &del_vars) const
Returns the memory consumption used during the projection.
virtual MultiDimProjection< GUM_SCALAR, TABLE > * newFactory() const
virtual constructor
virtual ~MultiDimProjection()
Destructor.
MultiDimProjection< GUM_SCALAR, TABLE > & operator=(const MultiDimProjection< GUM_SCALAR, TABLE > &)
Forbid copy operators.
float nbOperations(const TABLE< GUM_SCALAR > &table, const Set< const DiscreteVariable * > &del_vars) const
returns a rough estimate of the number of operations that will be performed to compute the projection...
A generic class to project efficiently a MultiDim table over a subset of its variables.
void setProjectFunction(TABLE< GUM_SCALAR > *(*proj)(const TABLE< GUM_SCALAR > &, const Set< const DiscreteVariable * > &))
Changes the function used for projecting TABLES.
TABLE< GUM_SCALAR > * project(const TABLE< GUM_SCALAR > &table, const Set< const DiscreteVariable * > &del_vars)
Creates and returns the projection of the table over a subset of its vars.