aGrUM  0.16.0
IContinuousVariable.h
Go to the documentation of this file.
1 
29 #ifndef GUM_I_CONTINUOUS_VARIABLE_H
30 #define GUM_I_CONTINUOUS_VARIABLE_H
31 
32 #include <iostream>
33 #include <string>
34 
35 #include <agrum/agrum.h>
37 
38 namespace gum {
39 
46  class IContinuousVariable : public Variable {
47  public:
48  // ############################################################################
50  // ############################################################################
52 
54  IContinuousVariable(const std::string& aName, const std::string& aDesc);
55 
63 
66 
68  virtual ~IContinuousVariable();
69 
71  virtual IContinuousVariable* clone() const = 0;
72 
74 
75 
76  // ############################################################################
78  // ############################################################################
80 
82  virtual double lowerBoundAsDouble() const = 0;
83 
85  virtual double upperBoundAsDouble() const = 0;
86 
88 
90  virtual void setLowerBoundFromDouble(const double new_bound) = 0;
91 
93 
95  virtual void setUpperBoundFromDouble(const double new_bound) = 0;
96 
98 
99 
100  protected:
103 
106  };
107 
108 
109 } /* namespace gum */
110 
111 
112 #ifndef GUM_NO_INLINE
114 #endif /* GUM_NO_INLINE */
115 
116 #endif /* GUM_I_CONTINUOUS_VARIABLE_H */
virtual void setLowerBoundFromDouble(const double new_bound)=0
updates the lower bound of the domain of the variable
Base class for every random variable.
Definition: variable.h:66
IContinuousVariable & operator=(const IContinuousVariable &from)
copy operator
virtual IContinuousVariable * clone() const =0
Copy Factory.
A base class for continuous variables, independent of the GUM_SCALAR type.
virtual double lowerBoundAsDouble() const =0
returns the lower bound of the domain of the variable as a double
virtual void setUpperBoundFromDouble(const double new_bound)=0
updates the lower bound of the domain of the variable
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Definition: agrum.h:25
virtual double upperBoundAsDouble() const =0
returns the upper bound of the domain of the variable as a double
virtual ~IContinuousVariable()
destructor
IContinuousVariable(const std::string &aName, const std::string &aDesc)
Default constructor.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.