X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FUtils%2FFormat.cci;h=b9cf5c537d8cceb176116970fb8288c6cd78a242;hb=c505c034e5fdc932c02aa3dc3847a5551011d87e;hp=7871b7df52a1a900c5c53bf9799ce5b672b5c60a;hpb=c9d8ba8de7801af854581eb9e175d7b4f19ece3d;p=senf.git diff --git a/senf/Utils/Format.cci b/senf/Utils/Format.cci index 7871b7d..b9cf5c5 100644 --- a/senf/Utils/Format.cci +++ b/senf/Utils/Format.cci @@ -1,6 +1,6 @@ // $Id$ // -// Copyright (C) 2009 +// Copyright (C) 2009 // Fraunhofer Institute for Open Communication Systems (FOKUS) // Competence Center NETwork research (NET), St. Augustin, GERMANY // Stefan Bund @@ -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,6 +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, j=indent.level(); i