====== TableManager ====== **//Inherited from//** [[class::domain::xmanager|XManager]], **//Inherited by//** NULL **//Friend class//** NULL **//Description//** TableManager从XManager继承,是数据表对象管理器,所有数据表对象的创建、销毁、访问以及修改都通过调用它的通用接口完成。它的域识别码是Domain_Table,类型名是"DTABLE"。 数据表对象由若干预定义好的数据场组成,每个数据场对应一个维度的数据。 **//Public interface//** * [[tablemanager#tablemanager1|TableManager]](XMemPool * pool = 0) * [[tablemanager#~tablemanager|~TableManager]]() * static const char * [[tablemanager#getfieldtypestring|getFieldTypeString]](TypeID) * static TypeID [[tablemanager#getfieldtypebystring|getFieldTypeByString]](const char * str) * void [[tablemanager#serialize|serialize]](XBinaryIO * io, XItem * obj, bool bSave) * void [[tablemanager#write|write]](XH5IO * io, H5Obj * grp) * bool [[tablemanager#read|read]](XH5IO * io, H5Obj * grp) ---- {{anchor:tablemanager1}} **TableManager(XMemPool * pool = 0)** *function: 构造函数 *parameters: - [i]XMemPool * pool = 0: 内存池 *return value: 无 {{anchor:~tablemanager}} **~TableManager()** *function: 析构函数 *parameters: NULL *return value: 无 {{anchor:getfieldtypestring}} **static const char * getFieldTypeString(TypeID)** *function: 静态函数,获取指定场类型的名字 *parameters: - [i]TypeID: 场类型 *return value: 场类型名 {{anchor:getfieldtypebystring}} **static TypeID getFieldTypeByString(const char * str)** *function: 静态函数,通过类型名获取指定场类型码 *parameters: - [i]const char * str: 类型名 *return value: 场类型码 {{anchor:serialize}} **void serialize(XBinaryIO * io, XItem * obj, bool bSave)** *function: 在undo、redo时从数据操作记录文件中序列化数据对象 *parameters: - [i]XBinaryIO * io: 二进制数据操作记录文件句柄 - [i] XItem * obj: 数据对象 - [i] bool bSave: 是否保存数据对象 *return value: 无 {{anchor:write}} **void write(XH5IO * io, H5Obj * grp)** *function: 将管理的所有对象数据写入到HDF5文件中 *parameters: - [i]XH5IO * io: HDF5文件句柄 - [i] H5Obj * grp: 对象管理器对应的HDF5节点 *return value: 无 {{anchor:read}} **bool read(XH5IO * io, H5Obj * grp)** *function: 从HDF5文件中读取对象数据到管理器中 *parameters: - [i]XH5IO * io: HDF5文件句柄 - [i] H5Obj * grp: 对象管理器对应的HDF5节点 *return value: 完整读取返回true,否则返回false