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

#include <H5.h>

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

Public Member Functions

 PList ()
 
 ~PList ()
 
void Close ()
 
void SetChunk (const std::vector< hsize_t > &dims)
 
void SetDeflate (const unsigned level=1)
 
void SetMpio (CommSharedPtr comm)
 
void SetDxMpioCollective ()
 
void SetDxMpioIndependent ()
 
- Public Member Functions inherited from Nektar::LibUtilities::H5::Object
hid_t GetId () const
 
 operator hid_t () const
 

Static Public Member Functions

static PListSharedPtr Default ()
 Default options. More...
 
static PListSharedPtr ObjectCreate ()
 Properties for object creation. More...
 
static PListSharedPtr FileCreate ()
 Properties for file creation. More...
 
static PListSharedPtr FileAccess ()
 Properties for file access. More...
 
static PListSharedPtr DatasetCreate ()
 Properties for dataset creation. More...
 
static PListSharedPtr DatasetAccess ()
 Properties for dataset access. More...
 
static PListSharedPtr DatasetXfer ()
 Properties for raw data transfer. More...
 
static PListSharedPtr FileMount ()
 Properties for file mounting. More...
 
static PListSharedPtr GroupCreate ()
 Properties for group creation. More...
 
static PListSharedPtr GroupAccess ()
 Properties for group access. More...
 
static PListSharedPtr DatatypeCreate ()
 Properties for datatype creation. More...
 
static PListSharedPtr DatatypeAccess ()
 Properties for datatype access. More...
 
static PListSharedPtr StringCreate ()
 Properties for character encoding when encoding strings or object names. More...
 
static PListSharedPtr AttributeCreate ()
 Properties for attribute creation. More...
 
static PListSharedPtr ObjectCopy ()
 Properties governing the object copying process. More...
 
static PListSharedPtr LinkCreate ()
 Properties governing link creation. More...
 
static PListSharedPtr LinkAccess ()
 Properties governing link traversal when accessing objects. More...
 

Private Member Functions

 PList (hid_t cls)
 

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

Definition at line 131 of file H5.h.

Constructor & Destructor Documentation

◆ PList() [1/2]

Nektar::LibUtilities::H5::PList::PList ( )

◆ ~PList()

Nektar::LibUtilities::H5::PList::~PList ( )

Definition at line 68 of file H5.cpp.

69 {
70  Close();
71 }

References Close().

◆ PList() [2/2]

Nektar::LibUtilities::H5::PList::PList ( hid_t  cls)
private

Definition at line 64 of file H5.cpp.

64  : Object()
65 {
66  H5_CONSTRUCT(m_Id, H5Pcreate, (cls));
67 }
#define H5_CONSTRUCT(ans, func, args)
Definition: H5.h:56

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

Member Function Documentation

◆ AttributeCreate()

PListSharedPtr Nektar::LibUtilities::H5::PList::AttributeCreate ( )
static

Properties for attribute creation.

Definition at line 157 of file H5.cpp.

158 {
159  return PListSharedPtr(new PList(H5P_ATTRIBUTE_CREATE));
160 }
std::shared_ptr< PList > PListSharedPtr
Definition: H5.h:104

References PList().

◆ Close()

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

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

Definition at line 72 of file H5.cpp.

73 {
74  H5_CALL(H5Pclose, (m_Id));
75  m_Id = H5I_INVALID_HID;
76 }
#define H5_CALL(func, args)
Definition: H5.h:67

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

Referenced by ~PList().

◆ DatasetAccess()

PListSharedPtr Nektar::LibUtilities::H5::PList::DatasetAccess ( )
static

Properties for dataset access.

Definition at line 109 of file H5.cpp.

110 {
111  return PListSharedPtr(new PList(H5P_DATASET_ACCESS));
112 }

References PList().

◆ DatasetCreate()

PListSharedPtr Nektar::LibUtilities::H5::PList::DatasetCreate ( )
static

Properties for dataset creation.

Definition at line 103 of file H5.cpp.

104 {
105  return PListSharedPtr(new PList(H5P_DATASET_CREATE));
106 }

References PList().

◆ DatasetXfer()

PListSharedPtr Nektar::LibUtilities::H5::PList::DatasetXfer ( )
static

Properties for raw data transfer.

Definition at line 115 of file H5.cpp.

116 {
117  return PListSharedPtr(new PList(H5P_DATASET_XFER));
118 }

References PList().

Referenced by Nektar::LibUtilities::FieldIOHdf5::v_Import(), and Nektar::LibUtilities::FieldIOHdf5::v_Write().

◆ DatatypeAccess()

PListSharedPtr Nektar::LibUtilities::H5::PList::DatatypeAccess ( )
static

Properties for datatype access.

Definition at line 145 of file H5.cpp.

146 {
147  return PListSharedPtr(new PList(H5P_DATATYPE_ACCESS));
148 }

References PList().

◆ DatatypeCreate()

PListSharedPtr Nektar::LibUtilities::H5::PList::DatatypeCreate ( )
static

Properties for datatype creation.

