1#ifndef NGEN_IO_MDFRAME_VISITORS_HPP
2#define NGEN_IO_MDFRAME_VISITORS_HPP
4#include "mdarray/mdarray.hpp"
5#include <boost/variant.hpp>
6#include <boost/core/span.hpp>
17 :
public boost::static_visitor<std::size_t>
22 return md_array.size();
30 :
public boost::static_visitor<std::size_t>
43 :
public boost::static_visitor<boost::span<const std::size_t>>
56 :
public boost::static_visitor<void>
59 void operator()(T& arr, boost::span<const std::size_t> index,
typename T::value_type value)
61 arr.insert(index, value);
68template<
typename... SupportedTypes>
70 :
public boost::static_visitor<
71 typename traits::type_list<SupportedTypes...>::variant_scalar
75 typename T::value_type
operator()(
const T& arr,
const boost::span<const std::size_t> index)
const
87 return std::to_string(v);
Definition mdarray.hpp:13
Definition DomainLayer.hpp:9
mdarray visitor for indexed access
Definition visitors.hpp:73
T::value_type operator()(const T &arr, const boost::span< const std::size_t > index) const
Definition visitors.hpp:75
mdarray visitor for inserting a value
Definition visitors.hpp:57
void operator()(T &arr, boost::span< const std::size_t > index, typename T::value_type value)
Definition visitors.hpp:59
mdarray visitor for retrieving the rank of the mdarray
Definition visitors.hpp:31
auto operator()(const mdarray< T > &arr) const noexcept
Definition visitors.hpp:33
mdarray visitor for retrieving the shape of the mdarray
Definition visitors.hpp:44
auto operator()(const mdarray< T > &arr) const noexcept
Definition visitors.hpp:46
mdarray visitor for retrieving the size of the mdarray
Definition visitors.hpp:18
auto operator()(const mdarray< T > &md_array) const noexcept
Definition visitors.hpp:20
Definition visitors.hpp:83
std::string operator()(const T &v) const
Definition visitors.hpp:85