26 #ifndef GUM_MULTI_DIM_COMBINATION_DEFAULT_H 27 #define GUM_MULTI_DIM_COMBINATION_DEFAULT_H 98 template <
typename GUM_SCALAR,
template <
typename >
class TABLE >
115 const TABLE< GUM_SCALAR >&,
const TABLE< GUM_SCALAR >&));
148 virtual TABLE< GUM_SCALAR >*
149 combine(
const Set<
const TABLE< GUM_SCALAR >* >&
set);
150 virtual void combine(TABLE< GUM_SCALAR >& container,
151 const Set<
const TABLE< GUM_SCALAR >* >&
set);
155 const TABLE< GUM_SCALAR >&,
const TABLE< GUM_SCALAR >&));
158 virtual TABLE< GUM_SCALAR >* (*
combineFunction())(
const TABLE< GUM_SCALAR >&,
159 const TABLE< GUM_SCALAR >&);
165 virtual float nbOperations(
const Set<
const TABLE< GUM_SCALAR >* >&
set)
const;
180 virtual std::pair< long, long >
189 TABLE< GUM_SCALAR >* (*_combine)(
const TABLE< GUM_SCALAR >& t1,
190 const TABLE< GUM_SCALAR >& t2);
A class to combine efficiently several MultiDim tablesMultiDimCombinationDefault is a class designed ...
A generic class to combine efficiently several MultiDim tables.
Base class for discrete random variable.
Header file of gum::Sequence, a class for storing (ordered) sequences of objects. ...
virtual std::pair< long, long > memoryUsage(const Set< const TABLE< GUM_SCALAR > * > &set) const
Returns the additional memory consumption used during the combination.
The generic class for storing (ordered) sequences of objects.
virtual TABLE< GUM_SCALAR > *(*)(const TABLE< GUM_SCALAR > &, const TABLE< GUM_SCALAR > &) combineFunction()
Returns the combination function currently used by the combinator.
virtual void setCombineFunction(TABLE< GUM_SCALAR > *(*combine)(const TABLE< GUM_SCALAR > &, const TABLE< GUM_SCALAR > &))
Changes the function used for combining two TABLES.
gum is the global namespace for all aGrUM entities
Representation of a setA Set is a structure that contains arbitrary elements.
virtual float nbOperations(const Set< const TABLE< GUM_SCALAR > * > &set) const
returns a rough estimate of the number of operations that will be performed to compute the combinatio...
Size _combinedSize(const Sequence< const DiscreteVariable * > &seq1, const Sequence< const DiscreteVariable * > &seq2) const
returns the domain size of the Cartesian product of the union of all the variables in seq1 and seq2...
virtual MultiDimCombinationDefault< GUM_SCALAR, TABLE > * newFactory() const
virtual constructor
A generic interface to combine efficiently several MultiDim tables.
MultiDimCombinationDefault(TABLE< GUM_SCALAR > *(*combine)(const TABLE< GUM_SCALAR > &, const TABLE< GUM_SCALAR > &))
Default constructor.
std::size_t Size
In aGrUM, hashed values are unsigned long int.
virtual ~MultiDimCombinationDefault()
Destructor.
virtual TABLE< GUM_SCALAR > * combine(const Set< const TABLE< GUM_SCALAR > * > &set)
Creates and returns the result of the combination of the tables within set.