tipc
A TIP to LLVM compiler
|
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 |
Iterator & | operator++ () |
Iterator | operator++ (int) |
SyntaxTree * | operator-> () |
SyntaxTree const * | operator-> () const |
bool | operator== (const Iterator &rhs) |
bool | operator!= (const Iterator &rhs) |
SyntaxTree const & | get_tree () const |
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.
Iterator::Iterator | ( | const Iterator & | ts | ) |
Iterator::Iterator | ( | IteratorImpl * | impl | ) |
SyntaxTree const & Iterator::get_tree | ( | ) | const |
bool Iterator::operator!= | ( | const Iterator & | rhs | ) |
SyntaxTree Iterator::operator* | ( | ) |
SyntaxTree const Iterator::operator* | ( | ) | const |
Iterator & Iterator::operator++ | ( | ) |
Iterator Iterator::operator++ | ( | int | ) |
SyntaxTree * Iterator::operator-> | ( | ) |
SyntaxTree const * Iterator::operator-> | ( | ) | const |
bool Iterator::operator== | ( | const Iterator & | rhs | ) |