Nektar++
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Member Functions | Static Public Member Functions | Private Member Functions | Friends | List of all members
Nektar::LibUtilities::H5::DataSpace Class Reference

HDF5 DataSpace wrapper. More...

#include <H5.h>

Inheritance diagram for Nektar::LibUtilities::H5::DataSpace:
Inheritance graph
[legend]
Collaboration diagram for Nektar::LibUtilities::H5::DataSpace:
Collaboration graph
[legend]

Public Member Functions

 DataSpace ()
 
 DataSpace (hsize_t size, hsize_t max=H5S_UNLIMITED-1)
 
 DataSpace (const std::vector< hsize_t > &dims)
 
 DataSpace (const std::vector< hsize_t > &dims, const std::vector< hsize_t > &max_dims)
 
 ~DataSpace ()
 
void Close ()
 
void SelectRange (const hsize_t start, const hsize_t count)
 
hsize_t GetSize ()
 
- Public Member Functions inherited from Nektar::LibUtilities::H5::Object
hid_t GetId () const
 
 operator hid_t () const
 

Static Public Member Functions

static DataSpaceSharedPtr Null ()
 
static DataSpaceSharedPtr Scalar ()
 
static DataSpaceSharedPtr OneD (hsize_t size)
 

Private Member Functions

 DataSpace (hid_t id)
 

Friends

class Attribute
 
class DataSet
 

Additional Inherited Members

- Protected Member Functions inherited from Nektar::LibUtilities::H5::Object
 Object ()
 
 Object (hid_t id)
 
virtual ~Object ()
 
- Protected Attributes inherited from Nektar::LibUtilities::H5::Object
hid_t m_Id
 

Detailed Description

HDF5 DataSpace wrapper.

Definition at line 304 of file H5.h.

Constructor & Destructor Documentation

Nektar::LibUtilities::H5::DataSpace::DataSpace ( )

Definition at line 410 of file H5.cpp.

410  : Object()
411 {
412 }
Nektar::LibUtilities::H5::DataSpace::DataSpace ( hsize_t  size,
hsize_t  max = H5S_UNLIMITED - 1 
)

Definition at line 424 of file H5.cpp.

References H5_CONSTRUCT.

424  : Object()
425 {
426  const hsize_t *max_p = NULL;
427  if (max != (H5S_UNLIMITED - 1))
428  max_p = &max;
429  H5_CONSTRUCT(m_Id, H5Screate_simple, (1, &size, max_p));
430 }
#define H5_CONSTRUCT(ans, func, args)
Definition: H5.h:57
Nektar::LibUtilities::H5::DataSpace::DataSpace ( const std::vector< hsize_t > &  dims)

Definition at line 418 of file H5.cpp.

References H5_CONSTRUCT.

418  : Object()
419 {
420  int rank = dims.size();
421  H5_CONSTRUCT(m_Id, H5Screate_simple, (rank, &dims[0], NULL));
422 }
#define H5_CONSTRUCT(ans, func, args)
Definition: H5.h:57
Nektar::LibUtilities::H5::DataSpace::DataSpace ( const std::vector< hsize_t > &  dims,
const std::vector< hsize_t > &  max_dims 
)

Definition at line 432 of file H5.cpp.

References H5_CONSTRUCT.

434  : Object()
435 {
436  int rank = dims.size();
437  H5_CONSTRUCT(m_Id, H5Screate_simple, (rank, &dims[0], &max_dims[0]));
438 }
#define H5_CONSTRUCT(ans, func, args)
Definition: H5.h:57
Nektar::LibUtilities::H5::DataSpace::~DataSpace ( )

Definition at line 440 of file H5.cpp.

References Close().

441 {
442  Close();
443 }
Nektar::LibUtilities::H5::DataSpace::DataSpace ( hid_t  id)
private

Definition at line 414 of file H5.cpp.

414  : Object(id)
415 {
416 }

Member Function Documentation

void Nektar::LibUtilities::H5::DataSpace::Close ( )
virtual

Implements Nektar::LibUtilities::H5::Object.

Definition at line 445 of file H5.cpp.

References H5_CALL.

Referenced by ~DataSpace().

446 {
447  H5_CALL(H5Sclose, (m_Id));
448  m_Id = H5I_INVALID_HID;
449 }
#define H5_CALL(func, args)
Definition: H5.h:68
hsize_t Nektar::LibUtilities::H5::DataSpace::GetSize ( )

Definition at line 456 of file H5.cpp.

457 {
458  return H5Sget_simple_extent_npoints(m_Id);
459 }
DataSpaceSharedPtr Nektar::LibUtilities::H5::DataSpace::Null ( )
static

Definition at line 390 of file H5.cpp.

References H5_CONSTRUCT.

391 {
392  DataSpaceSharedPtr ans(new DataSpace);
393  H5_CONSTRUCT(ans->m_Id, H5Screate, (H5S_NULL));
394  return ans;
395 }
#define H5_CONSTRUCT(ans, func, args)
Definition: H5.h:57
boost::shared_ptr< DataSpace > DataSpaceSharedPtr
Definition: H5.h:88
DataSpaceSharedPtr Nektar::LibUtilities::H5::DataSpace::OneD ( hsize_t  size)
static

Definition at line 403 of file H5.cpp.

References H5_CONSTRUCT.

Referenced by Nektar::LibUtilities::H5::CanHaveGroupsDataSets::CreateWriteDataSet(), Nektar::LibUtilities::H5::DataSet::Read(), Nektar::LibUtilities::H5::CanHaveAttributes::SetAttribute(), Nektar::LibUtilities::FieldIOHdf5::v_Write(), and Nektar::LibUtilities::H5::DataSet::Write().

404 {
405  DataSpaceSharedPtr ans(new DataSpace);
406  H5_CONSTRUCT(ans->m_Id, H5Screate_simple, (1, &size, NULL));
407  return ans;
408 }
#define H5_CONSTRUCT(ans, func, args)
Definition: H5.h:57
boost::shared_ptr< DataSpace > DataSpaceSharedPtr
Definition: H5.h:88
DataSpaceSharedPtr Nektar::LibUtilities::H5::DataSpace::Scalar ( )
static

Definition at line 397 of file H5.cpp.

References H5_CONSTRUCT.

Referenced by Nektar::LibUtilities::H5::CanHaveAttributes::GetAttribute(), and Nektar::LibUtilities::H5::CanHaveAttributes::SetAttribute().

398 {
399  DataSpaceSharedPtr ans(new DataSpace);
400  H5_CONSTRUCT(ans->m_Id, H5Screate, (H5S_SCALAR));
401  return ans;
402 }
#define H5_CONSTRUCT(ans, func, args)
Definition: H5.h:57
boost::shared_ptr< DataSpace > DataSpaceSharedPtr
Definition: H5.h:88
void Nektar::LibUtilities::H5::DataSpace::SelectRange ( const hsize_t  start,
const hsize_t  count 
)

Definition at line 450 of file H5.cpp.

References H5_CALL.

451 {
452  H5_CALL(H5Sselect_hyperslab,
453  (m_Id, H5S_SELECT_SET, &start, NULL, &count, NULL));
454 }
#define H5_CALL(func, args)
Definition: H5.h:68

Friends And Related Function Documentation

friend class Attribute
friend

Definition at line 325 of file H5.h.

friend class DataSet
friend

Definition at line 326 of file H5.h.