Gaudi Framework, version v22r0

Home   Generated: 9 Feb 2011

MsgStream.h File Reference

#include "GaudiKernel/IMessageSvc.h"
#include "GaudiKernel/SerializeSTL.h"
#include <cstdio>
#include <string>
#include <iomanip>
#include <vector>
#include <sstream>
Include dependency graph for MsgStream.h:

Go to the source code of this file.

Classes

class  MsgStream
 Definition of the MsgStream class used to transmit messages. More...

Functions

MsgStreamendmsg (MsgStream &s)
 MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
GAUDI_API std::string format (const char *,...)
 MsgStream format utility "a la sprintf(...)".
template<class _Tm >
MsgStreamoperator<< (MsgStream &s, const std::smanip< _Tm > &manip)
 I/O Manipulator for setfill.
template<typename T >
MsgStreamoperator<< (MsgStream &lhs, const T &arg)
 General templated stream operator.

Function Documentation

MsgStream& endmsg ( MsgStream s  )  [inline]

MsgStream Modifier: endmsg. Calls the output method of the MsgStream.

Definition at line 229 of file MsgStream.h.

00229                                        {
00230   return s.doOutput();
00231 }

GAUDI_API std::string format ( const char *  ,
  ... 
)

MsgStream format utility "a la sprintf(...)".

Definition at line 108 of file MsgStream.cpp.

00109 {
00110   const int buffsize = 2048;
00111   static char buffer[buffsize];
00112   va_list arguments;
00113   va_start( arguments, fmt );
00114   if( vsprintf(buffer, fmt, arguments) >= buffsize )
00115     throw GaudiException("Insufficient buffer size (2048) when formatting message",
00116                          "MsgStream", 0);
00117   return std::string(buffer);
00118 }

template<typename T >
MsgStream& operator<< ( MsgStream lhs,
const T &  arg 
) [inline]

General templated stream operator.

Definition at line 328 of file MsgStream.h.

00328                                                       {
00329   using namespace GaudiUtils;
00330   if(lhs.isActive())
00331     try {
00332       // this may throw, and we cannot afford it if the stream is used in a catch block
00333       lhs.stream() << arg;
00334     }
00335     catch (...) {}
00336   return lhs;
00337 }

template<class _Tm >
MsgStream& operator<< ( MsgStream s,
const std::smanip< _Tm > &  manip 
) [inline]

I/O Manipulator for setfill.

Definition at line 317 of file MsgStream.h.

00317                                                                     {
00318   try {
00319     // this may throw, and we cannot afford it if the stream is used in a catch block
00320     if ( s.isActive() ) s.stream() << manip;
00321   } catch (...) {}
00322   return s;
00323 }

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines

Generated at Wed Feb 9 16:27:15 2011 for Gaudi Framework, version v22r0 by Doxygen version 1.6.2 written by Dimitri van Heesch, © 1997-2004