49#ifndef GUM_LAYER_GENERATOR_H
50#define GUM_LAYER_GENERATOR_H
72 template <
typename GUM_SCALAR >
134 void setLayers(
const std::vector< LayerData >& v);
136 std::vector< LayerData >&
getLayer();
137 const std::vector< LayerData >&
getLayer()
const;
152 std::vector< std::string >
a;
153 std::vector< std::string >
g;
155 std::vector< std::string >
c;
161 const std::string& type,
162 std::vector< MyData >& l);
165 const std::string& type,
166 std::vector< typename LayerGenerator::MyData >& l);
171 std::vector< typename LayerGenerator::MyData >& l);
174 std::vector< typename LayerGenerator::MyData >& l);
void _generateInterfaces_(PRMFactory< GUM_SCALAR > &f, const std::string &type, std::vector< MyData > &l)
void _generateClassDag_(Size lvl, DAG &dag, Bijection< std::string, NodeId > &names, std::vector< typename LayerGenerator::MyData > &l)
std::string _generateType_(PRMFactory< GUM_SCALAR > &f)
void _generateClasses_(PRMFactory< GUM_SCALAR > &f, const std::string &type, std::vector< typename LayerGenerator::MyData > &l)
Size getDomainSize() const
Returns the domain size of generated types.
virtual PRM< GUM_SCALAR > * generate()
Proceeds with the generation of the PRM<GUM_SCALAR>.
std::vector< LayerData > _layers_
void _generateSystem_(PRMFactory< GUM_SCALAR > &factory, std::vector< typename LayerGenerator::MyData > &l)
LayerGenerator & operator=(const LayerGenerator &source)
Copy operator.
void setDomainSize(Size s)
Set the domain size of generated types.
virtual ~LayerGenerator()
Destructor.
void setMaxParents(Size s)
Returns the max number of parents allowed for any attribute or aggregator.
std::vector< LayerData > & getLayer()
Returns the domain size of generated types.
Size getMaxParents() const
Returns the max number of parents allowed for any attribute or aggregator.
LayerGenerator()
Default constructor.
void setLayers(const std::vector< LayerData > &v)
Defines the structure of each layers.
Factory which builds a PRM<GUM_SCALAR>.
PRMGenerator()
Default constructor.
This class represents a Probabilistic Relational PRMSystem<GUM_SCALAR>.
std::size_t Size
In aGrUM, hashed values are unsigned long int.
Inline implementation of LayerGenerator.
namespace for all probabilistic relational models entities
gum is the global namespace for all aGrUM entities
Class for generating Bayesian networks.
std::vector< std::string > c
std::vector< std::string > a
std::vector< std::string > g