33 #include <agrum/PRM/PRM.h> 34 #include <agrum/PRM/PRMFactory.h> 35 #include <agrum/PRM/o3prm/O3NameSolver.h> 36 #include <agrum/PRM/o3prm/O3prm.h> 37 #include <agrum/PRM/o3prm/errors.h> 38 #include <agrum/tools/core/hashTable.h> 39 #include <agrum/tools/core/set.h> 41 #ifndef GUM_PRM_O3PRM_O3INTERFACE_FACTORY_H 42 # define GUM_PRM_O3PRM_O3INTERFACE_FACTORY_H 57 template <
typename GUM_SCALAR >
62 O3NameSolver< GUM_SCALAR >& solver,
63 ErrorsContainer& errors);
102 O3InterfaceElement& elt);
105 O3InterfaceElement& elt);
115 # include <agrum/PRM/o3prm/O3InterfaceFactory_tpl.h> 118 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS O3InterfaceFactory< GUM_SCALAR > & operator=(O3InterfaceFactory< GUM_SCALAR > &&src)
bool checkO3Interfaces__()
bool checkOverloadLegality__(O3Interface &i, O3InterfaceElement &elt)
HashTable< std::string, std::string > eltName__
HashTable< std::string, gum::NodeId > nameMap__
INLINE void emplace(Args &&... args)
bool checkReferenceOverloadLegality__(O3Interface &i, O3InterfaceElement &elt)
O3InterfaceFactory(PRM< GUM_SCALAR > &prm, O3PRM &o3_prm, O3NameSolver< GUM_SCALAR > &solver, ErrorsContainer &errors)
O3InterfaceFactory< GUM_SCALAR > & operator=(const O3InterfaceFactory< GUM_SCALAR > &src)
bool addInterface2Dag__()
O3NameSolver< GUM_SCALAR > * solver__
O3InterfaceFactory(O3InterfaceFactory< GUM_SCALAR > &&src)
Bulds gum::prm:PRMInterface from gum::prm::o3prm::O3Interface.
PRM< GUM_SCALAR > * prm__
O3InterfaceFactory(const O3InterfaceFactory< GUM_SCALAR > &src)
bool checkInterfaceElement__(O3Interface &i, O3InterfaceElement &elt)
ParamScopeData(const std::string &s, const PRMReferenceSlot< GUM_SCALAR > &ref, Idx d)
bool checkCyclicReference__(O3Interface &i, O3InterfaceElement &elt)
ErrorsContainer * errors__
HashTable< std::string, O3Interface *> interfaceMap__
bool checkAttributeOverloadLegality__(O3Interface &i, O3InterfaceElement &elt)
std::vector< O3Interface *> o3Interface__
void setO3InterfaceCreationOrder__()
HashTable< NodeId, O3Interface *> nodeMap__