Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:12:59

0001 #ifndef FWCore_PluginManager_ProblemTracker_h
0002 #define FWCore_PluginManager_ProblemTracker_h
0003 
0004 /**
0005 
0006 A singleton for managing the plugin feedback function and
0007 assert hook function. It is unclear how this will react in
0008 a multithreaded application. 
0009 
0010 It is possible that in the future this object will allow arbitrary
0011 state object to be pushed in and pulled out so that when asserts
0012 occur, good state information can be printed.
0013 
0014 **/
0015 
0016 namespace edm {
0017   class ProblemTracker {
0018   public:
0019     static ProblemTracker const* instance();
0020     ProblemTracker(const ProblemTracker&) = delete;
0021 
0022   private:
0023     ProblemTracker();
0024     ~ProblemTracker();
0025   };
0026 
0027   class AssertHandler {
0028   public:
0029     AssertHandler();
0030     AssertHandler(const AssertHandler&) = delete;
0031     ~AssertHandler();
0032 
0033   private:
0034     ProblemTracker const* pt_;
0035   };
0036 
0037 }  // namespace edm
0038 
0039 #endif