Generated on Thu Jan 16 2025 00:00:00 for Gecode by doxygen 1.14.0
Gecode::FlatZinc::AST::Node Class Referenceabstract

A node in a FlatZinc abstract syntax tree. More...

#include <ast.hh>

Public Member Functions

virtual ~Node (void)
 Destructor.
void append (Node *n)
 Append n to an array node.
bool hasAtom (const std::string &id)
 Test if node has atom with id.
bool isInt (int &i)
 Test if node is int, if yes set i to the value.
bool isFloat (double &i)
 Test if node is float, if yes set d to the value.
bool isCall (const std::string &id)
 Test if node is function call with id.
CallgetCall (void)
 Return function call.
bool hasCall (const std::string &id)
 Test if node is function call or array containing function call id.
CallgetCall (const std::string &id)
 Return function call id.
ArraygetArray (void)
 Cast this node to an array node.
AtomgetAtom (void)
 Cast this node to an Atom node.
std::string getVarName (void)
 Return name of variable represented by this node.
int getIntVar (void)
 Cast this node to an integer variable node.
int getBoolVar (void)
 Cast this node to a Boolean variable node.
int getFloatVar (void)
 Cast this node to a Float variable node.
int getSetVar (void)
 Cast this node to a set variable node.
int getInt (void)
 Cast this node to an integer node.
bool getBool (void)
 Cast this node to a Boolean node.
double getFloat (void)
 Cast this node to a Float node.
SetLitgetSet (void)
 Cast this node to a set literal node.
std::string getString (void)
 Cast this node to a string node.
bool isIntVar (void)
 Test if node is an integer variable node.
bool isBoolVar (void)
 Test if node is a Boolean variable node.
bool isSetVar (void)
 Test if node is a set variable node.
bool isFloatVar (void)
 Test if node is a float variable node.
bool isInt (void)
 Test if node is an integer node.
bool isFloat (void)
 Test if node is a float node.
bool isBool (void)
 Test if node is a Boolean node.
bool isString (void)
 Test if node is a string node.
bool isArray (void)
 Test if node is an array node.
bool isSet (void)
 Test if node is a set literal node.
bool isAtom (void)
 Test if node is an atom node.
virtual void print (std::ostream &)=0
 Output string representation.

Detailed Description

A node in a FlatZinc abstract syntax tree.

Definition at line 67 of file ast.hh.

Constructor & Destructor Documentation

◆ ~Node()

Gecode::FlatZinc::AST::Node::~Node ( void )
inlinevirtual

Destructor.

Definition at line 310 of file ast.hh.

Member Function Documentation

◆ append()

void Gecode::FlatZinc::AST::Node::append ( Node * n)
inline

Append n to an array node.

Definition at line 313 of file ast.hh.

◆ hasAtom()

bool Gecode::FlatZinc::AST::Node::hasAtom ( const std::string & id)
inline

Test if node has atom with id.

Definition at line 321 of file ast.hh.

◆ isInt() [1/2]

bool Gecode::FlatZinc::AST::Node::isInt ( int & i)
inline

Test if node is int, if yes set i to the value.

Definition at line 364 of file ast.hh.

◆ isFloat() [1/2]

bool Gecode::FlatZinc::AST::Node::isFloat ( double & i)
inline

Test if node is float, if yes set d to the value.

Definition at line 373 of file ast.hh.

◆ isCall()

bool Gecode::FlatZinc::AST::Node::isCall ( const std::string & id)
inline

Test if node is function call with id.

Definition at line 334 of file ast.hh.

◆ getCall() [1/2]

Call * Gecode::FlatZinc::AST::Node::getCall ( void )
inline

Return function call.

Definition at line 343 of file ast.hh.

◆ hasCall()

bool Gecode::FlatZinc::AST::Node::hasCall ( const std::string & id)
inline

Test if node is function call or array containing function call id.

Definition at line 350 of file ast.hh.

◆ getCall() [2/2]

Call * Gecode::FlatZinc::AST::Node::getCall ( const std::string & id)
inline

Return function call id.

Definition at line 382 of file ast.hh.

◆ getArray()

Array * Gecode::FlatZinc::AST::Node::getArray ( void )
inline

Cast this node to an array node.

Definition at line 396 of file ast.hh.

◆ getAtom()

Atom * Gecode::FlatZinc::AST::Node::getAtom ( void )
inline

Cast this node to an Atom node.

Definition at line 403 of file ast.hh.

◆ getVarName()

std::string Gecode::FlatZinc::AST::Node::getVarName ( void )
inline

Return name of variable represented by this node.

Definition at line 410 of file ast.hh.

◆ getIntVar()

int Gecode::FlatZinc::AST::Node::getIntVar ( void )
inline

Cast this node to an integer variable node.

Definition at line 416 of file ast.hh.

◆ getBoolVar()

int Gecode::FlatZinc::AST::Node::getBoolVar ( void )
inline

Cast this node to a Boolean variable node.

Definition at line 422 of file ast.hh.

◆ getFloatVar()

int Gecode::FlatZinc::AST::Node::getFloatVar ( void )
inline

Cast this node to a Float variable node.

Definition at line 428 of file ast.hh.

◆ getSetVar()

int Gecode::FlatZinc::AST::Node::getSetVar ( void )
inline

Cast this node to a set variable node.

Definition at line 434 of file ast.hh.

◆ getInt()

int Gecode::FlatZinc::AST::Node::getInt ( void )
inline

Cast this node to an integer node.

Definition at line 440 of file ast.hh.

◆ getBool()

bool Gecode::FlatZinc::AST::Node::getBool ( void )
inline

Cast this node to a Boolean node.

Definition at line 446 of file ast.hh.

◆ getFloat()

double Gecode::FlatZinc::AST::Node::getFloat ( void )
inline

Cast this node to a Float node.

Definition at line 452 of file ast.hh.

◆ getSet()

SetLit * Gecode::FlatZinc::AST::Node::getSet ( void )
inline

Cast this node to a set literal node.

Definition at line 458 of file ast.hh.

◆ getString()

std::string Gecode::FlatZinc::AST::Node::getString ( void )
inline

Cast this node to a string node.

Definition at line 464 of file ast.hh.

◆ isIntVar()

bool Gecode::FlatZinc::AST::Node::isIntVar ( void )
inline

Test if node is an integer variable node.

Definition at line 470 of file ast.hh.

◆ isBoolVar()

bool Gecode::FlatZinc::AST::Node::isBoolVar ( void )
inline

Test if node is a Boolean variable node.

Definition at line 474 of file ast.hh.

◆ isSetVar()

bool Gecode::FlatZinc::AST::Node::isSetVar ( void )
inline

Test if node is a set variable node.

Definition at line 478 of file ast.hh.

◆ isFloatVar()

bool Gecode::FlatZinc::AST::Node::isFloatVar ( void )
inline

Test if node is a float variable node.

Definition at line 482 of file ast.hh.

◆ isInt() [2/2]

bool Gecode::FlatZinc::AST::Node::isInt ( void )
inline

Test if node is an integer node.

Definition at line 486 of file ast.hh.

◆ isFloat() [2/2]

bool Gecode::FlatZinc::AST::Node::isFloat ( void )
inline

Test if node is a float node.

Definition at line 494 of file ast.hh.

◆ isBool()

bool Gecode::FlatZinc::AST::Node::isBool ( void )
inline

Test if node is a Boolean node.

Definition at line 490 of file ast.hh.

◆ isString()

bool Gecode::FlatZinc::AST::Node::isString ( void )
inline

Test if node is a string node.

Definition at line 502 of file ast.hh.

◆ isArray()

bool Gecode::FlatZinc::AST::Node::isArray ( void )
inline

Test if node is an array node.

Definition at line 506 of file ast.hh.

◆ isSet()

bool Gecode::FlatZinc::AST::Node::isSet ( void )
inline

Test if node is a set literal node.

Definition at line 498 of file ast.hh.

◆ isAtom()

bool Gecode::FlatZinc::AST::Node::isAtom ( void )
inline

Test if node is an atom node.

Definition at line 510 of file ast.hh.

◆ print()


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