/* * tree.h * * Created on: 28.11.2012 * Author: trifon */ #ifndef TREE_H_ #define TREE_H_ template class Tree { public: virtual bool empty() const = 0; virtual bool rootTree(T&) const = 0; virtual I iterator() const = 0; }; template class TreeIterator { public: // virtual TreeIterator operator++() const = 0; // ++p: go left // virtual TreeIterator operator++(int) const = 0; // p++: go right virtual T& operator*() const = 0; virtual operator bool() const = 0; virtual bool operator==(TreeIterator const&) const = 0; virtual bool operator!=(TreeIterator const& it) const { return !operator==(it); } }; #endif /* TREE_H_ */