User Tools

Site Tools


ftbl:class:kernel:xh5io

XH5IO()

原型 XH5IO()
描述 构造函数
参数
返回值

~XH5IO()

原型 ~XH5IO()
描述 析构函数
参数
返回值

bool open(const char * fname, bool bWrite, bool bRead)

原型 bool open(const char * fname, bool bWrite, bool bRead)
描述 打开HDF5文件
参数 [i]const char * fname: 文件路径
[i] bool bWrite: 可写为true,只读为false
[i] bool bRead: 可读为true,只写为false
返回值 打开成功返回true,否则返回false

void clear()

原型 void clear()
描述 通过删除文件清空文件内容
参数
返回值

void clearTempTypes()

原型 void clearTempTypes()
描述 清空临时对象类型
参数
返回值

void addTempType(DataType ** t)

原型 void addTempType(DataType ** t)
描述 添加临时的数据类型对象指针
参数 [i]DataType ** t: 临时的数据类型对象指针
返回值

void addGroup(const char * gName, bool bChunk = false)

原型 void addGroup(const char * gName, bool bChunk = false)
描述 添加Group节点
参数 [i]const char * gName: 节点名称
[i] bool bChunk = false: 是否分块设置
返回值

H5Object * openGroup(const char * gname, bool bCreate = false)

原型 H5Object * openGroup(const char * gname, bool bCreate = false)
描述 打开Group节点,成功打开的对象需要调用closeGroup关闭
参数 [i]const char * gname: 节点名称
[i] bool bCreate = false: 如节点不存在,自动创建节点为true,否则为false,默认不创建
返回值 节点对象指针

H5Object * openIDGroup(const char * gname, ulong id, bool bCreate = false)

原型 H5Object * openIDGroup(const char * gname, ulong id, bool bCreate = false)
描述 打开包含ID信息的Group节点,Group节点名格式为ID[NAME],其中ID为数字,NAME为节点名称。成功打开的对象需要调用closeGroup关闭
参数 [i]const char * gname: 节点名称
[i] ulong id: 数字ID
[i] bool bCreate = false: 如节点不存在,自动创建节点为true,否则为false,默认不创建
返回值 节点对象指针

void getSubObjects(H5Object * parent, vector<string> * subNames)

原型 void getSubObjects(H5Object * parent, vector<string> * subNames)
描述 获取H5对象的子对象名称数组(包含Group和Dataset)
参数 [i]H5Object * parent: H5对象指针
[i] vector<string> * subNames: 子对象名称数组
返回值

void getSubGroups(H5Object * parent, vector<string> * subNames)

原型 void getSubGroups(H5Object * parent, vector<string> * subNames)
描述 获取H5对象的子Group名称数组
参数 [i]H5Object * parent: H5对象指针
[i] vector<string> * subNames: 子Group名称数组
返回值

void getSubDatasets(H5Object * parent, vector<string> * subNames)

原型 void getSubDatasets(H5Object * parent, vector<string> * subNames)
描述 获取H5对象的子Dataset名称数组
参数 [i]H5Object * parent: H5对象指针
[i] vector<string> * subNames: 子Dataset名称数组
返回值

H5Object * openDataset(H5Object * grp, const char * dsname)

原型 H5Object * openDataset(H5Object * grp, const char * dsname)
描述 打开数据集节点,成功打开的数据集对象需要调用closeDataset关闭
参数 [i]H5Object * grp: 数据集所在的Group节点对象指针
[i] const char * dsname: 数据集名称
返回值 数据集对象指针

H5Object * openSubGroup(H5Object * parent, const char * gname)

原型 H5Object * openSubGroup(H5Object * parent, const char * gname)
描述 打开子group节点,成功打开的对象需要调用closeGroup关闭
参数 [i]H5Object * parent: 父group节点
[i] const char * gname: 子group名字
返回值 子Group对象指针

H5Object * openIDGroup(H5Object * parent, const char * gname, ulong * id, XName * str)

原型 H5Object * openIDGroup(H5Object * parent, const char * gname, ulong * id, XName * str)
描述 打开parent中包含ID信息的子Group节点,Group节点名格式为ID[NAME],其中ID为数字,NAME为节点名称。成功打开的对象需要调用closeGroup关闭
参数 [i]H5Object * parent: 父group对象指针
[i] const char * gname: 子group名称
[o] ulong * id: 用来保存数字ID
[o] XName * str: 用来保存NAME字符串
返回值 子Group对象指针

Attribute * openAttribute(H5Object * parent, const char * dsname)

原型 Attribute * openAttribute(H5Object * parent, const char * dsname)
描述 打开parent中的属性,成功打开的属性需要调用closeAttribute关闭
参数 [i]H5Object * parent: 父对象(Group对象或者Dataset对象)
[i] const char * dsname: 属性名
返回值 属性对象指针

H5Object * createGroup(H5Object * parent, const char * gname)

原型 H5Object * createGroup(H5Object * parent, const char * gname)
描述 在parent对象中创建名称为gname的子Group,成功创建的Group对象需要调用closeGroup关闭
参数 [i]H5Object * parent: 父Group对象指针
[i] const char * gname: 子Group名称
返回值 子Group对象指针

