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 namespace edm {
12  namespace service {
13 
14  class ThreadQueue;
15 
17  public:
18  // --- birth/death:
20  ~MessageServicePresence() override;
21 
22  private:
23  // --- no copying:
24  MessageServicePresence(MessageServicePresence const&) = delete; // Disallow copying
25  void operator=(MessageServicePresence const&) = delete; // Disallow copying
26 
27  std::shared_ptr<ThreadQueue const> queue() const { return get_underlying_safe(m_queue); }
28  std::shared_ptr<ThreadQueue>& queue() { return get_underlying_safe(m_queue); }
29 
30  // --- data:
32  boost::thread m_scribeThread;
33 
34  }; // MessageServicePresence
35 
36  } // end of namespace service
37 } // namespace edm
38 
39 #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