SheafSystem  0.0.0.0
sheaf::member_record Class Reference

A record buffer for transferring member data between the kernel and the i/o subsystem. More...

#include <member_record.h>

Inheritance diagram for sheaf::member_record:
sheaf::variable_length_record sheaf::record sheaf::any

Public Member Functions

 member_record (member_record_set &xhost)
 Creates an instance in record set xhost for reading or writing member data. More...
 
 member_record (const member_record &xother)
 Copy constructor. More...
 
virtual ~member_record ()
 Destructor. More...
 
implicit_crg_intervalinterval () const
 The implicit interval object for the current member, if any. More...
 
bool is_resident () const
 True if and only if member represented by this record is fully resident after read. More...
 
void new_equivalence_iterator ()
 Create the equivalence iterator. More...
 
void delete_equivalence_iterator ()
 Destroy the equivalence iterator. More...
 
bool has_equivalence_iterator () const
 True, if the equivalence iterator is initialized. More...
 
size_type external_size (const scoped_index &xmbr_id)
 The size of the member record in external form. More...
 
void externalize (const scoped_index &xmbr_id, hvl_t *xhdf_buffer)
 Converts the record from internal to external form. More...
 
void internalize (hvl_t *xhdf_buffer, const scoped_index &xmbr_id)
 Converts the record from external to internal form. More...
 
virtual member_recordclone () const
 Virtual constructor; makes a new instance of the same type as this. 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...
 
- Public Member Functions inherited from sheaf::variable_length_record
 variable_length_record (const variable_length_record &xother)
 Copy constructor. More...
 
virtual ~variable_length_record ()
 Destructor. More...
 
 variable_length_record (const poset_scaffold &xscaffold)
 Creates an instance with type map xtype_map. More...
 
void * buf () const
 The buffer. More...
 
size_t buf_ub () const
 The size of the buffer, in bytes. More...
 
- Public Member Functions inherited from sheaf::record
 record (const record &xother)
 Copy constructor. More...
 
virtual ~record ()
 Destructor. More...
 
 record (const poset_scaffold &xscaffold)
 Creates an instance with type map xtype_map. More...
 
record_index external_index () const
 The external index of this record. More...
 
void put_external_index (const record_index &xindex)
 Sets the index of this record to xindex. More...
 
poset_scaffoldscaffold ()
 The scaffold for the poset associated with this record (mutable version). More...
 
const poset_scaffoldscaffold () const
 The scaffold for the poset associated with this record (const version). More...
 
poset_data_type_maptype_map ()
 The data type map used to convert data for this record (mutable version). More...
 
const poset_data_type_maptype_map () const
 The data type map used to convert data for this record (const version). 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...
 

Additional Inherited Members

- Protected Member Functions inherited from sheaf::variable_length_record
void put_buf (const void *xbuf, size_t xub)
 Sets the buffer to xbuf. More...
 
bool delete_buffer ()
 True if this allocated the buffer and the dtor should delete it. More...
 
void put_delete_buffer (bool xval)
 Sets delete_buffer to value xval. More...
 
void * item (size_t xoffset) const
 Pointer to record item beginning at offset xoffset. More...
 
bool is_internal () const
 True if the internal buffer has been initialized. More...
 
void put_is_internal (bool xis_internal)
 Sets is_internal to xis_internal. More...
 
bool is_external () const
 True if the external buffer has been initialized. More...
 
void put_is_external (bool xis_external)
 Sets is_external to xis_external. More...
 
- Protected Member Functions inherited from sheaf::any
 any ()
 default constructor More...
 

Detailed Description

A record buffer for transferring member data between the kernel and the i/o subsystem.

Definition at line 54 of file member_record.h.

Constructor & Destructor Documentation

◆ member_record() [1/2]

◆ member_record() [2/2]

sheaf::member_record::member_record ( const member_record xother)

Copy constructor.

Not Implemented.

Postcondition

Definition at line 118 of file member_record.cc.

References invariant(), and ~member_record().

◆ ~member_record()

sheaf::member_record::~member_record ( )
virtual

Destructor.

Definition at line 135 of file member_record.cc.

References interval().

Referenced by member_record().

Member Function Documentation

◆ clone()

sheaf::member_record * sheaf::member_record::clone ( ) const
virtual

Virtual constructor; makes a new instance of the same type as this.

Postcondition
  • result != 0
  • is_same_type(result)

Reimplemented from sheaf::variable_length_record.

Definition at line 3556 of file member_record.cc.