H5Object * createIDGroup(H5Object * parent, const char * gname, ulong id)

原型 H5Object * createIDGroup(H5Object * parent, const char * gname, ulong id)
描述 在parent中创建包含ID信息的子Group节点,Group节点名格式为ID[NAME],其中ID为数字,NAME为节点名称。成功打开的对象需要调用closeGroup关闭
参数 [i]H5Object * parent: 父Group节点对象指针
[i] const char * gname: 指定NAME字符串
[i] ulong id: 指定ID
返回值 子group对象指针

void deleteGroup(H5Object * parent, const char * gname)

原型 void deleteGroup(H5Object * parent, const char * gname)
描述 在parent中删除group
参数 [i]H5Object * parent: 父Group对象指针
[i] const char * gname: 删除的Group对象名字
返回值

Attribute * createAttribute(H5Object * obj, const char * aname, DataType * dtype)

原型 Attribute * createAttribute(H5Object * obj, const char * aname, DataType * dtype)
描述 给obj对象创建指定数据类型的属性,创建成功的属性对象需要调用closeAttribute关闭。
参数 [i]H5Object * obj: HDF5对象(Group或者Dataset对象)
[i] const char * aname: 属性名字
[i] DataType * dtype: 属性的数据类型
返回值 属性对象指针

H5Object * createDataset(H5Object * grp, const char * dsname, DataType * dtype, size_t dim0, size_t dim1 = 0, int unitSize = 1, bool bChunk = false)

原型 H5Object * createDataset(H5Object * grp, const char * dsname, DataType * dtype, size_t dim0, size_t dim1 = 0, int unitSize = 1, bool bChunk = false)
描述 在grp对象中创建一个数据集对象,创建成功的数据集对象需要调用closeDataset关闭。
参数 [i]H5Object * grp: Group对象指针
[i] const char * dsname: 数据集名字
[i] DataType * dtype: 数据集的数据类型
[i] size_t dim0: 数组的一维长度(非零整数)
[i] size_t dim1 = 0: 数组的二维长度(如数据集只处理一维,则该值须为0)
[i] int unitSize = 1: 数据块的大小,当bChunk为true时有效
[i] bool bChunk = false: 是否分块存储
返回值 数据集对象指针

H5Object * createIDDataset(H5Object * grp, const char * dsname, int id, DataType * dtype)

原型 H5Object * createIDDataset(H5Object * grp, const char * dsname, int id, DataType * dtype)
描述 在grp对象中创建一个数据集对象,数据集名字格式为ID[NAME],其中ID为数字,NAME为数据集名称,创建成功的数据集对象需要调用closeDataset关闭。
参数 [i]H5Object * grp: Group对象指针
[i] const char * dsname: 指定NAME数据集名
[i] int id: 指定ID
[i] DataType * dtype: 数据集的数据类型
返回值 数据集对象指针

H5Object * writeArrayDataset(H5Object * grp, const char * dsname, const XArray<float> * arr)

原型 H5Object * writeArrayDataset(H5Object * grp, const char * dsname, const XArray<float> * arr)
描述 将float数组以数据集的形式写入到grp节点中,写入成功的数据集对象需要调用closeDataset关闭。
参数 [i]H5Object * grp: Group节点对象指针
[i] const char * dsname: 数据集名字
[i] const XArray<float> * arr: 写入的float数组
返回值 数据集对象指针

H5Object * writeArrayDataset(H5Object * grp, const char * dsname, const XArray<int> * arr)

原型 H5Object * writeArrayDataset(H5Object * grp, const char * dsname, const XArray<int> * arr)
描述 将int数组以数据集的形式写入到grp节点中,写入成功的数据集对象需要调用closeDataset关闭。
参数 [i]H5Object * grp: Group节点对象指针
[i] const char * dsname: 数据集名字
[i] const XArray<int> * arr: 写入的int数组
返回值 数据集对象指针

H5Object * writeArrayDataset(H5Object * grp, const char * dsname, const XArray<ulong> * arr)

原型 H5Object * writeArrayDataset(H5Object * grp, const char * dsname, const XArray<ulong> * arr)
描述 将float数组以数据集的形式写入到grp节点中,写入成功的数据集对象需要调用closeDataset关闭。
参数 [i]H5Object * grp: Group节点对象指针
[i] const char * dsname: 数据集名字
[i] const XArray<ulong> * arr: 写入的ulong数组
返回值 数据集对象指针

H5Object * writeArrayDataset(H5Object * grp, const char * dsname, const XArray<double> * arr)

原型 H5Object * writeArrayDataset(H5Object * grp, const char * dsname, const XArray<double> * arr)
描述 将float数组以数据集的形式写入到grp节点中,写入成功的数据集对象需要调用closeDataset关闭。
参数 [i]H5Object * grp: Group节点对象指针
[i] const char * dsname: 数据集名字
[i] const XArray<double> * arr: 写入的double数组
返回值 数据集对象指针

