SheafSystem  0.0.0.0
sheaf::poset_scaffold Class Reference

A poset specific collection of data converters, various buffers and other data used while transferring posets between internal and external representations. More...

#include <poset_scaffold.h>

Inheritance diagram for sheaf::poset_scaffold:
sheaf::any

POSET_SCAFFOLD FACET

 poset_scaffold (const poset_scaffold &xother)
 Copy constructor. More...
 
virtual ~poset_scaffold ()
 Destructor. More...
 
 poset_scaffold (const poset_state_handle &xposet, const storage_agent::transaction &xtrans, data_type_map &xtype_map, const std::string &xfile_id_space_name, bool xis_write_transaction)
 Create an instance with primitive type converters from xtype_map and default member record types. More...
 
poset_state_handlestructure ()
 The handle for the poset being transferred. (Name chosen to void name conflict with class poset.) (mutable version) More...
 
const poset_state_handlestructure () const
 The handle for the poset being transferred. (Name chosen to void name conflict with class poset.) (const version) More...
 
poset_powerset_statepowerset ()
 The powerset for the poset being transferred. (mutable version) More...
 
const poset_powerset_statepowerset () const
 The powerset for the poset being transferred. (const version). More...
 
poset_table_statetable ()
 The table state for the poset being transferred. (mutable version) More...
 
const poset_table_statetable () const
 The table state for the poset being transferred. (const version) More...
 
bool is_write_transaction () const
 True is this is a write transaction. More...
 
poset_boundsrow_bounds ()
 The bounds for the rows in this transaction (mutable version). More...
 
const poset_boundsrow_bounds () const
 The bounds for the rows in this transaction (const version). More...
 
poset_boundscol_bounds ()
 The bounds for the columns in this transaction (mutable version). More...
 
const poset_boundscol_bounds () const
 The bounds for the columns in this transaction (const version). More...
 
const poset_boundstoc_bounds () const
 The bounds for the table of contents in this transaction. More...
 
void update_toc_bounds (const poset_bounds_descriptor &xdesc)
 Replaces toc_bounds() with the bounds specified in descriptor xdesc. More...
 
void evaluate_toc_alias ()
 If row bounds lower bound is an alias for the toc bounds, substitutes the toc bounds into the row bounds. More...
 
subposetresident ()
 The resident subposet for structure() (mutable version). More...
 
const subposetresident () const
 The resident subposet for structure() (const version). More...
 
namespace_posetname_space () const
 The name space of this poset. More...
 
bool structure_is_namespace () const
 True if the poset being transferred is the name space poset. More...
 
scoped_index index () const
 The name space index of this poset. More...
 
std::string name () const
 The name of this poset. More...
 
schema_poset_memberinternal_schema ()
 The schema of the poset in internal namespace (mutable version). More...
 
const schema_poset_memberinternal_schema () const
 The schema of the poset in internal namespace (const version). More...
 
schema_poset_membertransfer_schema ()
 The schema for the restriction that is being read or written (mutable version) More...
 
const schema_poset_membertransfer_schema () const
 The schema for the restriction that is being read or written (const version) More...
 
schema_poset_memberexternal_schema ()
 The schema of the poset in external namespace (mutable version). More...
 
const schema_poset_memberexternal_schema () const
 The schema of the poset in external namespace (const version). More...
 
poset_data_type_maptype_map ()
 Data type map for this poset (mutable version) More...
 
const poset_data_type_maptype_map () const
 Data type map for this poset (const version) More...
 
const std::string & file_id_space_name () const
 The name of the id space used for the member index map. More...
 
bool & is_versioned ()
 True if poset has more than one version (mutable version). More...
 
const bool & is_versioned () const
 True if poset has more than one version (const version). More...
 
void initialize_schema_for_read (schema_poset_member *xext_schema, int xschema_version)
 Initialize internal, transfer, and external schema for read transactions. More...
 
void initialize_transfer_schema_for_read (const scoped_index &xindex)
 Initialize internal, transfer, and external schema for read transactions. More...
 
void insert_id_name_pair (pod_index_type xid, const std::string &xname, block< char > &xbuf)
 Inserts xid, xname pair into char buffer xbuf. More...
 
void extract_id_name_pair (pod_index_type &xid, std::string &xname, char *&xbuf)
 Extracts xid, xname pair from char buffer xbuf. More...
 
void get_member_names_from_poset ()
 Transfers the enitre poset member name map to the scaffold name map. More...
 
void put_member_names_to_poset ()
 Transfers all entries in scaffold name map that refer members that exist in the poset. More...
 

MEMBER FACET

typedef interval_index_space_handle member_index_space_type
 Type for member index space. More...
 
typedef name_multimap member_name_map_type
 Type for member name map. More...
 
typedef unordered::unordered_map< pod_index_type, std::pair< std::string, size_type > > member_class_names_type
 Type of member class names map. More...
 
void put_member_record_type_aliases (int xtoc_index, int xdof_tuple_id_index, int xoffset_index)
 Sets the member record specific data types. More...
 
void initialize_member_id_space ()
 Initializes member_id_space(). More...
 
bool member_id_space_initialized () const
 True if member_id_space() has been initialized. More...
 
scoped_index member_ext_id (const scoped_index &xid) const
 An id in the member external id space with pod mapped from xid. More...
 
scoped_index member_ext_id (pod_index_type xid) const
 An id in the member external id space with pod xid. More...
 
member_index_space_typemember_id_space ()
 External to internal member index space for structure() (mutable version). More...
 
const member_index_space_typemember_id_space () const
 External to internal member index space for structure() (const version). More...
 
