Bond 0.9
C++ Bond Runtime Library API Documentation
Loading...
Searching...
No Matches
Bond::ParseNodeList< NodeType > Class Template Reference

Helper container for singly linked lists of parse nodes, which tracks the tail of the list so that nodes can be appended in constant time. It does not own the nodes. More...

#include <bond/compiler/parsenodes.h>

Public Member Functions

 ParseNodeList ()
 Constructs an empty parse node list.
bool IsEmpty () const
 Returns true if the list has no nodes.
NodeType * GetHead () const
 Returns the first node in the list.
void Append (NodeType *node)
 Appends a node to the end of the list.

Detailed Description

template<typename NodeType>
class Bond::ParseNodeList< NodeType >

Helper container for singly linked lists of parse nodes, which tracks the tail of the list so that nodes can be appended in constant time. It does not own the nodes.

Template Parameters
NodeTypeThe type of the nodes in the list, which must derive from ListParseNode.

Constructor & Destructor Documentation

◆ ParseNodeList()

template<typename NodeType>
Bond::ParseNodeList< NodeType >::ParseNodeList ( )
inline

Constructs an empty parse node list.

Member Function Documentation

◆ Append()

template<typename NodeType>
void Bond::ParseNodeList< NodeType >::Append ( NodeType * node)
inline

Appends a node to the end of the list.

Parameters
nodeNode to append. Null nodes are ignored.

◆ GetHead()

template<typename NodeType>
NodeType * Bond::ParseNodeList< NodeType >::GetHead ( ) const
inline

Returns the first node in the list.

Returns
The head node, or null when the list is empty.

◆ IsEmpty()

template<typename NodeType>
bool Bond::ParseNodeList< NodeType >::IsEmpty ( ) const
inline

Returns true if the list has no nodes.


The documentation for this class was generated from the following file:
  • include/bond/compiler/parsenodes.h