CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
SharedResourcesAcquirer.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_SharedResourcesAcquirer_h
2 #define FWCore_Framework_SharedResourcesAcquirer_h
3 // -*- C++ -*-
4 //
5 // Package: FWCore/Framework
6 // Class : SharedResourcesAcquirer
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Sun, 06 Oct 2013 19:43:26 GMT
19 //
20 
21 // system include files
24 
25 // user include files
26 
27 // forward declarations
28 class testSharedResourcesRegistry;
29 
30 namespace edm {
32  class SerialTaskQueue;
33 
35  public:
36  friend class ::testSharedResourcesRegistry;
37 
38  SharedResourcesAcquirer() = default;
39  explicit SharedResourcesAcquirer(std::vector<std::shared_ptr<SerialTaskQueue>> iQueues)
40  : m_queues(std::move(iQueues)) {}
41 
45 
47  ~SharedResourcesAcquirer() = default;
48 
49  // ---------- member functions ---------------------------
50 
52  size_t numberOfResources() const { return m_queues.numberOfQueues(); }
53 
55 
56  private:
57  // ---------- member data --------------------------------
58  //The class is thread safe even for non const functions
60  };
61 } // namespace edm
62 
63 #endif
size_t numberOfResources() const
The number returned may be less than the number of resources requested if a resource is only used by ...
def move
Definition: eostools.py:511
#define CMS_THREAD_SAFE
SerialTaskQueueChain & serialQueueChain() const
std::size_t numberOfQueues() const
SharedResourcesAcquirer & operator=(const SharedResourcesAcquirer &)=delete
SharedResourcesAcquirer(std::vector< std::shared_ptr< SerialTaskQueue >> iQueues)