h5cpp  0.5.1
A modern C++ wrapper for the HDF5 C library
hdf5::dataspace Namespace Reference

Classes

class  TypeTrait< std::array< T, N > >
 
class  TypeTrait< std::vector< T > >
 
class  Dataspace
 dataspace base class More...
 
class  Hyperslab
 hyperslab selection class More...
 
class  Points
 point selection implementation More...
 
class  DataspacePool
 data space object pool More...
 
class  Scalar
 scalar dataspace More...
 
class  Selection
 selection base class More...
 
struct  OperationWithSelection
 
class  SelectionManager
 interface for selection management More...
 
class  Simple
 simple multidimensional dataspace More...
 
class  TypeTrait
 type trait for dataspace construction More...
 
class  DataspaceHolder
 data space object holder More...
 
class  View
 guard object for selections More...
 
class  TypeTrait< ArrayAdapter< T > >
 dataspace type trait for adapters More...
 

Typedefs

using SelectionPair = std::pair< SelectionOperation, Selection::SharedPointer >
 
using SelectionList = std::list< OperationWithSelection >
 

Enumerations

enum class  Type : std::underlying_type< H5S_class_t >::type { Scalar = H5S_SCALAR , Simple = H5S_SIMPLE , NoData = H5S_NULL }
 
enum class  SelectionType : std::underlying_type< H5S_sel_type >::type { None = H5S_SEL_NONE , Points = H5S_SEL_POINTS , Hyperslab = H5S_SEL_HYPERSLABS , All = H5S_SEL_ALL }
 selection type More...
 
enum class  SelectionOperation : std::underlying_type< H5S_seloper_t >::type {
  Set = H5S_SELECT_SET , Or = H5S_SELECT_OR , And = H5S_SELECT_AND , XOr = H5S_SELECT_XOR ,
  NotB = H5S_SELECT_NOTB , NotA = H5S_SELECT_NOTA , Append = H5S_SELECT_APPEND , Prepend = H5S_SELECT_PREPEND
}
 selection operator More...
 

Functions

Dataspace operator|| (const Dataspace &space, const Hyperslab &selection)
 
SelectionList operator| (const Hyperslab &a, const Hyperslab &b)
 
SelectionListoperator| (SelectionList &selections, const Hyperslab &b)
 
Dataspace operator|| (const Dataspace &space, const SelectionList &selections)
 
std::ostream & operator<< (std::ostream &stream, const Type &t)
 
std::ostream & operator<< (std::ostream &stream, const SelectionType &t)
 
std::ostream & operator<< (std::ostream &stream, const SelectionOperation &o)
 
template<typename T >
TypeTrait< T >::DataspaceType create (const T &value)
 factory function for dataspaces More...
 
template<typename T >
const dataspace::Dataspaceget (const T &value, DataspacePool &pool)
 factory function for dataspace const references More...
 
template<typename T >
void * ptr (T &value)
 
template<typename T >
const void * cptr (const T &value)
 

Typedef Documentation

◆ SelectionList

◆ SelectionPair

Enumeration Type Documentation

◆ SelectionOperation

enum hdf5::dataspace::SelectionOperation : std::underlying_type< H5S_seloper_t >::type
strong
Enumerator
Set 

replace all selections by this one

Or 

select all elements which are in this or the previously applied selections

And 

selects the overlapping region of the actual selection and previously applied selections

XOr 

select all elements which are either in this or in the previously applied selections but not in both

NotB 

select those elements which are on the previously applied selections but not in the current one

NotA 

select only those elements which are in the current selection and not in the previous ones

Append 

for point selections: add the point to the end of the current list of points

Prepend 

for point selections: add the point to the beginning of the current list of points

◆ SelectionType

enum hdf5::dataspace::SelectionType : std::underlying_type< H5S_sel_type >::type
strong

Determines what kind of selection is applied to a datatype. Like datapsace::Type this identifies the particular type of selection when given only a reference to dataspace::Selection.

Enumerator
None 

nothing is selected

Points 

the selection is a point selection (dataspace::Points)

Hyperslab 

the selection is a hyperslab selection (dataspace::Hyperslab)

All 

everything is selected

◆ Type

enum hdf5::dataspace::Type : std::underlying_type< H5S_class_t >::type
strong

determine the datatype instance

This enumeration type is primarily used to identify the particular type of dataspace when given only a reference to dataspace::Dataspace.

Enumerator
Scalar 

the dataspace is an instance of dataspace::Scalar

Simple 

the dataspace is an instance of dataspace::Simple

NoData 

the dataspace is an instance of dataspace::Null

Warning
dataspace::Null is currently not implemented

Function Documentation

◆ cptr()

template<typename T >
const void* hdf5::dataspace::cptr ( const T &  value)

◆ create()

template<typename T >
TypeTrait<T>::DataspaceType hdf5::dataspace::create ( const T &  value)

This factory function uses TypeTrait to create a new dataspace for a particular instance of T.

Template Parameters
Ttype for which to construct a dataspace
Parameters
valueinstance of T
Returns
an instance of the appropriate dataspace type

◆ get()

template<typename T >
const dataspace::Dataspace& hdf5::dataspace::get ( const T &  value,
DataspacePool pool 
)

This factory function uses TypeTrait to create a new dataspace const reference for a particular instance of T.

Template Parameters
Ttype for which to construct a dataspace
Parameters
valueinstance of T
pooldataspace pool
Returns
a const reference of the appropriate dataspace type

◆ operator<<() [1/3]

std::ostream& hdf5::dataspace::operator<< ( std::ostream &  stream,
const SelectionOperation o 
)

◆ operator<<() [2/3]

std::ostream& hdf5::dataspace::operator<< ( std::ostream &  stream,
const SelectionType t 
)

◆ operator<<() [3/3]

std::ostream& hdf5::dataspace::operator<< ( std::ostream &  stream,
const Type t 
)

◆ operator|() [1/2]

SelectionList hdf5::dataspace::operator| ( const Hyperslab a,
const Hyperslab b 
)

◆ operator|() [2/2]

SelectionList& hdf5::dataspace::operator| ( SelectionList selections,
const Hyperslab b 
)

◆ operator||() [1/2]

Dataspace hdf5::dataspace::operator|| ( const Dataspace space,
const Hyperslab selection 
)

◆ operator||() [2/2]

Dataspace hdf5::dataspace::operator|| ( const Dataspace space,
const SelectionList selections 
)

◆ ptr()

template<typename T >
void* hdf5::dataspace::ptr ( T &  value)