28 #ifndef GUM_I_CONTINUOUS_VARIABLE_H 29 #define GUM_I_CONTINUOUS_VARIABLE_H 34 #include <agrum/agrum.h> 35 #include <agrum/tools/variables/variable.h> 45 class IContinuousVariable:
public Variable {
53 IContinuousVariable(
const std::string& aName,
const std::string& aDesc);
61 IContinuousVariable(
const IContinuousVariable& from);
64 IContinuousVariable(IContinuousVariable&& from);
67 virtual ~IContinuousVariable();
70 virtual IContinuousVariable* clone()
const = 0;
81 virtual double lowerBoundAsDouble()
const = 0;
84 virtual double upperBoundAsDouble()
const = 0;
89 virtual void setLowerBoundFromDouble(
const double new_bound) = 0;
94 virtual void setUpperBoundFromDouble(
const double new_bound) = 0;
101 IContinuousVariable& operator=(
const IContinuousVariable& from);
104 IContinuousVariable& operator=(IContinuousVariable&& from);
111 #ifndef GUM_NO_INLINE 112 # include <agrum/tools/variables/IContinuousVariable_inl.h>