SheafSystem
0.0.0.0
|
A record_set which contains dof tuple records. Supports both record selection and record restriction (partial records). More...
#include <dof_tuple_record_set.h>
Public Member Functions | |
dof_tuple_record_set (const dof_tuple_record_set &xother) | |
Copy constructor. More... | |
virtual dof_tuple_record_set * | clone () const |
Virtual constructor; makes a new instance of the same type as this. More... | |
virtual | ~dof_tuple_record_set () |
Destructor. More... | |
virtual bool | invariant () const |
Class invariant. More... | |
virtual bool | is_ancestor_of (const any *other) const |
Conformance test; true if other conforms to this. More... | |
dof_tuple_record_set (const sheaf_file &xfile, size_t xrecord_size, int xrecord_buffer_ub, const poset_scaffold &xscaffold) | |
Creates an instance attached to the dof tuple record_set of the poset associated with xscaffold in the file xfile, using a record buffer of size xrecord_buffer_ub. More... | |
virtual const std::string & | suffix () const |
The name suffix for this data set. More... | |
virtual void | open () |
Opens the record_set. More... | |
void | internalize () |
Internalize the members of scafold().structure() from disk. More... | |
void | externalize () |
Externalize the members of scafold().structure() to disk. More... | |
void | externalize_domain (const scoped_index &xtuple_ext_id, const scoped_index &xschema_id) |
Externalize the domain specified by the schema member with index xschema_id. More... | |
size_type | record_size () const |
The size in bytes of data transfers to disk. More... | |
record_queue & | queue () |
The queue of dof tuple record requests. More... | |
const record_queue & | queue () const |
The queue of dof tuple record requests. More... | |
pod_index_type | compute_ext_id (const scoped_index &xtuple_id) |
Computes the external id for the dof tuple dof tuple with id xtuple_id. More... | |
size_type | compute_ext_domain_size (const poset_dof_map &xdof_map, const schema_poset_member &xschema) const |
Computes the external size for the portion of the dof tuple xdof_map which is described by schema xschema. More... | |
Public Member Functions inherited from sheaf::record_set | |
record_set (const sheaf_file &xfile, int xrecord_buffer_ub, const poset_scaffold &xscaffold) | |
Creates an instance attached to the record_set with name xname in the file xfile, using record packets of size xpacket_ub. More... | |
record_set (const record_set &xother) | |
Copy constructor. More... | |
virtual | ~record_set () |
Destructor. More... | |
const sheaf_file & | file () const |
The file this record_set belongs to. More... | |
std::string | name () const |
The name of this data set. More... | |
std::string | alias () const |
The standard alias for this data set. More... | |
std::string | data_set_name (const std::string &xname) const |
The data set name for a poset with name xname. More... | |
std::string | data_set_alias (const std::string &xname) const |
The data set alias for a poset with name xname. More... | |
std::string | poset_name () const |
The name of the poset this represents, extracted from the name of the dataset. More... | |
poset_scaffold & | scaffold () |
Scaffold for constructing poset associated with this record set (mutable version). More... | |
const poset_scaffold & | scaffold () const |
Scaffold for constructing poset associated with this record set (const version). More... | |
poset_data_type_map & | type_map () |
Data type map for records in this record set (mutable version) More... | |
const poset_data_type_map & | type_map () const |
Data type map for records in this record set (const version) More... | |
bool | is_open () const |
True if this record_set is open. More... | |
virtual void | close () |
Closes the record_set. More... | |
int | record_buffer_ct () const |
The number of active records in record buffer. More... | |
void | inc_record_buffer_ct () |
The increment the number of active records in record buffer. More... | |
void | reset_record_buffer_ct () |
The set the number of active records in record buffer to 0. More... | |
int | record_buffer_ub () const |
The maximum number of records the buffer can hold. More... | |
bool | record_buffer_is_empty () const |
True if there are no active records in the buffer. More... | |
bool | record_buffer_is_full () const |
True if there are no inactive records in the buffer. More... | |
Public Member Functions inherited from sheaf::any | |
bool | is_same_type (const any *other) const |
True if other is the same type as this. More... | |
virtual | ~any () |
Destructor. More... | |
bool | invariant_check () const |
True if invariant checking is enabled. More... | |
void | enable_invariant_check () const |
Enable invariant checking. More... | |
void | disable_invariant_check () const |
Disable invariant check. Intended for preventing recursive calls to invariant and for suppressing invariant checking during multi-phase initialization. More... | |
int | disable_invariance_check_request_depth () const |
Number of times disable_invariant_check has been called without matching call to enable_invariant_check. More... | |
Protected Member Functions | |
virtual hid_t | create_dataset () |
Creates the HDF dataset associated with this. More... | |
virtual void | create_int_data_type () |
Creates a new HDF internal data type. More... | |
void | read_records () |
Read and internalizes all the records. More... | |
void | read_selection () |
Read the records specified by the selection into the record buffer. More... | |
void | write_selection () |
Write the records specified by the selection into the file. More... | |
void | schematize () |
Schematize the table and row dof subposets. More... | |
void | externalize_all_dofs (schema_poset_member &xxfr_schema, const poset_dof_map &xint_dof_map, char *&xbuf, size_t &xbuf_remainder) |
Externalizes all the dofs in the domain described by xxfr_schema. More... | |
void | internalize_all_dofs (schema_poset_member &xxfr_schema, poset_dof_map &xext_dof_map, char *xbuf, size_t xbuf_remainder) |
Internalizes all the dofs in the domain described by xxfr_schema. More... | |
void | populate_internal_dof_map (const poset_dof_map &xext_dof_map, poset_dof_map &xint_dof_map) |
Gathers dofs from xext_dof_map and puts them into xint_dof_map. More... | |
char * | get_next_record (char *xbuf) |
The next record to use in the record buffer. More... | |
char * | get_first_record (pod_index_type xext_pod) |
The first record associated with the dof tuple with external id xext_pod. More... | |
pod_index_type | get_internal_record (pod_index_type xext_rec_pod) |
Brings external record identified by xext_rec_pod into memory, if necessary, and returns its internal record id. More... | |
pod_index_type | advance_to_start_of_record (pod_index_type xext_pod) |
Advances the offset xoffset to the smallest offset which is less than or equal to xoffset and which is the first byte in a record. More... | |
void | externalize_one_domain (const scoped_index &xtuple_id, const scoped_index &xschema_id) |
Externalize the domain specified by the schema member with index xschema_id. Does not initialize record buffer. More... | |
void | attach_transfer_schema (schema_poset_member &xdof_map_schema, const scoped_index &xdomain_schema_id) |
Attaches the transfer schema to the lesser of the dof map schema or the domain schema. More... | |
Protected Member Functions inherited from sheaf::record_set | |
void | extend_dataset (const hsize_t *xdims, int xdims_ub) |
Extends the dataset dimensions to at least the dimensions given xdims, an array of length xdims_ub. More... | |
void | create_alias () |
Creates a soft link from alias to the data set. More... | |
void | set_name_from_alias () |
Sets the primary name of the dataset from the alias. More... | |
hid_t | hdf_id () |
The HDF id for this record set. More... | |
hid_t | ext_dataspace_hdf_id () |
The HDF id for the external dataspace of this record set. More... | |
hid_t | ext_data_type_hdf_id () |
The HDF external data type id for this record set. More... | |
int | ext_dataspace_rank () |
The rank of the dataspace for the record_set. More... | |
hsize_t | ext_dataspace_dim (int xi) |
The dimension of xi-th index of the external dataspace. More... | |
hid_t | int_dataspace_hdf_id () |
The hdf5 id of the internal dataspace associated with the record buffer. More... | |
hid_t | int_data_type_hdf_id () |
The HDF internal data type id for this record set. More... | |
virtual void | read_dataset_attributes () |
Opens and reads the dataset attribute objects from the file. A stub in this class, intended to be redefined in descendants. More... | |
virtual void | write_dataset_attributes () |
Writes the dataset attribute objects into the file. A stub in this class, intended to be redefined in descendants. More... | |
void | read_attribute (const char *&xatt_values, size_type &xatt_ct, const data_converter *xatt_conv, const std::string &xatt_name) |
Reads the attribute with name xatt_name from the file. More... | |
void | write_attribute (const void *xatt_values, size_type xatt_ct, const data_converter *xatt_conv, const std::string &xatt_name) |
Writes the attribute with name xatt_name into the file. More... | |
Protected Member Functions inherited from sheaf::any | |
any () | |
default constructor More... | |
Protected Attributes | |
size_type | _record_size |
The size in bytes of a record. More... | |
hsize_t(* | _hdf_int_selection )[1] |
The HDF internal record selection buffer. More... | |
hsize_t(* | _hdf_ext_selection )[1] |
The HDF external record selection buffer. More... | |
int | _hdf_selection_ub |
The HDF record selection buffers upper bound. More... | |
int | _hdf_selection_ct |
The number of records selected. More... | |
char * | _hdf_buf |
The HDF buffer. More... | |
size_t | _hdf_buf_ub |
The HDF buffer upper bound. More... | |
pod_index_type | _next_record_pod |
The index of the next buffer record to allocate for a read or write operation. More... | |
zn_to_bool | _record_is_full |
True if i-th record is full and should be written out. More... | |
record_map< pod_index_type, pod_index_type > | _hdf_buf_record_map |
The record id map for the hdf buffer. More... | |
char * | _hdf_scratch_buf |
Scratch buffer for internalizing dofs that span record boundaries. More... | |
size_t | _hdf_scratch_buf_ub |
The size of the scratch buffer in bytes. More... | |
record_queue | _record_queue |
The record queue. More... | |
bool | _writing |
True if current operation is a write operation. More... | |
Protected Attributes inherited from sheaf::record_set | |
sheaf_file & | _file |
The file this record_set belongs to. More... | |
std::string | _name |
The name of this record_set. More... | |
std::string | _alias |
The standard alias for this record_set. More... | |
poset_scaffold & | _scaffold |
The poset scaffold associated with this. More... | |
hid_t | _hdf_id |
The HDF id for this record set. More... | |
hid_t | _ext_dataspace_hdf_id |
The HDF id for the external dataspace of this record set. More... | |
hid_t | _ext_data_type_hdf_id |
The HDF external data type id for this record set. More... | |
int | _ext_dataspace_rank |
The rank of the dataspace for the record_set. More... | |
hsize_t * | _ext_dataspace_dims |
The current dimensions of the external dataspace. More... | |
int | _record_buffer_ct |
The number of active records in record buffer. More... | |
int | _record_buffer_ub |
The maximum number of records the buffer can hold. More... | |
hid_t | _int_dataspace_hdf_id |
The hdf5 id of the dataspace associated with the record buffer. More... | |
hid_t | _int_data_type_hdf_id |
The HDF internal data type id for this record set. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from sheaf::record_set | |
static const std::string & | name_space_alias () |
The reserved, standard alias for the namespace in the file. More... | |
static const std::string & | name_space_prefix () |
The reserved, standard prefix for namespace dataser names. More... | |
Static Protected Attributes inherited from sheaf::record_set | |
static const hid_t | NOT_AN_HDF_ID = -1 |
Value indicating an invalid HDf object id. /. More... | |
A record_set which contains dof tuple records. Supports both record selection and record restriction (partial records).
/
Definition at line 55 of file dof_tuple_record_set.h.
sheaf::dof_tuple_record_set::dof_tuple_record_set | ( | const dof_tuple_record_set & | xother | ) |
Copy constructor.
Not Implemented.
Definition at line 57 of file dof_tuple_record_set.cc.
References clone(), and invariant().
Referenced by is_ancestor_of().
|
virtual |
Destructor.
Definition at line 104 of file dof_tuple_record_set.cc.
References sheaf::record_set::_ext_dataspace_dims, _hdf_buf, _hdf_ext_selection, _hdf_int_selection, _hdf_scratch_buf, and invariant().
Referenced by clone().
sheaf::dof_tuple_record_set::dof_tuple_record_set | ( | const sheaf_file & | xfile, |
size_t | xrecord_size, | ||
int | xrecord_buffer_ub, | ||
const poset_scaffold & | xscaffold | ||
) |
Creates an instance attached to the dof tuple record_set of the poset associated with xscaffold in the file xfile, using a record buffer of size xrecord_buffer_ub.
Definition at line 209 of file dof_tuple_record_set.cc.
References sheaf::record_set::_alias, sheaf::record_set::_ext_dataspace_dims, sheaf::record_set::_ext_dataspace_rank, _hdf_buf, _hdf_buf_ub, _hdf_ext_selection, _hdf_int_selection, _hdf_scratch_buf, _hdf_scratch_buf_ub, _hdf_selection_ct, _hdf_selection_ub, sheaf::record_set::_int_dataspace_hdf_id, sheaf::record_set::_name, sheaf::record_set::_record_buffer_ub, _record_size, sheaf::record_set::alias(), sheaf::record_set::data_set_alias(), sheaf::record_set::data_set_name(), invariant(), sheaf::sheaf_file::is_open(), sheaf::record_set::is_open(), sheaf::data_type_map::max_size(), sheaf::record_set::name(), sheaf::record_set::record_buffer_ct(), sheaf::record_set::record_buffer_ub(), sheaf::record_set::scaffold(), suffix(), and sheaf::record_set::type_map().
|
protected |
Advances the offset xoffset to the smallest offset which is less than or equal to xoffset and which is the first byte in a record.
Definition at line 1893 of file dof_tuple_record_set.cc.
References _record_size, and externalize_one_domain().
Referenced by compute_ext_id(), externalize(), externalize_domain(), and get_internal_record().
|
protected |
Attaches the transfer schema to the lesser of the dof map schema or the domain schema.
Definition at line 1969 of file dof_tuple_record_set.cc.
References sheaf::abstract_poset_member::attach_to_state(), create_int_data_type(), sheaf::poset_component::index(), sheaf::abstract_poset_member::le(), sheaf::poset_component::put_version(), sheaf::record_set::scaffold(), sheaf::poset_scaffold::transfer_schema(), and sheaf::poset_component::version().
Referenced by compute_ext_id(), externalize_one_domain(), and read_records().
|
virtual |
Virtual constructor; makes a new instance of the same type as this.
Not Implemented.
Reimplemented from sheaf::record_set.
Definition at line 80 of file dof_tuple_record_set.cc.
References sheaf::any::is_same_type(), and ~dof_tuple_record_set().
Referenced by dof_tuple_record_set().
sheaf::size_type sheaf::dof_tuple_record_set::compute_ext_domain_size | ( | const poset_dof_map & | xdof_map, |
const schema_poset_member & | xschema | ||
) | const |
Computes the external size for the portion of the dof tuple xdof_map which is described by schema xschema.
Definition at line 1013 of file dof_tuple_record_set.cc.
References _record_size, create_dataset(), and sheaf::schema_poset_member::ext_data_type_ct().
Referenced by compute_ext_id().
sheaf::pod_index_type sheaf::dof_tuple_record_set::compute_ext_id | ( | const scoped_index & | xtuple_id | ) |
Computes the external id for the dof tuple dof tuple with id xtuple_id.
Definition at line 905 of file dof_tuple_record_set.cc.
References advance_to_start_of_record(), attach_transfer_schema(), sheaf::schema_poset_member::bound_iterator(), compute_ext_domain_size(), sheaf::poset_scaffold::dof_tuple_domain_offsets(), sheaf::poset_scaffold::dof_tuple_id_space(), sheaf::poset_scaffold::dof_tuple_scratch_id(), sheaf::poset_scaffold::external_schema(), sheaf::schema_poset_member::get_ext_id(), sheaf::scoped_index::hub_pod(), sheaf::index_iterator::index(), sheaf::scattered_insertion_index_space_handle::insert(), sheaf::index_iterator::is_done(), sheaf::index_iterator::item(), sheaf::index_iterator::next(), sheaf::poset_scaffold::put_dof_tuple_scratch_id(), sheaf::poset_state_handle::row_dof_map(), sheaf::record_set::scaffold(), sheaf::poset_dof_map::schema(), sheaf::poset_scaffold::structure(), and sheaf::poset_scaffold::transfer_schema().
Referenced by sheaf::storage_agent::commit_dof_tuple_transaction(), sheaf::member_record::externalize(), and queue().
|
protectedvirtual |
Creates the HDF dataset associated with this.
Implements sheaf::record_set.
Definition at line 1035 of file dof_tuple_record_set.cc.
References sheaf::record_set::_ext_dataspace_hdf_id, sheaf::record_set::_int_data_type_hdf_id, sheaf::record_set::_record_buffer_ub, sheaf::record_set::file(), sheaf::record_set::hdf_id(), sheaf::record_set::name(), and read_selection().
Referenced by compute_ext_domain_size().
|
protectedvirtual |
Creates a new HDF internal data type.
Implements sheaf::record_set.
Definition at line 2003 of file dof_tuple_record_set.cc.
References sheaf::record_set::_int_data_type_hdf_id, _record_size, sheaf::dof_descriptor_array::add_reference(), sheaf::schema_poset_member::dof_descriptors(), sheaf::schema_poset_member::ext_data_type_schema(), sheaf::poset_scaffold::external_schema(), sheaf::record_set::file(), sheaf::record_set::int_data_type_hdf_id(), sheaf::data_converter::internal_type(), sheaf::poset_dof_iterator::is_done(), sheaf::record_set::is_open(), sheaf::is_primitive_index(), sheaf::poset_dof_iterator::item(), sheaf::schema_poset_member::name(), sheaf::poset_dof_iterator::next(), sheaf::dof_descriptor_array::remove_reference(), sheaf::schema_poset_member::row_dof_ct(), sheaf::schema_poset_member::row_dof_iterator(), sheaf::schema_poset_member::row_dof_tuple_type(), sheaf::schema_poset_member::row_dof_tuple_ub(), sheaf::record_set::scaffold(), and sheaf::record_set::type_map().
Referenced by attach_transfer_schema().
void sheaf::dof_tuple_record_set::externalize | ( | ) |
Externalize the members of scafold().structure() to disk.
Definition at line 549 of file dof_tuple_record_set.cc.
References _hdf_buf_record_map, _hdf_ext_selection, _hdf_int_selection, _hdf_selection_ct, _next_record_pod, sheaf::record_set::_record_buffer_ub, _record_is_full, _record_queue, _writing, advance_to_start_of_record(), sheaf::schema_poset_member::bound_iterator(), sheaf::poset_scaffold::col_bounds(), sheaf::record_queue::dequeue(), sheaf::poset_scaffold::dof_tuple_ext_id(), sheaf::poset_scaffold::dof_tuple_schema_ids(), sheaf::poset_scaffold::dof_tuple_schema_versions(), sheaf::poset_scaffold::dof_tuple_scratch_id(), sheaf::record_map< internal_index_type, external_index_type >::external_id(), sheaf::poset_scaffold::external_schema(), externalize_domain(), externalize_one_domain(), sheaf::abstract_poset_member::ge(), sheaf::poset_state_handle::get_ext_id(), sheaf::poset_component::host(), sheaf::index_iterator::index(), sheaf::poset_component::index(), sheaf::index_iterator::is_done(), sheaf::record_queue::is_empty(), sheaf::record_set::is_open(), sheaf::record_set::name(), sheaf::index_iterator::next(), sheaf::zn_to_bool::put(), sheaf::poset_scaffold::put_dof_tuple_col_bound(), sheaf::poset_scaffold::put_dof_tuple_scratch_id(), record_size(), sheaf::record_set::reset_record_buffer_ct(), sheaf::poset_state_handle::row_dof_map(), sheaf::record_set::scaffold(), sheaf::poset_dof_map::schema(), sheaf::poset_scaffold::structure(), sheaf::poset_bounds::ub_id(), sheaf::poset_bounds::ub_is_singleton(), sheaf::poset_component::version(), and write_selection().
Referenced by sheaf::storage_agent::commit_transaction(), and read_records().
|
protected |
Externalizes all the dofs in the domain described by xxfr_schema.
Definition at line 1367 of file dof_tuple_record_set.cc.
References _record_size, sheaf::poset_scaffold::convert_member_id_to_record_id(), sheaf::poset_scaffold::convert_subposet_id_to_record_id(), sheaf::schema_poset_member::dof_descriptors(), sheaf::schema_poset_member::ext_data_type_schema(), sheaf::poset_dof_map::get_dof(), get_next_record(), sheaf::poset_dof_iterator::index(), internalize_all_dofs(), sheaf::poset_dof_iterator::is_done(), sheaf::data_converter::is_namespace_relative_member_index_type(), sheaf::data_converter::is_namespace_relative_subposet_index_type(), sheaf::is_primitive_index(), sheaf::poset_component::is_same_state(), sheaf::poset_dof_iterator::item(), sheaf::schema_poset_member::name(), sheaf::poset_dof_iterator::next(), sheaf::schema_poset_member::row_dof_ct(), sheaf::schema_poset_member::row_dof_iterator(), sheaf::schema_poset_member::row_dof_tuple_type(), sheaf::record_set::scaffold(), sheaf::poset_dof_map::schema(), sheaf::poset_dof_map::supports_xfr_opt(), sheaf::schema_poset_member::type(), sheaf::record_set::type_map(), and sheaf::poset_component::version().
Referenced by externalize_one_domain(), and schematize().
void sheaf::dof_tuple_record_set::externalize_domain | ( | const scoped_index & | xtuple_ext_id, |
const scoped_index & | xschema_id | ||
) |
Externalize the domain specified by the schema member with index xschema_id.
Definition at line 735 of file dof_tuple_record_set.cc.
References _hdf_buf_record_map, _hdf_ext_selection, _hdf_int_selection, _hdf_selection_ct, _next_record_pod, sheaf::record_set::_record_buffer_ub, _record_is_full, _writing, advance_to_start_of_record(), sheaf::poset_scaffold::dof_tuple_schema_ids(), sheaf::poset_scaffold::dof_tuple_schema_versions(), sheaf::poset_scaffold::dof_tuple_scratch_id(), sheaf::record_map< internal_index_type, external_index_type >::external_id(), externalize_one_domain(), sheaf::schema_poset_member::get_ext_id(), sheaf::record_set::is_open(), sheaf::scoped_index::pod(), sheaf::zn_to_bool::put(), sheaf::poset_scaffold::put_dof_tuple_col_bound(), sheaf::poset_scaffold::put_dof_tuple_scratch_id(), record_size(), sheaf::record_set::reset_record_buffer_ct(), sheaf::poset_state_handle::row_dof_map(), sheaf::scoped_index::same_scope(), sheaf::record_set::scaffold(), sheaf::poset_dof_map::schema(), sheaf::poset_scaffold::structure(), sheaf::poset_component::version(), and write_selection().
Referenced by sheaf::storage_agent::commit_dof_tuple_transaction(), and externalize().
|
protected |
Externalize the domain specified by the schema member with index xschema_id. Does not initialize record buffer.
Definition at line 1900 of file dof_tuple_record_set.cc.
References _record_size, attach_transfer_schema(), sheaf::poset_scaffold::dof_tuple_domain_offsets(), externalize_all_dofs(), sheaf::schema_poset_member::get_ext_id(), get_first_record(), sheaf::record_set::is_open(), sheaf::scoped_index::pod(), sheaf::poset_state_handle::row_dof_map(), sheaf::scoped_index::same_scope(), sheaf::record_set::scaffold(), sheaf::total_poset_member::schema(), sheaf::poset_scaffold::structure(), and sheaf::poset_scaffold::transfer_schema().
Referenced by advance_to_start_of_record(), externalize(), and externalize_domain().
|
protected |
The first record associated with the dof tuple with external id xext_pod.
Definition at line 1765 of file dof_tuple_record_set.cc.
References _hdf_buf, _hdf_buf_ub, _record_size, and get_internal_record().
Referenced by externalize_one_domain(), get_next_record(), and read_records().
|
protected |
Brings external record identified by xext_rec_pod into memory, if necessary, and returns its internal record id.
Definition at line 1800 of file dof_tuple_record_set.cc.
References _hdf_buf_record_map, _hdf_ext_selection, _hdf_int_selection, _hdf_selection_ct, _next_record_pod, sheaf::record_set::_record_buffer_ub, _record_is_full, _writing, advance_to_start_of_record(), sheaf::record_map< internal_index_type, external_index_type >::contains_internal_id(), sheaf::record_map< internal_index_type, external_index_type >::external_id(), sheaf::record_map< internal_index_type, external_index_type >::internal_id(), sheaf::is_valid(), sheaf::zn_to_bool::put(), sheaf::record_map< internal_index_type, external_index_type >::put_ids(), read_selection(), sheaf::record_set::record_buffer_ub(), sheaf::record_map< internal_index_type, external_index_type >::remove_internal_id(), and write_selection().
Referenced by get_first_record(), and get_next_record().
|
protected |
The next record to use in the record buffer.
Definition at line 1713 of file dof_tuple_record_set.cc.
References _hdf_buf, _hdf_buf_record_map, _hdf_buf_ub, _record_size, sheaf::record_map< internal_index_type, external_index_type >::external_id(), get_first_record(), and get_internal_record().
Referenced by externalize_all_dofs(), internalize_all_dofs(), and populate_internal_dof_map().
void sheaf::dof_tuple_record_set::internalize | ( | ) |
Internalize the members of scafold().structure() from disk.
Definition at line 346 of file dof_tuple_record_set.cc.
References _writing, sheaf::record_set::is_open(), sheaf::record_set::name(), read_records(), sheaf::record_set::scaffold(), schematize(), and sheaf::poset_scaffold::translate_dof_tuple_col_bounds().
Referenced by sheaf::storage_agent::begin_read_transaction(), and open().
|
protected |
Internalizes all the dofs in the domain described by xxfr_schema.
Definition at line 1513 of file dof_tuple_record_set.cc.
References _record_size, sheaf::poset_scaffold::convert_record_id_to_member_id(), sheaf::poset_scaffold::convert_record_id_to_subposet_id(), sheaf::schema_poset_member::dof_descriptors(), sheaf::schema_poset_member::ext_data_type_schema(), get_next_record(), sheaf::poset_dof_iterator::index(), sheaf::poset_dof_iterator::is_done(), sheaf::data_converter::is_namespace_relative_member_index_type(), sheaf::data_converter::is_namespace_relative_subposet_index_type(), sheaf::is_primitive_index(), sheaf::poset_component::is_same_state(), sheaf::poset_dof_iterator::item(), sheaf::poset_dof_iterator::next(), populate_internal_dof_map(), sheaf::primitive_value::prototype(), sheaf::poset_dof_map::put_dof(), sheaf::schema_poset_member::row_dof_ct(), sheaf::schema_poset_member::row_dof_iterator(), sheaf::schema_poset_member::row_dof_tuple_type(), sheaf::record_set::scaffold(), sheaf::poset_dof_map::schema(), sheaf::poset_dof_map::supports_xfr_opt(), sheaf::primitive_value::to_string(), sheaf::schema_poset_member::type(), sheaf::record_set::type_map(), sheaf::primitive_value::value(), sheaf::poset_component::version(), and sheaf::poset_dof_map::version().
Referenced by externalize_all_dofs(), and read_records().
|
virtual |
Class invariant.
Reimplemented from sheaf::record_set.
Definition at line 142 of file dof_tuple_record_set.cc.
References _hdf_scratch_buf_ub, sheaf::any::disable_invariant_check(), sheaf::any::enable_invariant_check(), sheaf::record_set::invariant(), sheaf::any::invariant_check(), is_ancestor_of(), and sheaf::record_set::type_map().
Referenced by dof_tuple_record_set(), open(), and ~dof_tuple_record_set().
|
virtual |
Conformance test; true if other conforms to this.
Reimplemented from sheaf::record_set.
Definition at line 179 of file dof_tuple_record_set.cc.
References dof_tuple_record_set().
Referenced by invariant().
|
virtual |
Opens the record_set.
Reimplemented from sheaf::record_set.
Definition at line 302 of file dof_tuple_record_set.cc.
References _hdf_buf, _hdf_buf_ub, sheaf::record_set::_int_data_type_hdf_id, sheaf::record_set::_record_buffer_ub, _record_size, sheaf::record_set::file(), internalize(), invariant(), sheaf::record_set::is_open(), and sheaf::record_set::open().
Referenced by sheaf::storage_agent::begin_read_transaction(), sheaf::storage_agent::commit_dof_tuple_transaction(), sheaf::storage_agent::commit_transaction(), and suffix().
|
protected |
Gathers dofs from xext_dof_map and puts them into xint_dof_map.
Definition at line 1660 of file dof_tuple_record_set.cc.
References sheaf::poset_dof_map::dof_tuple(), sheaf::poset_dof_map::dof_tuple_ub(), sheaf::poset_dof_map::get_dof(), get_next_record(), sheaf::poset_dof_iterator::index(), sheaf::poset_dof_iterator::is_done(), sheaf::poset_component::is_same_state(), sheaf::poset_dof_iterator::next(), sheaf::poset_dof_map::put_dof(), sheaf::poset_dof_map::put_dof_tuple(), sheaf::schema_poset_member::row_dof_iterator(), sheaf::poset_dof_map::schema(), sheaf::poset_dof_map::supports_xfr_opt(), and sheaf::poset_component::version().
Referenced by internalize_all_dofs(), and read_records().
sheaf::record_queue & sheaf::dof_tuple_record_set::queue | ( | ) |
The queue of dof tuple record requests.
Definition at line 868 of file dof_tuple_record_set.cc.
References _record_queue.
Referenced by sheaf::member_record::externalize(), sheaf::member_record::internalize(), and record_size().
const sheaf::record_queue & sheaf::dof_tuple_record_set::queue | ( | ) | const |
The queue of dof tuple record requests.
Definition at line 888 of file dof_tuple_record_set.cc.
References _record_queue, and compute_ext_id().
|
protected |
Read and internalizes all the records.
Definition at line 392 of file dof_tuple_record_set.cc.
References _hdf_selection_ct, _next_record_pod, _record_queue, _record_size, attach_transfer_schema(), sheaf::schema_poset_member::bound_iterator(), sheaf::poset_dof_map::clone(), sheaf::record_queue::dequeue(), sheaf::poset_scaffold::dof_tuple_domain_offset(), sheaf::poset_scaffold::dof_tuple_ext_id(), sheaf::poset_scaffold::dof_tuple_schema_int_id(), sheaf::poset_scaffold::dof_tuple_schema_version(), externalize(), sheaf::schema_poset_member::get_ext_id(), get_first_record(), sheaf::poset_dof_map::host(), sheaf::poset_component::host(), sheaf::index_iterator::index(), sheaf::poset_dof_map::init_row_dof_map(), internalize_all_dofs(), sheaf::index_iterator::is_done(), sheaf::record_queue::is_empty(), sheaf::record_set::is_open(), sheaf::index_iterator::next(), populate_internal_dof_map(), sheaf::record_set::reset_record_buffer_ct(), sheaf::poset_state_handle::row_dof_map(), sheaf::record_set::scaffold(), sheaf::poset_dof_map::schema(), sheaf::poset_state_handle::schema(), sheaf::poset_scaffold::structure(), and sheaf::poset_scaffold::transfer_schema().
Referenced by internalize().
|
protected |
Read the records specified by the selection into the record buffer.
Definition at line 1123 of file dof_tuple_record_set.cc.
References sheaf::record_set::_ext_dataspace_hdf_id, _hdf_buf, _hdf_buf_ub, _hdf_ext_selection, sheaf::record_set::_hdf_id, _hdf_int_selection, _hdf_selection_ct, sheaf::record_set::_int_data_type_hdf_id, sheaf::record_set::_int_dataspace_hdf_id, _record_size, sheaf::record_set::is_open(), and write_selection().
Referenced by create_dataset(), and get_internal_record().
sheaf::size_type sheaf::dof_tuple_record_set::record_size | ( | ) | const |
The size in bytes of data transfers to disk.
Definition at line 848 of file dof_tuple_record_set.cc.
References _record_size, and queue().
Referenced by externalize(), and externalize_domain().
|
protected |
Schematize the table and row dof subposets.
Definition at line 1324 of file dof_tuple_record_set.cc.
References sheaf::poset_component::attach_to_state(), externalize_all_dofs(), sheaf::subposet::has_id_space(), sheaf::poset_state_handle::includes_subposet(), sheaf::poset_state_handle::initialize_dof_id_space(), sheaf::poset_state_handle::row_dof_subposet(), sheaf::schema_poset_member::row_dof_subposet_name(), sheaf::record_set::scaffold(), sheaf::poset_scaffold::structure(), sheaf::poset_state_handle::table_dof_subposet(), and sheaf::schema_poset_member::table_dof_subposet_name().
Referenced by internalize(), and write_selection().
|
virtual |
The name suffix for this data set.
Reimplemented from sheaf::record_set.
Definition at line 278 of file dof_tuple_record_set.cc.
References open().
Referenced by dof_tuple_record_set().
|
protected |
Write the records specified by the selection into the file.
Definition at line 1208 of file dof_tuple_record_set.cc.
References sheaf::record_set::_ext_dataspace_dims, sheaf::record_set::_ext_dataspace_hdf_id, _hdf_buf, _hdf_buf_ub, _hdf_ext_selection, sheaf::record_set::_hdf_id, _hdf_int_selection, _hdf_selection_ct, sheaf::record_set::_int_data_type_hdf_id, sheaf::record_set::_int_dataspace_hdf_id, _record_size, sheaf::poset_scaffold::dof_tuple_scratch_id(), sheaf::record_set::ext_dataspace_rank(), sheaf::record_set::extend_dataset(), sheaf::record_set::is_open(), sheaf::poset_state_handle::name(), sheaf::record_set::scaffold(), schematize(), and sheaf::poset_scaffold::structure().
Referenced by externalize(), externalize_domain(), get_internal_record(), and read_selection().
|
protected |
The HDF buffer.
Definition at line 224 of file dof_tuple_record_set.h.
Referenced by dof_tuple_record_set(), get_first_record(), get_next_record(), open(), read_selection(), write_selection(), and ~dof_tuple_record_set().
|
protected |
The record id map for the hdf buffer.
Definition at line 254 of file dof_tuple_record_set.h.
Referenced by externalize(), externalize_domain(), get_internal_record(), and get_next_record().
|
protected |
The HDF buffer upper bound.
Definition at line 229 of file dof_tuple_record_set.h.
Referenced by dof_tuple_record_set(), get_first_record(), get_next_record(), open(), read_selection(), and write_selection().
|
protected |
The HDF external record selection buffer.
Definition at line 209 of file dof_tuple_record_set.h.
Referenced by dof_tuple_record_set(), externalize(), externalize_domain(), get_internal_record(), read_selection(), write_selection(), and ~dof_tuple_record_set().
|
protected |
The HDF internal record selection buffer.
Definition at line 204 of file dof_tuple_record_set.h.
Referenced by dof_tuple_record_set(), externalize(), externalize_domain(), get_internal_record(), read_selection(), write_selection(), and ~dof_tuple_record_set().
|
protected |
Scratch buffer for internalizing dofs that span record boundaries.
Definition at line 260 of file dof_tuple_record_set.h.
Referenced by dof_tuple_record_set(), and ~dof_tuple_record_set().
|
protected |
The size of the scratch buffer in bytes.
Definition at line 265 of file dof_tuple_record_set.h.
Referenced by dof_tuple_record_set(), and invariant().
|
protected |
The number of records selected.
Definition at line 219 of file dof_tuple_record_set.h.
Referenced by dof_tuple_record_set(), externalize(), externalize_domain(), get_internal_record(), read_records(), read_selection(), and write_selection().
|
protected |
The HDF record selection buffers upper bound.
Definition at line 214 of file dof_tuple_record_set.h.
Referenced by dof_tuple_record_set().
|
protected |
The index of the next buffer record to allocate for a read or write operation.
Definition at line 244 of file dof_tuple_record_set.h.
Referenced by externalize(), externalize_domain(), get_internal_record(), and read_records().
|
protected |
True if i-th record is full and should be written out.
Definition at line 249 of file dof_tuple_record_set.h.
Referenced by externalize(), externalize_domain(), and get_internal_record().
|
protected |
The record queue.
Definition at line 270 of file dof_tuple_record_set.h.
Referenced by externalize(), queue(), and read_records().
|
protected |
The size in bytes of a record.
Definition at line 191 of file dof_tuple_record_set.h.
Referenced by advance_to_start_of_record(), compute_ext_domain_size(), create_int_data_type(), dof_tuple_record_set(), externalize_all_dofs(), externalize_one_domain(), get_first_record(), get_next_record(), internalize_all_dofs(), open(), read_records(), read_selection(), record_size(), and write_selection().
|
protected |
True if current operation is a write operation.
Definition at line 275 of file dof_tuple_record_set.h.
Referenced by externalize(), externalize_domain(), get_internal_record(), and internalize().