member_name_map_typemember_name_map ()
 External index to member name map (mutable version). More...
 
const member_name_map_typemember_name_map () const
 External index to member name map (const version). More...
 
member_class_names_typemember_class_names ()
 Member class names (mutable version). More...
 
const member_class_names_typemember_class_names () const
 Member class names (const version). More...
 
void convert_member_id_to_record_id (void *buf)
 Converts namespace relative member id at location xbuf to namespace relative record id at location xbuf. More...
 
void convert_record_id_to_member_id (void *buf)
 Converts namespace relative record id at location xbuf to namespace relative member id at location xbuf. More...
 

SUBPOSET FACET

typedef interval_index_space_handle subposet_index_space_type
 Type for subposet index space. More...
 
void initialize_subposet_id_space ()
 Initializes subposet_id_space(). More...
 
bool subposet_id_space_initialized () const
 True if subposet_id_space has been initialized. More...
 
scoped_index subposet_ext_id (const scoped_index &xid) const
 An id in the subposet external id space with pod mapped from xid. More...
 
scoped_index subposet_ext_id (pod_index_type xid) const
 An id in the subposet external id space with pod xid. More...
 
subposet_index_space_typesubposet_id_space ()
 External to internal subposet index map for powerset() (mutable version). More...
 
const subposet_index_space_typesubposet_id_space () const
 External to internal subposet index space for powerset() (const version). More...
 
std::vector< subposet * > & subposets ()
 Buffer for subposet handles (mutable version). More...
 
const std::vector< subposet * > & subposets () const
 Buffer for subposet handles (const version). More...
 
void convert_subposet_id_to_record_id (void *xbuf)
 Converts namespace relative subposet id at location xbuf to namespace relative record id at location xbuf. More...
 
void convert_record_id_to_subposet_id (void *xbuf)
 Converts namespace relative record id at location xbuf to namespace relative subposet id at location xbuf. More...
 

DOF_TUPLE FACET

typedef interval_index_space_handle dof_tuple_index_space_type
 Type for dof tuple index space. More...
 
typedef unordered::unordered_map< pod_index_type, dof_tuple_typedof_tuple_types_type
 Type of dof tuple types map. More...
 
typedef unordered::unordered_map< pod_index_type, std::string > dof_tuple_class_names_type
 Type of dof tuple class names map. More...
 
typedef unordered::unordered_map< pod_index_type, int > dof_tuple_schema_versions_type
 Type of dof tuple versions map. More...
 
typedef unordered::unordered_map< pod_index_type, pod_index_typedof_tuple_schema_ids_type
 Type of dof tuple schema ids map. More...
 
typedef unordered::unordered_map< pod_index_type, poset_bounds_descriptordof_tuple_col_bounds_type
 Type of dof tuple col bounds map. More...
 
typedef std::map< std::pair< pod_index_type, pod_index_type >, pod_index_typedof_tuple_domain_offsets_type
 Type of dof tuple domain offsets map. More...
 
void initialize_dof_tuple_id_space ()
 Initializes dof_tuple_id_space(). More...
 
bool dof_tuple_id_space_initialized () const
 True if dof_tuple_id_space() has been initialized. More...
 
scoped_index dof_tuple_ext_id (const scoped_index &xid) const
 An id in the dof tuple external id space with pod mapped from xid. More...
 
scoped_index dof_tuple_ext_id (pod_index_type xid) const
 An id in the dof tuple external id space with pod xid. More...
 
dof_tuple_index_space_typedof_tuple_id_space ()
 External to internal dof_tuple index space for table() (mutable version). More...
 
const dof_tuple_index_space_typedof_tuple_id_space () const
 External to internal dof_tuple index space for table() (const version). More...
 
pod_index_type dof_tuple_scratch_id () const
 The scratch id for the dof tuple id space. More...
 
void put_dof_tuple_scratch_id (pod_index_type xid)
 Set the scratch id for the dof tuple id space. More...
 
dof_tuple_types_typedof_tuple_types ()
 Dof tuple type ids (mutable version). More...
 
const dof_tuple_types_typedof_tuple_types () const
 Dof tuple type ids (const version). More...
 
dof_tuple_class_names_typedof_tuple_class_names ()
 Dof tuple class names (mutable version). More...
 
const dof_tuple_class_names_typedof_tuple_class_names () const
 Dof tuple class names (const version). More...
 
dof_tuple_schema_versions_typedof_tuple_schema_versions ()
 Dof tuple schema versions (mutable version). More...
 
const dof_tuple_schema_versions_typedof_tuple_schema_versions () const
 Dof tuple schema versions (const version). More...
 
bool dof_tuple_schema_versions_contains (pod_index_type xdof_tuple_ext_id) const
 True if dof_tuple_schema_versions() contains an entry for external dof tuple id xdof_tuple_ext_id . More...
 
int dof_tuple_schema_version (pod_index_type xext_id) const
 The external schema version for the dof tuple with external id xdof_tuple_ext_id. More...
 
dof_tuple_schema_ids_typedof_tuple_schema_ids ()
 Dof tuple schema ids (mutable version). More...
 
const dof_tuple_schema_ids_typedof_tuple_schema_ids () const
 Dof tuple schema ids (const version). More...
 
bool dof_tuple_schema_ids_contains (pod_index_type xdof_tuple_ext_id) const
 True if dof_tuple_schema_ids() contains an entry for external dof tuple id xdof_tuple_ext_id . More...
 
pod_index_type dof_tuple_schema_id (pod_index_type xdof_tuple_ext_id) const
 The external schema id for the dof tuple with external id xdof_tuple_ext_id. More...
 
