53#ifndef DOXYGEN_SHOULD_SKIP_THIS
62 template <
typename GUM_ELEMENT,
template <
typename >
class TABLE >
64 GUM_ELEMENT (*proj)(
const TABLE< GUM_ELEMENT >&,
Instantiation*)) : proj_(proj) {
66 GUM_CONSTRUCTOR(MultiDimCompleteProjection);
70 template <
typename GUM_ELEMENT,
template <
typename >
class TABLE >
71 MultiDimCompleteProjection< GUM_ELEMENT, TABLE >::MultiDimCompleteProjection(
72 const MultiDimCompleteProjection< GUM_ELEMENT, TABLE >& from) : proj_(from.proj_) {
74 GUM_CONS_CPY(MultiDimCompleteProjection);
78 template <
typename GUM_ELEMENT,
template <
typename >
class TABLE >
79 MultiDimCompleteProjection< GUM_ELEMENT, TABLE >::~MultiDimCompleteProjection() {
81 GUM_DESTRUCTOR(MultiDimCompleteProjection);
85 template <
typename GUM_ELEMENT,
template <
typename >
class TABLE >
86 MultiDimCompleteProjection< GUM_ELEMENT, TABLE >*
87 MultiDimCompleteProjection< GUM_ELEMENT, TABLE >::newFactory()
const {
88 return new MultiDimCompleteProjection< GUM_ELEMENT, TABLE >(*
this);
92 template <
typename GUM_ELEMENT,
template <
typename >
class TABLE >
94 MultiDimCompleteProjection< GUM_ELEMENT, TABLE >::project(
const TABLE< GUM_ELEMENT >& table,
95 Instantiation* inst) {
96 return proj_(table, inst);
100 template <
typename GUM_ELEMENT,
template <
typename >
class TABLE >
101 void MultiDimCompleteProjection< GUM_ELEMENT, TABLE >::setProjectFunction(
102 GUM_ELEMENT (*proj)(
const TABLE< GUM_ELEMENT >&, Instantiation*)) {
107 template <
typename GUM_ELEMENT,
template <
typename >
class TABLE >
108 GUM_ELEMENT (*MultiDimCompleteProjection< GUM_ELEMENT, TABLE >::projectFunction())(
109 const TABLE< GUM_ELEMENT >&,
Class for assigning/browsing values to tuples of discrete variables.
MultiDimCompleteProjection(GUM_ELEMENT(*proj)(const TABLE< GUM_ELEMENT > &, Instantiation *))
Default constructor.
gum is the global namespace for all aGrUM entities