/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
HeterogeneousCore/TrivialSerialisation/interface/Serialiser.h
30 строк
1 KB
Mario Gonzalez
Extend the HeterogeneousCore/TrivialSerialisation mechanism to device products
31 мар 2026, 15:33
Не верифицирован
31 мар 2026, 15:33
be97c80
Код
Авторство
О чём код?
#ifndef HeterogeneousCore_TrivialSerialisation_interface_Serialiser_h #define HeterogeneousCore_TrivialSerialisation_interface_Serialiser_h #include <memory> #include "DataFormats/Common/interface/Wrapper.h" #include "DataFormats/Common/interface/WrapperBase.h" #include "HeterogeneousCore/TrivialSerialisation/interface/SerialiserBase.h" #include "HeterogeneousCore/TrivialSerialisation/interface/Reader.h" #include "HeterogeneousCore/TrivialSerialisation/interface/ReaderBase.h" #include "HeterogeneousCore/TrivialSerialisation/interface/Writer.h" #include "HeterogeneousCore/TrivialSerialisation/interface/WriterBase.h" namespace ngt { // Concrete Serialiser for host products. T is the bare product type (not wrapped). template <typename T> class Serialiser : public SerialiserBase { public: std::unique_ptr<WriterBase> writer() override { return std::make_unique<Writer<T>>(); } std::unique_ptr<const ReaderBase> reader(edm::WrapperBase const& wrapper) override { edm::Wrapper<T> const& w = dynamic_cast<edm::Wrapper<T> const&>(wrapper); return std::make_unique<Reader<T>>(w); } }; } // namespace ngt #endif // HeterogeneousCore_TrivialSerialisation_interface_Serialiser_h