References invariant(), sheaf::any::is_same_type(), and member_record().

Referenced by internalize().

◆ delete_equivalence_iterator()

void sheaf::member_record::delete_equivalence_iterator ( )

Destroy the equivalence iterator.

Precondition
Postcondition
  • !has_equivalence_iterator()

Definition at line 239 of file member_record.cc.

References has_equivalence_iterator().

Referenced by sheaf::member_record_set::externalize(), and new_equivalence_iterator().

◆ external_size()

◆ externalize()

void sheaf::member_record::externalize ( const scoped_index xmbr_id,
hvl_t *  xhdf_buffer 
)

Converts the record from internal to external form.

Precondition
  • scaffold().structure().state_is_read_accessible()

Definition at line 752 of file member_record.cc.

References sheaf::poset_state_handle::all_member_names(), sheaf::variable_length_record::buf(), sheaf::variable_length_record::buf_ub(), sheaf::poset_dof_map::class_name(), sheaf::implicit_crg_interval::class_name(), sheaf::auto_block< T, S >::clear(), sheaf::dof_tuple_record_set::compute_ext_id(), sheaf::subposet::contains_member(), sheaf::poset_crg_state::cover_is_explicit(), sheaf::poset_state_handle::crg(), sheaf::auto_block< T, S >::ct(), sheaf::poset_scaffold::dof_tuple_class_names(), sheaf::poset_state_handle::dof_tuple_id(), sheaf::poset_scaffold::dof_tuple_id_space(), sheaf::implicit_crg_interval::dof_tuple_ids(), sheaf::member_record_set::dof_tuple_records(), sheaf::poset_scaffold::dof_tuple_types(), sheaf::record_queue::enqueue(), sheaf::poset_scaffold::external_schema(), sheaf::poset_state_handle::get_cover_id_space_iterator(), sheaf::implicit_crg_interval::get_private_data(), has_equivalence_iterator(), sheaf::scoped_index::hub_id(), sheaf::index_space_iterator::hub_pod(), sheaf::scoped_index::hub_pod(), sheaf::poset_crg_state::implicit_member(), sheaf::poset_component::index(), internalize(), sheaf::index_space_iterator::is_done(), sheaf::variable_length_record::is_external(), sheaf::variable_length_record::is_internal(), sheaf::implicit_crg_interval::is_interval_member(), sheaf::poset_state_handle::is_jim(), sheaf::is_valid(), sheaf::scoped_index::is_valid(), sheaf::LOWER, sheaf::poset_scaffold::member_class_names(), sheaf::poset_state_handle::member_dof_tuple_id(), sheaf::poset_scaffold::member_ext_id(), sheaf::poset_state_handle::member_name_ct(), sheaf::poset_scaffold::member_name_map(), sheaf::subposet::name(), sheaf::index_space_iterator::next(), sheaf::explicit_index_space_handle::pod(), sheaf::scoped_index::pod(), sheaf::auto_block< T, S >::push_back(), sheaf::variable_length_record::put_buf(), sheaf::variable_length_record::put_delete_buffer(), sheaf::name_multimap::put_entry(), sheaf::variable_length_record::put_is_external(), sheaf::variable_length_record::put_is_internal(), sheaf::dof_tuple_record_set::queue(), sheaf::poset_state_handle::release_cover_id_space_iterator(), sheaf::poset_state_handle::row_dof_map(), sheaf::record::scaffold(), sheaf::auto_block< T, S >::set_ct(), sheaf::crg_interval::size(), sheaf::poset_state_handle::standard_subposet_ct(), sheaf::poset_scaffold::structure(), sheaf::poset_scaffold::subposets(), sheaf::poset_dof_map::type_id(), sheaf::record::type_map(), and sheaf::UPPER.

Referenced by external_size(), and sheaf::member_record_set::externalize().

◆ has_equivalence_iterator()

◆ internalize()

void sheaf::member_record::internalize ( hvl_t *  xhdf_buffer,
const scoped_index xmbr_id 
)

Converts the record from external to internal form.

Precondition
  • scaffold().structure().state_is_read_write_accessible()

Definition at line 2137 of file member_record.cc.

