MyLang
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
myparser::NodeList< TX > Class Template Referenceabstract

#include <myparser_ast.hpp>

Inheritance diagram for myparser::NodeList< TX >:
Inheritance graph
[legend]
Collaboration diagram for myparser::NodeList< TX >:
Collaboration graph
[legend]

Public Member Functions

virtual ~NodeList ()
 
virtual void free ()
 
virtual bool empty () const
 
void bind (NodeList<> *target, const size_t pos)
 
void putChild (Node *value)
 
virtual size_t getLen () const
 
virtual void getFullText (std::ostream &out) const
 
virtual size_t getIndex () const =0
 
const std::vector< Node * > & getChildren () const
 
- Public Member Functions inherited from myparser::Node
virtual ~Node ()
 
virtual void runPass (PassBase *pass) const =0
 
virtual const std::string & getRuleName () const =0
 
const std::string getFullText () const
 
const InputgetPos () const
 
const Input getTail () const
 
NodechallengeLonger (Node *target)
 

Protected Member Functions

 NodeList (const Input &input)
 
- Protected Member Functions inherited from myparser::Node
 Node (const Input &input)
 

Private Attributes

std::vector< Node * > children
 
size_t basepos
 
NodeListbrother = nullptr
 

Constructor & Destructor Documentation

template<class TX = void>
myparser::NodeList< TX >::NodeList ( const Input input)
inlineprotected
template<class TX = void>
virtual myparser::NodeList< TX >::~NodeList ( )
inlinevirtual

Member Function Documentation

template<class TX = void>
void myparser::NodeList< TX >::bind ( NodeList<> *  target,
const size_t  pos 
)
inline
template<class TX = void>
virtual bool myparser::NodeList< TX >::empty ( ) const
inlinevirtual

Implements myparser::Node.

Reimplemented in myparser::NodeSpace< I >.

template<class TX = void>
virtual void myparser::NodeList< TX >::free ( )
inlinevirtual

Reimplemented from myparser::Node.

template<class TX = void>
const std::vector<Node *>& myparser::NodeList< TX >::getChildren ( ) const
inline
template<class TX = void>
virtual void myparser::NodeList< TX >::getFullText ( std::ostream &  out) const
inlinevirtual

Implements myparser::Node.

template<class TX = void>
virtual size_t myparser::NodeList< TX >::getIndex ( ) const
pure virtual
template<class TX = void>
virtual size_t myparser::NodeList< TX >::getLen ( ) const
inlinevirtual

Implements myparser::Node.

template<class TX = void>
void myparser::NodeList< TX >::putChild ( Node value)
inline

Member Data Documentation

template<class TX = void>
size_t myparser::NodeList< TX >::basepos
private
template<class TX = void>
NodeList* myparser::NodeList< TX >::brother = nullptr
private
template<class TX = void>
std::vector<Node *> myparser::NodeList< TX >::children
private

The documentation for this class was generated from the following file: