Gecode::LinIntExpr::Node Class Reference

Nodes for linear expressions. More...

## Public Member Functions

| Node (void)
| Default constructor.
void | fill (Home home, const IntPropLevels &ipls, Int::Linear::Term< Int::IntView > *&ti, Int::Linear::Term< Int::BoolView > *&tb, long long int m, long long int &d) const
| Generate linear terms from expression.
int | fill (Home home, const IntPropLevels &ipls, Int::Linear::Term< Int::IntView > *ti, Int::Linear::Term< Int::BoolView > *tb) const
| Generate linear terms for expressions.
bool | decrement (void)
| Decrement reference count and possibly free memory.
| ~Node (void)
| Destructor.

## Static Public Member Functions

static void * | operator new (size_t size)
| Memory management.
static void | operator delete (void *p, size_t size)
| Memory management.

## Public Attributes

unsigned int | use
| Nodes are reference counted.
int | n_int
| Integer variables in tree.
int | n_bool
| Boolean variables in tree.
NodeType | t
| Type of expression.
Node * | l
| Subexpressions.
Node * | r
union { |
Int::Linear::Term< Int::IntView > * ti |
| Integer views and coefficients. More...
Int::Linear::Term< Int::BoolView > * tb |
| Bool views and coefficients. More...
NonLinIntExpr * ne |
| Non-linear expression. More...
} | sum
| Sum of integer or Boolean variables, or non-linear expression.
int | a
| Coefficient and offset.
int | c
IntVar | x_int
| Integer variable (potentially).
BoolVar | x_bool
| Boolean variable (potentially).

## Detailed Description

Nodes for linear expressions.

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

## Constructor & Destructor Documentation

## Node()

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

inline

Default constructor.

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

## ~Node()

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

inline

Destructor.

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

## Member Function Documentation

## fill() [1/2]

void Gecode::LinIntExpr::Node::fill | ( | Home | home,
|  | const IntPropLevels & | ipls,
|  | Int::Linear::Term< Int::IntView > *& | ti,
|  | Int::Linear::Term< Int::BoolView > *& | tb,
|  | long long int | m,
|  | long long int & | d ) const

Generate linear terms from expression.

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

## fill() [2/2]

int Gecode::LinIntExpr::Node::fill | ( | Home | home,
|  | const IntPropLevels & | ipls,
|  | Int::Linear::Term< Int::IntView > * | ti,
|  | Int::Linear::Term< Int::BoolView > * | tb ) const

Generate linear terms for expressions.

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

## decrement()

bool Gecode::LinIntExpr::Node::decrement | ( | void |  | ) |

Decrement reference count and possibly free memory.

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

## operator new()

void * Gecode::LinIntExpr::Node::operator new | ( | size_t | size | ) |

inline static

Memory management.

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

## operator delete()

void Gecode::LinIntExpr::Node::operator delete | ( | void * | p,
|  | size_t | size )

inline static

Memory management.

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

## Member Data Documentation

## use

unsigned int Gecode::LinIntExpr::Node::use

Nodes are reference counted.

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

## n_int

int Gecode::LinIntExpr::Node::n_int

Integer variables in tree.

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

## n_bool

int Gecode::LinIntExpr::Node::n_bool

Boolean variables in tree.

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

## t

NodeType Gecode::LinIntExpr::Node::t

Type of expression.

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

## l

Node* Gecode::LinIntExpr::Node::l

Subexpressions.

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

## r

Node * Gecode::LinIntExpr::Node::r

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

## ti

Int::Linear::Term<Int::IntView>* Gecode::LinIntExpr::Node::ti

Integer views and coefficients.

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

## tb

Int::Linear::Term<Int::BoolView>* Gecode::LinIntExpr::Node::tb

Bool views and coefficients.

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

## ne

NonLinIntExpr* Gecode::LinIntExpr::Node::ne

Non-linear expression.

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

## [union]

union { ... } Gecode::LinIntExpr::Node::sum

Sum of integer or Boolean variables, or non-linear expression.

## a

int Gecode::LinIntExpr::Node::a

Coefficient and offset.

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

## c

int Gecode::LinIntExpr::Node::c

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

## x_int

IntVar Gecode::LinIntExpr::Node::x_int

Integer variable (potentially).

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

## x_bool

BoolVar Gecode::LinIntExpr::Node::x_bool

Boolean variable (potentially).

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

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

- gecode/minimodel/int-expr.cpp