X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FUtils%2FFormat.cci;h=c74c1841e826ca9d0892bf729b2a84108a384293;hb=209950ee5f6898978cd68614ef339ae3531c5c53;hp=ff8f87b4224d4ea5d011a583750d12d38d6a7a76;hpb=9c0d069987191bce78e13cdba410c34d34e736c2;p=senf.git diff --git a/senf/Utils/Format.cci b/senf/Utils/Format.cci index ff8f87b..c74c184 100644 --- a/senf/Utils/Format.cci +++ b/senf/Utils/Format.cci @@ -30,6 +30,9 @@ #define prefix_ inline ///////////////////////////////cci.p/////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////// +// senf::format::eng + prefix_ senf::format::eng::eng(float v, float d) : v_ (v), d_ (d), haveWidth_ (false), width_ (0), havePrecision_ (false), precision_ (0), haveFill_ (false), fill_ (' '), mask_ (), flags_ () @@ -150,13 +153,44 @@ prefix_ senf::format::eng const & senf::format::eng::right() return *this; } +/////////////////////////////////////////////////////////////////////////// +// senf::format::IndentHelper + +prefix_ senf::format::IndentHelper::IndentHelper() + : instance_level(1) +{ + ++static_level; +} + +prefix_ senf::format::IndentHelper::~IndentHelper() +{ + static_level -= instance_level; +} + +prefix_ void senf::format::IndentHelper::increase() +{ + ++static_level; + ++instance_level; +} + +prefix_ unsigned int senf::format::IndentHelper::level() + const +{ + return static_level; +} + prefix_ std::ostream & senf::format::operator<<(std::ostream & os, senf::format::IndentHelper const & indent) { - for (unsigned int i = 0; i < indent.static_level; ++i) + for (unsigned int i=0, j=indent.level(); i