27 #ifndef GUM_IPRM_FACTORY_H 28 #define GUM_IPRM_FACTORY_H 67 virtual void pushPackage(
const std::string& name) = 0;
69 virtual void addImport(
const std::string& name) = 0;
71 std::string super =
"") = 0;
72 virtual void addLabel(
const std::string& l, std::string extends =
"") = 0;
75 virtual void addTick(
double tick) = 0;
78 addRangeType(
const std::string& name,
long minVal,
long maxVal) = 0;
80 const std::string& extends =
"",
82 bool delayInheritance =
false) = 0;
84 virtual void endClass(
bool checkImplementations =
true) = 0;
86 const std::string& extends =
"",
87 bool delayInheritance =
false) = 0;
90 const std::string& name) = 0;
94 const std::string& name,
95 bool scalar_attr =
false) = 0;
97 virtual void addParent(
const std::string& name) = 0;
101 const std::vector< float >& values) = 0;
102 virtual void setCPFByRule(
const std::vector< std::string >& labels,
103 const std::vector< std::string >& values) = 0;
108 const std::string& name,
111 const std::string& agg_type,
112 const std::vector< std::string >& chains,
113 const std::vector< std::string >& params,
114 std::string type =
"") = 0;
116 const std::vector< std::string >& chains,
117 const std::vector< float >& numbers,
119 const std::vector< std::string >& label) = 0;
121 const std::string& name,
123 virtual void startSystem(
const std::string& name) = 0;
126 const std::string& name) = 0;
128 const std::string& name,
131 addArray(
const std::string& type,
const std::string& name,
Size size) = 0;
132 virtual void incArray(
const std::string& l_i,
const std::string& r_i) = 0;
134 const std::string& left_reference,
135 const std::string& right_instance) = 0;
137 const std::string& r_i) = 0;
virtual void setCPFByFloatRule(const std::vector< std::string > &labels, const std::vector< float > &values)=0
virtual void addAttribute(const std::string &type, const std::string &name)=0
virtual void endInterface()=0
virtual void startAttribute(const std::string &type, const std::string &name, bool scalar_attr=false)=0
Base class for discrete random variable.
Headers of MultiDimSparse.
virtual void addInstance(const std::string &type, const std::string &name)=0
virtual void addTick(double tick)=0
virtual void setRawCPFByColumns(const std::vector< std::string > &array)=0
gum is the global namespace for all aGrUM entities
virtual void addNoisyOrCompound(const std::string &name, const std::vector< std::string > &chains, const std::vector< float > &numbers, float leak, const std::vector< std::string > &label)=0
virtual void addParameter(const std::string &type, const std::string &name, double value)=0
virtual PRMObject::prm_type currentType() const =0
virtual void addReferenceSlot(const std::string &type, const std::string &name, bool isArray)=0
virtual void endDiscretizedType()=0
virtual void endClass(bool checkImplementations=true)=0
prm_type
Enumeration of the different types of objects handled by a PRM.
virtual void endAttribute()=0
virtual PRMObject * closeCurrent()=0
virtual void startClass(const std::string &c, const std::string &extends="", const Set< std::string > *implements=nullptr, bool delayInheritance=false)=0
virtual std::string currentPackage() const =0
virtual void setReferenceSlot(const std::string &left_instance, const std::string &left_reference, const std::string &right_instance)=0
virtual void pushPackage(const std::string &name)=0
virtual void startInterface(const std::string &i, const std::string &extends="", bool delayInheritance=false)=0
virtual void addRangeType(const std::string &name, long minVal, long maxVal)=0
virtual void continueClass(const std::string &c)=0
virtual bool isClassOrInterface(const std::string &type) const =0
virtual void setCPFByRule(const std::vector< std::string > &labels, const std::vector< std::string > &values)=0
virtual void addAggregator(const std::string &name, const std::string &agg_type, const std::vector< std::string > &chains, const std::vector< std::string > ¶ms, std::string type="")=0
virtual void setRawCPFByFloatLines(const std::vector< float > &array)=0
Abstract base class for any element defined in a PRM.
virtual std::string popPackage()=0
virtual void startDiscretizedType(const std::string &name)=0
virtual void continueInterface(const std::string &name)=0
virtual void startDiscreteType(const std::string &name, std::string super="")=0
virtual void setRawCPFByLines(const std::vector< std::string > &array)=0
virtual void addLabel(const std::string &l, std::string extends="")=0
virtual void addArray(const std::string &type, const std::string &name, Size size)=0
virtual void incArray(const std::string &l_i, const std::string &r_i)=0
virtual void endDiscreteType()=0
virtual void endSystem()=0
virtual void addImport(const std::string &name)=0
virtual void setRawCPFByFloatColumns(const std::vector< float > &array)=0
virtual void startSystem(const std::string &name)=0
std::size_t Size
In aGrUM, hashed values are unsigned long int.
virtual void continueAttribute(const std::string &name)=0
virtual bool isArrayInCurrentSystem(const std::string &name) const =0
virtual PRMObject * getCurrent()=0
Class hash tables iterators.
virtual void addParent(const std::string &name)=0
non-template interface-like parent for every PRM Factory