1 #ifndef GAUDIKERNEL_MSGSTREAM_H
2 #define GAUDIKERNEL_MSGSTREAM_H
246 #if defined(GAUDI_V20_COMPAT) && !defined(G21_NO_ENDREQ)
248 #define endreq endmsg
255 template<
class _E>
inline
256 MsgStream& operator<<( MsgStream& s, const std::_Fillobj<_E>& obj) {
258 if (
s.isActive() )
s.stream().fill(obj._Fill);
260 if (
s.isActive() )
s.stream().fill(obj._Ch);
264 template<
class _Tm>
inline
265 MsgStream& operator << (MsgStream& s, const std::_Smanip<_Tm>& manip) {
267 if (
s.isActive() ) (*manip._Pfun)(
s.stream(), manip._Manarg);
269 if (
s.isActive() ) (*manip._Pf)(
s.stream(), manip._Manarg);
273 #elif defined (__GNUC__)
328 #else // GCC, version << 3
330 template<
class _Tm>
inline
331 MsgStream& operator << (MsgStream& s, const std::smanip<_Tm>& manip) {
338 #endif // WIN32 or (__GNUC__)
351 template <
typename T>
353 using namespace GaudiUtils;
366 MsgStream& operator << (MsgStream& lhs, const std::_Setfill<T> &manip) {
367 if ( lhs.isActive() )
370 lhs.stream() << manip;
376 #endif // GAUDIKERNEL_MSGSTREAM_H