H5Object * writeArrayDataset(H5Object * grp, const char * dsname, size_t size, const float * arr)

原型 H5Object * writeArrayDataset(H5Object * grp, const char * dsname, size_t size, const float * arr)
描述 将float数组以数据集的形式写入到grp节点中,写入成功的数据集对象需要调用closeDataset关闭。
参数 [i]H5Object * grp: Group节点对象指针
[i] const char * dsname: 数据集名字
[i] size_t size: float数组的长度
[i] const float * arr: 写入的float数组
返回值 数据集对象指针

H5Object * writeArrayDataset(H5Object * grp, const char * dsname, size_t size, const int * arr)

原型 H5Object * writeArrayDataset(H5Object * grp, const char * dsname, size_t size, const int * arr)
描述 将float数组以数据集的形式写入到grp节点中,写入成功的数据集对象需要调用closeDataset关闭。
参数 [i]H5Object * grp: Group节点对象指针
[i] const char * dsname: 数据集名字
[i] size_t size: int数组的长度
[i] const int * arr: 写入的int数组
返回值 数据集对象指针

H5Object * readArrayDataset(H5Object * grp, const char * dsname, XArray<float> * arr)

原型 H5Object * readArrayDataset(H5Object * grp, const char * dsname, XArray<float> * arr)
描述 从grp节点下的名字为dsname的数据集中读取数据到float数组中,读入成功的数据集对象需要调用closeDataset关闭。
参数 [i]H5Object * grp: Group节点对象指针
[i] const char * dsname: 数据集名字
[i] XArray<float> * arr: 数据读入到该数组对象中
返回值 数据集对象指针

H5Object * readArrayDataset(H5Object * grp, const char * dsname, XArray<int> * arr)

原型 H5Object * readArrayDataset(H5Object * grp, const char * dsname, XArray<int> * arr)
描述 从grp节点下的名字为dsname的数据集中读取数据到float数组中,读入成功的数据集对象需要调用closeDataset关闭。
参数 [i]H5Object * grp: Group节点对象指针
[i] const char * dsname: 数据集名字
[i] XArray<int> * arr: 数据读入到该数组对象中
返回值 数据集对象指针

H5Object * readArrayDataset(H5Object * grp, const char * dsname, XArray<ulong> * arr)

原型 H5Object * readArrayDataset(H5Object * grp, const char * dsname, XArray<ulong> * arr)
描述 从grp节点下的名字为dsname的数据集中读取数据到float数组中,读入成功的数据集对象需要调用closeDataset关闭。
参数 [i]H5Object * grp: Group节点对象指针
[i] const char * dsname: 数据集名字
[i] XArray<ulong> * arr: 数据读入到该数组对象中
返回值 数据集对象指针

H5Object * readArrayDataset(H5Object * grp, const char * dsname, XArray<double> * arr)

原型 H5Object * readArrayDataset(H5Object * grp, const char * dsname, XArray<double> * arr)
描述 从grp节点下的名字为dsname的数据集中读取数据到float数组中,读入成功的数据集对象需要调用closeDataset关闭。
参数 [i]H5Object * grp: Group节点对象指针
[i] const char * dsname: 数据集名字
[i] XArray<double> * arr: 数据读入到该数组对象中
返回值 数据集对象指针

H5Object * writeFieldDataset(H5Object * grp, const char * dsname, const XDataField * field)

原型 H5Object * writeFieldDataset(H5Object * grp, const char * dsname, const XDataField * field)
描述 将数据场以二维数据集的形式写入到grp节点中,写入成功的数据集对象需要调用closeDataset关闭。
参数 [i]H5Object * grp: Group节点对象指针
[i] const char * dsname: 数据集名字
[i] const XDataField * field: 数据场对象
返回值 数据集对象指针

H5Object * readFieldDataset(H5Object * grp, const char * dsname, XDataField * field)

原型 H5Object * readFieldDataset(H5Object * grp, const char * dsname, XDataField * field)
描述 从grp节点下的名字为dsname的数据集中读取数据到数据场对象中,读入成功的数据集对象需要调用closeDataset关闭。
参数 [i]H5Object * grp: Group节点对象指针
[i] const char * dsname: 数据集名字
[i] XDataField * field: 数据场对象
返回值 数据集对象指针

void deleteDataset(H5Object * grp, const char * dsname)

原型 void deleteDataset(H5Object * grp, const char * dsname)
描述 从grp节点中删除数据集
参数 [i]H5Object * grp: Group节点对象指针
[i] const char * dsname: 数据集名字
返回值

size_t getDataCount(H5Object * dset)

原型 size_t getDataCount(H5Object * dset)
描述 获取数据集中的数据个数
参数 [i]H5Object * dset: 数据集对象指针
返回值 数据个数

size_t getDataTypeSize(DataType * dtype)

原型 size_t getDataTypeSize(DataType * dtype)
描述 获取数据类型所占空间大小
参数 [i]DataType * dtype: HDF5数据类型
返回值 数据类型所占空间大小

int getDataTypeOffset(DataType * dtype, const char * name)