pod_index_type dof_tuple_schema_int_id (pod_index_type xdof_tuple_ext_id) const
 The internal schema id for the dof tuple with external id xdof_tuple_ext_id. More...
 
dof_tuple_col_bounds_typedof_tuple_col_bounds ()
 Dof tuple col bounds map (mutable version). More...
 
const dof_tuple_col_bounds_typedof_tuple_col_bounds () const
 Dof tuple col bounds map (const version). More...
 
bool dof_tuple_col_bounds_contains (pod_index_type xdof_tuple_ext_id) const
 True if dof_tuple_col_bounds() contains an entry for external dof tuple id xdof_tuple_ext_id . More...
 
const poset_bounds_descriptordof_tuple_col_bound (pod_index_type xdof_tuple_ext_id) const
 A descriptor for the column bound for the dof tuple with external id xdof_tuple_ext_id. More...
 
void put_dof_tuple_col_bound (pod_index_type xdof_tuple_ext_id)
 Insets the descriptor for the column bound for the dof tuple with external id xdof_tuple_ext_id into the map. More...
 
void translate_dof_tuple_col_bounds ()
 Translate the dof tuple column bounds from external ids to internal ids. More...
 
dof_tuple_domain_offsets_typedof_tuple_domain_offsets ()
 Dof tuple domain offsets accessor (mutable version). More...
 
const dof_tuple_domain_offsets_typedof_tuple_domain_offsets () const
 Dof tuple domain offsets accessor (const version). More...
 
bool dof_tuple_domain_offsets_contains (pod_index_type xdof_tuple_ext_id, pod_index_type xdomain_key) const
 True of dof_tuple_domain_offsets() contains an entry for pair (xdof_tuple_ext_id, xdomain_key). More...
 
pod_index_type dof_tuple_domain_offset (pod_index_type xdof_tuple_ext_id, pod_index_type xdomain_key) const
 The offset for domain xdomain_key in tuple xdof_tuple_ext_id. More...
 

ID_SPACE FACET

typedef zero_block_initialization_policy< scattered_insertion_index_space_handle * > init_type
 The initialization type of the id space block. More...
 
typedef auto_block< scattered_insertion_index_space_handle *, init_typeid_spaces_type
 The type of the id space block. More...
 
id_spaces_typeid_spaces ()
 Buffer for id spaces (mutable version). More...
 
const id_spaces_typeid_spaces () const
 Buffer for id spaces (const version). More...
 

ANY FACET

virtual poset_scaffoldclone () 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...
 

Additional Inherited Members

- 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 inherited from sheaf::any
 any ()
 default constructor More...
 

Detailed Description

A poset specific collection of data converters, various buffers and other data used while transferring posets between internal and external representations.

Definition at line 93 of file poset_scaffold.h.

Member Typedef Documentation

◆ dof_tuple_class_names_type

typedef unordered::unordered_map<pod_index_type, std::string> sheaf::poset_scaffold::dof_tuple_class_names_type

Type of dof tuple class names map.

Definition at line 668 of file poset_scaffold.h.

◆ dof_tuple_col_bounds_type

Type of dof tuple col bounds map.

Definition at line 742 of file poset_scaffold.h.

◆ dof_tuple_domain_offsets_type

Type of dof tuple domain offsets map.

Definition at line 787 of file poset_scaffold.h.

◆ dof_tuple_index_space_type

Type for dof tuple index space.

Definition at line 608 of file poset_scaffold.h.

◆ dof_tuple_schema_ids_type

Type of dof tuple schema ids map.

Definition at line 710 of file poset_scaffold.h.

◆ dof_tuple_schema_versions_type

Type of dof tuple versions map.

Definition at line 683 of file poset_scaffold.h.

◆ dof_tuple_types_type

Type of dof tuple types map.

Definition at line 653 of file poset_scaffold.h.

◆ id_spaces_type

The type of the id space block.

Definition at line 873 of file poset_scaffold.h.

◆ init_type

The initialization type of the id space block.

Definition at line 868 of file poset_scaffold.h.

◆ member_class_names_type

typedef unordered::unordered_map<pod_index_type, std::pair<std::string, size_type> > sheaf::poset_scaffold::member_class_names_type

Type of member class names map.

Definition at line 466 of file poset_scaffold.h.

◆ member_index_space_type

Type for member index space.

Definition at line 404 of file poset_scaffold.h.

◆ member_name_map_type

Type for member name map.

Definition at line 409 of file poset_scaffold.h.

◆ subposet_index_space_type

Type for subposet index space.

Definition at line 522 of file poset_scaffold.h.

Constructor & Destructor Documentation

◆ poset_scaffold() [1/2]

sheaf::poset_scaffold::poset_scaffold ( const poset_scaffold xother)

Copy constructor.

Not Implemented.

Postcondition

Definition at line 50 of file poset_scaffold.cc.

References invariant(), and ~poset_scaffold().

Referenced by clone(), and ~poset_scaffold().

◆ ~poset_scaffold()

sheaf::poset_scaffold::~poset_scaffold ( )
virtual

◆ poset_scaffold() [2/2]

sheaf::poset_scaffold::poset_scaffold ( const poset_state_handle xposet,
const storage_agent::transaction xtrans,
data_type_map xtype_map,
const std::string &  xfile_id_space_name,
bool  xis_write_transaction 
)

Create an instance with primitive type converters from xtype_map and default member record types.

Precondition
  • xis_write_transaction ? !xposet.is_external() : true
  • !xposet.is_external() ? xposet.state_is_read_accessible() : true
Postcondition
  • !resident().is_attached()

Definition at line 134 of file poset_scaffold.cc.

