aGrUM  0.16.0
PRMGenerator.h
Go to the documentation of this file.
1 
30 #ifndef GUM_PRM_GENERATOR_H
31 #define GUM_PRM_GENERATOR_H
32 #include <sstream>
33 #include <string>
34 
35 #include <agrum/PRM/PRM.h>
37 
38 namespace gum {
39  namespace prm {
40 
48  template < typename GUM_SCALAR >
49  class PRMGenerator {
50  public:
51  // ========================================================================
53  // ========================================================================
55 
57  PRMGenerator();
59  PRMGenerator(const PRMGenerator& source);
61  virtual ~PRMGenerator();
62 
64  // ========================================================================
66  // ========================================================================
68 
70  void setNameGenerator(const NameGenerator& name_gen);
71 
73  const NameGenerator& getNameGenerator() const;
74 
76  virtual PRM< GUM_SCALAR >* generate() = 0;
77 
79  protected:
82  };
83 
84  } /* namespace prm */
85 } /* namespace gum */
86 
88 
89 #endif /* GUM_PRM_GENERATOR_H */
This class is the base class to all PRM generators.
Definition: PRMGenerator.h:49
This is a name generator for classes, types, systems, instances and class elements.
Definition: nameGenerator.h:53
void setNameGenerator(const NameGenerator &name_gen)
Getters and setters.
virtual PRM< GUM_SCALAR > * generate()=0
Proceeds with the generation of the PRM.
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.
Definition: agrum.h:25
const NameGenerator & getNameGenerator() const
Returns the NameGenerator used by this generator.
virtual ~PRMGenerator()
Destructor.
PRMGenerator()
Default constructor.
NameGenerator _name_gen
The name generator used by this class.
Definition: PRMGenerator.h:81
This class represents a Probabilistic Relational PRMSystem<GUM_SCALAR>.
Definition: PRM.h:66
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.