| 
    casacore
    
   | 
 
#include <TaQLNode.h>
Public Member Functions | |
| TaQLNode () | |
| Default constructor.   | |
| TaQLNode (TaQLNodeRep *rep) | |
| Construct for given letter.   | |
| TaQLNode (const TaQLNode &that) | |
| Copy constructor (reference semantics).   | |
| TaQLNode & | operator= (const TaQLNode &that) | 
| Assignment (reference semantics).   | |
| const TaQLStyle & | style () const | 
| Get the TaQL style.   | |
| virtual | ~TaQLNode () noexcept=default | 
| Bool | isValid () const | 
| Does the envelope contain a letter?   | |
| char | nodeType () const | 
| Return the type of letter.   | |
| const TaQLNodeRep * | getRep () const | 
| Get read access to the letter.   | |
| TaQLNodeResult | visit (TaQLNodeVisitor &visitor) const | 
| Let the visitor visit the node.   | |
| void | show (std::ostream &os) const | 
| Print the node (recursively) in the given stream.   | |
| void | save (AipsIO &aio) const | 
| Save and restore the entire parse tree.   | |
| void | saveNode (AipsIO &aio) const | 
| Helper functions for save/restore of tree.   | |
Static Public Member Functions | |
| static TaQLNode | parse (const String &command) | 
| Parse a TaQL command and return the result.   | |
| static TaQLNode | restore (AipsIO &aio) | 
| static TaQLNode | restoreNode (AipsIO &aio) | 
| static TaQLMultiNode | restoreMultiNode (AipsIO &aio) | 
Static Public Attributes | |
| static TaQLNode | theirNode | 
| The object getting the final tree.   | |
| static std::vector< TaQLNode * > | theirNodesCreated | 
| A list of objects created by the parser and deleted at the end.   | |
| static TaQLStyle | theirStyle | 
| Keep the TaQL style to use.   | |
| static std::mutex | theirMutex | 
| Use a mutex to guard the statics.   | |
Protected Attributes | |
| std::shared_ptr< TaQLNodeRep > | itsRep | 
Static Private Member Functions | |
| static void | clearNodesCreated () | 
| Delete all nodes that were created by the parser.   | |
Envelope class for a node in the raw TaQL parse tree.
Internal
The result of parsing a TaQL command is stored in TaQLNode objects. Each part of the command can have its own specialized TaQLNodeRep object, which forms the letter in the TaQLNode envelope. 
The actual scanning/parsing of the command is done using flex/bison as defined in the TableGram files.
The letter-envelope idiom (counted pointer) makes if much easier to keep track of memory, especially in the case of exceptions.
Definition at line 81 of file TaQLNode.h.
      
  | 
  inline | 
Default constructor.
Definition at line 85 of file TaQLNode.h.
      
  | 
  inline | 
Construct for given letter.
It takes over the pointer.
Definition at line 89 of file TaQLNode.h.
References itsRep.
      
  | 
  inline | 
Copy constructor (reference semantics).
Definition at line 93 of file TaQLNode.h.
References itsRep.
      
  | 
  virtualdefaultnoexcept | 
      
  | 
  staticprivate | 
Delete all nodes that were created by the parser.
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
Parse a TaQL command and return the result.
An exception is thrown in case of parse errors. The parse tree is deleted by function clearNodeCreated.
      
  | 
  static | 
| void casacore::TaQLNode::save | ( | AipsIO & | aio | ) | const | 
Save and restore the entire parse tree.
| void casacore::TaQLNode::saveNode | ( | AipsIO & | aio | ) | const | 
Helper functions for save/restore of tree.
      
  | 
  inline | 
Print the node (recursively) in the given stream.
Definition at line 133 of file TaQLNode.h.
References itsRep.
      
  | 
  inline | 
      
  | 
  inline | 
Let the visitor visit the node.
If no node, return an empty result.
Definition at line 129 of file TaQLNode.h.
References itsRep.
Referenced by casacore::TaQLNodeVisitor::visitNode().
      
  | 
  protected | 
Definition at line 143 of file TaQLNode.h.
Referenced by getRep(), isValid(), nodeType(), operator=(), show(), style(), TaQLNode(), TaQLNode(), and visit().
      
  | 
  static | 
Use a mutex to guard the statics.
Definition at line 164 of file TaQLNode.h.
      
  | 
  static | 
The object getting the final tree.
Definition at line 158 of file TaQLNode.h.
      
  | 
  static | 
A list of objects created by the parser and deleted at the end.
Definition at line 160 of file TaQLNode.h.
      
  | 
  static | 
Keep the TaQL style to use.
Definition at line 162 of file TaQLNode.h.