33a34
> #include <map>
34a36,37
> #include <sstream>
> #include <string>
41a45,61
> class UniqueNameGen
> {
> private:
> std::map<std::string, int> counts;
> std::string buf;
>
> public:
> const char *
> gen(std::string seed)
> {
> std::ostringstream os;
> os << seed << "_" << counts[seed]++;
> buf = os.str();
> return buf.c_str();
> }
> };
>
48a69,70
> UniqueNameGen nameGen;
>
79a102,103
>
> const char *uniqueName(const char *seed) { return nameGen.gen(seed); }