Generated on Sat Feb 7 2015 02:01:41 for Gecode by doxygen 1.8.9.1
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::PosSetfollowpos (MiniModel::PosSetAllocator &, MiniModel::PosInfo *)
 Compute the follow positions. More...
 
template<class Char , class Traits >
std::basic_ostream< Char, Traits > & print (std::basic_ostream< Char, Traits > &os) const
 Print expression. More...
 

Static Public Member Functions

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

Public Attributes

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

Detailed Description

Implementation of the actual expression tree.

Definition at line 56 of file reg.cpp.

Member Enumeration Documentation

Type of regular expression.

Enumerator
ET_SYMBOL 
ET_CONC 
ET_OR 
ET_STAR 

Definition at line 65 of file reg.cpp.

Member Function Documentation

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

Compute the follow positions.

Definition at line 490 of file reg.cpp.

void Gecode::REG::Exp::inc ( Exp e)
inlinestatic

Increment use counter of e.

Definition at line 139 of file reg.cpp.

void Gecode::REG::Exp::dec ( Exp e)
inlinestatic

Decrement use counter of e.

Definition at line 144 of file reg.cpp.

int Gecode::REG::Exp::n_pos ( Exp e)
inlinestatic

Return number of positions of e.

Definition at line 151 of file reg.cpp.

template<class Char , class Traits >
std::basic_ostream< Char, Traits > & Gecode::REG::Exp::print ( std::basic_ostream< Char, Traits > &  os) const

Print expression.

Definition at line 42 of file reg.hpp.

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

Definition at line 110 of file reg.cpp.

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

Definition at line 114 of file reg.cpp.

Member Data Documentation

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

Reference counter.

Definition at line 59 of file reg.cpp.

int Gecode::REG::Exp::_n_pos

Number of positions.

Definition at line 61 of file reg.cpp.

ExpType Gecode::REG::Exp::type

Type of regular expression.

Definition at line 72 of file reg.cpp.

int Gecode::REG::Exp::symbol

Symbol.

Definition at line 76 of file reg.cpp.

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

Subexpressions.

Definition at line 78 of file reg.cpp.

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

Symbol or subexpressions.


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