原型 int getDataTypeOffset(DataType * dtype, const char * name)
描述 获取复合数据某个成员变量的位置偏移量
参数 [i]DataType * dtype: HDF5数据类型
[i] const char * name: 成员变量名字
返回值 成员变量的位置偏移量

int getDataMemberCount(DataType * dtype)

原型 int getDataMemberCount(DataType * dtype)
描述 获取复合数据类型的成员个数
参数 [i]DataType * dtype: 复合数据类型
返回值 复合数据类型的成员个数

int getDataArrayCount(DataType * dtype)

原型 int getDataArrayCount(DataType * dtype)
描述 获取数组类型数据的个数
参数 [i]DataType * dtype: 数组类型
返回值 数组类型数据的个数

bool checkDataType(H5Object * dset, vector<HMember> * memberStrings, int structSize)

原型 bool checkDataType(H5Object * dset, vector<HMember> * memberStrings, int structSize)
描述 校验数据集是否匹配数据成员定义
参数 [i]H5Object * dset: 数据集对象
[i] vector<HMember> * memberStrings: 数据成员定义数组
[i] int structSize: 结构体大小
返回值 如匹配返回true,否则返回false

bool readArray(H5Object * dset, float * buf)

原型 bool readArray(H5Object * dset, float * buf)
描述 从数据集中读取float数据到预先分配好空间的数组buf中
参数 [i]H5Object * dset: 数据集对象
[i] float * buf: float数组
返回值 成功读取返回true,否则返回false

bool readArray(H5Object * dset, int * buf)

原型 bool readArray(H5Object * dset, int * buf)
描述 从数据集中读取int数据到预先分配好空间的数组buf中
参数 [i]H5Object * dset: 数据集对象
[i] int * buf: int数组
返回值 成功读取返回true,否则返回false

bool readArray(H5Object * dset, ulong * buf)

原型 bool readArray(H5Object * dset, ulong * buf)
描述 从数据集中读取ulong数据到预先分配好空间的数组buf中
参数 [i]H5Object * dset: 数据集对象
[i] ulong * buf: ulong数组
返回值 成功读取返回true,否则返回false

bool readArray(H5Object * dset, double * buf)

原型 bool readArray(H5Object * dset, double * buf)
描述 从数据集中读取double数据到预先分配好空间的数组buf中
参数 [i]H5Object * dset: 数据集对象
[i] double * buf: double数组
返回值 成功读取返回true,否则返回false

bool readData(H5Object * obj, LabelVarSection * buf, bool bGroupOnSection = false)

原型 bool readData(H5Object * obj, LabelVarSection * buf, bool bGroupOnSection = false)
描述 从对象obj中读取属性到带标签的变量块中,obj对象可能为Group(bGroupOnSection为true),也可能为Dataset(bGroupOnSection为false)
参数 [i]H5Object * obj: H5对象
[i] LabelVarSection * buf: 带标签的变量块
[i] bool bGroupOnSection = false: 为true时obj对象为Group对象,否则为Dataset对象
返回值 成功读取返回true,否则返回false

bool readData(H5Object * grp, LabelVarGroup * buf, bool bGroupOnSection = false)

原型 bool readData(H5Object * grp, LabelVarGroup * buf, bool bGroupOnSection = false)
描述 从对象obj中读取属性到带标签的变量组中,当bGroupOnSection为true时不同子Group读入到不同的LabelVarSection 中,否则按照obj所有的数据集Dataset读入到不同的LabelVarSection中
参数 [i]H5Object * grp: Group数据对象
[i] LabelVarGroup * buf: 带标签的变量组(下面包含若干带标签的变量块)
[i] bool bGroupOnSection = false: 当bGroupOnSection为true时不同子Group读入到不同的LabelVarSection 中,否则按照obj所有的数据集Dataset读入到不同的LabelVarSection中
返回值 成功读取返回true,否则返回false

bool readData(H5Object * dset, const DataType * dtype, void * buf)

原型 bool readData(H5Object * dset, const DataType * dtype, void * buf)
描述 从数据集中读取数据到预先分配好内存的内存空间中
参数 [i]H5Object * dset: 数据集对象
[i] const DataType * dtype: 数据集的数据类型
[i] void * buf: 内存空间
返回值 成功读取返回true,否则返回false

bool readAttribute(H5Object * dset, const char * aname, const DataType * dtype, void * buf)

原型 bool readAttribute(H5Object * dset, const char * aname, const DataType * dtype, void * buf)
描述 从数据集对象中读取属性值到预先分配好的内存空间中
参数 [i]H5Object * dset: 数据集对象
[i] const char * aname: 属性名
[i] const DataType * dtype: 属性的内存数据类型
[i] void * buf: 内存空间
返回值 成功读取返回true,否则返回false

bool readAttribute(H5Object * dset, const char * aname, DBVersion & buf)

原型 bool readAttribute(H5Object * dset, const char * aname, DBVersion & buf)
描述 从数据集对象中读取版本属性值
参数 [i]H5Object * dset: 数据集对象
[i] const char * aname: 属性名
[o] DBVersion & buf: 版本数据对象
返回值 成功读取返回true,否则返回false

