class LoopTableNode |
A LoopTableNode is a table of rows in a DataLoopNode.
| FlattenNestedLoop (List<DataValueNode*>* M) DEPRECIATED - use the STL vector operations instead | |
| RemoveColumnValues ( int nest, int ele ) DEPRECIATED - use the STL vector operations instead (Removing the tagname from the name list with the erase() operator causes it to remove the values under that name) | |
| Unparse (int indent) | |
| addValue (const DataLoopNameListNode::Status dstat, const int row, const int currRow, DVNWithPos* value) DEPRECIATED - use the STL vector operations instead | |
| back () const | |
| back () | |
| begin () | |
| begin () const | |
| checkValueAlignment (void) Test the Loop Table to see if there are any lines where the values on the line don't "align" with the names in the taglist. | |
| empty () const | |
| end () const | |
| end () | |
| front () | |
| front () const | |
| getNumCols ( void ) Gets the number of columns in this LoopTableNode, by looking up at the list of names for this loop. | |
| isOfType ( ASTtype T ) | |
| myLongestStr ( void ) Returns the length of the longest string in this object. | |
| myType (void) | |
| operator[] ( size_type n) const | |
| operator[] ( size_type n ) | |
| reserve ( size_type n ) | |
| reset () DEPRECIATED - use the STL vector operations instead | |
| returnLoopValues (unsigned position) DEPRECIATED - use the STL vector operations instead | |
| returnNextLoopElement (DataValueNode* & v) DEPRECIATED - use the STL vector operations instead | |
| searchForType ( ASTtype type, int delim = -1 ) This method returns a list of all the nodes of the given type that are inside this node, or children of this node, or children of children of this node, etc all the way down to the leaf nodes. | |
| size () const | |
| unlinkChild ( ASTnode* child ) unlinks the given ASTnode from this ASTnode, assuming that the given ASTnode is a child of this ASTnode. | |
| ~LoopTableNode () |
| | |
| calcPrintSizes ( List<int>** presizes, List<int>** postsizes ) |
A LoopTableNode is a table of rows in a DataLoopNode.You can think of a loop in a STAR file as being a table of values, with each iteration of the loop being a row on the table. This is the view taken by the starlib. Things are further complicated by the fact that each row of the table can have another table under it (another nesting level), but even then, those tables are the same structure as the outermost one.
Thus, this class, LoopTableNode, stores a table at some arbitrary nesting level in the loop. A simple singly nested loop will have only one loop table node, but a multiply nested loop will have a whole tree of loop tables.
* Insert - Insert before 'pos', the LoopRowNode given. If the * LoopRowNode given has the wrong number of values, it * will fail and return false, else it returns true. ** (This function makes a copy of the passed LoopRowNode, it does not use * the passed LoopRowNode itself (in other words, you can delete * it after calling (The LoopRowNode and the DataValueNodes IN the * LoopRowNode).) * * This version makes a deep copy of the node given:
* Insert - Insert before 'pos', the table of data given * by the LoopTableNode. If the layout of values is not * consistent with the layout defined by the names * in the DataLoopNode, it will fail and return false, * else it returns true. *(This function performs a DEEP COPY of the given loop node, so everything in the passed argument can be deleted after calling, if it is appropriate.)
Notes:
- You need to delete the List
void addValue(const DataLoopNameListNode::Status dstat, const int row, const int currRow, DVNWithPos* value)
void FlattenNestedLoop(List<DataValueNode*>* M)
void reset()
DataLoopValListNode::Status returnNextLoopElement(DataValueNode* & v)
ASTlist<DataValueNode *> * returnLoopValues(unsigned position)
StarFileNode::Status RemoveColumnValues( int nest, int ele )
(Removing the tagname from the name list with the erase() operator
causes it to remove the values under that name)
virtual List<ASTnode*> * searchForType( ASTtype type, int delim = -1 )
delim - the delimiter type
virtual bool unlinkChild( ASTnode* child )
virtual int myLongestStr( void )
virtual void calcPrintSizes( List<int>** presizes, List<int>** postsizes )
Alphabetic index HTML hierarchy of classes or Java