Template Class Hdf5IO

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

  • public Features< Hdf5IO< Features... > >

Class Documentation

template<template<typename> typename ...Features>
class Hdf5IO : public Features<Hdf5IO<Features...>>

Manager Class for all Hdf5IO components located in hdf5 directory.

Public Types

using features = std::tuple<Features<Hdf5IO<Features...>>...>
template<template<typename> typename ...F>
using AddFeatures = typename add_features_with_deps<F...>::type
template<typename OTHER>
using Merge = typename OTHER::template add_features<Features...>::type

Public Functions

inline Hdf5IO()
inline virtual ~Hdf5IO()
void open(std::string filename)
template<template<typename> typename F>
bool has()
template<template<typename> typename F>
F<Hdf5IO> *scast()
template<template<typename> typename F>
F<Hdf5IO> *dcast()

Public Members

bool m_compress
size_t m_chunkSize
bool m_usePreviews
unsigned int m_previewReductionFactor
std::string m_filename
std::shared_ptr<HighFive::File> m_hdf5_file

Public Static Attributes

static constexpr std::size_t N = sizeof...(Features)
template<template<typename> typename F>
static constexpr bool HasFeature = has_feature<F>::value

USE ONLY THESE METHODS IN APPLICATION ///.

template<template<typename> typename F>
struct add_feature

Public Types

using type = typename add_features<F>::type
template<template<typename> typename F, template<typename> typename ...Fs>
struct add_features

Public Types

using type = typename add_features<F>::type::template add_features<Fs...>::type
template<template<typename> typename F>
struct add_features<F>

Public Types

using type = typename std::conditional<Hdf5IO<Features...>::has_feature<F>::value, Hdf5IO<Features...>, Hdf5IO<Features..., F>>::type
template<template<typename> typename F, template<typename> typename ...Fs>
struct add_features_with_deps

Public Types

using type = typename add_features_with_deps<F>::type::template add_features_with_deps<Fs...>::type
template<template<typename> typename F>
struct add_features_with_deps<F>

Public Types

using type = typename Hdf5Construct<F, Hdf5IO<Features...>>::type
template<template<typename> typename F>
struct has_feature

Public Static Attributes

static constexpr bool value = has_type<F<Hdf5IO>, features>::type::value
template<typename T, typename Tuple>
struct has_type
template<typename T, typename ...Ts>
struct has_type<T, std::tuple<T, Ts...>> : public std::true_type
template<typename T, typename U, typename ...Ts>
struct has_type<T, std::tuple<U, Ts...>> : public lvr2::Hdf5IO<Features>::has_type<T, std::tuple<Ts...>>
template<typename T>
struct has_type<T, std::tuple<>> : public std::false_type