Loading [MathJax]/extensions/tex2jax.js
Go to the documentation of this file.
21 template <
typename T,
typename... Args>
22 constexpr
auto size(
const T&, Args&&... ) noexcept {
23 static_assert(
sizeof...( Args ) == 0,
"No extra args please" );
30 virtual std::optional<std::size_t>
size()
const = 0;
45 const T&
getData()
const {
return m_data; }
48 std::optional<std::size_t>
size()
const override {
50 return size( getData() );
54 template <
typename ViewType,
typename OwnedType>
constexpr auto size(const T &, Args &&...) noexcept
AnyDataWrapper & operator=(AnyDataWrapper &&)=delete
const T & getData() const
AnyDataWithViewWrapper(AnyDataWithViewWrapper &&)=delete
AnyDataWithViewWrapper & operator=(AnyDataWithViewWrapper &&)=delete
AnyDataWrapper(AnyDataWrapper &&)=delete
std::optional< std::size_t > size() const override
AnyDataWrapper & operator=(AnyDataWrapper const &)=delete
AnyDataWrapper(AnyDataWrapper const &)=delete
AnyDataWithViewWrapper(AnyDataWithViewWrapper const &)=delete
AnyDataWithViewWrapper & operator=(AnyDataWithViewWrapper const &)=delete
AnyDataWithViewWrapper(OwnedType &&data)
virtual std::optional< std::size_t > size() const =0