+++ /dev/null
-/* $Id$
-
-This file is part of the MSP Märklin suite
-Copyright © 2010 Mikkosoft Productions, Mikko Rasa
-Distributed under the GPL
-*/
-
-#ifndef LIBMARKLIN_BLOCKITER_H_
-#define LIBMARKLIN_BLOCKITER_H_
-
-namespace Marklin {
-
-class Block;
-class Route;
-class TrackIter;
-
-/**
-An iterator for traversing blocks.
-*/
-class BlockIter
-{
-private:
- Block *_block;
- unsigned _entry;
-
-public:
- BlockIter();
- BlockIter(Block *, unsigned);
-
- Block *block() const { return _block; }
- unsigned entry() const { return _entry; }
- TrackIter track_iter() const;
- const Block::Endpoint &endpoint() const;
-
-private:
- int get_exit(const Route *) const;
-public:
- BlockIter next(const Route * = 0) const;
- BlockIter reverse(const Route * = 0) const;
- BlockIter flip() const;
-
- Block &operator*() const;
- Block *operator->() const { return _block; }
- bool operator==(const BlockIter &) const;
- bool operator!=(const BlockIter &other) const { return !(*this==other); }
- operator bool() const { return _block!=0; }
-};
-
-} // namespace Marklin
-
-#endif