Nektar++
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
Nektar::LibUtilities::H5::DataType Class Reference

Wrap and HDF5 data type object. Technically this can have attributes, but not really bothered. More...

#include <H5.h>

Inheritance diagram for Nektar::LibUtilities::H5::DataType:
[legend]

Public Member Functions

DataTypeSharedPtr Copy () const
 
- Public Member Functions inherited from Nektar::LibUtilities::H5::Object
void Close ()
 
hid_t GetId () const
 
 operator hid_t () const
 

Static Public Member Functions

static DataTypeSharedPtr String (size_t len=0)
 
template<class T >
static DataTypeSharedPtr OfObject (const T &obj)
 

Protected Member Functions

void v_Close () override
 
 DataType (hid_t id)
 
- Protected Member Functions inherited from Nektar::LibUtilities::H5::Object
 Object ()
 
 Object (hid_t id)
 
virtual ~Object ()
 
virtual void v_Close ()=0
 

Additional Inherited Members

- Protected Attributes inherited from Nektar::LibUtilities::H5::Object
hid_t m_Id
 

Detailed Description

Wrap and HDF5 data type object. Technically this can have attributes, but not really bothered.

Definition at line 392 of file H5.h.

Constructor & Destructor Documentation

◆ DataType()

Nektar::LibUtilities::H5::DataType::DataType ( hid_t  id)
protected

Definition at line 514 of file H5.cpp.

514 : Object(id)
515{
516}

Referenced by Copy().

Member Function Documentation

◆ Copy()

DataTypeSharedPtr Nektar::LibUtilities::H5::DataType::Copy ( ) const

Definition at line 541 of file H5.cpp.

542{
543 hid_t ans_id = H5I_INVALID_HID;
544 H5_CONSTRUCT(ans_id, H5Tcopy, (m_Id));
545 DataTypeSharedPtr ans(new DataType(ans_id));
546 return ans;
547}
#define H5_CONSTRUCT(ans, func, args)
Definition: H5.h:50
std::shared_ptr< DataType > DataTypeSharedPtr
Definition: H5.h:74

References DataType(), H5_CONSTRUCT, and Nektar::LibUtilities::H5::Object::m_Id.

◆ OfObject()

template<class T >
static DataTypeSharedPtr Nektar::LibUtilities::H5::DataType::OfObject ( const T &  obj)
inlinestatic

Definition at line 397 of file H5.h.

398 {
400 }
static DataTypeSharedPtr GetType()
Definition: H5.h:661

References Nektar::LibUtilities::H5::DataTypeTraits< T >::GetType().

Referenced by Nektar::LibUtilities::FieldIOHdf5::v_Write().

◆ String()

DataTypeSharedPtr Nektar::LibUtilities::H5::DataType::String ( size_t  len = 0)
static

Definition at line 517 of file H5.cpp.

518{
520 DataTypeSharedPtr ans = s1->Copy();
521 if (len == 0)
522 {
523 len = H5T_VARIABLE;
524 }
525 H5_CALL(H5Tset_size, (ans->GetId(), len));
526 return ans;
527}
#define H5_CALL(func, args)
Definition: H5.h:58
static DataTypeSharedPtr CS1()
Definition: H5.cpp:549

References Nektar::LibUtilities::H5::PredefinedDataType::CS1(), and H5_CALL.

Referenced by Nektar::LibUtilities::H5::DataTypeTraits< T >::GetType(), and Nektar::LibUtilities::H5::DataSet::ReadVectorString().

◆ v_Close()

void Nektar::LibUtilities::H5::DataType::v_Close ( )
overrideprotectedvirtual

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

Reimplemented in Nektar::LibUtilities::H5::CompoundDataType, and Nektar::LibUtilities::H5::PredefinedDataType.

Definition at line 535 of file H5.cpp.

536{
537 H5_CALL(H5Tclose, (m_Id));
538 m_Id = H5I_INVALID_HID;
539}

References H5_CALL, and Nektar::LibUtilities::H5::Object::m_Id.