CMS 3D CMS Logo

MessageServicePresence.h
Go to the documentation of this file.
1 #ifndef FWCore_MessageService_MessageServicePresence_h
2 #define FWCore_MessageService_MessageServicePresence_h
3 
6 
7 #include "boost/thread/thread.hpp"
8 
9 #include <memory>
10 
11 
12 namespace edm {
13 namespace service {
14 
15 class ThreadQueue;
16 
18 {
19 public:
20  // --- birth/death:
22  ~MessageServicePresence() override;
23 
24 private:
25  // --- no copying:
26  MessageServicePresence(MessageServicePresence const&) = delete; // Disallow copying
27  void operator=(MessageServicePresence const &) = delete; // Disallow copying
28 
29  std::shared_ptr<ThreadQueue const> queue() const {return get_underlying_safe(m_queue);}
30  std::shared_ptr<ThreadQueue>& queue() {return get_underlying_safe(m_queue);}
31 
32  // --- data:
34  boost::thread m_scribeThread;
35 
36 }; // MessageServicePresence
37 
38 
39 } // end of namespace service
40 } // namespace edm
41 
42 
43 #endif // FWCore_MessageService_MessageServicePresence_h
std::shared_ptr< ThreadQueue const > queue() const
std::shared_ptr< ThreadQueue > & queue()
std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
HLT enums.
void operator=(MessageServicePresence const &)=delete
edm::propagate_const< std::shared_ptr< ThreadQueue > > m_queue