Gecode::LinIntExpr Class Reference

Linear expressions over integer variables. More...

`#include <minimodel.hh>`

## 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 LinIntExpr & | operator= (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.
NonLinIntExpr * | nle (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

## NodeType

enum Gecode::LinIntExpr::NodeType

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

## LinIntExpr() [1/13]

Gecode::LinIntExpr::LinIntExpr | ( | void |  | ) |

Default constructor.

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

## LinIntExpr() [2/13]

Gecode::LinIntExpr::LinIntExpr | ( | int | c | ) |

Create expression for constant c.

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

## LinIntExpr() [3/13]

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

Create expression.

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

## LinIntExpr() [4/13]

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

Create expression.

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

## LinIntExpr() [5/13]

Gecode::LinIntExpr::LinIntExpr | ( | const IntVarArgs & | x | ) |

explicit

Create sum expression.

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

## LinIntExpr() [6/13]

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

Create sum expression.

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

## LinIntExpr() [7/13]

Gecode::LinIntExpr::LinIntExpr | ( | const BoolVarArgs & | x | ) |

explicit

Create sum expression.

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

## LinIntExpr() [8/13]

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

Create sum expression.

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

## LinIntExpr() [9/13]

Gecode::LinIntExpr::LinIntExpr | ( | const LinIntExpr & | e | ) |

Copy constructor.

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

## LinIntExpr() [10/13]

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.

## LinIntExpr() [11/13]

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.

## LinIntExpr() [12/13]

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

Create expression for multiplication.

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

## LinIntExpr() [13/13]

Gecode::LinIntExpr::LinIntExpr | ( | NonLinIntExpr * | e | ) |

explicit

Create non-linear expression.

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

## ~LinIntExpr()

Gecode::LinIntExpr::~LinIntExpr | ( | void |  | ) |

Destructor.

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

## Member Function Documentation

## operator=()

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

Assignment operator.

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

## post() [1/3]

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

Post propagator.

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

## post() [2/3]

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.

## post() [3/3]

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.

## nle()

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:

- gecode/minimodel.hh
- gecode/minimodel/int-expr.cpp