References sheaf::poset_bounds_descriptor::BOTTOM_TOP, sheaf::storage_agent::transaction::col_bounds, initialize_dof_tuple_id_space(), initialize_member_id_space(), initialize_subposet_id_space(), invariant(), sheaf::poset_state_handle::is_external(), resident(), sheaf::storage_agent::transaction::row_bounds, sheaf::read_write_monitor_handle::state_is_read_accessible(), and structure().

Member Function Documentation

◆ clone()

sheaf::poset_scaffold * sheaf::poset_scaffold::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::any.

Definition at line 2029 of file poset_scaffold.cc.

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

Referenced by id_spaces().

◆ col_bounds() [1/2]

sheaf::poset_bounds & sheaf::poset_scaffold::col_bounds ( )

The bounds for the columns in this transaction (mutable version).

Definition at line 271 of file poset_scaffold.cc.

Referenced by sheaf::dof_tuple_record_set::externalize(), initialize_schema_for_read(), put_dof_tuple_col_bound(), put_member_names_to_poset(), and row_bounds().

◆ col_bounds() [2/2]

const sheaf::poset_bounds & sheaf::poset_scaffold::col_bounds ( ) const

The bounds for the columns in this transaction (const version).

Definition at line 278 of file poset_scaffold.cc.

References toc_bounds().

◆ convert_member_id_to_record_id()

◆ convert_record_id_to_member_id()

void sheaf::poset_scaffold::convert_record_id_to_member_id ( void *  buf)

◆ convert_record_id_to_subposet_id()

◆ convert_subposet_id_to_record_id()

◆ dof_tuple_class_names() [1/2]

◆ dof_tuple_class_names() [2/2]

const sheaf::poset_scaffold::dof_tuple_class_names_type & sheaf::poset_scaffold::dof_tuple_class_names ( ) const

Dof tuple class names (const version).

Definition at line 1629 of file poset_scaffold.cc.

References dof_tuple_schema_versions().

◆ dof_tuple_col_bound()

const sheaf::poset_bounds_descriptor & sheaf::poset_scaffold::dof_tuple_col_bound ( pod_index_type  xdof_tuple_ext_id) const

A descriptor for the column bound for the dof tuple with external id xdof_tuple_ext_id.

Precondition
  • dof_tuple_col_bounds_contains(xdof_tuple_ext_id)

Definition at line 1814 of file poset_scaffold.cc.

References dof_tuple_col_bounds(), dof_tuple_col_bounds_contains(), and put_dof_tuple_col_bound().

Referenced by dof_tuple_col_bounds_contains(), and put_dof_tuple_col_bound().

◆ dof_tuple_col_bounds() [1/2]

◆ dof_tuple_col_bounds() [2/2]

const sheaf::poset_scaffold::dof_tuple_col_bounds_type & sheaf::poset_scaffold::dof_tuple_col_bounds ( ) const

Dof tuple col bounds map (const version).

Definition at line 1787 of file poset_scaffold.cc.

References dof_tuple_col_bounds_contains().

◆ dof_tuple_col_bounds_contains()

bool sheaf::poset_scaffold::dof_tuple_col_bounds_contains ( pod_index_type  xdof_tuple_ext_id) const

True if dof_tuple_col_bounds() contains an entry for external dof tuple id xdof_tuple_ext_id .

Definition at line 1794 of file poset_scaffold.cc.

References dof_tuple_col_bound(), and dof_tuple_col_bounds().

Referenced by dof_tuple_col_bound(), dof_tuple_col_bounds(), and put_dof_tuple_col_bound().

◆ dof_tuple_domain_offset()

sheaf::pod_index_type sheaf::poset_scaffold::dof_tuple_domain_offset ( pod_index_type  xdof_tuple_ext_id,
pod_index_type  xdomain_key 
) const

The offset for domain xdomain_key in tuple xdof_tuple_ext_id.

Precondition
  • dof_tuple_domain_offsets_contains(xdof_tuple_ext_id, xdomain_key)

Definition at line 1972 of file poset_scaffold.cc.

References dof_tuple_domain_offsets_contains(), and id_spaces().

Referenced by dof_tuple_domain_offsets_contains(), and sheaf::dof_tuple_record_set::read_records().

◆ dof_tuple_domain_offsets() [1/2]

◆ dof_tuple_domain_offsets() [2/2]

const sheaf::poset_scaffold::dof_tuple_domain_offsets_type & sheaf::poset_scaffold::dof_tuple_domain_offsets ( ) const

Dof tuple domain offsets accessor (const version).

Definition at line 1944 of file poset_scaffold.cc.

References dof_tuple_domain_offsets_contains().

◆ dof_tuple_domain_offsets_contains()

bool sheaf::poset_scaffold::dof_tuple_domain_offsets_contains ( pod_index_type  xdof_tuple_ext_id,
pod_index_type  xdomain_key 
) const

True of dof_tuple_domain_offsets() contains an entry for pair (xdof_tuple_ext_id, xdomain_key).

Definition at line 1951 of file poset_scaffold.cc.

References dof_tuple_domain_offset().

Referenced by dof_tuple_domain_offset(), and dof_tuple_domain_offsets().

◆ dof_tuple_ext_id() [1/2]

sheaf::scoped_index sheaf::poset_scaffold::dof_tuple_ext_id ( const scoped_index xid) const

◆ dof_tuple_ext_id() [2/2]

sheaf::scoped_index sheaf::poset_scaffold::dof_tuple_ext_id ( pod_index_type  xid) const

An id in the dof tuple external id space with pod xid.

Precondition