References sheaf::name_multimap::all_names(), sheaf::poset_state_handle::bound_contains_member(), sheaf::poset_bounds::bounded_below(), sheaf::variable_length_record::buf(), sheaf::variable_length_record::buf_ub(), sheaf::poset_crg_state::clear_cover(), clone(), sheaf::explicit_index_space_handle::contains(), sheaf::poset_crg_state::contains_member(), sheaf::poset_state_handle::crg(), sheaf::auto_block< T, S >::ct(), sheaf::poset_scaffold::dof_tuple_class_names(), sheaf::poset_scaffold::dof_tuple_id_space(), sheaf::member_record_set::dof_tuple_records(), sheaf::poset_scaffold::dof_tuple_schema_int_id(), sheaf::poset_scaffold::dof_tuple_schema_version(), sheaf::poset_scaffold::dof_tuple_types(), sheaf::record_queue::enqueue(), sheaf::implicit_crg_interval::finalize(), sheaf::abstract_poset_member::ge(), sheaf::scoped_index::hub_pod(), sheaf::poset_scaffold::id_spaces(), sheaf::poset_crg_state::implicit_member(), sheaf::scoped_index::in_scope(), sheaf::poset_dof_map::index(), sheaf::poset_component::index(), sheaf::poset_dof_map::init_row_dof_map(), sheaf::implicit_crg_interval::initialize_dof_tuple_ids(), sheaf::scattered_insertion_index_space_handle::insert(), sheaf::poset_crg_state::insert_cover_member(), sheaf::subposet::insert_member(), sheaf::variable_length_record::is_external(), sheaf::variable_length_record::is_internal(), sheaf::implicit_crg_interval::is_interval_member(), sheaf::scoped_index::is_valid(), sheaf::poset_state_handle::jims(), sheaf::abstract_poset_member::le(), sheaf::LOWER, sheaf::poset_scaffold::member_class_names(), sheaf::poset_scaffold::member_ext_id(), sheaf::poset_state_handle::member_has_name(), sheaf::poset_scaffold::member_name_map(), sheaf::subposet::name(), sheaf::poset_dof_map::new_dof_map(), sheaf::poset_state_handle::new_member(), sheaf::poset_state_handle::new_member_interval(), sheaf::scoped_index::pod(), sheaf::variable_length_record::put_buf(), sheaf::variable_length_record::put_is_external(), sheaf::variable_length_record::put_is_internal(), sheaf::poset_state_handle::put_member_dof_tuple_id(), sheaf::poset_state_handle::put_member_name(), sheaf::implicit_crg_interval::put_private_data(), sheaf::poset_table_state::put_row_dof_tuple(), sheaf::dof_tuple_record_set::queue(), sheaf::subposet::remove_member(), sheaf::auto_block< T, S >::reserve(), sheaf::poset_scaffold::row_bounds(), sheaf::record::scaffold(), sheaf::poset_state_handle::schema(), sheaf::auto_block< T, S >::set_ct(), sheaf::poset_state_handle::standard_member_ct(), sheaf::poset_state_handle::standard_subposet_ct(), sheaf::poset_state_handle::state_obj(), sheaf::poset_scaffold::structure(), sheaf::poset_scaffold::subposets(), sheaf::poset_state::table(), sheaf::record::type_map(), and sheaf::UPPER.

Referenced by externalize(), and sheaf::member_record_set::read_record().

◆ interval()

sheaf::implicit_crg_interval * sheaf::member_record::interval ( ) const

The implicit interval object for the current member, if any.

Definition at line 157 of file member_record.cc.

References is_resident().

Referenced by sheaf::member_record_set::make_internal_dataspace(), and ~member_record().

◆ invariant()

bool sheaf::member_record::invariant ( ) const
virtual

◆ is_ancestor_of()

bool sheaf::member_record::is_ancestor_of ( const any other) const
virtual

Conformance test; true if other conforms to this.

Precondition
  • other != 0

Reimplemented from sheaf::variable_length_record.

Definition at line 3612 of file member_record.cc.

Referenced by invariant().

◆ is_resident()

bool sheaf::member_record::is_resident ( ) const

True if and only if member represented by this record is fully resident after read.

Definition at line 167 of file member_record.cc.

References new_equivalence_iterator().

Referenced by interval(), and sheaf::member_record_set::make_internal_dataspace().

◆ new_equivalence_iterator()

void sheaf::member_record::new_equivalence_iterator ( )

Create the equivalence iterator.

Precondition
  • !has_equivalence_iterator()
  • scaffold().structure().state_is_read_accessible()
Postcondition

Definition at line 216 of file member_record.cc.

References delete_equivalence_iterator(), has_equivalence_iterator(), and sheaf::record::scaffold().

Referenced by sheaf::member_record_set::externalize(), and is_resident().


The documentation for this class was generated from the following files: