From 46a538ceab12c89f1806293f6e5f4e89f6605da4 Mon Sep 17 00:00:00 2001 From: Brad Danofsky Date: Wed, 20 Apr 2011 11:14:52 -0700 Subject: stats: add user settable separator string for arrayed stats Default is '::', so no visible change unless it is overridden --- src/base/stats/info.hh | 3 +++ src/base/stats/text.cc | 9 +++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) (limited to 'src/base/stats') diff --git a/src/base/stats/info.hh b/src/base/stats/info.hh index 9c81442ee..1759b4796 100644 --- a/src/base/stats/info.hh +++ b/src/base/stats/info.hh @@ -69,6 +69,8 @@ class Info 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 @@ class Info /** 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 diff --git a/src/base/stats/text.cc b/src/base/stats/text.cc index ab5c7e8a9..f1ba59f0e 100644 --- a/src/base/stats/text.cc +++ b/src/base/stats/text.cc @@ -234,6 +234,7 @@ ScalarPrint::operator()(ostream &stream) const struct VectorPrint { string name; + string separatorString; string desc; vector subnames; vector subdescs; @@ -258,7 +259,7 @@ VectorPrint::operator()(std::ostream &stream) const } } - string base = name + "::"; + string base = name + separatorString; ScalarPrint print; print.name = name; @@ -301,6 +302,7 @@ VectorPrint::operator()(std::ostream &stream) const struct DistPrint { string name; + string separatorString; string desc; Flags flags; bool descriptions; @@ -336,6 +338,7 @@ void 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 @@ DistPrint::init(const Text *text, const Info &info) void DistPrint::operator()(ostream &stream) const { - string base = name + "::"; + string base = name + separatorString; ScalarPrint print; print.precision = precision; @@ -465,6 +468,7 @@ Text::visit(const VectorInfo &info) 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 @@ Text::visit(const Vector2dInfo &info) print.subnames = info.y_subnames; print.flags = info.flags; + print.separatorString = info.separatorString; print.descriptions = descriptions; print.precision = info.precision; -- cgit v1.2.3