Definition at line 1521 of file poset_scaffold.cc.

References dof_tuple_id_space(), and dof_tuple_id_space_initialized().

◆ dof_tuple_id_space() [1/2]

sheaf::poset_scaffold::dof_tuple_index_space_type & sheaf::poset_scaffold::dof_tuple_id_space ( )

◆ dof_tuple_id_space() [2/2]

const sheaf::poset_scaffold::dof_tuple_index_space_type & sheaf::poset_scaffold::dof_tuple_id_space ( ) const

External to internal dof_tuple index space for table() (const version).

Precondition
Postcondition
  • result.is_attached()

Definition at line 1561 of file poset_scaffold.cc.

References dof_tuple_id_space_initialized(), dof_tuple_scratch_id(), and sheaf::explicit_index_space_handle::is_attached().

◆ dof_tuple_id_space_initialized()

bool sheaf::poset_scaffold::dof_tuple_id_space_initialized ( ) const

◆ dof_tuple_schema_id()

sheaf::pod_index_type sheaf::poset_scaffold::dof_tuple_schema_id ( pod_index_type  xdof_tuple_ext_id) const

The external schema id for the dof tuple with external id xdof_tuple_ext_id.

Precondition
  • dof_tuple_schema_ids_contains(xdof_tuple_ext_id)

Definition at line 1724 of file poset_scaffold.cc.

References dof_tuple_schema_ids(), dof_tuple_schema_ids_contains(), and dof_tuple_schema_int_id().

Referenced by dof_tuple_schema_ids_contains(), and dof_tuple_schema_int_id().

◆ dof_tuple_schema_ids() [1/2]

◆ dof_tuple_schema_ids() [2/2]

const sheaf::poset_scaffold::dof_tuple_schema_ids_type & sheaf::poset_scaffold::dof_tuple_schema_ids ( ) const

Dof tuple schema ids (const version).

Definition at line 1697 of file poset_scaffold.cc.

References dof_tuple_schema_ids_contains().

◆ dof_tuple_schema_ids_contains()

bool sheaf::poset_scaffold::dof_tuple_schema_ids_contains ( pod_index_type  xdof_tuple_ext_id) const

True if dof_tuple_schema_ids() contains an entry for external dof tuple id xdof_tuple_ext_id .

Definition at line 1704 of file poset_scaffold.cc.

References dof_tuple_schema_id(), and dof_tuple_schema_ids().

Referenced by dof_tuple_schema_id(), dof_tuple_schema_ids(), and dof_tuple_schema_int_id().

◆ dof_tuple_schema_int_id()

sheaf::pod_index_type sheaf::poset_scaffold::dof_tuple_schema_int_id ( pod_index_type  xdof_tuple_ext_id) const

The internal schema id for the dof tuple with external id xdof_tuple_ext_id.

Precondition
  • dof_tuple_schema_ids_contains(xdof_tuple_ext_id)
Hack:
the product suposet hack, ver 2. Not all posets have external ids, let the poset translate the pseudo-id.
Error:
for section space schema, using the poset schema to convert the external id assumes the dof tuple was written with the same fiber schema as the host. This is documented with an (unexecutable) preconditionm in storage_agent::write. The minimum required to fix this is to write the external tuple id using the same multi-index method we are using for the host schema in poset_general_record.

Definition at line 1744 of file poset_scaffold.cc.

References dof_tuple_col_bounds(), dof_tuple_schema_id(), dof_tuple_schema_ids_contains(), sheaf::schema_poset_member::get_int_id(), sheaf::poset_state_handle::schema(), and structure().

Referenced by dof_tuple_schema_id(), sheaf::member_record::internalize(), and sheaf::dof_tuple_record_set::read_records().

◆ dof_tuple_schema_version()

int sheaf::poset_scaffold::dof_tuple_schema_version ( pod_index_type  xext_id) const

The external schema version for the dof tuple with external id xdof_tuple_ext_id.

Precondition
  • dof_tuple_schema_versions_contains(xdof_tuple_ext_id)

Definition at line 1671 of file poset_scaffold.cc.

References dof_tuple_schema_ids(), dof_tuple_schema_versions(), and dof_tuple_schema_versions_contains().

Referenced by dof_tuple_schema_versions_contains(), sheaf::member_record::internalize(), and sheaf::dof_tuple_record_set::read_records().

◆ dof_tuple_schema_versions() [1/2]

◆ dof_tuple_schema_versions() [2/2]

const sheaf::poset_scaffold::dof_tuple_schema_versions_type & sheaf::poset_scaffold::dof_tuple_schema_versions ( ) const

Dof tuple schema versions (const version).

Definition at line 1643 of file poset_scaffold.cc.

References dof_tuple_schema_versions_contains().

◆ dof_tuple_schema_versions_contains()

bool sheaf::poset_scaffold::dof_tuple_schema_versions_contains ( pod_index_type  xdof_tuple_ext_id) const

True if dof_tuple_schema_versions() contains an entry for external dof tuple id xdof_tuple_ext_id .

Definition at line 1650 of file poset_scaffold.cc.

References dof_tuple_schema_version(), and dof_tuple_schema_versions().

Referenced by dof_tuple_schema_version(), and dof_tuple_schema_versions().

◆ dof_tuple_scratch_id()

◆ dof_tuple_types() [1/2]

◆ dof_tuple_types() [2/2]

const sheaf::poset_scaffold::dof_tuple_types_type & sheaf::poset_scaffold::dof_tuple_types ( ) const

Dof tuple type ids (const version).

Definition at line 1615 of file poset_scaffold.cc.

References dof_tuple_class_names().

