6 #include <bbp/sonata/selection.h>
7 #include <highfive/H5File.hpp>
37 virtual std::vector<std::array<uint64_t, 2>>
readSelection(
const HighFive::DataSet& dset,
42 template <
class T,
class U>
49 template <
class... Ts,
class... Us>
58 virtual HighFive::File
openFile(
const std::string& path)
const = 0;
126 using supported_1D_types = std::tuple<uint8_t,
141 using supported_2D_types = std::tuple<std::array<uint64_t, 2>>;
163 HighFive::File
openFile(
const std::string& filename)
const;
179 std::shared_ptr<Hdf5PluginInterface<supported_1D_types, supported_2D_types>> impl;
virtual HighFive::File openFile(const std::string &path) const =0
Definition: hdf5_reader.h:43
Interface for implementing readSelection<T>(dset, selection).
Definition: hdf5_reader.h:15
virtual std::vector< T > readSelection(const HighFive::DataSet &dset, const Selection &selection) const =0
Definition: hdf5_reader.h:29
virtual std::vector< std::array< uint64_t, 2 > > readSelection(const HighFive::DataSet &dset, const Selection &xsel, const Selection &ysel) const =0
Definition: hdf5_reader.h:122
HighFive::File openFile(const std::string &filename) const
Hdf5Reader()
Create a valid Hdf5Reader with the default plugin.
Hdf5Reader(std::shared_ptr< Hdf5PluginInterface< supported_1D_types, supported_2D_types >> impl)
Create an Hdf5Reader with a user supplied plugin.
std::vector< T > readSelection(const HighFive::DataSet &dset, const Selection &xsel, const Selection &ysel) const
Definition: hdf5_reader.h:170
std::vector< T > readSelection(const HighFive::DataSet &dset, const Selection &selection) const
Definition: hdf5_reader.h:154
Definition: selection.h:13