1 #ifndef GAUDIKERNEL_ANYDATAWRAPPER_H 2 #define GAUDIKERNEL_ANYDATAWRAPPER_H 13 template <
typename T,
typename... Args>
14 constexpr
auto size(
const T&, Args&&... ) noexcept {
15 static_assert(
sizeof...( Args ) == 0,
"No extra args please" );
22 virtual std::optional<std::size_t>
size()
const = 0;
33 const T&
getData()
const {
return m_data; }
36 std::optional<std::size_t>
size()
const override {
38 return size( m_data );
constexpr auto size(const T &, Args &&...) noexcept
virtual std::optional< std::size_t > size() const =0
AnyDataWrapper(AnyDataWrapper &&other)
const T & getData() const
std::optional< std::size_t > size() const override
A DataObject is the base class of any identifiable object on any data store.