Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
lvr2::VariantChannelIO< FeatureBase > 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< FeatureBase > * m_channel_io = static_cast<ChannelIO<FeatureBase>*>(m_file_access)
 
FeatureBasem_file_access = static_cast<FeatureBase*>(this)
 

Detailed Description

template<typename FeatureBase = ConstructType>
class lvr2::VariantChannelIO< FeatureBase >

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 54 of file descriptions/VariantChannelIO.hpp.

Member Function Documentation

◆ load() [1/2]

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

◆ load() [2/2]

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

◆ loadDynamic()

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

◆ loadVariantChannel()

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

◆ save() [1/2]

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

◆ save() [2/2]

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

◆ saveDynamic()

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

Member Data Documentation

◆ m_channel_io

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

Definition at line 86 of file descriptions/VariantChannelIO.hpp.

◆ m_file_access

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

Definition at line 85 of file descriptions/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:27