21 #include "SheafSystem/subposet.h" 22 #include "SheafSystem/poset_scaffold.h" 23 #include "SheafSystem/assert_contract.h" 24 #include "SheafSystem/data_converter.h" 25 #include "SheafSystem/error_message.h" 26 #include "SheafSystem/index_space_iterator.h" 27 #include "SheafSystem/interval_index_space_state.h" 28 #include "SheafSystem/namespace_poset.h" 29 #include "SheafSystem/namespace_relative_member_index.h" 30 #include "SheafSystem/namespace_relative_subposet_index.h" 31 #include "SheafSystem/poset.h" 32 #include "SheafSystem/poset_bounds.h" 33 #include "SheafSystem/primitive_type.h" 34 #include "SheafSystem/std_cstdlib.h" 35 #include "SheafSystem/std_sstream.h" 36 #include "SheafSystem/storage_agent.h" 51 : _structure(xother._structure),
52 _row_bounds(xother._row_bounds),
53 _col_bounds(xother._col_bounds),
54 _toc_bounds(xother._toc_bounds),
55 _type_map(xother._type_map),
56 _external_schema(xother._external_schema),
57 _member_id_space(xother._member_id_space),
58 _subposet_id_space(xother._subposet_id_space),
59 _dof_tuple_id_space(xother._dof_tuple_id_space),
60 _subposets(xother._subposets)
94 delete _internal_schema;
97 delete _transfer_schema;
100 delete _external_schema;
104 vector<subposet*>::iterator itr = _subposets.begin();
105 while(itr != _subposets.end())
118 for(
int i = 0; i < _id_spaces.
ub(); i++)
120 if(_id_spaces[i] != 0)
122 _id_spaces[i]->release_id_space();
137 const std::string& xfile_id_space_name,
138 bool xis_write_transaction)
140 _type_map(xtype_map),
141 _file_id_space_name(xfile_id_space_name)
145 require(xis_write_transaction ? !xposet.
is_external() :
true);
150 _is_write_transaction = xis_write_transaction;
157 if(xis_write_transaction)
165 initialize_schema_for_write();
177 initialize_subposets();
194 _is_versioned =
false;
238 return _structure.
table();
245 return _structure.
table();
252 return _is_write_transaction;
316 if(_row_bounds->
lb_id() == TOC_INDEX)
321 _row_bounds = _toc_bounds->
clone();
393 return _structure.
index();
400 return _structure.
name();
407 return *_internal_schema;
414 return *_internal_schema;
421 return *_transfer_schema;
428 return *_transfer_schema;
435 return *_external_schema;
442 return *_external_schema;
463 return _file_id_space_name;
470 return _is_versioned;
477 return _is_versioned;
487 require(xext_schema != 0);
506 _external_schema = xext_schema;
507 _internal_schema = _external_schema->
clone();
508 _transfer_schema = _external_schema->
clone();
539 post_fatal_error_message(
"non-decomposition upper bound not implemented");
597 stringstream lmbr_id_stream;
598 lmbr_id_stream << xid;
599 string lmbr_id_str(lmbr_id_stream.str());
603 for(
int i=0; i<lmbr_id_str.size(); i++)
614 for(
int i=0; i<xname.size(); i++)
622 char lchr = xname[i];
655 xbuf += strlen(xbuf) + 1;
663 xbuf += strlen(xbuf) + 1;
683 _member_name_map.
clear();
704 require(
structure().state_is_read_write_accessible());
737 sheaf::poset_scaffold::
738 initialize_schema_for_write()
770 _transfer_schema = _external_schema->
clone();
771 _internal_schema = _external_schema->
clone();
814 post_fatal_error_message(
"non-decomposition upper bound not implemented");
851 int xdof_tuple_id_index,
876 require(
structure().state_is_read_accessible());
888 _file_id_space_name,
false,
false);
892 _file_id_space_name);
1006 return _member_name_map;
1013 return _member_name_map;
1020 return _member_class_names;
1027 return _member_class_names;
1037 require(
name_space()->state_is_read_accessible());
1049 *
reinterpret_cast<nrmi_type::pod_type*
>(xbuf));
1055 assertion(!lrec_id.is_valid());
1066 lposet.
get_ext_id(lmbr_id.member_id, _file_id_space_name,
true);
1072 *
reinterpret_cast<nrri_type::pod_type*
>(xbuf) = lrec_id.pod();
1087 require(
name_space()->state_is_read_accessible());
1099 nrri_type::pod_type* lrec_id =
reinterpret_cast<nrri_type::pod_type*
>(xbuf);
1115 lposet.
get_int_id(lrec_id->member_id, _file_id_space_name,
true);
1121 *
reinterpret_cast<nrmi_type::pod_type*
>(xbuf) = lint_id.pod();
1147 require(
structure().state_is_read_accessible());
1159 _file_id_space_name,
false,
false);
1163 _file_id_space_name);
1164 _subposet_id_space.
clear();
1275 std::vector<sheaf::subposet*>&
1282 const std::vector<sheaf::subposet*>&
1295 require(
name_space()->state_is_read_accessible());
1308 *
reinterpret_cast<nrsi_type::pod_type*
>(xbuf));
1325 *
reinterpret_cast<nrri_type::pod_type*
>(xbuf) = lrec_id.
pod();
1349 nrri_type::pod_type* lrec_id =
reinterpret_cast<nrri_type::pod_type*
>(xbuf);
1364 lint_id.subposet_id =
1365 lpowerset.
hub_id(_subposet_id_space.
hub_pod(lrec_id->member_id));
1371 *
reinterpret_cast<nrsi_type::pod_type*
>(xbuf) = lint_id.
pod();
1385 sheaf::poset_scaffold::
1386 initialize_subposets()
1421 _subposets.push_back(
new subposet(&lposet, lid));
1450 require(
structure().state_is_read_accessible());
1462 _file_id_space_name,
false,
false);
1466 _file_id_space_name);
1467 _dof_tuple_id_space.
clear();
1469 _dof_tuple_scratch_id = 0;
1584 return _dof_tuple_scratch_id;
1595 _dof_tuple_scratch_id = xid;
1610 return _dof_tuple_types;
1617 return _dof_tuple_types;
1624 return _dof_tuple_class_names;
1631 return _dof_tuple_class_names;
1638 return _dof_tuple_schema_versions;
1645 return _dof_tuple_schema_versions;
1692 return _dof_tuple_schema_ids;
1699 return _dof_tuple_schema_ids;
1782 return _dof_tuple_col_bounds;
1789 return _dof_tuple_col_bounds;
1843 dof_tuple_col_bounds_type::value_type
1844 lmap_pair(xdof_tuple_ext_id,
col_bounds().descriptor());
1848 _dof_tuple_col_bounds.insert(lmap_pair);
1873 #ifdef DIAGNOSTIC_OUTPUT 1875 cout << *lsp_id_map << endl;
1878 for(dof_tuple_col_bounds_type::iterator itr = _dof_tuple_col_bounds.begin();
1879 itr != _dof_tuple_col_bounds.end();
1884 #ifdef DIAGNOSTIC_OUTPUT 1887 <<
" mode: " << ldesc.
mode()
1888 <<
" lb: " << ldesc.
lb_id()
1889 <<
" ub: " << ldesc.
ub_id()
1902 lb_int_id = ldesc.
lb_id();
1913 ub_int_id = ldesc.
ub_id();
1917 #ifdef DIAGNOSTIC_OUTPUT 1920 <<
" mode: " << ldesc.
mode()
1921 <<
" lb: " << ldesc.
lb_id()
1922 <<
" ub: " << ldesc.
ub_id()
1939 return _dof_tuple_domain_offsets;
1946 return _dof_tuple_domain_offsets;
1960 dof_tuple_domain_offsets_type::key_type lkey(xdof_tuple_ext_id, xdomain_key);
1961 result = (_dof_tuple_domain_offsets.find(lkey) != _dof_tuple_domain_offsets.end());
1981 dof_tuple_domain_offsets_type::key_type lkey(xdof_tuple_ext_id, xdomain_key);
1982 pod_index_type result(_dof_tuple_domain_offsets.find(lkey)->second);
2041 ensure(result != 0);
2088 require(other != 0);
An implementation of class scattered_insertion_index_space_handle that has a interval id space state...
id_spaces_type & id_spaces()
Buffer for id spaces (mutable version).
virtual bool invariant() const
Class invariant, intended to be redefined in each descendant. See below for template for invariant in...
poset_table_state & table() const
The table of dof tuples of this poset.
virtual void put_version(int xversion, bool xunalias=false)
Sets version to (possibly aliased) xversion. If unalias == true, set version to the actual version al...
pod_index_type ub_id() const
The index of the upper bound member, if the upper bound contains a single member. ...
poset_state_handle * host() const
The poset which this is a handle to a component of.
Index for identifying a poset member relative to a given name space.
A client handle for a subposet.
unordered::unordered_map< pod_index_type, int > dof_tuple_schema_versions_type
Type of dof tuple versions map.
void evaluate_toc_alias()
If row bounds lower bound is an alias for the toc bounds, substitutes the toc bounds into the row bou...
namespace_poset * name_space() const
The name space of this poset.
const poset_bounds_descriptor & 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.
void put_member_record_type_aliases(int xtoc_index, int xdof_tuple_id_index, int xoffset_index)
Sets the member record specific data types.
void insert_id_name_pair(pod_index_type xid, const std::string &xname, block< char > &xbuf)
Inserts xid, xname pair into char buffer xbuf.
virtual void attach_to(pod_type xindex)
Attach to the state with index xindex in the id space family id_spaces().
index_type ub() const
The upper bound on the storage array. The number of items current allocated in the storage array...
int version(bool xunalias=true) const
The (possibly aliased) version of this component. The version of the host used when evaluating proper...
const_iterator begin() const
The initial value for iterators over this map.
const pod_type & pod() const
The "plain old data" storage of this; the value in the external id space.
const poset_bounds & toc_bounds() const
The bounds for the table of contents in this transaction.
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 ...
An abstract iterator over the ids of an id space.
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.
void translate_dof_tuple_col_bounds()
Translate the dof tuple column bounds from external ids to internal ids.
pod_index_type dof_tuple_scratch_id() const
The scratch id for the dof tuple id space.
virtual bool invariant() const
Class invariant.
virtual index_space_iterator & get_subposet_id_space_iterator() const
Allocates an id space iterator over the subposet ids from the iterator pool.
const scoped_index & index() const
The member index of this poset within the namespace host()
void convert_record_id_to_subposet_id(void *xbuf)
Converts namespace relative record id at location xbuf to namespace relative subposet id at location ...
dof_tuple_types_type & dof_tuple_types()
Dof tuple type ids (mutable version).
bool is_persistent() const
True if this id space should be written to disk.
The default name space; a poset which contains other posets as members.
bool state_is_read_accessible() const
True if this is attached and if the state is accessible for read or access control is disabled...
virtual size_type subposet_ct() const
The number of subposets of this poset.
bool ub_is_member() const
True if mode == MEMBER_MEMBER or SUBPOSET_MEMBER.
bool is_write_transaction() const
True is this is a write transaction.
unordered::unordered_map< pod_index_type, std::string > dof_tuple_class_names_type
Type of dof tuple class names map.
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.
A client handle for a general, abstract partially order set.
virtual bool includes_subposet(pod_index_type xsubposet_hub_id, bool xauto_access=true) const
True if this poset includes subposet with hub id xsubposet_hub_id.
const index_space_family & dof_tuple_id_spaces(bool xauto_access) const
Collection of dof tuple id spaces for this (const version).
dof_tuple_col_bounds_type & dof_tuple_col_bounds()
Dof tuple col bounds map (mutable version).
void clear()
Removes all entries.
poset_table_state & table()
The table state for the poset being transferred. (mutable version)
const index_space_family & member_id_spaces(bool xauto_access) const
Collection of member id spaces for this (const version).
void clear()
Delete all ids.
std::vector< subposet * > & subposets()
Buffer for subposet handles (mutable version).
scoped_index subposet_ext_id(const scoped_index &xid) const
An id in the subposet external id space with pod mapped from xid.
A partial multi-valued relation with total injective inverse between names and indices of type index_...
bool dof_tuple_id_space_initialized() const
True if dof_tuple_id_space() has been initialized.
member_name_map_type & member_name_map(bool xrequire_write_access=false)
The bidirectional map between member indices and names.
unordered::unordered_map< pod_index_type, poset_bounds_descriptor > dof_tuple_col_bounds_type
Type of dof tuple col bounds map.
pod_index_type ub_id() const
The index of the upper bound member, if the upper bound contains a single member. ...
A (lower, upper) bounds pair for a poset. Specifies a portion of a poset for a bounded i/o operation...
poset_state_handle & member_poset(pod_index_type xhub_id, bool xauto_access=true) const
The poset_state_handle object referred to by hub id xhub_id.
poset_bounds_descriptor col_bounds
Bounds for the columns accessed in this transaction.
const scoped_index & index() const
The index of the component state this handle is attached to.
virtual void next()=0
Makes id() the next id in the iteration.
void update_toc_bounds(const poset_bounds_descriptor &xdesc)
Replaces toc_bounds() with the bounds specified in descriptor xdesc.
void put_lb_id(pod_index_type xlb_id)
Sets the index of the lower bound to xlb_id.
dof_tuple_class_names_type & dof_tuple_class_names()
Dof tuple class names (mutable version).
bool & is_versioned()
True if poset has more than one version (mutable version).
virtual bool is_ancestor_of(const any *other) const
Conformance test; true if other conforms to this.
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. ...
unordered::unordered_map< pod_index_type, pod_index_type > dof_tuple_schema_ids_type
Type of dof tuple schema ids map.
pod_type pod() const
The "plain old data" storage of this.
unordered::unordered_map< pod_index_type, dof_tuple_type > dof_tuple_types_type
Type of dof tuple types map.
const_iterator end() const
The final value for iterators over this map.
void attach_to_state(const poset_state_handle *xhost, pod_index_type xhub_id)
Attach this handle to the state with hub id xhub_id in the current version of host xhost...
scoped_index member_ext_id(const scoped_index &xid) const
An id in the member external id space with pod mapped from xid.
virtual void release_subposet_id_space_iterator(index_space_iterator &xitr) const
Returns the id space iterator xitr to the subposet iterator pool.
void put_ub_id(pod_index_type xub_id)
Sets the index of the upper bound member to xub_ib, if the upper bound contains a single member...
schema_poset_member * clone(bool xnew_state, bool xauto_access=true) const
Make a new handle instance of current. Attach the new instance to a new state if xnew_state is true...
Abstract base class with useful features for all objects.
pod_index_type get_int_id(pod_index_type xext_id, const std::string &xid_space_name, bool xauto_access) const
Translates xext_id to an internal id using the equivalence map with name xid_space_name.
virtual schema_poset_member & schema()
The schema for this poset (mutable version).
dof_tuple_index_space_type & dof_tuple_id_space()
External to internal dof_tuple index space for table() (mutable version).
void push_back(const_reference_type item)
Insert item at the end of the items in the auto_block.
bool is_done() const
True if iteration is finished.
A poset specific collection of data converters, various buffers and other data used while transferrin...
virtual pod_index_type get_ext_id(pod_index_type xint_id, const std::string &xid_space_name, bool xauto_access) const
Translates xint_id to an external id using the equivalence map with name xid_space_name.
bool is_external() const
True if this has a corresponding member in a name space, but is not yet attached to a state...
record_index member_id
The record index of the member relative to the poset.
void get_member_names_from_poset()
Transfers the enitre poset member name map to the scaffold name map.
poset_bounds_descriptor row_bounds
Bounds for the rows accessed in this transaction.
virtual void detach_from_state()
Detach this handle from its state, if any.
void initialize_dof_tuple_id_space()
Initializes dof_tuple_id_space().
An index within the external ("client") scope of a given id space.
virtual bool is_attached() const
True if this handle is attached to a state.
virtual bool is_attached() const
True if this handle is attached to a non-void state.
virtual pod_index_type get_int_id(pod_index_type xext_id, const std::string &xid_space_name) const
Gets the internal id corresponding to xext_id in the id space with name xid_space_name.
void put_member_record_type_aliases(int xtoc_index, int xdof_tuple_id_index, int xoffset_index)
Sets the member record specific data types These features are logically members of class member_recor...
void convert_record_id_to_member_id(void *buf)
Converts namespace relative record id at location xbuf to namespace relative member id at location xb...
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.
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)...
dof_tuple_domain_offsets_type & dof_tuple_domain_offsets()
Dof tuple domain offsets accessor (mutable version).
pod_index_type lb_id() const
The index of the lower bound.
void initialize_transfer_schema_for_read(const scoped_index &xindex)
Initialize internal, transfer, and external schema for read transactions.
schema_poset_member & external_schema()
The schema of the poset in external namespace (mutable version).
virtual bool contains_member(pod_index_type xmbr_hub_id, bool xauto_access=true) const
True if some version of this poset contains poset member with hub id xmbr_hub_id. ...
void put_dof_tuple_scratch_id(pod_index_type xid)
Set the scratch id for the dof tuple id space.
poset_bounds & row_bounds()
The bounds for the rows in this transaction (mutable version).
SHEAF_DLL_SPEC bool is_primitive_index(pod_index_type xindex)
True if xindex is a valid primitive index.
void extract_id_name_pair(pod_index_type &xid, std::string &xname, char *&xbuf)
Extracts xid, xname pair from char buffer xbuf.
poset_bounds & col_bounds()
The bounds for the columns in this transaction (mutable version).
bool ub_is_decomposition() const
True if the join of the members of the upper bound is equal to the external schema.
static const poset_bounds_descriptor & BOTTOM_TOP
An instance with lb() == {bottom} and ub() == {top}.
bool structure_is_namespace() const
True if the poset being transferred is the name space poset.
bool ub_is_singleton() const
True if the upper bound contains a single member.
const scoped_index & hub_id() const
A id in the hub id space; intended for copying to initialize ids to the hub id space.
virtual std::string name() const
The name of this poset.
void disable_invariant_check() const
Disable invariant check. Intended for preventing recursive calls to invariant and for suppressing inv...
const index_space_family & subposet_id_spaces(bool xauto_access) const
Collection of subposet id spaces for this (const version).
Record index equivalent to namespace_relative_member_index and namespace_relative_subposet_index.
Index for identifying a subposet relative to a given name space.
void initialize_schema_for_read(schema_poset_member *xext_schema, int xschema_version)
Initialize internal, transfer, and external schema for read transactions.
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 ...
bool contains_poset(pod_index_type xhub_id, bool xauto_access=true) const
True if this contains a poset with hub id xhub_id..
member_name_map_type & member_name_map()
External index to member name map (mutable version).
const hub_index_space_handle & member_hub_id_space(bool xauto_access) const
The member hub id space.
poset_state_handle & structure()
The handle for the poset being transferred. (Name chosen to void name conflict with class poset...
bool lb_is_member() const
True if mode == MEMBER_MEMBER or MEMBER_SUBPOSET.
member_index_space_type & member_id_space()
External to internal member index space for structure() (mutable version).
virtual poset_scaffold * clone() const
Virtual constructor; makes a new instance of the same type as this.
virtual void detach_from_state()
Detach this handle from its state, if any.
pod_type hub_pod(pod_type xid) const
The pod index in the unglued hub id space equivalent to xid in this id space; synonym for unglued_hub...
namespace_poset * name_space() const
The namespace this poset resides in.
A description of a (lower, upper) bounds pair for a poset. Specifies a portion of a poset for a bound...
subposet_index_space_type & subposet_id_space()
External to internal subposet index map for powerset() (mutable version).
dof_tuple_schema_versions_type & dof_tuple_schema_versions()
Dof tuple schema versions (mutable version).
bool member_id_space_initialized() const
True if member_id_space() has been initialized.
member_class_names_type & member_class_names()
Member class names (mutable version).
schema_poset_member & internal_schema()
The schema of the poset in internal namespace (mutable version).
bool invariant_check() const
True if invariant checking is enabled.
dof_tuple_schema_ids_type & dof_tuple_schema_ids()
Dof tuple schema ids (mutable version).
poset_data_type_map & type_map()
Data type map for this poset (mutable version)
bool subposet_id_space_initialized() const
True if subposet_id_space has been initialized.
int_type pod_index_type
The plain old data index type.
scoped_index index() const
The name space index of this poset.
bool contains(pod_type xid) const
True, if this contains an id space with id xid.
std::string name() const
The name of this poset.
A collection of data converters that map data types between internal and external representations...
A poset specific collection of data converters, various buffers and other data used while transferrin...
void push_back(const scoped_index &xhub_id)
Make the next id in this space equivalent to xhub_id in the hub id space. synonym for push_back(xhub_...
schema_poset_member & transfer_schema()
The schema for the restriction that is being read or written (mutable version)
poset_powerset_state & powerset()
The powerset for the poset being transferred. (mutable version)
pod_index_type lb_id() const
The index of the lower bound member, if the lower bound contains a single member. ...
virtual ~poset_scaffold()
Destructor.
void attach_to_state(const namespace_poset *xns, const poset_path &xpath, bool xauto_access=true)
Attach to the state specified by path xpath in the namespace xns.
record_index poset_id
The record index of the poset relative to the namespace.
subposet & resident()
The resident subposet for structure() (mutable version).
unordered::unordered_map< pod_index_type, std::pair< std::string, size_type > > member_class_names_type
Type of member class names map.
void convert_subposet_id_to_record_id(void *xbuf)
Converts namespace relative subposet id at location xbuf to namespace relative record id at location ...
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 ...
void initialize_subposet_id_space()
Initializes subposet_id_space().
SHEAF_DLL_SPEC bool is_valid(pod_index_type xpod_index)
True if an only if xpod_index is valid.
An auto_block with a no-initialization initialization policy.
std::map< index_type, name_list_type >::const_iterator const_iterator
The const iterator type for this map.
bool is_same_type(const any *other) const
True if other is the same type as this.
The set of subsets of a poset.
void enable_invariant_check() const
Enable invariant checking.
void delete_index(index_type xindex)
Removes all entires for index xindex.
void put_ub_id(pod_index_type xub_id)
Sets the index of the upper bound to xub_id.
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 ...
const std::string & file_id_space_name() const
The name of the id space used for the member index map.
virtual poset_bounds * clone() const
Virtual constructor; makes a new instance of the same type as this.
specification_mode mode() const
Specification mode for this.
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.
static interval_index_space_handle new_space(index_space_family &xid_spaces, const std::string &xname, bool xis_persistent, bool xmerge_mode)
Create a new interval id space in the id space family xid_space with name xname, persistence xis_pers...
A client handle for a poset member which has been prepared for use as a schema.
void put_member_names_to_poset()
Transfers all entries in scaffold name map that refer members that exist in the poset.
The data structure representing the table containing the dof tuples of the members of a poset...
std::map< std::pair< pod_index_type, pod_index_type >, pod_index_type > dof_tuple_domain_offsets_type
Type of dof tuple domain offsets map.
poset_powerset_state & powerset() const
The set of subposets of this poset.
pod_type hub_pod() const
The current unglued hub id in the iteration. synonym for unglued_hub_pod().
poset_scaffold(const poset_scaffold &xother)
Copy constructor.
virtual const scoped_index & member_id(bool xauto_access) const
An id in the member hub id space; intended for copying to initialize ids to the member id space...
void initialize_member_id_space()
Initializes member_id_space().
void convert_member_id_to_record_id(void *buf)
Converts namespace relative member id at location xbuf to namespace relative record id at location xb...