31 #ifndef DOXYGEN_SHOULD_SKIP_THIS 39 template <
typename GUM_SCALAR,
template <
typename >
class TABLE >
41 GUM_SCALAR (*proj)(
const TABLE< GUM_SCALAR >&, Instantiation*)) :
48 template <
typename GUM_SCALAR,
template <
typename >
class TABLE >
50 const MultiDimCompleteProjection< GUM_SCALAR, TABLE >& from) :
57 template <
typename GUM_SCALAR,
template <
typename >
class TABLE >
64 template <
typename GUM_SCALAR,
template <
typename >
class TABLE >
65 MultiDimCompleteProjection< GUM_SCALAR, TABLE >*
67 return new MultiDimCompleteProjection< GUM_SCALAR, TABLE >(*this);
71 template <
typename GUM_SCALAR,
template <
typename >
class TABLE >
73 const TABLE< GUM_SCALAR >& table, Instantiation* inst) {
74 return _proj(table, inst);
78 template <
typename GUM_SCALAR,
template <
typename >
class TABLE >
80 GUM_SCALAR (*proj)(
const TABLE< GUM_SCALAR >&, Instantiation*)) {
85 template <
typename GUM_SCALAR,
template <
typename >
class TABLE >
87 *MultiDimCompleteProjection< GUM_SCALAR, TABLE >::projectFunction())(
88 const TABLE< GUM_SCALAR >&, Instantiation*) {
virtual MultiDimCompleteProjection< GUM_SCALAR, TABLE > * newFactory() const
Virtual constructor.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
virtual ~MultiDimCompleteProjection()
Destructor.
GUM_SCALAR(* _proj)(const TABLE< GUM_SCALAR > &, Instantiation *)
The projection function actually used.
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.