◆ evaluate_toc_alias()

void sheaf::poset_scaffold::evaluate_toc_alias ( )

If row bounds lower bound is an alias for the toc bounds, substitutes the toc bounds into the row bounds.

Definition at line 310 of file poset_scaffold.cc.

References sheaf::poset_bounds::clone(), sheaf::poset_bounds::lb_id(), and resident().

Referenced by sheaf::storage_agent::begin_read_transaction(), sheaf::storage_agent::commit_dof_tuple_transaction(), sheaf::storage_agent::commit_transaction(), and update_toc_bounds().

◆ external_schema() [1/2]

◆ external_schema() [2/2]

const sheaf::schema_poset_member & sheaf::poset_scaffold::external_schema ( ) const

The schema of the poset in external namespace (const version).

Definition at line 440 of file poset_scaffold.cc.

References type_map().

◆ extract_id_name_pair()

void sheaf::poset_scaffold::extract_id_name_pair ( pod_index_type xid,
std::string &  xname,
char *&  xbuf 
)

Extracts xid, xname pair from char buffer xbuf.

Definition at line 642 of file poset_scaffold.cc.

References get_member_names_from_poset().

Referenced by insert_id_name_pair().

◆ file_id_space_name()

const std::string & sheaf::poset_scaffold::file_id_space_name ( ) const

The name of the id space used for the member index map.

Definition at line 461 of file poset_scaffold.cc.

References is_versioned().

Referenced by convert_record_id_to_member_id(), convert_subposet_id_to_record_id(), sheaf::dof_tuple_col_bounds_record::transfer_poset_to_internal_buffer(), and type_map().

◆ get_member_names_from_poset()

void sheaf::poset_scaffold::get_member_names_from_poset ( )

◆ id_spaces() [1/2]

sheaf::poset_scaffold::id_spaces_type & sheaf::poset_scaffold::id_spaces ( )

◆ id_spaces() [2/2]

const sheaf::poset_scaffold::id_spaces_type & sheaf::poset_scaffold::id_spaces ( ) const

Buffer for id spaces (const version).

Definition at line 2011 of file poset_scaffold.cc.

References clone().

◆ index()

sheaf::scoped_index sheaf::poset_scaffold::index ( ) const

The name space index of this poset.

Definition at line 391 of file poset_scaffold.cc.

References sheaf::poset_state_handle::index(), and name().

Referenced by put_member_names_to_poset(), structure_is_namespace(), and sheaf::storage_agent::write_prerequisites().

◆ initialize_dof_tuple_id_space()

◆ initialize_member_id_space()

◆ initialize_schema_for_read()

◆ initialize_subposet_id_space()

◆ initialize_transfer_schema_for_read()

void sheaf::poset_scaffold::initialize_transfer_schema_for_read ( const scoped_index xindex)

Initialize internal, transfer, and external schema for read transactions.

Not Implemented.

Definition at line 574 of file poset_scaffold.cc.

References insert_id_name_pair().

Referenced by initialize_schema_for_read().

◆ insert_id_name_pair()

void sheaf::poset_scaffold::insert_id_name_pair ( pod_index_type  xid,
const std::string &  xname,
block< char > &  xbuf 
)

Inserts xid, xname pair into char buffer xbuf.

Definition at line 589 of file poset_scaffold.cc.

References extract_id_name_pair(), and sheaf::auto_block< T, un_block_initialization_policy< T > >::push_back().

Referenced by initialize_transfer_schema_for_read().

◆ internal_schema() [1/2]

sheaf::schema_poset_member & sheaf::poset_scaffold::internal_schema ( )

The schema of the poset in internal namespace (mutable version).

Definition at line 405 of file poset_scaffold.cc.

Referenced by initialize_schema_for_read(), name(), put_member_names_to_poset(), and sheaf::table_dof_tuple_record::transfer_internal_buffer_to_poset().

◆ internal_schema() [2/2]

const sheaf::schema_poset_member & sheaf::poset_scaffold::internal_schema ( ) const

The schema of the poset in internal namespace (const version).

Definition at line 412 of file poset_scaffold.cc.

References transfer_schema().

◆ invariant()

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

◆ is_ancestor_of()

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

Conformance test; true if other conforms to this.

Precondition
  • other != 0

Reimplemented from sheaf::any.

Definition at line 2084 of file poset_scaffold.cc.

Referenced by invariant().

◆ is_versioned() [1/2]

bool & sheaf::poset_scaffold::is_versioned ( )

True if poset has more than one version (mutable version).

Definition at line 468 of file poset_scaffold.cc.

Referenced by file_id_space_name(), and sheaf::poset_general_record::transfer_internal_buffer_to_poset().

◆ is_versioned() [2/2]

const bool & sheaf::poset_scaffold::is_versioned ( ) const

True if poset has more than one version (const version).

Definition at line 475 of file poset_scaffold.cc.

References initialize_schema_for_read().

◆ is_write_transaction()

bool sheaf::poset_scaffold::is_write_transaction ( ) const

True is this is a write transaction.

Definition at line 250 of file poset_scaffold.cc.

References row_bounds().

Referenced by table().

◆ member_class_names() [1/2]

◆ member_class_names() [2/2]

const sheaf::poset_scaffold::member_class_names_type & sheaf::poset_scaffold::member_class_names ( ) const

Member class names (const version).

Definition at line 1025 of file poset_scaffold.cc.

References convert_member_id_to_record_id().

◆ member_ext_id() [1/2]

sheaf::scoped_index sheaf::poset_scaffold::member_ext_id ( const scoped_index xid) const

An id in the member external id space with pod mapped from xid.

Precondition

