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