/* * PointerVector.h * */ #ifndef TOOLS_POINTERVECTOR_H_ #define TOOLS_POINTERVECTOR_H_ #include "CheckVector.h" template class PointerVector : public CheckVector { int i; public: PointerVector() : i(0) {} PointerVector(size_t size) : CheckVector(size), i(0) {} PointerVector(const vector& other) : CheckVector(other), i(0) {} void clear() { vector::clear(); reset(); } void reset() { i = 0; } T& next() { return (*this)[i++]; } T* skip(size_t n) { i += n; return &*(this->begin() + i); } size_t left() { return this->size() - i; } }; #endif /* TOOLS_POINTERVECTOR_H_ */