Definition at line 924 of file poset_scaffold.cc.

References member_id_space_initialized().

Referenced by sheaf::member_record::externalize(), sheaf::member_record::internalize(), and member_id_space_initialized().

◆ member_ext_id() [2/2]

sheaf::scoped_index sheaf::poset_scaffold::member_ext_id ( pod_index_type  xid) const

An id in the member external id space with pod xid.

Precondition

Definition at line 943 of file poset_scaffold.cc.

References member_id_space(), and member_id_space_initialized().

◆ member_id_space() [1/2]

◆ member_id_space() [2/2]

const sheaf::poset_scaffold::member_index_space_type & sheaf::poset_scaffold::member_id_space ( ) const

External to internal member index space for structure() (const version).

Precondition
Postcondition
  • result.is_attached()

Definition at line 983 of file poset_scaffold.cc.

References sheaf::explicit_index_space_handle::is_attached(), member_id_space_initialized(), and member_name_map().

◆ member_id_space_initialized()

bool sheaf::poset_scaffold::member_id_space_initialized ( ) const

◆ member_name_map() [1/2]

◆ member_name_map() [2/2]

const sheaf::poset_scaffold::member_name_map_type & sheaf::poset_scaffold::member_name_map ( ) const

External index to member name map (const version).

Definition at line 1011 of file poset_scaffold.cc.

References member_class_names().

◆ name()

std::string sheaf::poset_scaffold::name ( ) const

The name of this poset.

Definition at line 398 of file poset_scaffold.cc.

References internal_schema(), and sheaf::poset_state_handle::name().

Referenced by index().

◆ name_space()

◆ powerset() [1/2]

sheaf::poset_powerset_state & sheaf::poset_scaffold::powerset ( )

The powerset for the poset being transferred. (mutable version)

Definition at line 222 of file poset_scaffold.cc.

References sheaf::poset_state_handle::powerset().

Referenced by structure().

◆ powerset() [2/2]

const sheaf::poset_powerset_state & sheaf::poset_scaffold::powerset ( ) const

The powerset for the poset being transferred. (const version).

Definition at line 229 of file poset_scaffold.cc.

References sheaf::poset_state_handle::powerset(), and table().

◆ put_dof_tuple_col_bound()

void sheaf::poset_scaffold::put_dof_tuple_col_bound ( pod_index_type  xdof_tuple_ext_id)

Insets the descriptor for the column bound for the dof tuple with external id xdof_tuple_ext_id into the map.

Precondition
  • !dof_tuple_col_bounds_contains(xdof_tuple_ext_id) || dof_tuple_col_bound(xdof_tuple_ext_id) == col_bounds().descriptor()
Postcondition
  • dof_tuple_col_bound(xdof_tuple_ext_id) == col_bounds().descriptor()

Definition at line 1834 of file poset_scaffold.cc.

References col_bounds(), dof_tuple_col_bound(), dof_tuple_col_bounds_contains(), and translate_dof_tuple_col_bounds().

Referenced by dof_tuple_col_bound(), sheaf::dof_tuple_record_set::externalize(), and sheaf::dof_tuple_record_set::externalize_domain().

◆ put_dof_tuple_scratch_id()

void sheaf::poset_scaffold::put_dof_tuple_scratch_id ( pod_index_type  xid)

◆ put_member_names_to_poset()

◆ put_member_record_type_aliases()

void sheaf::poset_scaffold::put_member_record_type_aliases ( int  xtoc_index,
int  xdof_tuple_id_index,
int  xoffset_index 
)

Sets the member record specific data types.

Precondition
  • is_primitive_index(xtoc_index)
  • is_primitive_index(xdof_tuple_id_index)
  • is_primitive_index(xoffset_index)
Postcondition

Definition at line 850 of file poset_scaffold.cc.

References initialize_member_id_space(), invariant(), sheaf::is_primitive_index(), sheaf::poset_data_type_map::put_member_record_type_aliases(), and type_map().

Referenced by put_member_names_to_poset(), and sheaf::poset_general_record::transfer_internal_buffer_to_poset().

◆ resident() [1/2]

◆ resident() [2/2]

const sheaf::subposet & sheaf::poset_scaffold::resident ( ) const

The resident subposet for structure() (const version).

Definition at line 340 of file poset_scaffold.cc.

References name_space().

◆ row_bounds() [1/2]

◆ row_bounds() [2/2]

const sheaf::poset_bounds & sheaf::poset_scaffold::row_bounds ( ) const

The bounds for the rows in this transaction (const version).

Definition at line 264 of file poset_scaffold.cc.

References col_bounds().

◆ structure() [1/2]

sheaf::poset_state_handle & sheaf::poset_scaffold::structure ( )

The handle for the poset being transferred. (Name chosen to void name conflict with class poset.) (mutable version)

Definition at line 208 of file poset_scaffold.cc.