bool readAttribute(H5Object * dset, const char * aname, ulong & buf)

原型 bool readAttribute(H5Object * dset, const char * aname, ulong & buf)
描述 从数据集对象中读取无符号整型值
参数 [i]H5Object * dset: 数据集对象
[i] const char * aname: 属性名
[o] ulong & buf: ulong变量的引用
返回值 成功读取返回true,否则返回false

bool readAttribute(H5Object * dset, const char * aname, int & buf)

原型 bool readAttribute(H5Object * dset, const char * aname, int & buf)
描述 从数据集对象中读取整型值
参数 [i]H5Object * dset: 数据集对象
[i] const char * aname: 属性名
[o] int & buf: int变量的引用
返回值 成功读取返回true,否则返回false

bool readAttribute(H5Object * dset, const char * aname, size_t & buf)

原型 bool readAttribute(H5Object * dset, const char * aname, size_t & buf)
描述 从数据集对象中读取size_t值
参数 [i]H5Object * dset: 数据集对象
[i] const char * aname: 属性名
[o] size_t & buf: size_t变量的引用
返回值 成功读取返回true,否则返回false

bool readAttribute(H5Object * dset, const char * aname, long long & buf)

原型 bool readAttribute(H5Object * dset, const char * aname, long long & buf)
描述 从数据集对象中读取long long值
参数 [i]H5Object * dset: 数据集对象
[i] const char * aname: 属性名
[o] long long & buf: long long变量的引用
返回值 成功读取返回true,否则返回false

bool readAttribute(H5Object * dset, const char * aname, double & buf)

原型 bool readAttribute(H5Object * dset, const char * aname, double & buf)
描述 从数据集对象中读取double值
参数 [i]H5Object * dset: 数据集对象
[i] const char * aname: 属性名
[o] double & buf: double变量的引用
返回值 成功读取返回true,否则返回false

bool readAttribute(Attribute * dset, const DataType * dtype, void * buf)

原型 bool readAttribute(Attribute * dset, const DataType * dtype, void * buf)
描述 从属性对象中读取数据到预先分配好的内存空间中
参数 [i]Attribute * dset: 属性对象
[i] const DataType * dtype: 属性对象的内存数据类型
[o] void * buf: 分配好的内存空间
返回值 成功读取返回true,否则返回false

bool readAttribute(H5Object * dset, const char * aname, char * buf)

原型 bool readAttribute(H5Object * dset, const char * aname, char * buf)
描述 从数据集对象中读取字符串
参数 [i]H5Object * dset: 数据集对象
[i] const char * aname: 字符串属性名
[o] char * buf: 预先分配好的字符串内存空间
返回值 成功读取返回true,否则返回false

bool readNameAttribute(H5Object * dset, const char * aname, char * buf)

原型 bool readNameAttribute(H5Object * dset, const char * aname, char * buf)
描述 从数据集对象中读取字符串到XName所指向的空间
参数 [i]H5Object * dset: 数据集对象
[i] const char * aname: 字符串属性名
[o] char * buf: XName对象所指向的字符串空间(64个字符大小)
返回值 成功读取返回true,否则返回false

bool readTypeAttribute(H5Object * dset, const char * aname, char * buf)

原型 bool readTypeAttribute(H5Object * dset, const char * aname, char * buf)
描述 从数据集对象中读取字符串到XType变量所指向的空间
参数 [i]H5Object * dset: 数据集对象
[i] const char * aname: 字符串属性名
[o] char * buf: XType对象所指向的字符串空间(16个字符大小)
返回值 成功读取返回true,否则返回false

bool readPathAttribute(H5Object * dset, const char * aname, char * buf)

原型 bool readPathAttribute(H5Object * dset, const char * aname, char * buf)
描述 从数据集对象中读取字符串到XPath变量所指向的空间
参数 [i]H5Object * dset: 数据集对象
[i] const char * aname: 字符串属性名
[o] char * buf: XPath对象所指向的字符串空间(256个字符大小)
返回值 成功读取返回true,否则返回false

void writeArray(H5Object * dset, const float * buf)

原型 void writeArray(H5Object * dset, const float * buf)
描述 将float数组写入到数据集对象中。
参数 [i]H5Object * dset: 数据集对象指针
[o] const float * buf: 写入的float数组
返回值

void writeArray(H5Object * dset, const int * buf)

原型 void writeArray(H5Object * dset, const int * buf)
描述 将float数组写入到数据集对象中。
参数 [i]H5Object * dset: 数据集对象指针
[o] const int * buf: 写入的int数组
返回值

void writeArray(H5Object * dset, const ulong * buf)

原型 void writeArray(H5Object * dset, const ulong * buf)
描述 将float数组写入到数据集对象中。
参数 [i]H5Object * dset: 数据集对象指针
[o] const ulong * buf: 写入的ulong数组
返回值

void writeArray(H5Object * dset, const double * buf)

