#include "Register.h" Register::Register(std::string prepend) : prepend(prepend), counter(1) {} Register& Register::operator++() { ++counter; return *this; } Register Register::operator++(int) { Register old = *this; ++(*this); return old; } std::string Register::operator*() const { return prepend + std::to_string(counter); } void Register::reset() { counter = 0; } std::string Register::headless() { return std::to_string(counter); } std::ostream& operator<<(std::ostream& ostr, const Register& reg) { return ostr << *reg; }