diff -r d8587c913ccf -r b3a50e22d40a src/base/statistics.hh --- a/src/base/statistics.hh Fri Mar 25 10:13:50 2011 -0700 +++ b/src/base/statistics.hh Tue Mar 29 09:42:33 2011 -0700 @@ -256,6 +256,23 @@ const std::string &name() const { return this->info()->name; } /** + * Set the character(s) used between the name and vector number + * on vectors, dist, etc. + * @param _sep The new separator string + * @return A reference to this stat. + */ + Derived & + setSeparator(const std::string &_sep) + { + this->info()->setSeparator(_sep); + return this->self(); + } + const std::string &setSeparator() const + { + return this->info()->separatorString; + } + + /** * Set the description and marks this stat to print at the end of * simulation. * @param desc The new description. diff -r d8587c913ccf -r b3a50e22d40a src/base/statistics.cc --- a/src/base/statistics.cc Fri Mar 25 10:13:50 2011 -0700 +++ b/src/base/statistics.cc Tue Mar 29 09:42:33 2011 -0700 @@ -48,6 +48,8 @@ namespace Stats { + +std::string Info::separatorString = "::"; typedef map MapType; // We wrap these in a function to make sure they're built in time. diff -r d8587c913ccf -r b3a50e22d40a src/base/stats/info.hh --- a/src/base/stats/info.hh Fri Mar 25 10:13:50 2011 -0700 +++ b/src/base/stats/info.hh Tue Mar 29 09:42:33 2011 -0700 @@ -69,6 +69,8 @@ public: /** The name of the stat. */ std::string name; + /** The separator string used for vectors, dist, etc. */ + static std::string separatorString; /** The description of the stat. */ std::string desc; /** The formatting flags. */ @@ -93,6 +95,7 @@ /** Set the name of this statistic */ void setName(const std::string &name); + void setSeparator(std::string _sep) { separatorString = _sep;} /** * Check that this stat has been set up properly and is ready for @@ -147,6 +150,7 @@ virtual Result total() const = 0; }; + class VectorInfo : public Info { public: diff -r d8587c913ccf -r b3a50e22d40a src/base/stats/text.cc --- a/src/base/stats/text.cc Fri Mar 25 10:13:50 2011 -0700 +++ b/src/base/stats/text.cc Tue Mar 29 09:42:33 2011 -0700 @@ -234,6 +234,7 @@ struct VectorPrint { string name; + string separatorString; string desc; vector subnames; vector subdescs; @@ -258,7 +259,7 @@ } } - string base = name + "::"; + string base = name + separatorString; ScalarPrint print; print.name = name; @@ -301,6 +302,7 @@ struct DistPrint { string name; + string separatorString; string desc; Flags flags; bool descriptions; @@ -336,6 +338,7 @@ DistPrint::init(const Text *text, const Info &info) { name = info.name; + separatorString = info.separatorString; desc = info.desc; flags = info.flags; precision = info.precision; @@ -345,7 +348,7 @@ void DistPrint::operator()(ostream &stream) const { - string base = name + "::"; + string base = name + separatorString; ScalarPrint print; print.precision = precision; @@ -465,6 +468,7 @@ VectorPrint print; print.name = info.name; + print.separatorString = info.separatorString; print.desc = info.desc; print.flags = info.flags; print.descriptions = descriptions; @@ -504,6 +508,7 @@ print.subnames = info.y_subnames; print.flags = info.flags; + print.separatorString = info.separatorString; print.descriptions = descriptions; print.precision = info.precision;