30 #ifndef GUM_PARTIAL_INSTANTIATION_REGISTER_4_MULTI_DIM_H 31 #define GUM_PARTIAL_INSTANTIATION_REGISTER_4_MULTI_DIM_H 43 template <
typename GUM_SCALAR >
44 class MultiDimImplementation;
67 template <
typename GUM_SCALAR >
102 void insert(
const std::string& instantiation_func_name,
103 const std::string& type_multidim,
118 void erase(
const std::string& instantiation_func_name,
119 const std::string& type_multidim);
134 bool exists(
const std::string& instantiation_func_name,
135 const std::string& type_multidim)
const;
154 const std::string& type_multidim)
const;
214 template <
typename GUM_SCALAR >
216 const std::string& instantiation_func_name,
217 const std::string& type_multidim,
~PartialInstantiationRegister4MultiDim()
Class destructor.
static PartialInstantiationRegister4MultiDim & Register()
A named constructor that constructs one and only one Register per data type.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
MultiDimImplementation< GUM_SCALAR > *(* PartialInstantiationPtr)(const MultiDimImplementation< GUM_SCALAR > *, const HashTable< const DiscreteVariable *, Idx > &)
The type of functions used by the register.
HashTable< std::string, PartialInstantiationSet *> __set
A mapping from the types of MultiDimImplementations to partial instantiation operators.
void erase(const std::string &instantiation_func_name, const std::string &type_multidim)
Removes a given entry from the register.
bool exists(const std::string &instantiation_func_name, const std::string &type_multidim) const
Indicates whether a given entry exists in the register.
PartialInstantiationRegister4MultiDim()
Default constructor: creates an empty register.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
The class for generic Hash Tables.
A container for registering partial instantiation functions on multiDimImplementations, i.e., functions assigning values to subsets of the variables of some tables.
void registerPartialInstantiation(const std::string &instantiation_func_name, const std::string &type_multidim, typename PartialInstantiationRegister4MultiDim< GUM_SCALAR >::PartialInstantiationPtr function)
A function to more easily register new instantiation functions in MultiDims.
void insert(const std::string &instantiation_func_name, const std::string &type_multidim, PartialInstantiationPtr newFunction)
Adds a new entry into the register.
<agrum/multidim/multiDimImplementation.h>
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
HashTable< std::string, PartialInstantiationPtr > PartialInstantiationSet
The set of associations for a given partial instantiation type.