| Revision 1 (by moose, 2006/03/06 10:00:33) |
Initial Import
|
template <typename T, typename U>
class mc_iterator : public std::iterator<std::input_iterator_tag, T> {
friend class mc_iterator<T, U>;
public:
mc_iterator() { }
mc_iterator(T &r) result(r) : { }
const T &operator*() { return ob; }
// The copy constructor
mc_iterator(const iterator& it) { ob = it.ob; }
// mc_iterator &operator=(const mc_iterator&);
// Returns the next object in the stream.
const T &operator*() const { }
mc_iterator &operator++(); // Preincrement.
mc_iterator &operator++(int); //Postincrement.
input_iterator_tag iterator_category(const mc_iterator&); // iterator tags Returns the iterator's category.
T* value_type(const mc_iterator&); // iterator tags Returns the iterator's value type.
Distance* distance_type(const mc_iterator&); // iterator tags Returns the iterator's distance type.
private:
T &ob;
};
template <typename T>
bool operator==(const iterator<T>&, const iterator<T>&); // The equality operator. This is a global function, not a member function.