tipc
A TIP to LLVM compiler
Public Member Functions | List of all members
Iterator Class Reference

The client-facing iterator interface. More...

#include <Iterator.h>

Public Member Functions

 Iterator (const Iterator &ts)
 
 Iterator (IteratorImpl *impl)
 
SyntaxTree operator* ()
 
SyntaxTree const operator* () const
 
Iteratoroperator++ ()
 
Iterator operator++ (int)
 
SyntaxTreeoperator-> ()
 
SyntaxTree const * operator-> () const
 
bool operator== (const Iterator &rhs)
 
bool operator!= (const Iterator &rhs)
 
SyntaxTree const & get_tree () const
 

Detailed Description

The client-facing iterator interface.

Iterator is the interface STL calls like begin expect you to work with. Here, we delegate calls to the given IteratorImpl to abstract away design details. This technique is commonly called, "Pointer to implementation" or "pImpl" by C++ programmers. If you are more familiar with GOF design patterns, think of this as the Bridge Pattern.

Constructor & Destructor Documentation

◆ Iterator() [1/2]

Iterator::Iterator ( const Iterator ts)

◆ Iterator() [2/2]

Iterator::Iterator ( IteratorImpl impl)

Member Function Documentation

◆ get_tree()

SyntaxTree const & Iterator::get_tree ( ) const

◆ operator!=()

bool Iterator::operator!= ( const Iterator rhs)

◆ operator*() [1/2]

SyntaxTree Iterator::operator* ( )

◆ operator*() [2/2]

SyntaxTree const Iterator::operator* ( ) const

◆ operator++() [1/2]

Iterator & Iterator::operator++ ( )

◆ operator++() [2/2]

Iterator Iterator::operator++ ( int  )

◆ operator->() [1/2]

SyntaxTree * Iterator::operator-> ( )

◆ operator->() [2/2]

SyntaxTree const * Iterator::operator-> ( ) const

◆ operator==()

bool Iterator::operator== ( const Iterator rhs)

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