#include <Lifo.hxx>
Public Member Functions | |
Lifo () throw (LifoException) | |
~Lifo () throw (LifoException) | |
void | pop () throw (LifoException) |
void | pop (int_32 &myInteger) throw (LifoException) |
void | pop (float_32 &myFloat) throw (LifoException) |
void | pop (std::string &myString) throw (LifoException) |
void | pop (double &myDouble) throw (LifoException) |
void | pop (bool &myBool) throw (LifoException) |
void | pop (ClcmPtr &myClcm) throw (LifoException) |
void | pop (std::string myFile, std::string stype) throw (LifoException) |
void | node (int_32 ipos, int_32 &myInteger) throw (LifoException) |
void | node (int_32 ipos, float_32 &myFloat) throw (LifoException) |
void | node (int_32 ipos, std::string &myString) throw (LifoException) |
void | node (int_32 ipos, double &myDouble) throw (LifoException) |
void | node (int_32 ipos, bool &myBool) throw (LifoException) |
void | node (int_32 ipos, ClcmPtr &myClcm) throw (LifoException) |
void | node (int_32 ipos, std::string node, std::string stype) throw (LifoException) |
void | node (std::string sname, int_32 &myInteger) throw (LifoException) |
void | node (std::string sname, float_32 &myFloat) throw (LifoException) |
void | node (std::string sname, std::string &myString) throw (LifoException) |
void | node (std::string sname, double &myDouble) throw (LifoException) |
void | node (std::string sname, bool &myBool) throw (LifoException) |
void | node (std::string sname, ClcmPtr &myClcm) throw (LifoException) |
void | node (std::string sname, std::string node, std::string stype) throw (LifoException) |
std::string | OSName (std::string sname) throw (LifoException) |
std::string | OSName (int_32 ipos) throw (LifoException) |
std::string | Name (int_32 ipos) throw (LifoException) |
int_32 | typeNode (std::string sname) throw (LifoException) |
int_32 | typeNode (int_32 ipos) throw (LifoException) |
int_32 | accessNode (std::string sname) throw (LifoException) |
int_32 | accessNode (int_32 ipos) throw (LifoException) |
void | push (std::string sname, const int_32 myInteger) throw (LifoException) |
void | push (std::string sname, const float myFloat) throw (LifoException) |
void | push (std::string sname, const std::string myString) throw (LifoException) |
void | push (std::string sname, const double_64 myDouble) throw (LifoException) |
void | push (std::string sname, const bool myBool) throw (LifoException) |
void | push (std::string sname, const ClcmPtr myClcm) throw (LifoException) |
void | push (std::string sname, std::string myFile, std::string stype) throw (LifoException) |
void | push (std::string sname, std::string myFile, std::string stype, std::string OSname) throw (LifoException) |
void | pushEmpty (std::string sname, std::string nodeType) throw (LifoException) |
void | pushEmpty (std::string sname, std::string nodeType, std::string OSname) throw (LifoException) |
int_32 | getMax () |
void | lib () throw (LifoException) |
lifo * | extract () |
This class is an implementation of the C++/Boost bindings for a last-in-first-out (lifo) stack used with CLE-2000. Lifo management capabilities for a program written in C++ are available by using methods belonging to the Lifo class. These methods encapsulate the lifo API calls used as "extern"C" functions.
A Lifo object in C++ can encapsulate a native lifo stack used to manage CLE-2000 parameters.
A lifo stack can contain defined or undefined (empty) nodes; used to represent known or unknown parameters, respectively.
Note: There is a constraint_32 in CLE-2000. LCM (or XSM) objects and files must be pushed before single-value nodes in the stack.
ganlib::Lifo::Lifo | ( | ) | throw (LifoException) |
Use this constructor to create an empty Lifo object.
ganlib::Lifo::~Lifo | ( | ) | throw (LifoException) |
Close and destroy a Lifo object.
int_32 ganlib::Lifo::accessNode | ( | std::string | sname | ) | throw (LifoException) |
Return the access of the node associated with a given name. The lifo stack is not modified
sname | node name (limited to 12 characters) |
int_32 ganlib::Lifo::accessNode | ( | int_32 | ipos | ) | throw (LifoException) |
Return the access of the node at a given position. The lifo stack is not modified
ipos | node position in lifo stack |
lifo * ganlib::Lifo::extract | ( | ) |
Extract the lifo structure.
int_32 ganlib::Lifo::getMax | ( | ) |
Gives the number of nodes in the lifo stack
void ganlib::Lifo::lib | ( | ) | throw (LifoException) |
Print_32 the table-of-content of a lifo stack
string ganlib::Lifo::Name | ( | int_32 | ipos | ) | throw (LifoException) |
Return the name of the node at a given position. The lifo stack is not modified
ipos | node position in lifo stack |
void ganlib::Lifo::node | ( | int_32 | ipos, |
int_32 & | myInteger | ||
) | throw (LifoException) |
Return the integer value node with a given position. If the node is empty or if the argument type is wrong, an exception is thrown. The lifo stack is not modified
ipos | node position in lifo stack |
myInteger | integer value node. |
void ganlib::Lifo::node | ( | int_32 | ipos, |
float_32 & | myFloat | ||
) | throw (LifoException) |
Return the real value node with a given position. If the node is empty or if the argument type is wrong, an exception is thrown. The lifo stack is not modified
ipos | node position in lifo stack |
myFloat | real value node. |
void ganlib::Lifo::node | ( | int_32 | ipos, |
std::string & | myString | ||
) | throw (LifoException) |
Return the character string node with a given position. If the node is empty or if the argument type is wrong, an exception is thrown. The lifo stack is not modified
ipos | node position in lifo stack |
myString | character string node (limited to 72 characters). |
void ganlib::Lifo::node | ( | int_32 | ipos, |
double & | myDouble | ||
) | throw (LifoException) |
Return the double precision value node with a given position. If the node is empty or if the argument type is wrong, an exception is thrown. The lifo stack is not modified
ipos | node position in lifo stack |
myDouble | double precision value node. |
void ganlib::Lifo::node | ( | int_32 | ipos, |
bool & | myBool | ||
) | throw (LifoException) |
Return the boolean value node with a given position. If the node is empty or if the argument type is wrong, an exception is thrown. The lifo stack is not modified
ipos | node position in lifo stack |
myBool | integer value node. |
void ganlib::Lifo::node | ( | int_32 | ipos, |
ClcmPtr & | myClcm | ||
) | throw (LifoException) |
Return the ClcmPtr object node with a given position. If the node is empty or if the argument type is wrong, an exception is thrown. The lifo stack is not modified
ipos | node position in lifo stack |
myClcm | ClcmPtr object node. |
void ganlib::Lifo::node | ( | int_32 | ipos, |
std::string | node, | ||
std::string | stype | ||
) | throw (LifoException) |
Return the file object node with a given position. If the node is empty or if the argument type is wrong, an exception is thrown. The lifo stack is not modified
ipos | node position in lifo stack |
node | operating system (OS) name (limited to 72 characters) associated to the file object node to pop from the lifo stack. |
stype | type of LCM object or file. This variable is selected by pop among the following values:
|
void ganlib::Lifo::node | ( | std::string | sname, |
int_32 & | myInteger | ||
) | throw (LifoException) |
Return the integer value node with a given name. If the node is empty or if the argument type is wrong, an exception is thrown. The lifo stack is not modified
sname | node name (limited to 12 characters) |
myInteger | integer value node. |
void ganlib::Lifo::node | ( | std::string | sname, |
float_32 & | myFloat | ||
) | throw (LifoException) |
Return the real value node with a given name. If the node is empty or if the argument type is wrong, an exception is thrown. The lifo stack is not modified
sname | node name (limited to 12 characters) |
myFloat | real value node. |
void ganlib::Lifo::node | ( | std::string | sname, |
std::string & | myString | ||
) | throw (LifoException) |
Return the character string node with a given name. If the node is empty or if the argument type is wrong, an exception is thrown. The lifo stack is not modified
sname | node name (limited to 12 characters) |
myString | character string node (limited to 72 characters). |
void ganlib::Lifo::node | ( | std::string | sname, |
double & | myDouble | ||
) | throw (LifoException) |
Return the double precision value node with a given name. If the node is empty or if the argument type is wrong, an exception is thrown. The lifo stack is not modified
sname | node name (limited to 12 characters) |
myDouble | double precision value node. |
void ganlib::Lifo::node | ( | std::string | sname, |
bool & | myBool | ||
) | throw (LifoException) |
Return the boolean value node with a given name. If the node is empty or if the argument type is wrong, an exception is thrown. The lifo stack is not modified
sname | node name (limited to 12 characters) |
myBool | integer value node. |
void ganlib::Lifo::node | ( | std::string | sname, |
ClcmPtr & | myClcm | ||
) | throw (LifoException) |
Return the ClcmPtr object node with a given name. If the node is empty or if the argument type is wrong, an exception is thrown. The lifo stack is not modified
sname | node name (limited to 12 characters) |
myClcm | ClcmPtr object node. |
void ganlib::Lifo::node | ( | std::string | sname, |
std::string | node, | ||
std::string | stype | ||
) | throw (LifoException) |
Return the file object node with a given name. If the node is empty or if the argument type is wrong, an exception is thrown. The lifo stack is not modified
sname | node name (limited to 12 characters) |
node | operating system (OS) name (limited to 72 characters) associated to the file object node to pop from the lifo stack. |
stype | type of LCM object or file. This variable is selected by pop among the following values:
|
std::string ganlib::Lifo::OSName | ( | std::string | sname | ) | throw (LifoException) |
Return the OSname of the node associated with a given name. The lifo stack is not modified
sname | node name (limited to 12 characters) |
string ganlib::Lifo::OSName | ( | int_32 | ipos | ) | throw (LifoException) |
Return the OSname of the node at a given position. The lifo stack is not modified
ipos | node position in lifo stack |
void ganlib::Lifo::pop | ( | ) | throw (LifoException) |
Pop the value on top of the Lifo stack without recovering it. If the node is empty, an exception is thrown
void ganlib::Lifo::pop | ( | int_32 & | myInteger | ) | throw (LifoException) |
Pop the integer value on top of the Lifo stack. If the node is empty or if the argument type is wrong, an exception is thrown
myInteger | integer value node to pop from the lifo stack. |
void ganlib::Lifo::pop | ( | float_32 & | myFloat | ) | throw (LifoException) |
Pop the real value on top of the Lifo stack. If the node is empty or if the argument type is wrong, an exception is thrown
myFloat | real value node to pop from the lifo stack. |
void ganlib::Lifo::pop | ( | std::string & | myString | ) | throw (LifoException) |
Pop the character string on top of the Lifo stack. If the node is empty or if the argument type is wrong, an exception is thrown
myString | character string node (limited to 72 characters) to pop from the lifo stack. |
void ganlib::Lifo::pop | ( | double & | myDouble | ) | throw (LifoException) |
Pop the double precision value on top of the Lifo stack. If the node is empty or if the argument type is wrong, an exception is thrown
myDouble | double precision value node to pop from the lifo stack. |
void ganlib::Lifo::pop | ( | bool & | myBool | ) | throw (LifoException) |
Pop the boolean value on top of the Lifo stack. If the node is empty or if the argument type is wrong, an exception is thrown
myBool | boolean value node to pop from the lifo stack. |
void ganlib::Lifo::pop | ( | ClcmPtr & | myClcm | ) | throw (LifoException) |
Pop the ClcmPtr object on top of the Lifo stack. If the node is empty or if the argument type is wrong, an exception is thrown
myClcm | LCM object node to pop from the lifo stack. |
void ganlib::Lifo::pop | ( | std::string | myFile, |
std::string | stype | ||
) | throw (LifoException) |
Pop the file object on top of the Lifo stack. If the node is empty or if the argument type is wrong, an exception is thrown
myFile | operating system (OS) name (limited to 72 characters) associated to the file object node to pop from the lifo stack. |
stype | type of file. This variable is selected by pop among the following values:
|
void ganlib::Lifo::push | ( | std::string | sname, |
const int_32 | myInteger | ||
) | throw (LifoException) |
Push a new integer on top of the Lifo stack
sname | node name (limited to 12 characters) |
myInteger | integer value to push into the lifo stack |
void ganlib::Lifo::push | ( | std::string | sname, |
const float | myFloat | ||
) | throw (LifoException) |
Push a new real on top of the Lifo stack
sname | node name (limited to 12 characters) |
myFloat | real value to push into the lifo stack |
void ganlib::Lifo::push | ( | std::string | sname, |
const std::string | myString | ||
) | throw (LifoException) |
Push a new node object on top of the Lifo stack
sname | node name (limited to 12 characters) |
myString | string object to push into the lifo stack. |
void ganlib::Lifo::push | ( | std::string | sname, |
const double_64 | myDouble | ||
) | throw (LifoException) |
Push a new double precision value on top of the Lifo stack
sname | node name (limited to 12 characters) |
myDouble | double precision value to push into the lifo stack |
void ganlib::Lifo::push | ( | std::string | sname, |
const bool | myBool | ||
) | throw (LifoException) |
Push a new boolean value on top of the Lifo stack
sname | node name (limited to 12 characters) |
myBool | boolean value to push into the lifo stack |
void ganlib::Lifo::push | ( | std::string | sname, |
const ClcmPtr | myClcm | ||
) | throw (LifoException) |
Push a new ClcmPtr node object on top of the Lifo stack
sname | node name (limited to 12 characters) |
myClcm | ClcmPtr LCM/XSM object to push into the lifo stack. result |
void ganlib::Lifo::push | ( | std::string | sname, |
std::string | myFile, | ||
std::string | stype | ||
) | throw (LifoException) |
Push a new node object with a type on top of the Lifo stack
sname | node name (limited to 12 characters) |
myFile | file object to push into the lifo stack. |
stype | type of LCM object or file. This variable is chosen among the following values:
|
void ganlib::Lifo::push | ( | std::string | sname, |
std::string | myFile, | ||
std::string | stype, | ||
std::string | OSname | ||
) | throw (LifoException) |
Push a new node object with a type and an "OSname"
on top of the Lifo stack
sname | node name (limited to 12 characters) |
myFile | file object to push into the lifo stack. |
stype | type of LCM object or file. This variable is chosen among the following values:
|
OSname | operating system (OS) name associated to the file (limited to 72 characters). |
void ganlib::Lifo::pushEmpty | ( | std::string | sname, |
std::string | nodeType | ||
) | throw (LifoException) |
Push an empty node on top of the Lifo stack
sname | node name (limited to 12 characters) |
nodeType | node type (='I': integer value; 'F': real value; 'D': double precision value; 'B': boolean value;'S': character string value; ='LCM': memory-resident LCM object; ='XSM': XSM file; ='BINARY': binary file; ='ASCII': ascii file; ='DA': direct-access file (with 128-word records)) |
void ganlib::Lifo::pushEmpty | ( | std::string | sname, |
std::string | nodeType, | ||
std::string | OSname | ||
) | throw (LifoException) |
Push an empty node on top of the Lifo stack
sname | node name (limited to 12 characters) |
nodeType | node type (='XSM': XSM file; ='BINARY': binary file; ='ASCII': ascii file; ='DA': direct-access file (with 128-word records)) |
OSname | operating system (OS) name associated to the file (limited to 72 characters). |
int_32 ganlib::Lifo::typeNode | ( | std::string | sname | ) | throw (LifoException) |
Return the type of the node associated with a given name. The lifo stack is not modified
sname | node name (limited to 12 characters) |
int_32 ganlib::Lifo::typeNode | ( | int_32 | ipos | ) | throw (LifoException) |
Return the type of the node at a given position. The lifo stack is not modified
ipos | node position in lifo stack |