CMS 3D CMS Logo

EDMetadataSentry.h
Go to the documentation of this file.
1 #ifndef HeterogeneousCore_AlpakaCore_interface_alpaka_EDMetadataSentry_h
2 #define HeterogeneousCore_AlpakaCore_interface_alpaka_EDMetadataSentry_h
3 
6 
8  namespace detail {
15  public:
16  // For normal module
18 
19  // For ExternalWork-module's produce()
20  EDMetadataSentry(std::shared_ptr<EDMetadata> metadata) : metadata_(std::move(metadata)) {}
21 
22  EDMetadataSentry(EDMetadataSentry const&) = delete;
26 
27  std::shared_ptr<EDMetadata> metadata() { return metadata_; }
28 
29  void finish();
30 
31  private:
32  std::shared_ptr<EDMetadata> metadata_;
33  };
34  } // namespace detail
35 } // namespace ALPAKA_ACCELERATOR_NAMESPACE
36 
37 #endif
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t stream
EDMetadataSentry(std::shared_ptr< EDMetadata > metadata)
EDMetadataSentry & operator=(EDMetadataSentry const &)=delete
def move(src, dest)
Definition: eostools.py:511