30 #ifndef GUM_VARIABLE_H 31 #define GUM_VARIABLE_H 36 #include <agrum/agrum.h> 40 enum class VarType :
char 53 std::ostream& operator<<(std::ostream& s,
const Variable& LDRV);
86 virtual Variable* clone()
const = 0;
99 Variable& operator=(
const Variable& aRV);
103 virtual bool operator==(
const Variable& aRV)
const;
107 virtual bool operator!=(
const Variable& aRV)
const;
118 void setName(
const std::string& theValue);
121 const std::string& name()
const;
126 void setDescription(
const std::string& theValue)
const;
129 const std::string& description()
const;
132 virtual VarType varType()
const = 0;
135 virtual const std::string domain()
const = 0;
142 GUM_CONSTRUCTOR(Variable);
147 void copy_(
const Variable& aRV);
152 Variable(
const std::string& aName,
const std::string& aDesc);
156 Variable(
const Variable& aRV);
165 mutable std::string _description_;
170 #ifndef GUM_NO_INLINE 171 # include <agrum/tools/variables/variable_inl.h>