29 #ifndef GUM_PROJECTION_PATTERN_ALLOWED 38 # ifdef GUM_MULTI_DIM_PROJECTION_NAME 39 template <
typename GUM_SCALAR >
40 MultiDimImplementation< GUM_SCALAR >* GUM_MULTI_DIM_PROJECTION_NAME(
41 const MultiDimImplementation< GUM_SCALAR >& ttable,
42 const Set< const DiscreteVariable* >& del_vars) {
51 GUM_MULTI_DIM_PROJECTION_FUNC_NAME, ttable.name());
54 GUM_MULTI_DIM_PROJECTION_FUNC_NAME, ttable.basename());
58 return func(&ttable, del_vars);
static ProjectionRegister4MultiDim & Register()
a named constructor that constructs one and only one Register per data type
MultiDimImplementation< GUM_SCALAR > *(* ProjectionPtr)(const MultiDimImplementation< GUM_SCALAR > *, const Set< const DiscreteVariable * > &)
the type of functions used by the register
gum is the global namespace for all aGrUM entities
ProjectionPtr get(const std::string &projection_name, const std::string &type_multidim) const
returns the specialized projection operator assigned to a given type of MultiDimImplementation ...