Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
lvr2::hdf5features::VariantChannelIO< Derived > Class Template Reference

Hdf5IO Feature for handling VariantChannel related IO. More...

#include <VariantChannelIO.hpp>

Public Member Functions

template<typename VariantChannelT >
boost::optional< VariantChannelT > load (HighFive::Group &group, std::string datasetName)
 
template<typename VariantChannelT >
boost::optional< VariantChannelT > load (std::string groupName, std::string datasetName)
 
template<typename VariantChannelT >
boost::optional< VariantChannelT > loadVariantChannel (std::string groupName, std::string datasetName)
 
template<typename ... Tp>
void save (HighFive::Group &group, std::string datasetName, const VariantChannel< Tp... > &vchannel)
 
template<typename ... Tp>
void save (std::string groupName, std::string datasetName, const VariantChannel< Tp... > &vchannel)
 

Protected Member Functions

template<typename VariantChannelT >
boost::optional< VariantChannelT > loadDynamic (HighFive::DataType dtype, HighFive::Group &group, std::string name)
 
template<typename ... Tp>
void saveDynamic (HighFive::Group &group, std::string datasetName, const VariantChannel< Tp... > &vchannel)
 

Protected Attributes

ChannelIO< Derived > * m_channel_io = static_cast<ChannelIO<Derived>*>(m_file_access)
 
Derived * m_file_access = static_cast<Derived*>(this)
 

Detailed Description

template<typename Derived = ConstructType>
class lvr2::hdf5features::VariantChannelIO< Derived >

Hdf5IO Feature for handling VariantChannel related IO.

This Feature of the Hdf5IO handles the IO of a VariantChannel object.

Example:

MyHdf5IO io;
// example data
using MultiChannel = VariantChannel<float, char, int>;
MultiChannel vchannel, vchannel_in;
Channel<float> samples(100,100);
vchannel = samples;
// writing
io.open("test.h5");
io.save("avariantchannel", vchannel);
// reading
vchannel_in = *io.loadVariantChannel<MultiChannel>("avariantchannel");
// if the type is known you can also load via ChannelIO
vchannel_in = *io.loadChannel<float>("avariantchannel");

Dependencies:

Definition at line 59 of file hdf5/VariantChannelIO.hpp.

Member Function Documentation

◆ load() [1/2]

template<typename Derived = ConstructType>
template<typename VariantChannelT >
boost::optional<VariantChannelT> lvr2::hdf5features::VariantChannelIO< Derived >::load ( HighFive::Group group,
std::string  datasetName 
)

◆ load() [2/2]

template<typename Derived = ConstructType>
template<typename VariantChannelT >
boost::optional<VariantChannelT> lvr2::hdf5features::VariantChannelIO< Derived >::load ( std::string  groupName,
std::string  datasetName 
)

◆ loadDynamic()

template<typename Derived = ConstructType>
template<typename VariantChannelT >
boost::optional<VariantChannelT> lvr2::hdf5features::VariantChannelIO< Derived >::loadDynamic ( HighFive::DataType  dtype,
HighFive::Group group,
std::string  name 
)
protected

◆ loadVariantChannel()

template<typename Derived = ConstructType>
template<typename VariantChannelT >
boost::optional<VariantChannelT> lvr2::hdf5features::VariantChannelIO< Derived >::loadVariantChannel ( std::string  groupName,
std::string  datasetName 
)

◆ save() [1/2]

template<typename Derived = ConstructType>
template<typename ... Tp>
void lvr2::hdf5features::VariantChannelIO< Derived >::save ( HighFive::Group group,
std::string  datasetName,
const VariantChannel< Tp... > &  vchannel 
)

◆ save() [2/2]

template<typename Derived = ConstructType>
template<typename ... Tp>
void lvr2::hdf5features::VariantChannelIO< Derived >::save ( std::string  groupName,
std::string  datasetName,
const VariantChannel< Tp... > &  vchannel 
)

◆ saveDynamic()

template<typename Derived = ConstructType>
template<typename ... Tp>
void lvr2::hdf5features::VariantChannelIO< Derived >::saveDynamic ( HighFive::Group group,
std::string  datasetName,
const VariantChannel< Tp... > &  vchannel 
)
protected

Member Data Documentation

◆ m_channel_io

template<typename Derived = ConstructType>
ChannelIO<Derived>* lvr2::hdf5features::VariantChannelIO< Derived >::m_channel_io = static_cast<ChannelIO<Derived>*>(m_file_access)
protected

Definition at line 91 of file hdf5/VariantChannelIO.hpp.

◆ m_file_access

template<typename Derived = ConstructType>
Derived* lvr2::hdf5features::VariantChannelIO< Derived >::m_file_access = static_cast<Derived*>(this)
protected

Definition at line 90 of file hdf5/VariantChannelIO.hpp.


The documentation for this class was generated from the following file:


lvr2
Author(s): Thomas Wiemann , Sebastian Pütz , Alexander Mock , Lars Kiesow , Lukas Kalbertodt , Tristan Igelbrink , Johan M. von Behren , Dominik Feldschnieders , Alexander Löhr
autogenerated on Wed Mar 2 2022 00:37:28