aGrUM  0.16.0
O3NameSolver.h
Go to the documentation of this file.
1 
31 #include <algorithm>
32 #include <string>
33 
34 #include <agrum/PRM/PRM.h>
35 #include <agrum/PRM/o3prm/O3prm.h>
36 #include <agrum/PRM/o3prm/errors.h>
37 #include <agrum/core/hashTable.h>
39 
40 #ifndef GUM_PRM_O3PRM_O3NAMESOLVER_H
41 # define GUM_PRM_O3PRM_O3NAMESOLVER_H
42 
43 namespace gum {
44  namespace prm {
45  namespace o3prm {
46 
56  template < typename GUM_SCALAR >
57  class O3NameSolver {
58  public:
60  O3PRM& o3_prm,
61  ErrorsContainer& errors);
62 
64 
66 
67  ~O3NameSolver();
68 
71 
73 
74  bool resolveClassElement(O3Label& name);
75 
76  bool resolveType(O3Label& name);
77 
78  bool resolveInterface(O3Label& name);
79 
80  bool resolveClass(O3Label& name);
81 
82  bool resolveSlotType(O3Label& name);
83 
84  private:
88 
90 
96  };
97 
98  } // namespace o3prm
99  } // namespace prm
100 } // namespace gum
101 
102 
103 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
104 extern template class gum::prm::o3prm::O3NameSolver< double >;
105 # endif
106 
107 
108 // always include the implementation of the templates
110 
111 #endif // GUM_PRM_O3PRM_O3NAMESOLVER_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.
This class is used contain and manipulate gum::ParseError.
The O3Label is part of the AST of the O3PRM language.
Definition: O3prm.h:173
bool resolveType(O3Label &name)
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Definition: agrum.h:25
O3NameSolver< GUM_SCALAR > & operator=(const O3NameSolver< GUM_SCALAR > &src)
Resolves names for the different O3PRM factories.
Definition: O3NameSolver.h:57
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
bool resolveClassElement(O3Label &name)
bool resolveSlotType(O3Label &name)
O3NameSolver(PRM< GUM_SCALAR > &prm, O3PRM &o3_prm, ErrorsContainer &errors)
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
This class represents a Probabilistic Relational PRMSystem<GUM_SCALAR>.
Definition: PRM.h:66
ErrorsContainer * __errors
Definition: O3NameSolver.h:87
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
bool resolveInterface(O3Label &name)
The O3PRM is part of the AST of the O3PRM language.
Definition: O3prm.h:892
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
bool resolveClass(O3Label &name)
PRM< GUM_SCALAR > * __prm
Definition: O3NameSolver.h:85