h5cpp  0.6.1
A modern C++ wrapper for the HDF5 C library
hdf5 Namespace Reference

top-level namespace of the entire library

Namespaces

 attribute
 
 dataspace
 
 datatype
 
 error
 
 file
 
 filter
 
 node
 namespace for node like objects and related functions
 
 property
 

Classes

class  Context
 
class  FixedLengthStringBuffer
 
struct  FixedLengthStringTrait
 
struct  FixedLengthStringTrait< std::string >
 
struct  FixedLengthStringTrait< std::vector< std::string > >
 
class  IOWriteBuffer
 
class  IOReadBuffer
 
class  Iterator
 
class  IteratorConfig
 iterator configuration More...
 
class  ObjectHandle
 Wrapper for hid_t object identifiers. More...
 
class  ObjectId
 Unique ID of an HDF5 object. More...
 
class  Path
 path to a node object More...
 
struct  VarLengthBufferTrait
 variable length buffer trait More...
 
struct  VarLengthStringTrait
 variable length string buffer trait More...
 
struct  VarLengthStringTrait< std::string >
 
struct  VarLengthStringTrait< std::vector< std::string > >
 
class  Version
 a 3 number version class More...
 
class  ArrayAdapter
 adapter for C-style arrays More...
 

Typedefs

using Dimensions = std::vector< hsize_t >
 
using VarLengthDataBuffer = std::vector< hvl_t >
 
template<typename CharT >
using VarLengthStringBuffer = std::vector< CharT * >
 buffer for variable length string data More...
 

Enumerations

enum class  IterationOrder : std::underlying_type< H5_iter_order_t >::type { Increasing = H5_ITER_INC , Decreasing = H5_ITER_DEC , Native = H5_ITER_NATIVE }
 
enum class  IterationIndex : std::underlying_type< H5_index_t >::type { Name = H5_INDEX_NAME , CreationOrder = H5_INDEX_CRT_ORDER }
 iteration index More...
 

Functions

Iterator operator+ (const Iterator &a, ssize_t b)
 
Iterator operator+ (ssize_t a, const Iterator &b)
 
Iterator operator- (const Iterator &a, ssize_t b)
 
ssize_t operator- (const Iterator &a, const Iterator &b)
 
std::ostream & operator<< (std::ostream &stream, const IterationOrder &order)
 ouput stream for iteration order enumeration More...
 
std::ostream & operator<< (std::ostream &stream, const IterationIndex &index)
 
bool operator== (const ObjectHandle &lhs, const ObjectHandle &rhs)
 equality operator More...
 
bool operator!= (const ObjectHandle &lhs, const ObjectHandle &rhs)
 not equal to operator More...
 
std::ostream & operator<< (std::ostream &stream, const ObjectHandle::Type &type)
 output operator for Types More...
 
std::ostream & operator<< (std::ostream &os, const ObjectId &p)
 stream output operator for ObjectId class More...
 
bool operator== (const Path &lhs, const Path &rhs)
 checks two paths for equality More...
 
Path common_base (const Path &lhs, const Path &rhs)
 checks two paths for equality base More...
 
bool operator!= (const Path &lhs, const Path &rhs)
 
Path operator+ (const Path &lhs, const Path &rhs)
 
std::ostream & operator<< (std::ostream &stream, const Path &path)
 
std::ostream & operator<< (std::ostream &stream, const Version &version)
 output stream operator More...
 
bool operator== (const Version &lhs, const Version &rhs)
 checks two version for equality More...
 
bool operator!= (const Version &lhs, const Version &rhs)
 checks if two versions are not equal More...
 
bool operator<= (const Version &lhs, const Version &rhs)
 checks if the left version is smaller or equal to the right More...
 
bool operator< (const Version &lhs, const Version &rhs)
 checks if the left version is strictly small than the right More...
 
bool operator>= (const Version &lhs, const Version &rhs)
 checks if the left version is bigger or equal than the right More...
 
bool operator> (const Version &lhs, const Version &rhs)
 checks if the left version is strictly bigger than the right More...
 
Version current_library_version ()
 returns the current version of the HDF5 library More...
 
template<typename T >
Dimensions get_dimensions (const ArrayAdapter< T > adapter)
 get dimensions for an array adapter instance More...
 

Typedef Documentation

◆ Dimensions

using hdf5::Dimensions = typedef std::vector<hsize_t>

◆ VarLengthDataBuffer

using hdf5::VarLengthDataBuffer = typedef std::vector<hvl_t>

◆ VarLengthStringBuffer

template<typename CharT >
using hdf5::VarLengthStringBuffer = typedef std::vector<CharT*>

Variable length string requires and intermediate data structure to be transfered from and to disk. This template provides the basic buffer type used to transfer data.

