CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/FWCore/MessageLogger/interface/MessageSender.h

Go to the documentation of this file.
00001 #ifndef FWCore_MessageLogger_MessageSender_h
00002 #define FWCore_MessageLogger_MessageSender_h
00003 
00004 #include "FWCore/MessageLogger/interface/ELstring.h"
00005 #include "FWCore/MessageLogger/interface/ELseverityLevel.h"
00006 #include "FWCore/MessageLogger/interface/ErrorObj.h"
00007 #include "FWCore/MessageLogger/interface/ErrorSummaryEntry.h"
00008 
00009 #include <map>
00010 
00011 // Change log
00012 //
00013 //  1  mf 8/25/08       error summary information for LoggedErrorsSummary()
00014 //
00015 //  2  mf 6/22/09       add severity to LoggedErrorsSummary by using 
00016 //                      ErrorSummaryEntry as map key
00017 //                      
00018 
00019 namespace edm
00020 {
00021 
00022 typedef ErrorSummaryEntry ErrorSummaryMapKey;
00023 typedef std::map<ErrorSummaryMapKey, unsigned int>::iterator 
00024                                                 ErrorSummaryMapIterator;
00025 
00026 class MessageSender
00027 {
00028 public:
00029   // ---  birth/death:
00030   MessageSender( ELseverityLevel const & sev, 
00031                  ELstring const & id,
00032                  bool verbatim );
00033   MessageSender( ELseverityLevel const & sev, 
00034                  ELstring const & id );
00035   ~MessageSender();
00036 
00037   // ---  stream out the next part of a message:
00038   template< class T >
00039     MessageSender &
00040     operator<< ( T const & t )
00041   {
00042     (*errorobj_p) << t;
00043     return *this;
00044   }
00045 
00046   // static data:                                               // change log 1
00047   static bool errorSummaryIsBeingKept;
00048   static bool freshError;
00049   static std::map<ErrorSummaryMapKey, unsigned int> errorSummaryMap;
00050   
00051 private:
00052   // no copying:
00053   MessageSender( MessageSender const & );
00054   void operator = ( MessageSender const & );
00055 
00056   // data:
00057   ErrorObj *  errorobj_p;
00058 
00059 };  // MessageSender
00060 
00061 
00062 }  // namespace edm
00063 
00064 
00065 #endif  // FWCore_MessageLogger_MessageSender_h