原型 void writeArray(H5Object * dset, const double * buf)
描述 将float数组写入到数据集对象中。
参数 [i]H5Object * dset: 数据集对象指针
[o] const double * buf: 写入的double数组
返回值

void writeData(H5Object * obj, const LabelVarSection * buf, bool bGroupOnSection = false)

原型 void writeData(H5Object * obj, const LabelVarSection * buf, bool bGroupOnSection = false)
描述 带标签的变量块以属性写入到从对象obj中,obj对象可能为Group(bGroupOnSection为true),也可能为Dataset(bGroupOnSection为false)
参数 [i]H5Object * obj: HDF5对象,当bGroupOnSection为true时为Group对象,否则为Dataset对象
[i] const LabelVarSection * buf: 带标签的变量块
[i] bool bGroupOnSection = false: 当bGroupOnSection为true时obj对象为Group对象,否则为Dataset对象
返回值

void writeData(H5Object * grp, const LabelVarGroup * buf, bool bGroupOnSection = false)

原型 void writeData(H5Object * grp, const LabelVarGroup * buf, bool bGroupOnSection = false)
描述 带标签的变量组写入从对象grp中,当bGroupOnSection为true时不同LabelVarSection 写入到不同的子Group中,否则LabelVarSection写入到不同的数据集Dataset中
参数 [i]H5Object * grp: Group对象指针
[i] const LabelVarGroup * buf: 带标签的变量组
[i] bool bGroupOnSection = false: 当bGroupOnSection为true时不同LabelVarSection 写入到不同的子Group中,否则LabelVarSection写入到不同的数据集Dataset中
返回值

void writeData(H5Object * dset, const DataType * dtype, const void * buf)

原型 void writeData(H5Object * dset, const DataType * dtype, const void * buf)
描述 将内存中的内容按照数据类型dtype写入到数据集中
参数 [i]H5Object * dset: 数据集对象(文件数据类型已在创建的时候指定好)
[i] const DataType * dtype: buf的内存数据类型
[i] const void * buf: 内存地址
返回值

void writeExtendData(H5Object * dset, const DataType * dtype, size_t size, const void * buf)

原型 void writeExtendData(H5Object * dset, const DataType * dtype, size_t size, const void * buf)
描述 将内存中的数据按照给定数据类型增加到数据集中
参数 [i]H5Object * dset: 数据集对象(文件数据类型已在创建的时候指定好)
[i] const DataType * dtype: buf的内存数据类型
[i] size_t size: 新增加的数据个数
[i] const void * buf: 内存地址
返回值

void writeAttribute(H5Object * dset, const char * aname, const DataType * dtype, const void * buf)

原型 void writeAttribute(H5Object * dset, const char * aname, const DataType * dtype, const void * buf)
描述 将内存中的内容按照数据类型dtype以属性写入到数据集中
参数 [i]H5Object * dset: 数据集对象
[i] const char * aname: 属性名
[i] const DataType * dtype: buf的内存数据类型
[i] const void * buf: 内存地址
返回值

void writeAttribute(H5Object * dset, const char * aname, const ulong & buf)

原型 void writeAttribute(H5Object * dset, const char * aname, const ulong & buf)
描述 将ulong变量以属性写入到数据集中
参数 [i]H5Object * dset: 数据集对象
[i] const char * aname: 属性名
[i] const ulong & buf: ulong变量的引用
返回值

void writeAttribute(H5Object * dset, const char * aname, const int & buf)

原型 void writeAttribute(H5Object * dset, const char * aname, const int & buf)
描述 将int变量以属性写入到数据集中
参数 [i]H5Object * dset: 数据集对象
[i] const char * aname: 属性名
[i] const int & buf: int变量的引用
返回值

void writeAttribute(H5Object * dset, const char * aname, const unsigned long long & buf)

原型 void writeAttribute(H5Object * dset, const char * aname, const unsigned long long & buf)
描述 将unsigned long long变量以属性写入到数据集中
参数 [i]H5Object * dset: 数据集对象
[i] const char * aname: 属性名
[i] const unsigned long long & buf: unsigned long long变量的引用
返回值

void writeAttribute(H5Object * dset, const char * aname, const long long & buf)

原型 void writeAttribute(H5Object * dset, const char * aname, const long long & buf)
描述 将long long变量以属性写入到数据集中
参数 [i]H5Object * dset: 数据集对象
[i] const char * aname: 属性名
[i] const long long & buf: long long变量
返回值

void writeAttribute(H5Object * dset, const char * aname, const double & buf)

原型 void writeAttribute(H5Object * dset, const char * aname, const double & buf)
描述 将double变量以属性写入到数据集中
参数 [i]H5Object * dset: 数据集对象
[i] const char * aname: 属性名
[i] const double & buf: double变量
返回值

void writeAttribute(H5Object * dset, const char * aname, const char * buf)

原型 void writeAttribute(H5Object * dset, const char * aname, const char * buf)
描述 将字符串以属性写入到数据集中
参数 [i]H5Object * dset: 数据集对象
[i] const char * aname: 属性名
[i] const char * buf: 字符串变量
返回值

