The RepeatIterator is the type of the counter used internally. I'm not sure it's really needed, I could go with std::size_t but I'm not sure it's a good idea.