Generated on Thu Apr 11 13:59:48 2019 for Gecode by doxygen 1.6.3

Gecode::LinIntExpr Class Reference

Linear expressions over integer variables. More...

#include <minimodel.hh>

List of all members.

Classes

class  Node
 Nodes for linear expressions. More...

Public Types

enum  NodeType {
  NT_CONST, NT_VAR_INT, NT_VAR_BOOL, NT_NONLIN,
  NT_SUM_INT, NT_SUM_BOOL, NT_ADD, NT_SUB,
  NT_MUL
}
 

Type of linear expression.

More...

Public Member Functions

 LinIntExpr (void)
 Default constructor.
 LinIntExpr (int c)
 Create expression for constant c.
 LinIntExpr (const IntVar &x, int a=1)
 Create expression.
 LinIntExpr (const BoolVar &x, int a=1)
 Create expression.
 LinIntExpr (const IntVarArgs &x)
 Create sum expression.
 LinIntExpr (const IntArgs &a, const IntVarArgs &x)
 Create sum expression.
 LinIntExpr (const BoolVarArgs &x)
 Create sum expression.
 LinIntExpr (const IntArgs &a, const BoolVarArgs &x)
 Create sum expression.
 LinIntExpr (const LinIntExpr &e)
 Copy constructor.
 LinIntExpr (const LinIntExpr &e0, NodeType t, const LinIntExpr &e1)
 Create expression for type and subexpressions.
 LinIntExpr (const LinIntExpr &e0, NodeType t, int c)
 Create expression for type and subexpression.
 LinIntExpr (int a, const LinIntExpr &e)
 Create expression for multiplication.
 LinIntExpr (NonLinIntExpr *e)
 Create non-linear expression.
const LinIntExproperator= (const LinIntExpr &e)
 Assignment operator.
void post (Home home, IntRelType irt, const IntPropLevels &ipls) const
 Post propagator.
void post (Home home, IntRelType irt, const BoolVar &b, const IntPropLevels &ipls) const
 Post reified propagator.
IntVar post (Home home, const IntPropLevels &ipls) const
 Post propagator and return variable for value.
NonLinIntExprnle (void) const
 Return non-linear expression inside, or null if not non-linear.
 ~LinIntExpr (void)
 Destructor.

Detailed Description

Linear expressions over integer variables.

Definition at line 245 of file minimodel.hh.


Member Enumeration Documentation

Type of linear expression.

Enumerator:
NT_CONST 

Integer constant.

NT_VAR_INT 

Linear term with integer variable.

NT_VAR_BOOL 

Linear term with Boolean variable.

NT_NONLIN 

Non-linear expression.

NT_SUM_INT 

Sum of integer variables.

NT_SUM_BOOL 

Sum of Boolean variables.

NT_ADD 

Addition of linear terms.

NT_SUB 

Subtraction of linear terms.

NT_MUL 

Multiplication by coefficient.

Definition at line 255 of file minimodel.hh.


Constructor & Destructor Documentation

Gecode::LinIntExpr::LinIntExpr ( void   ) 

Default constructor.

Definition at line 363 of file int-expr.cpp.

Gecode::LinIntExpr::LinIntExpr ( int  c  ) 

Create expression for constant c.

Definition at line 371 of file int-expr.cpp.

Gecode::LinIntExpr::LinIntExpr ( const IntVar x,
int  a = 1 
)

Create expression.

Definition at line 381 of file int-expr.cpp.

Gecode::LinIntExpr::LinIntExpr ( const BoolVar x,
int  a = 1 
)

Create expression.

Definition at line 391 of file int-expr.cpp.

Gecode::LinIntExpr::LinIntExpr ( const IntVarArgs x  )  [explicit]

Create sum expression.

Definition at line 401 of file int-expr.cpp.

Gecode::LinIntExpr::LinIntExpr ( const IntArgs a,
const IntVarArgs x 
)

Create sum expression.

Definition at line 416 of file int-expr.cpp.

Gecode::LinIntExpr::LinIntExpr ( const BoolVarArgs x  )  [explicit]

Create sum expression.

Definition at line 433 of file int-expr.cpp.

Gecode::LinIntExpr::LinIntExpr ( const IntArgs a,
const BoolVarArgs x 
)

Create sum expression.

Definition at line 448 of file int-expr.cpp.

Gecode::LinIntExpr::LinIntExpr ( const LinIntExpr e  ) 

Copy constructor.

Definition at line 140 of file int-expr.cpp.

Gecode::LinIntExpr::LinIntExpr ( const LinIntExpr e0,
NodeType  t,
const LinIntExpr e1 
)

Create expression for type and subexpressions.

Definition at line 465 of file int-expr.cpp.

Gecode::LinIntExpr::LinIntExpr ( const LinIntExpr e0,
NodeType  t,
int  c 
)

Create expression for type and subexpression.

Definition at line 474 of file int-expr.cpp.

Gecode::LinIntExpr::LinIntExpr ( int  a,
const LinIntExpr e 
)

Create expression for multiplication.

Definition at line 484 of file int-expr.cpp.

Gecode::LinIntExpr::LinIntExpr ( NonLinIntExpr e  )  [explicit]

Create non-linear expression.

Definition at line 494 of file int-expr.cpp.

Gecode::LinIntExpr::~LinIntExpr ( void   ) 

Destructor.

Definition at line 514 of file int-expr.cpp.


Member Function Documentation

const LinIntExpr & Gecode::LinIntExpr::operator= ( const LinIntExpr e  ) 

Assignment operator.

Definition at line 505 of file int-expr.cpp.

void Gecode::LinIntExpr::post ( Home  home,
IntRelType  irt,
const IntPropLevels ipls 
) const

Post propagator.

Definition at line 156 of file int-expr.cpp.

void Gecode::LinIntExpr::post ( Home  home,
IntRelType  irt,
const BoolVar b,
const IntPropLevels ipls 
) const

Post reified propagator.

Definition at line 229 of file int-expr.cpp.

IntVar Gecode::LinIntExpr::post ( Home  home,
const IntPropLevels ipls 
) const

Post propagator and return variable for value.

Definition at line 292 of file int-expr.cpp.

NonLinIntExpr * Gecode::LinIntExpr::nle ( void   )  const

Return non-linear expression inside, or null if not non-linear.

Definition at line 359 of file int-expr.cpp.


The documentation for this class was generated from the following files: