#include <fsamap.h>
Public Member Functions | |
virtual | ~FSAMap () |
void | insertFSA (unsigned var, unsigned fsa) |
Inserts a new variable with its first straight ancestor (FSA) variable. | |
void | print (OutputStream &dos) |
Prints all variables with their first straight ancestor (FSA) variable. | |
unsigned | getFSA (unsigned var) |
Returns the first straight ancestor (FSA) variable for the entered variable. | |
Static Public Member Functions | |
static FSAMap * | getInstance () |
Returns instance of FSAMap. | |
Private Member Functions | |
FSAMap () | |
Constructor. | |
Private Attributes | |
VarVarMap | fsamap |
The underlying map of this object. | |
Static Private Attributes | |
static FSAMap * | instance = NULL |
Instance of FSAMap. |
Represents mapping of variables to their first straight ancestor (FSA) variable, which takes therefore two variables, e.g. FSA($x) = $y
, as arguments.
SINGLETON PATTERN!
Definition at line 63 of file fsamap.h.
FSAMap::~FSAMap | ( | ) | [virtual] |
Destructor.
Definition at line 52 of file fsamap.cpp.
FSAMap::FSAMap | ( | ) | [private] |
Constructor.
Constructor - creating object.
Definition at line 48 of file fsamap.cpp.
References fsamap, and TAGID_ROOT.
Referenced by getInstance().
unsigned FSAMap::getFSA | ( | unsigned | var | ) |
Returns the first straight ancestor (FSA) variable for the entered variable.
Returns the first straight ancestor (FSA) variable for the entered variable.
[in] | var | Variable for which first straight ancestor (FSA) variable should be obtained. |
unsigned | First straight ancestor (FSA) variable for the entered variable. |
Definition at line 68 of file fsamap.cpp.
References fsamap.
Referenced by ForExpression::extractFSAMap(), and ProjectionTreeLabel::getFSALabel().
static FSAMap * FSAMap::getInstance | ( | ) | [static] |
Returns instance of FSAMap.
Returns instance of FSAMap, i.e. of this object.
FSAMap* | Pointer to a FSAMap object. |
Definition at line 40 of file fsamap.cpp.
References FSAMap(), and instance.
Referenced by Executor::collectQueryInformation(), ProjectionTreeLabel::getAxisFollowingFSA(), ProjectionTreeLabel::getFSALabel(), print(), and Executor::~Executor().
void FSAMap::insertFSA | ( | unsigned | var, | |
unsigned | fsa | |||
) |
Inserts a new variable with its first straight ancestor (FSA) variable.
Inserts a new variable with its first straight ancestor (FSA) variable.
[in] | var | Variable for which first straight ancestor (FSA) variable holds. |
[in] | fsa | First straight ancestor (FSA) variable. |
void |
Definition at line 55 of file fsamap.cpp.
References fsamap.
Referenced by ForExpression::extractFSAMap().
void FSAMap::print | ( | OutputStream & | dos | ) |
Prints all variables with their first straight ancestor (FSA) variable.
Prints all variables with their first straight ancestor (FSA) variable.
[in] | dos | Pointer to a OutputStream object. |
void |
Definition at line 59 of file fsamap.cpp.
References fsamap, getInstance(), and NEWLINE.
Referenced by Executor::collectQueryInformation().
VarVarMap FSAMap::fsamap [private] |
static FSAMap * FSAMap::instance = NULL [static, private] |
Instance of FSAMap.
Instance of FSAMap to avoid duplicate existence of this object.
Definition at line 108 of file fsamap.h.
Referenced by getInstance().