class SaveFrameNode

This is a save frame from the STAR file

Inheritance:


Public Methods

[more]StarFileNode::Status AddDataItem (const string & name, const string & value, DataValueNode::ValType type )
DEPRECIATED - use the STL vector operations instead
[more]void AddItemToSaveFrame (DataNode* S)
DEPRECIATED - use the STL vector operations instead
[more]StarFileNode::Status AddLoop (const string &tflag = string("tabulate"))
DEPRECIATED - use the STL vector operations instead
[more]StarFileNode::Status AddLoopDataName (const string & name)
DEPRECIATED - use the STL vector operations instead
[more]StarFileNode::Status AddLoopDataValue ( const string & value, DataValueNode::ValType type )
DEPRECIATED - use the STL vector operations instead
[more]ASTlist<DataNode*> * GiveMyDataList ()
Return the list (STL vector) of the DataItemNodes and DataLoopNodes in this saveframe.
[more]DataNode* ReturnSaveFrameDataNode (string dataItemName)
Given a name of a DataItem, return it (or NULL if it can't be found)
[more]DataNode* ReturnSaveFrameDeepLook ( string dataItemName, int* nest, int* col )
DEPRECIATED - use searchByTag instead @see searchByTag
[more]virtual void Unparse (int indent, int padsize )
[more]virtual void Unparse (int indent)
[more]void changeName (string &name)
Set the name of this saveframe.
[more]virtual bool isOfType ( ASTtype T )
[more]virtual int myLongestStr ( void ) const
Returns the length of the longest string in this object.
[more]string myName () const
Return the name of this saveframe.
[more]virtual ASTnode::ASTtype myType (void)
[more]virtual ASTlist<DataValueNode *> * returnLoopValues (const string & tagName)
DEPRECIATED - use the STL vector operations instead
[more]virtual List<ASTnode*> * searchByTag ( string &searchFor )
Given a tag name, find the AST object it resides in.
[more]virtual List<ASTnode*> * searchByTagValue ( string &tag, string &value )
Given a tag name and a value, find the AST object that that particular tag and value pair resides in.
[more]virtual List<ASTnode*> * 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.
[more]virtual bool unlinkChild ( ASTnode* child )
remove the child from this ASTnode but not free it's space
[more]virtual ~SaveFrameNode ()
Destructor

Public Members

[more]


Inherited from DataNode:


Inherited from ASTnode:

Public Methods

obool NotVirtualIsOfType( ASTtype T )
ovirtual void copyFrom( const ASTnode &copyFromMe )
ovirtual ASTnode* myParent(void)
ovirtual bool removeChild( ASTnode* child )
ovirtual bool removeMe( void )
ovirtual void setParent( ASTnode* p )
ovirtual bool unlinkMe( void )

Public Members

oenum ASTtype

Protected Methods

ovoid printIndent(int indent)


Inherited from ASTnodeWithPosBits:


Documentation

This is a save frame from the STAR file
o

o SaveFrameNode(const string & name)
Make a new empty save frame with the given name

o SaveFrameNode( SaveFrameNode &S )
Copy constructor

o SaveFrameNode( bool link, SaveFrameNode &S )
Copy with parallel link. Set "link" to true to create a copy with a parallel link, or set it to false to create a copy without a parallel link. See the external documentation for more details on parallel copies.

o SaveFrameNode(SaveHeadingNode* h, SaveFrameListNode* l)

ovirtual ~SaveFrameNode()
Destructor

ostring myName() const
Return the name of this saveframe. (includes the "save_" prefix

ovoid changeName(string &name)
Set the name of this saveframe. (Mus inculde the "save_" prefix manually.

oDataNode* ReturnSaveFrameDataNode(string dataItemName)
Given a name of a DataItem, return it (or NULL if it can't be found)

oASTlist<DataNode*> * GiveMyDataList()
Return the list (STL vector) of the DataItemNodes and DataLoopNodes in this saveframe. Manipulations such as insert() and erase() on this list will directly insert or delete things from the saveframe itself.

ovirtual void Unparse(int indent)

ovirtual void Unparse(int indent, int padsize )

ovirtual ASTnode::ASTtype myType(void)

ovirtual bool isOfType( ASTtype T )

ovirtual ASTlist<DataValueNode *> * returnLoopValues(const string & tagName)
DEPRECIATED - use the STL vector operations instead

ovoid AddItemToSaveFrame(DataNode* S)
DEPRECIATED - use the STL vector operations instead

oStarFileNode::Status AddDataItem(const string & name, const string & value, DataValueNode::ValType type )
DEPRECIATED - use the STL vector operations instead

oStarFileNode::Status AddLoop(const string &tflag = string("tabulate"))
DEPRECIATED - use the STL vector operations instead

oStarFileNode::Status AddLoopDataName(const string & name)
DEPRECIATED - use the STL vector operations instead

oStarFileNode::Status AddLoopDataValue( const string & value, DataValueNode::ValType type )
DEPRECIATED - use the STL vector operations instead

oDataNode* ReturnSaveFrameDeepLook( string dataItemName, int* nest, int* col )
DEPRECIATED - use searchByTag instead @see searchByTag

ovirtual List<ASTnode*> * searchByTag( string &searchFor )
Given a tag name, find the AST object it resides in. It returns a pointer to the lowest level AST object that the tag resides in. The caller of this function needs to use the isOfType() and/or myType() methods to determine what type to cst the object. Returns a NULL if nothing was found.

This search is case-insensitive. The names of things, according to the STAR specification, are supposed to be case-insensitive. This is being applied not only to tag names but also to saveframe names and datablock names.

WARNING: The list returned is allocated in heap space. It is the caller's responsibility to delete the list after it is no longer needed.

Parameters:
searchFor - Look for this string as the tag name.

ovirtual List<ASTnode*> * 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.
Parameters:
type - the type to search for
delim - the delimiter to search for if searching for DataValueNodes. The default is "dont-care".

ovirtual List<ASTnode*> * searchByTagValue( string &tag, string &value )
Given a tag name and a value, find the AST object that that particular tag and value pair resides in. This is like performing an SQL search: WHERE tag = value.

This search is case-insensitive. The names of things, according to the STAR specification, are supposed to be case-insensitive. This is being applied not only to tag names but also to saveframe names and datablock names.

(However, the values are case-sensitive. A search for a tag of _t1 is identical to a search for a tag of _T1, but a search for a value of "V1" is different from a search for a value of "v1".)

WARNING: The list returned is allocated in heap space. It is the caller's responsibility to delete the list after it is no longer needed.

Parameters:
- tag Look for this tag...
value - ...where it has this value.

ovirtual bool unlinkChild( ASTnode* child )
remove the child from this ASTnode but not free it's space

ovirtual int myLongestStr( void ) const
Returns the length of the longest string in this object. Used by Unparse() at various levels of the AST tree. (In this case, it just returns the length of the heading of the heading of this saveframe: )


This class has no child classes.

Alphabetic index HTML hierarchy of classes or Java


Starlib is a creation of BioMagResBank: bmrb.wisc.edu starlib banner