23 #ifndef SHEAF_DLL_SPEC_H 24 #include "SheafSystem/sheaf_dll_spec.h" 28 #include "SheafSystem/any.h" 31 #ifndef POSET_SCAFFOLD_H 32 #include "SheafSystem/poset_scaffold.h" 35 #ifndef RECORD_INDEX_H 36 #include "SheafSystem/record_index.h" 40 #include "SheafSystem/std_hdf5.h" 44 #include "SheafSystem/std_string.h" 52 class poset_data_type_map;
169 virtual bool invariant()
const;
174 virtual bool is_ancestor_of(
const any* other)
const;
208 std::string name()
const;
213 std::string alias()
const;
218 static const std::string& name_space_alias();
223 static const std::string& name_space_prefix();
228 virtual const std::string& suffix()
const;
233 std::string data_set_name(
const std::string& xname)
const;
238 std::string data_set_alias(
const std::string& xname)
const;
244 std::string poset_name()
const;
274 bool is_open()
const;
279 virtual void close();
284 int record_buffer_ct()
const;
289 void inc_record_buffer_ct();
294 void reset_record_buffer_ct();
299 int record_buffer_ub()
const;
304 bool record_buffer_is_empty()
const;
309 bool record_buffer_is_full()
const;
317 virtual hid_t create_dataset() = 0;
323 virtual void create_int_data_type() = 0;
329 void extend_dataset(
const hsize_t* xdims,
int xdims_ub);
339 void set_name_from_alias();
350 hid_t ext_dataspace_hdf_id();
355 hid_t ext_data_type_hdf_id();
360 int ext_dataspace_rank();
365 hsize_t ext_dataspace_dim(
int xi);
371 hid_t int_dataspace_hdf_id();
376 hid_t int_data_type_hdf_id();
458 virtual void read_dataset_attributes();
464 virtual void write_dataset_attributes();
469 void read_attribute(
const char*& xatt_values,
472 const std::string& xatt_name);
476 void write_attribute(
const void* xatt_values,
479 const std::string& xatt_name);
486 #endif // ifndef RECORD_SET_H An encapsulation of an HDF file containing sheaf data.
sheaf_file & _file
The file this record_set belongs to.
int _ext_dataspace_rank
The rank of the dataspace for the record_set.
hsize_t * _ext_dataspace_dims
The current dimensions of the external dataspace.
int _record_buffer_ub
The maximum number of records the buffer can hold.
poset_scaffold & _scaffold
The poset scaffold associated with this.
hid_t _hdf_id
The HDF id for this record set.
Abstract base class with useful features for all objects.
std::string _alias
The standard alias for this record_set.
hid_t _ext_data_type_hdf_id
The HDF external data type id for this record set.
A poset specific collection of data converters, various buffers and other data used while transferrin...
hid_t _int_data_type_hdf_id
The HDF internal data type id for this record set.
std::string _name
The name of this record_set.
unsigned long size_type
An unsigned integral type used to represent sizes and capacities.
An abstract, indexed collection of records on secondary storage.
Function object to convert between internal and external data formats.
Namespace for the sheaves component of the sheaf system.
A poset specific collection of data converters, various buffers and other data used while transferrin...
static const hid_t NOT_AN_HDF_ID
Value indicating an invalid HDf object id. /.
hid_t _ext_dataspace_hdf_id
The HDF id for the external dataspace of this record set.
int _record_buffer_ct
The number of active records in record buffer.
hid_t _int_dataspace_hdf_id
The hdf5 id of the dataspace associated with the record buffer.