void writeAttribute(Attribute * dset, const DataType * dtype, const void * buf)

原型 void writeAttribute(Attribute * dset, const DataType * dtype, const void * buf)
描述 将内存中的内容按照数据类型dtype写入到属性中
参数 [i]Attribute * dset: 属性对象
[i] const DataType * dtype: 属性名
[i] const void * buf: 内存地址
返回值

void writeNameAttribute(H5Object * dset, const char * aname, const char * buf)

原型 void writeNameAttribute(H5Object * dset, const char * aname, const char * buf)
描述 将XName变量以属性写入到数据集中
参数 [i]H5Object * dset: 数据集对象
[i] const char * aname: 属性名
[i] const char * buf: XName的字符串地址
返回值

void writeTypeAttribute(H5Object * dset, const char * aname, const char * buf)

原型 void writeTypeAttribute(H5Object * dset, const char * aname, const char * buf)
描述 将XType变量以属性写入到数据集中
参数 [i]H5Object * dset: 数据集对象
[i] const char * aname: 属性名
[i] const char * buf: XType对象的字符串地址
返回值

void writePathAttribute(H5Object * dset, const char * aname, const char * buf)

原型 void writePathAttribute(H5Object * dset, const char * aname, const char * buf)
描述 将XPath变量以属性写入到数据集中
参数 [i]H5Object * dset: 数据集对象
[i] const char * aname: 属性名
[i] const char * buf: XPath对象的字符串地址
返回值

void writeAttribute(H5Object * dset, const char * aname, const DBVersion & buf)

原型 void writeAttribute(H5Object * dset, const char * aname, const DBVersion & buf)
描述 将DBVersion变量以属性写入到数据集中
参数 [i]H5Object * dset: 数据集对象
[i] const char * aname: 属性名
[i] const DBVersion & buf: DBVersion变量
返回值

DataType * addStructType(size_t tsize, vector<HMember> * memStrs = 0, bool bFileFormat = false)

原型 DataType * addStructType(size_t tsize, vector<HMember> * memStrs = 0, bool bFileFormat = false)
描述 基于数据成员定义添加struct数据的数据类型
参数 [i]size_t tsize: 数据类型大小
[i] vector<HMember> * memStrs = 0: 数据成员定义,为空时仅指定数据类型大小
[i] bool bFileFormat = false: 是否文件数据类型
返回值 数据类型对象的指针

void releaseType(DataType * dtype)

原型 void releaseType(DataType * dtype)
描述 释放数据类型对象
参数 [i]DataType * dtype: 数据类型对象的指针
返回值

DataType * getDatasetType(H5Object * dset)

原型 DataType * getDatasetType(H5Object * dset)
描述 获取数据集的数据类型
参数 [i]H5Object * dset: 数据集对象
返回值 数据集的数据类型

DataType * getStructMemberDataType(DataType * type, const char * name)

原型 DataType * getStructMemberDataType(DataType * type, const char * name)
描述 获取复合数据类型的成员的数据类型
参数 [i]DataType * type: 复合数据类型
[i] const char * name: 成员变量名
返回值 成员变量的数据类型

void getStructMemberValue(H5Object * dset, vector<HMember> * memberStrings, char * outBuf)

原型 void getStructMemberValue(H5Object * dset, vector<HMember> * memberStrings, char * outBuf)
描述 按照数据成员定义获取复合数据的成员变量的值,用于数据结构已经发生修改的场合(此时数据成员定义与数据集中保存的结构并不保证一一对应)
参数 [i]H5Object * dset: 数据集对象
[i] vector<HMember> * memberStrings: 数据成员定义
[o] char * outBuf: 内存地址
返回值

void closeGroup(H5Object * grp)

原型 void closeGroup(H5Object * grp)
描述 关闭Group对象
参数 [i]H5Object * grp: Group对象指针
返回值

void closeDataset(H5Object * dset)

原型 void closeDataset(H5Object * dset)
描述 关闭数据集对象
参数 [i]H5Object * dset: 数据集对象
返回值

void closeAttribute(Attribute * atb)

原型 void closeAttribute(Attribute * atb)
描述 关闭属性对象
参数 [i]Attribute * atb: 属性对象
返回值

void close()

原型 void close()
描述 关闭HDF5句柄
参数
返回值

bool test()

原型 bool test()
描述 测试函数
参数
返回值 测试成功返回true,否则返回false

template <typename T> Attribute * createStructAttribute(H5Object * grp, const char * dsname)

原型 template <typename T> Attribute * createStructAttribute(H5Object * grp, const char * dsname)
描述 模板函数,根据类T的数据成员定义表在grp对象中创建属性,创建好的对象需要调用closeAttribute关闭
参数 [i]H5Object * grp: HDF5数据节点对象
[i] const char * dsname: 属性名
返回值 属性对象指针

template <typename T> void writeStructAttribute(Attribute * atb, const T * data)

原型 template <typename T> void writeStructAttribute(Attribute * atb, const T * data)
描述 模板函数,根据类T的数据成员定义表将data写入到属性atb中
参数 [i]Attribute * atb: HDF5属性对象
[i] const T * data: T类型的变量
返回值