Definition at line 139 of file H5.cpp.

140 {
141  return PListSharedPtr(new PList(H5P_DATATYPE_CREATE));
142 }

References PList().

◆ Default()

PListSharedPtr Nektar::LibUtilities::H5::PList::Default ( )
static

◆ FileAccess()

PListSharedPtr Nektar::LibUtilities::H5::PList::FileAccess ( )
static

Properties for file access.

Definition at line 97 of file H5.cpp.

98 {
99  return PListSharedPtr(new PList(H5P_FILE_ACCESS));
100 }

References PList().

Referenced by Nektar::LibUtilities::FieldIOHdf5::v_Import(), and Nektar::LibUtilities::FieldIOHdf5::v_Write().

◆ FileCreate()

PListSharedPtr Nektar::LibUtilities::H5::PList::FileCreate ( )
static

Properties for file creation.

Definition at line 91 of file H5.cpp.

92 {
93  return PListSharedPtr(new PList(H5P_FILE_CREATE));
94 }

References PList().

◆ FileMount()

PListSharedPtr Nektar::LibUtilities::H5::PList::FileMount ( )
static

Properties for file mounting.

Definition at line 121 of file H5.cpp.

122 {
123  return PListSharedPtr(new PList(H5P_FILE_MOUNT));
124 }

References PList().

◆ GroupAccess()

PListSharedPtr Nektar::LibUtilities::H5::PList::GroupAccess ( )
static

Properties for group access.

Definition at line 133 of file H5.cpp.

134 {
135  return PListSharedPtr(new PList(H5P_GROUP_ACCESS));
136 }

References PList().

◆ GroupCreate()

PListSharedPtr Nektar::LibUtilities::H5::PList::GroupCreate ( )
static

Properties for group creation.

Definition at line 127 of file H5.cpp.

128 {
129  return PListSharedPtr(new PList(H5P_GROUP_CREATE));
130 }

References PList().

◆ LinkAccess()

PListSharedPtr Nektar::LibUtilities::H5::PList::LinkAccess ( )
static

Properties governing link traversal when accessing objects.

Definition at line 175 of file H5.cpp.

176 {
177  return PListSharedPtr(new PList(H5P_LINK_ACCESS));
178 }

References PList().

◆ LinkCreate()

PListSharedPtr Nektar::LibUtilities::H5::PList::LinkCreate ( )
static

Properties governing link creation.

Definition at line 169 of file H5.cpp.

170 {
171  return PListSharedPtr(new PList(H5P_LINK_CREATE));
172 }

References PList().

◆ ObjectCopy()

PListSharedPtr Nektar::LibUtilities::H5::PList::ObjectCopy ( )
static

Properties governing the object copying process.

Definition at line 163 of file H5.cpp.

164 {
165  return PListSharedPtr(new PList(H5P_OBJECT_COPY));
166 }

References PList().

◆ ObjectCreate()

PListSharedPtr Nektar::LibUtilities::H5::PList::ObjectCreate ( )
static

Properties for object creation.

Definition at line 85 of file H5.cpp.

86 {
87  return PListSharedPtr(new PList(H5P_OBJECT_CREATE));
88 }

References PList().

◆ SetChunk()

void Nektar::LibUtilities::H5::PList::SetChunk ( const std::vector< hsize_t > &  dims)

Definition at line 179 of file H5.cpp.

180 {
181  H5_CALL(H5Pset_chunk, (m_Id, dims.size(), &dims[0]));
182 }

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

◆ SetDeflate()

void Nektar::LibUtilities::H5::PList::SetDeflate ( const unsigned  level = 1)

Definition at line 183 of file H5.cpp.

184 {
185  H5_CALL(H5Pset_deflate, (m_Id, level));
186 }

References H5_CALL, CellMLToNektar.pycml::level, and Nektar::LibUtilities::H5::Object::m_Id.

◆ SetDxMpioCollective()

void Nektar::LibUtilities::H5::PList::SetDxMpioCollective ( )

Definition at line 205 of file H5.cpp.

206 {
207  ASSERTL0(false, "Trying to use parallel HDF5 without MPI!");
208 }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

References ASSERTL0.

◆ SetDxMpioIndependent()

void Nektar::LibUtilities::H5::PList::SetDxMpioIndependent ( )

Definition at line 209 of file H5.cpp.

210 {
211  ASSERTL0(false, "Trying to use parallel HDF5 without MPI!");
212 }

References ASSERTL0.

◆ SetMpio()

void Nektar::LibUtilities::H5::PList::SetMpio ( CommSharedPtr  comm)

Definition at line 213 of file H5.cpp.

214 {
215  ASSERTL0(false, "Trying to use parallel HDF5 without MPI!");
216 }

References ASSERTL0.

◆ StringCreate()

PListSharedPtr Nektar::LibUtilities::H5::PList::StringCreate ( )
static

Properties for character encoding when encoding strings or object names.

Definition at line 151 of file H5.cpp.

152 {
153  return PListSharedPtr(new PList(H5P_STRING_CREATE));
154 }

References PList().