Gecode::REG::Exp Class Reference

Implementation of the actual expression tree. More...

## Public Types

enum | ExpType { ET_SYMBOL , ET_CONC , ET_OR , ET_STAR }
| Type of regular expression. More...

## Public Member Functions

MiniModel::PosSet * | followpos (MiniModel::PosSetAllocator &, MiniModel::PosInfo *)
| Compute the follow positions.
void | toString (std::ostringstream &os) const
| Print expression to os.
std::string | toString (void) const
| Print expression.

## Static Public Member Functions

static void | inc (Exp *e)
| Increment use counter of e.
static void | dec (Exp *e)
| Decrement use counter of e.
static int | n_pos (Exp *e)
| Return number of positions of e.
static void * | operator new (size_t)
static void | operator delete (void *)

## Public Attributes

unsigned int | use_cnt
| Reference counter.
int | _n_pos
| Number of positions.
ExpType | type
| Type of regular expression.
union { |
int symbol |
| Symbol. More...
Exp * kids [2] |
| Subexpressions. More...
} | data
| Symbol or subexpressions.

## Detailed Description

Implementation of the actual expression tree.

Definition at line 52 of file reg.cpp.

## Member Enumeration Documentation

## ExpType

enum Gecode::REG::Exp::ExpType

Type of regular expression.

Enumerator
ET_SYMBOL |
ET_CONC |
ET_OR |
ET_STAR |

Definition at line 61 of file reg.cpp.

## Member Function Documentation

## followpos()

MiniModel::PosSet * Gecode::REG::Exp::followpos | ( | MiniModel::PosSetAllocator & | psm,
|  | MiniModel::PosInfo * | pi )

inline

Compute the follow positions.

Definition at line 562 of file reg.cpp.

## inc()

void Gecode::REG::Exp::inc | ( | Exp * | e | ) |

inline static

Increment use counter of e.

Definition at line 136 of file reg.cpp.

## dec()

void Gecode::REG::Exp::dec | ( | Exp * | e | ) |

inline static

Decrement use counter of e.

Definition at line 141 of file reg.cpp.

## n_pos()

int Gecode::REG::Exp::n_pos | ( | Exp * | e | ) |

inline static

Return number of positions of e.

Definition at line 148 of file reg.cpp.

## toString() [1/2]

void Gecode::REG::Exp::toString | ( | std::ostringstream & | os | ) | const

Print expression to os.

Definition at line 153 of file reg.cpp.

## toString() [2/2]

std::string Gecode::REG::Exp::toString | ( | void |  | ) | const

Print expression.

Definition at line 214 of file reg.cpp.

## operator new()

void * Gecode::REG::Exp::operator new | ( | size_t | s | ) |

inline static

Definition at line 106 of file reg.cpp.

## operator delete()

void Gecode::REG::Exp::operator delete | ( | void * |  | ) |

inline static

Definition at line 110 of file reg.cpp.

## Member Data Documentation

## use_cnt

unsigned int Gecode::REG::Exp::use_cnt

Reference counter.

Definition at line 55 of file reg.cpp.

## _n_pos

int Gecode::REG::Exp::_n_pos

Number of positions.

Definition at line 57 of file reg.cpp.

## type

ExpType Gecode::REG::Exp::type

Type of regular expression.

Definition at line 68 of file reg.cpp.

## symbol

int Gecode::REG::Exp::symbol

Symbol.

Definition at line 72 of file reg.cpp.

## kids

Exp* Gecode::REG::Exp::kids[2]

Subexpressions.

Definition at line 74 of file reg.cpp.

## [union]

union { ... } Gecode::REG::Exp::data

Symbol or subexpressions.

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

- gecode/minimodel/reg.cpp