template <typename T> void readStructAttribute(Attribute * dset, T * data)

原型 template <typename T> void readStructAttribute(Attribute * dset, T * data)
描述 模板函数,根据类T的数据成员定义表从属性中读取值到T对象data中
参数 [i]Attribute * dset: HDF5属性对象
[i] T * data: T类型的变量
返回值

template <typename T> H5Object * createStructDataset(H5Object * grp, const char * dsname, int count = 1)

原型 template <typename T> H5Object * createStructDataset(H5Object * grp, const char * dsname, int count = 1)
描述 模板函数,根据类T的数据成员定义表在grp对象中创建数据集,创建好的对象需要调用closeDataset关闭
参数 [i]H5Object * grp: Group对象指针
[i] const char * dsname: 数据集名字
[i] int count = 1: 数据的个数
返回值 数据集对象

template <typename T> void writeStruct(H5Object * dset, const T * data, bool bAutoClose)

原型 template <typename T> void writeStruct(H5Object * dset, const T * data, bool bAutoClose)
描述 模板函数,根据类T的数据成员定义表将data写入到数据集中,如bAutoClose为真,自动关闭数据集对象
参数 [i]H5Object * dset: 数据集对象
[i] const T * data: T类型变量
[i] bool bAutoClose: 如bAutoClose为真,自动关闭数据集对象
返回值

template <typename T> int writeStructArray(H5Object * dset, const XArray<T> * darr, bool bAutoClose = false)

原型 template <typename T> int writeStructArray(H5Object * dset, const XArray<T> * darr, bool bAutoClose = false)
描述 模板函数,根据类T的数据成员定义表将数组写入到数据集中,如bAutoClose为真,自动关闭数据集对象
参数 [i]H5Object * dset: 数据集对象
[i] const XArray<T> * darr: T类型数组
[i] bool bAutoClose = false: 如bAutoClose为真,自动关闭数据集对象
返回值

template <typename T> void readStruct(H5Object * dset, T * data, bool bAutoClose = false)

原型 template <typename T> void readStruct(H5Object * dset, T * data, bool bAutoClose = false)
描述 模板函数,根据类T的数据成员定义表从数据集中读取值到T对象data中,如bAutoClose为真,自动关闭数据集对象
参数 [i]H5Object * dset: 数据集对象
[i] T * data: T类型变量
[i] bool bAutoClose = false: 如bAutoClose为真,自动关闭数据集对象
返回值

template <typename T> int readStructArray(H5Object * dset, XArray<T> * darr, bool bAutoClose = false)

原型 template <typename T> int readStructArray(H5Object * dset, XArray<T> * darr, bool bAutoClose = false)
描述 模板函数,根据类T的数据成员定义表从数据集中读取值到T对象数组中,如bAutoClose为真,自动关闭数据集对象
参数 [i]H5Object * dset: 数据集对象
[i] XArray<T> * darr: T类型数组
[i] bool bAutoClose = false: 如bAutoClose为真,自动关闭数据集对象
返回值

template <typename T> int readStructArray(H5Object * dset, vector<T> * darr, bool bAutoClose = false)

原型 template <typename T> int readStructArray(H5Object * dset, vector<T> * darr, bool bAutoClose = false)
描述 模板函数,根据类T的数据成员定义表从数据集中读取值到T对象数组中,如bAutoClose为真,自动关闭数据集对象
参数 [i]H5Object * dset: 数据集对象
[i] vector<T> * darr: T类型数组
[i] bool bAutoClose = false: 如bAutoClose为真,自动关闭数据集对象
返回值

void readStructMember(char * buf, DataType * type, vector<HMember> * members, const char * name, char * vbuf, int size)

原型 void readStructMember(char * buf, DataType * type, vector<HMember> * members, const char * name, char * vbuf, int size)
描述 基于数据成员定义表从已经读取出来的内存空间中获取某个成员变量的值
参数 [i]char * buf: 已经读取出来的内存空间地址
[i] DataType * type: buf所对应的内存数据类型
[i] vector<HMember> * members: 数据成员定义表
[i] const char * name: 成员变量名
[i] char * vbuf: 成员变量地址
[i] int size: 成员变量大小
返回值

template <typename T> void readStructMember(char * buf, DataType * type, vector<HMember> * members, const char * name, T * v)

原型 template <typename T> void readStructMember(char * buf, DataType * type, vector<HMember> * members, const char * name, T * v)
描述 模板函数, 基于数据成员定义表从已经读取出来的内存空间中获取某个成员变量的值
参数 [i]char * buf: 已经读取出来的内存空间地址
[i] DataType * type: buf所对应的内存数据类型
[i] vector<HMember> * members: 数据成员定义表
[i] const char * name: 成员变量名
[i] T * v: 成员变量地址
返回值

const DBVersion & getVersion()

原型 const DBVersion & getVersion()
描述 获取文件的版本号
参数
返回值 文件的版本数据
ftbl/class/kernel/xh5io.txt · Last modified: 2025/05/09 14:46 (external edit)