29 return namegen ? namegen->current() :
"";
51 const std::string &
operator*() {
return value; }
62 virtual bool next() = 0;
63 virtual const std::string &
current() = 0;
72 const std::string &pref =
std::
string(
""),
73 const std::string &suff =
std::
string(
""),
77 virtual const std::string &
current() {
return current_value; }
92 virtual const std::string &
current() {
return current_value; }
const std::string & operator*()
friend bool operator==(Iterator const &lhs, Iterator const &rhs)
virtual const std::string & current()=0
std::string::iterator head
virtual const std::string & current()
std::string current_value
PostIncResult(const std::string &val)
SequentialNameGenerator(int startval=1, const std::string &pref=std::string(""), const std::string &suff=std::string(""), const std::string &nf=std::string(""))
std::string::iterator tail
PostIncResult operator++(int)
IterativeNameGenerator(std::string::iterator start, std::string::iterator end)
friend bool operator!=(Iterator const &lhs, Iterator const &rhs)
const std::string operator*() const
std::string current_value
virtual const std::string & current()
Iterator(NameGenerator *parent)