Referenced by sheaf::attributes_record_set::attributes_record_set(), sheaf::dof_tuple_record_set::compute_ext_id(), convert_record_id_to_subposet_id(), dof_tuple_schema_int_id(), sheaf::member_record::external_size(), sheaf::interval_index_space_record::externalize(), sheaf::map_record::externalize(), sheaf::dof_tuple_record_set::externalize(), sheaf::member_record_set::externalize(), sheaf::member_record::externalize(), sheaf::dof_tuple_record_set::externalize_domain(), sheaf::dof_tuple_record_set::externalize_one_domain(), get_member_names_from_poset(), initialize_dof_tuple_id_space(), initialize_member_id_space(), initialize_schema_for_read(), initialize_subposet_id_space(), sheaf::member_record_set::internalize(), sheaf::map_record::internalize(), sheaf::interval_index_space_record::internalize(), sheaf::member_record::internalize(), sheaf::member_record_set::make_internal_dataspace(), sheaf::member_record_set::member_record_set(), name_space(), poset_scaffold(), put_member_names_to_poset(), sheaf::record_set::read_attribute(), sheaf::dof_tuple_record_set::read_records(), sheaf::attributes_record_set::read_toc_bounds_attribute(), sheaf::dof_tuple_record_set::schematize(), sheaf::table_dof_tuple_record::transfer_internal_buffer_to_poset(), sheaf::subposet_names_record::transfer_internal_buffer_to_poset(), sheaf::id_space_names_record::transfer_internal_buffer_to_poset(), sheaf::table_dof_tuple_record::transfer_poset_to_internal_buffer(), sheaf::id_space_names_record::transfer_poset_to_internal_buffer(), sheaf::poset_general_record::transfer_poset_to_internal_buffer(), sheaf::storage_agent::write_prerequisites(), sheaf::dof_tuple_record_set::write_selection(), sheaf::attributes_record_set::write_toc_bounds_attribute(), and sheaf::member_record_set::~member_record_set().

◆ structure() [2/2]

const sheaf::poset_state_handle & sheaf::poset_scaffold::structure ( ) const

The handle for the poset being transferred. (Name chosen to void name conflict with class poset.) (const version)

Definition at line 215 of file poset_scaffold.cc.

References powerset().

◆ structure_is_namespace()

bool sheaf::poset_scaffold::structure_is_namespace ( ) const

True if the poset being transferred is the name space poset.

Definition at line 372 of file poset_scaffold.cc.

References index().

Referenced by name_space(), and sheaf::storage_agent::write_prerequisites().

◆ subposet_ext_id() [1/2]

sheaf::scoped_index sheaf::poset_scaffold::subposet_ext_id ( const scoped_index xid) const

An id in the subposet external id space with pod mapped from xid.

Precondition

Definition at line 1197 of file poset_scaffold.cc.

References subposet_id_space_initialized().

Referenced by convert_subposet_id_to_record_id(), subposet_id_space_initialized(), and sheaf::dof_tuple_col_bounds_record::transfer_poset_to_internal_buffer().

◆ subposet_ext_id() [2/2]

sheaf::scoped_index sheaf::poset_scaffold::subposet_ext_id ( pod_index_type  xid) const

An id in the subposet external id space with pod xid.

Precondition

Definition at line 1216 of file poset_scaffold.cc.

References subposet_id_space(), and subposet_id_space_initialized().

◆ subposet_id_space() [1/2]

◆ subposet_id_space() [2/2]

const sheaf::poset_scaffold::subposet_index_space_type & sheaf::poset_scaffold::subposet_id_space ( ) const

External to internal subposet index space for powerset() (const version).

Precondition
Postcondition
  • result.is_attached()

Definition at line 1256 of file poset_scaffold.cc.

References sheaf::explicit_index_space_handle::is_attached(), subposet_id_space_initialized(), and subposets().

◆ subposet_id_space_initialized()

bool sheaf::poset_scaffold::subposet_id_space_initialized ( ) const

◆ subposets() [1/2]

◆ subposets() [2/2]

const std::vector< sheaf::subposet * > & sheaf::poset_scaffold::subposets ( ) const

Buffer for subposet handles (const version).

Definition at line 1284 of file poset_scaffold.cc.

References convert_subposet_id_to_record_id().

◆ table() [1/2]

sheaf::poset_table_state & sheaf::poset_scaffold::table ( )

The table state for the poset being transferred. (mutable version)

Definition at line 236 of file poset_scaffold.cc.

References sheaf::poset_state_handle::table().

Referenced by powerset().

◆ table() [2/2]

const sheaf::poset_table_state & sheaf::poset_scaffold::table ( ) const

The table state for the poset being transferred. (const version)

Definition at line 243 of file poset_scaffold.cc.

References is_write_transaction(), and sheaf::poset_state_handle::table().

◆ toc_bounds()

const sheaf::poset_bounds & sheaf::poset_scaffold::toc_bounds ( ) const

The bounds for the table of contents in this transaction.

Definition at line 285 of file poset_scaffold.cc.

References update_toc_bounds().

Referenced by col_bounds().

◆ transfer_schema() [1/2]

◆ transfer_schema() [2/2]

const sheaf::schema_poset_member & sheaf::poset_scaffold::transfer_schema ( ) const

The schema for the restriction that is being read or written (const version)

Definition at line 426 of file poset_scaffold.cc.

References external_schema().

◆ translate_dof_tuple_col_bounds()

◆ type_map() [1/2]

sheaf::poset_data_type_map & sheaf::poset_scaffold::type_map ( )

Data type map for this poset (mutable version)

Definition at line 447 of file poset_scaffold.cc.

Referenced by external_schema(), put_member_record_type_aliases(), and sheaf::record_set::type_map().

◆ type_map() [2/2]

const sheaf::poset_data_type_map & sheaf::poset_scaffold::type_map ( ) const

Data type map for this poset (const version)

Definition at line 454 of file poset_scaffold.cc.

References file_id_space_name().

◆ update_toc_bounds()

void sheaf::poset_scaffold::update_toc_bounds ( const poset_bounds_descriptor xdesc)

Replaces toc_bounds() with the bounds specified in descriptor xdesc.

Definition at line 292 of file poset_scaffold.cc.

References evaluate_toc_alias().

Referenced by sheaf::attributes_record_set::read_toc_bounds_attribute(), and toc_bounds().


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