tipc
A TIP to LLVM compiler
Public Member Functions | Protected Attributes | List of all members
IteratorImpl Class Referenceabstract

The interface that an iterator should follow. More...

#include <IteratorImpl.h>

Inheritance diagram for IteratorImpl:
Inheritance graph
[legend]
Collaboration diagram for IteratorImpl:
Collaboration graph
[legend]

Public Member Functions

 IteratorImpl (SyntaxTree const &tree)
 
virtual ~IteratorImpl ()
 
virtual SyntaxTree operator* ()=0
 
virtual SyntaxTreeoperator-> ()=0
 
virtual void operator++ ()=0
 
virtual bool operator== (const IteratorImpl &rhs) const =0
 
virtual bool operator!= (const IteratorImpl &rhs) const =0
 
virtual IteratorImplclone ()=0
 
SyntaxTree const & get_tree () const
 

Protected Attributes

SyntaxTree const & tree
 

Detailed Description

The interface that an iterator should follow.

Please note that this is not the client-facing interface. This is a tipc internal.

Constructor & Destructor Documentation

◆ IteratorImpl()

IteratorImpl::IteratorImpl ( SyntaxTree const &  tree)
explicit

◆ ~IteratorImpl()

IteratorImpl::~IteratorImpl ( )
virtualdefault

Member Function Documentation

◆ clone()

virtual IteratorImpl* IteratorImpl::clone ( )
pure virtual

Implemented in PreOrderIterator.

◆ get_tree()

SyntaxTree const & IteratorImpl::get_tree ( ) const

◆ operator!=()

virtual bool IteratorImpl::operator!= ( const IteratorImpl rhs) const
pure virtual

Implemented in PreOrderIterator.

◆ operator*()

virtual SyntaxTree IteratorImpl::operator* ( )
pure virtual

Implemented in PreOrderIterator.

◆ operator++()

virtual void IteratorImpl::operator++ ( )
pure virtual

Implemented in PreOrderIterator.

◆ operator->()

virtual SyntaxTree* IteratorImpl::operator-> ( )
pure virtual

Implemented in PreOrderIterator.

◆ operator==()

virtual bool IteratorImpl::operator== ( const IteratorImpl rhs) const
pure virtual

Implemented in PreOrderIterator.

Member Data Documentation

◆ tree

SyntaxTree const& IteratorImpl::tree
protected

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