1 #ifndef DataFormats_Common_interface_DeviceProduct_h 2 #define DataFormats_Common_interface_DeviceProduct_h 50 template <
typename M,
typename... Args>
65 template <
typename M,
typename... Args>
67 auto const& md = metadata<M>();
68 md.synchronize(std::forward<Args>(
args)...);
std::shared_ptr< void const > metadata_
std::type_info const * metadataType_
M const & metadata() const
DeviceProduct(std::shared_ptr< M > metadata, Args &&... args)
DeviceProduct & operator=(const DeviceProduct &)=delete
~DeviceProductBase()=default
T const & getSynchronized(Args &&... args) const
DeviceProductBase()=default
DeviceProductBase(std::shared_ptr< M > metadata)