Generated on Tue Feb 11 2025 17:33:26 for Gecode by doxygen 1.12.0

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.
 
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

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)
inlinestatic

Increment use counter of e.

Definition at line 136 of file reg.cpp.

◆ dec()

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

Decrement use counter of e.

Definition at line 141 of file reg.cpp.

◆ n_pos()

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

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)
inlinestatic

Definition at line 106 of file reg.cpp.

◆ operator delete()

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

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: