h5gt 0.2.0
C++ wrapper for HDF5 library (based on HighFive project)
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Friends | List of all members
h5gt::DataSpace Class Reference

Class representing the space (dimensions) of a dataset. More...

#include <H5DataSpace.hpp>

Inheritance diagram for h5gt::DataSpace:
h5gt::Object

Public Types

enum  DataspaceType { datascape_scalar , datascape_null }
 dataspace type
 

Public Member Functions

 DataSpace (const std::vector< size_t > &dims)
 
template<size_t N>
 DataSpace (const std::array< size_t, N > &dims)
 
 DataSpace (const std::initializer_list< size_t > &items)
 
template<typename... Args>
 DataSpace (size_t dim1, Args... dims)
 
template<typename IT , typename = typename std::enable_if<!std::is_integral<IT>::value,IT>::type>
 DataSpace (const IT begin, const IT end)
 
 DataSpace (const std::vector< size_t > &dims, const std::vector< size_t > &maxdims)
 Create a resizable N-dimensional dataspace.
 
 DataSpace (DataspaceType dtype)
 DataSpace create a scalar dataspace or a null dataset.
 
DataSpace clone () const
 
size_t getNumberDimensions () const
 getNumberDimensions
 
std::vector< size_t > getDimensions () const
 getDimensions
 
size_t getElementCount () const
 getElementCount
 
size_t getElementCountSelected () const
 getElementCountSelected
 
std::vector< size_t > getMaxDimensions () const
 getMaxDimensions
 
- Public Member Functions inherited from h5gt::Object
void flush (bool globalScope=true)
 flush
 
bool isValid () const noexcept
 isValid
 
hid_t getId (const bool &increaseRefCount=false) const noexcept
 getId
 
std::string getFileName () const
 
std::string getPath () const
 return the path to the current group, dataset, datatype or attribute's holder
 
int getIdRefCount () const noexcept
 
ObjectInfo getObjectInfo () const
 Retrieve several infos about the current object (address, dates, etc)
 
ObjectType getObjectType () const
 Gets the fundamental type of the object (dataset, group, etc)
 

Static Public Member Functions

template<typename T >
static DataSpace From (const T &value)
 Create a dataspace matching a type accepted by details::inspector.
 
template<std::size_t N, std::size_t Width>
static DataSpace FromCharArrayStrings (const char(&)[N][Width])
 
static DataSpace FromId (const hid_t &id, const bool &increaseRefCount=false)
 

Static Public Attributes

static const ObjectType type = ObjectType::DataSpace
 
static const size_t UNLIMITED = SIZE_MAX
 

Protected Member Functions

 DataSpace (const Object &obj)
 
- Protected Member Functions inherited from h5gt::Object
 Object (const Object &other)
 
 Object (Object &&other) noexcept
 
 Object (const hid_t &)
 
 Object (const hid_t &, const ObjectType &, const bool &)
 
LinkInfo _getLinkInfo (const std::string &objPath) const
 getLinkInfo retrieve link info from an object with 'objPath'. This object must reside in the same container as current one.
 
std::string _unpackSoftLink (const std::string &objName) const
 
std::string _unpackExternalLink (const std::string &objName, std::string &fileName_out) const
 
void _unlink (const std::string &obj_name) const
 
Objectoperator= (const Object &other)
 
bool operator== (const Object &other) const
 When coparing objects h5gt::File must be open.
 

Friends

class Attribute
 
class File
 
class DataSet
 
class Selection
 

Additional Inherited Members

- Protected Attributes inherited from h5gt::Object
hid_t _hid
 

Detailed Description

Class representing the space (dimensions) of a dataset.

Constructor & Destructor Documentation

◆ DataSpace() [1/5]

h5gt::DataSpace::DataSpace ( const std::vector< size_t > & dims)
inlineexplicit

create a dataspace of N-dimensions Each dimension is configured this way size(dim1) = vec[0] size(dim2) = vec[1] etc...

◆ DataSpace() [2/5]

h5gt::DataSpace::DataSpace ( const std::initializer_list< size_t > & items)
inline

Make sure that DataSpace({1,2,3}) works on GCC. This is the shortcut form of the vector initializer, but one some compilers (gcc) this does not resolve correctly without this constructor.

◆ DataSpace() [3/5]

template<typename... Args>
h5gt::DataSpace::DataSpace ( size_t dim1,
Args... dims )
inlineexplicit

Allow directly listing 1 or more dimensions to initialize, that is, DataSpace(1,2) means DataSpace(std::vector<size_t>{1,2}).

◆ DataSpace() [4/5]

template<class IT , typename >
h5gt::DataSpace::DataSpace ( const IT begin,
const IT end )
inline

Create a dataspace from an iterator pair

Explicitly disable DataSpace(int_like, int_like) from trying to use this constructor

◆ DataSpace() [5/5]

h5gt::DataSpace::DataSpace ( const std::vector< size_t > & dims,
const std::vector< size_t > & maxdims )
inlineexplicit

Create a resizable N-dimensional dataspace.

Parameters
dimsInitial size of dataspace
maxdimsMaximum size of the dataspace

Member Function Documentation

◆ clone()

DataSpace h5gt::DataSpace::clone ( ) const
inline

Create a new DataSpace with a different id available for modifications

◆ getDimensions()

std::vector< size_t > h5gt::DataSpace::getDimensions ( ) const
inline

getDimensions

Returns
return a vector of N-element, each element is the size of the associated dataset dimension

◆ getElementCount()

size_t h5gt::DataSpace::getElementCount ( ) const
inline

getElementCount

Returns
the total number of elements in the dataspace

◆ getElementCountSelected()

size_t h5gt::DataSpace::getElementCountSelected ( ) const
inline

getElementCountSelected

Returns
the number of selected elements in the dataspace

◆ getMaxDimensions()

std::vector< size_t > h5gt::DataSpace::getMaxDimensions ( ) const
inline

getMaxDimensions

Returns
return a vector of N-element, each element is the size of the associated dataset maximum dimension

◆ getNumberDimensions()

size_t h5gt::DataSpace::getNumberDimensions ( ) const
inline

getNumberDimensions

Returns
the number of dimensions in the current dataspace

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