9 #ifndef _MP_expression_hpp_
10 #define _MP_expression_hpp_
24 class TerminalExpression;
39 Coef(
int c,
int r,
double v,
int s = 0) :
86 virtual double level()
const = 0;
88 vector<Constant> multiplicators,
129 virtual double getValue()
const = 0;
150 double level()
const;
162 vector<Constant> multiplicators,
virtual double level() const =0
Coef(int c, int r, double v, int s=0)
void setMultiplicator(vector< Constant > &mults, double m)
virtual void generate(const MP_domain &domain, vector< Constant > multiplicators, MP::GenerateFunctor &f, double m) const =0
vector< MP::Coef > & Coefs
Symbolic representation of a linear expression.This is one of the main public interface classes...
virtual double getValue() const =0
Constant operator/(const Constant &a, const Constant &b)
Returns the quotient of two constants.This is used in the formation of an expression.
VariableRef(MP_variable *v, const MP_index_exp &i1, const MP_index_exp &i2, const MP_index_exp &i3, const MP_index_exp &i4, const MP_index_exp &i5)
void generate(const MP_domain &domain, vector< Constant > multiplicators, MP::GenerateFunctor &f, double m) const
void setTerminalExpression(const TerminalExpression *c)
Inteface for hooking up to internal flopc++ message handling.In more advanced use of FlopC++...
Utility for doing reference counted pointers.
Constant operator+(const Constant &a, const Constant &b)
Returns the sum of two constants.This is used in the formation of an expression.
MP_expression(MP_expression_base *r)
Representation of an expression involving an index.This is one of the main public interface classes...
void insertVariables(set< MP_variable * > &v) const
The base class for all expressions.
vector< Constant > multiplicators
virtual int getColumn() const =0
This is the anchor point for all constructs in a FlopC++ model.The constructors take an OsiSolverInte...
virtual void insertVariables(set< MP_variable * > &v) const =0
Constant operator-(const Constant &a, const Constant &b)
Returns the difference of two constants.This is used in the formation of an expression.
All flopc++ code is contained within the flopc namespace.
Range over which some other constuct is defined.This is one of the main public interface classes...
GenerateFunctor(MP_constraint *r, vector< Coef > &cfs)
const TerminalExpression * C
Symantic representation of a variable.This is one of the main public interface classes. It should be directly declared by clients of the FlopC++. The parametersof construction are MP_set s which specify the indexes over which the variable is defined.
Function object. Often used.
Reference counted class for all "constant" types of data.
Constant operator*(const Constant &a, const Constant &b)
Returns the product of two constants.This is used in the formation of an expression.
Constant sum(const MP_domain &i, const Constant &e)
Returns the sum of two constants.
virtual int getStage() const =0
bool operator()(const MP::Coef &a, const MP::Coef &b) const
The base class for all expressions.
virtual ~MP_expression_base()
Semantic representation of a linear constraint.This is one of the main public interface classes...