Nektar++
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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:
Inheritance graph
[legend]
Collaboration diagram for Nektar::LibUtilities::H5::DataType:
Collaboration graph
[legend]

Public Member Functions

virtual void Close ()
 
DataTypeSharedPtr Copy () const
 
- Public Member Functions inherited from Nektar::LibUtilities::H5::Object
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

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

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 374 of file H5.h.

Constructor & Destructor Documentation

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

Definition at line 461 of file H5.cpp.

Referenced by Copy().

461  : Object(id)
462 {
463 }

Member Function Documentation

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

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

Reimplemented in Nektar::LibUtilities::H5::PredefinedDataType.

Definition at line 476 of file H5.cpp.

References H5_CALL.

477 {
478  H5_CALL(H5Tclose, (m_Id));
479  m_Id = H5I_INVALID_HID;
480 }
#define H5_CALL(func, args)
Definition: H5.h:68
DataTypeSharedPtr Nektar::LibUtilities::H5::DataType::Copy ( ) const

Definition at line 482 of file H5.cpp.

References DataType(), and H5_CONSTRUCT.

483 {
484  hid_t ans_id = H5I_INVALID_HID;
485  H5_CONSTRUCT(ans_id, H5Tcopy, (m_Id));
486  DataTypeSharedPtr ans(new DataType(ans_id));
487  return ans;
488 }
#define H5_CONSTRUCT(ans, func, args)
Definition: H5.h:57
boost::shared_ptr< DataType > DataTypeSharedPtr
Definition: H5.h:86
template<class T >
static DataTypeSharedPtr Nektar::LibUtilities::H5::DataType::OfObject ( const T &  obj)
inlinestatic

Definition at line 378 of file H5.h.

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

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

379  {
381  }
static DataTypeSharedPtr GetType()
Definition: H5.h:538
DataTypeSharedPtr Nektar::LibUtilities::H5::DataType::String ( size_t  len = 0)
static

Definition at line 464 of file H5.cpp.

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

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

465 {
467  DataTypeSharedPtr ans = s1->Copy();
468  if (len == 0)
469  {
470  len = H5T_VARIABLE;
471  }
472  H5_CALL(H5Tset_size, (ans->GetId(), len));
473  return ans;
474 }
#define H5_CALL(func, args)
Definition: H5.h:68
static DataTypeSharedPtr CS1()
Definition: H5.cpp:490
boost::shared_ptr< DataType > DataTypeSharedPtr
Definition: H5.h:86