From 3ede1ddccf6c3f4c2f8a19fc8d16e9827c607cc2 Mon Sep 17 00:00:00 2001 From: Marc Laukien Date: Sun, 15 Feb 2004 21:19:54 +0000 Subject: more AMI stuff --- cpp/src/IceUtil/OutputUtil.cpp | 38 +++++++++++++++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 3 deletions(-) (limited to 'cpp/src/IceUtil/OutputUtil.cpp') diff --git a/cpp/src/IceUtil/OutputUtil.cpp b/cpp/src/IceUtil/OutputUtil.cpp index d38292ffd26..00fc1897f33 100644 --- a/cpp/src/IceUtil/OutputUtil.cpp +++ b/cpp/src/IceUtil/OutputUtil.cpp @@ -23,6 +23,8 @@ namespace IceUtil NextLine nl; StartBlock sb; EndBlock eb; +StartPar spar; +EndPar epar; Separator sp; EndElement ee; StartEscapes startEscapes; @@ -237,24 +239,40 @@ IceUtil::OutputBase::fill(ostream::char_type newFill) IceUtil::Output::Output() : OutputBase(), _blockStart("{"), - _blockEnd("}") + _blockEnd("}"), + _par(-1) { } IceUtil::Output::Output(ostream& os) : OutputBase(os), _blockStart("{"), - _blockEnd("}") + _blockEnd("}"), + _par(-1) { } IceUtil::Output::Output(const char* s) : OutputBase(s), _blockStart("{"), - _blockEnd("}") + _blockEnd("}"), + _par(-1) { } +void +IceUtil::Output::print(const char* s) +{ + if(_par >= 0) + { + if(++_par > 1) // No comma for the first parameter. + { + _out << ", "; + } + } + OutputBase::print(s); +} + void IceUtil::Output::setBeginBlock(const char *bb) { @@ -292,6 +310,20 @@ IceUtil::Output::eb() --_pos; } +void +IceUtil::Output::spar() +{ + _out << '('; + _par = 0; +} + +void +IceUtil::Output::epar() +{ + _par = -1; + _out << ')'; +} + Output& IceUtil::operator<<(Output& out, ios_base& (*val)(ios_base&)) { -- cgit v1.2.3