Template Parameters
CharTthe character tyep used for the strings

Enumeration Type Documentation

◆ IterationIndex

enum hdf5::IterationIndex : std::underlying_type< H5_index_t >::type
strong
Enumerator
Name 

using the name as index

CreationOrder 

using creation time as index

◆ IterationOrder

enum hdf5::IterationOrder : std::underlying_type< H5_iter_order_t >::type
strong

iteration order

This enumeration is used to control how an iterator traverses an iterable with a particular index.

Enumerator
Increasing 

iteration in increasing index order

Decreasing 

iteration in decreasing index order

Native 

iteration in native index order

Function Documentation

◆ common_base()

friend Path hdf5::common_base ( const Path lhs,
const Path rhs 
)

◆ current_library_version()

Version hdf5::current_library_version ( )
Exceptions
std::runtime_errorin case of a failure
Returns
instance of Version with the current HDF5 version

◆ get_dimensions()

template<typename T >
Dimensions hdf5::get_dimensions ( const ArrayAdapter< T >  adapter)

This utility function returns the dimensions of a particular array adapter instance.

Template Parameters
Ttype of the array elements
Parameters
adapterreference to the array adapter for which to get the dimensions
Returns
Dimensions instance with the actual dimensions of the array adapter

◆ operator!=() [1/3]

bool hdf5::operator!= ( const ObjectHandle lhs,
const ObjectHandle rhs 
)

Simply the inverse of the == operator.

◆ operator!=() [2/3]

bool hdf5::operator!= ( const Path lhs,
const Path rhs 
)

◆ operator!=() [3/3]

bool hdf5::operator!= ( const Version lhs,
const Version rhs 
)
Parameters
lhsreference to the left hand side version
rhsreference to the right hand side version
Returns
true if versions are not equal, false otherwise

◆ operator+() [1/3]

Iterator hdf5::operator+ ( const Iterator a,
ssize_t  b 
)

◆ operator+() [2/3]

Path hdf5::operator+ ( const Path lhs,
const Path rhs 
)

◆ operator+() [3/3]

Iterator hdf5::operator+ ( ssize_t  a,
const Iterator b 
)

◆ operator-() [1/2]

ssize_t hdf5::operator- ( const Iterator a,
const Iterator b 
)

◆ operator-() [2/2]

Iterator hdf5::operator- ( const Iterator a,
ssize_t  b 
)

◆ operator<()

bool hdf5::operator< ( const Version lhs,
const Version rhs 
)
Parameters
lhsreference to the left hand side version
rhsreference to the right hand side version

◆ operator<<() [1/6]

friend std::ostream& hdf5::operator<< ( std::ostream &  os,
const ObjectId p 
)

◆ operator<<() [2/6]

std::ostream& hdf5::operator<< ( std::ostream &  stream,
const IterationIndex index 
)

◆ operator<<() [3/6]

std::ostream& hdf5::operator<< ( std::ostream &  stream,
const IterationOrder order 
)

◆ operator<<() [4/6]

std::ostream& hdf5::operator<< ( std::ostream &  stream,
const ObjectHandle::Type type 
)

◆ operator<<() [5/6]

std::ostream& hdf5::operator<< ( std::ostream &  stream,
const Path path 
)

◆ operator<<() [6/6]

std::ostream& hdf5::operator<< ( std::ostream &  stream,
const Version version 
)

Writes an instance of Version to a std::ostream. The output format is the same as for Version::to_string.

Parameters
streamthe stream where to write the version
versionreference to the Version to write
Returns
modified version of std::ostream
See also
Version::to_string

◆ operator<=()

bool hdf5::operator<= ( const Version lhs,
const Version rhs 
)
Parameters
lhsreference to the left hand side version
rhsreference to the right hand side version

◆ operator==() [1/3]

bool hdf5::operator== ( const ObjectHandle lhs,
const ObjectHandle rhs 
)

Two instances of ObjectHandle are considered equal when their internal representation have equal value. This is not a sufficient criteria for object equality!

◆ operator==() [2/3]

friend bool hdf5::operator== ( const Path lhs,
const Path rhs 
)

Two paths are considered equal if each of their elements is

◆ operator==() [3/3]

bool hdf5::operator== ( const Version lhs,
const Version rhs 
)

Two version are considered equal if all of their parts are equal.

Parameters
lhsreference to the left hand side version
rhsreference to the right hand side version
Returns
true if versions are equal, false otherwise

◆ operator>()

bool hdf5::operator> ( const Version lhs,
const Version rhs 
)
Parameters
lhsreference to the left hand side version
rhsreference to the right hand side version

◆ operator>=()

bool hdf5::operator>= ( const Version lhs,
const Version rhs 
)
Parameters
lhsreference to the left hand side version
rhsreference to the right hand side version