27 #ifndef GUM_LAYER_GENERATOR_H 28 #define GUM_LAYER_GENERATOR_H 52 template <
typename GUM_SCALAR >
114 void setLayers(
const std::vector< LayerData >& v);
116 std::vector< LayerData >&
getLayer();
117 const std::vector< LayerData >&
getLayer()
const;
131 std::vector< std::string >
a;
132 std::vector< std::string >
g;
134 std::vector< std::string >
c;
140 const std::string& type,
141 std::vector< MyData >& l);
144 const std::string& type,
145 std::vector< typename LayerGenerator::MyData >& l);
150 std::vector< typename LayerGenerator::MyData >& l);
153 std::vector< typename LayerGenerator::MyData >& l);
This class is the base class to all PRM generators.
Class for generating bayesian networks.
gum is the global namespace for all aGrUM entities
void __generateInterfaces(PRMFactory< GUM_SCALAR > &f, const std::string &type, std::vector< MyData > &l)
std::vector< LayerData > __layers
LayerGenerator()
Default constructor.
std::vector< std::string > a
void __generateClasses(PRMFactory< GUM_SCALAR > &f, const std::string &type, std::vector< typename LayerGenerator::MyData > &l)
void setDomainSize(Size s)
Set the domain size of generated types.
Factory which builds a PRM<GUM_SCALAR>.
Size getMaxParents() const
Returns the max number of parents allowed for any attribute or aggregator.
Size getDomainSize() const
Returns the domain size of generated types.
void __generateSystem(PRMFactory< GUM_SCALAR > &factory, std::vector< typename LayerGenerator::MyData > &l)
<agrum/PRM/generator/layerGenerator.h>
void setLayers(const std::vector< LayerData > &v)
Defines the structure of each layers.
virtual PRM< GUM_SCALAR > * generate()
Proceeds with the generation of the PRM<GUM_SCALAR>.
This class represents a Probabilistic Relational PRMSystem<GUM_SCALAR>.
virtual ~LayerGenerator()
Destructor.
std::vector< LayerData > & getLayer()
Returns the domain size of generated types.
std::vector< std::string > g
Inline implementation of LayerGenerator.
void setMaxParents(Size s)
Returns the max number of parents allowed for any attribute or aggregator.
std::size_t Size
In aGrUM, hashed values are unsigned long int.
std::vector< std::string > c
LayerGenerator & operator=(const LayerGenerator &source)
Copy operator.
void __generateClassDag(Size lvl, DAG &dag, Bijection< std::string, NodeId > &names, std::vector< typename LayerGenerator::MyData > &l)
std::string __generateType(PRMFactory< GUM_SCALAR > &f)