SheafSystem  0.0.0.0
sheaf::poset_state_handle Class Reference

A client handle for a general, abstract partially order set. More...

#include <poset_state_handle.h>

Inheritance diagram for sheaf::poset_state_handle:
sheaf::read_write_monitor_handle sheaf::any fiber_bundle::sec_rep_space fiber_bundle::section_space_schema_poset sheaf::namespace_poset sheaf::namespace_poset_schema sheaf::poset sheaf::primitives_poset sheaf::primitives_poset_schema fiber_bundle::sec_tuple_space fiber_bundle::binary_section_space_schema_poset fiber_bundle::product_section_space_schema_poset sheaf::sheaves_namespace fiber_bundle::gln_space fiber_bundle::sec_rep_descriptor_poset fiber_bundle::section_space_schema_poset fiber_bundle::tuple_space sheaf::refinable_poset

Friends

class abstract_poset_member
 
class array_poset_dof_map
 
class block_poset_builder
 
class depth_first_iterator
 
template<typename T >
class depth_first_itr
 
class dof_tuple_record_set
 
class member_record
 
class member_record_set
 
class namespace_poset
 
class poset_component
 
class poset_handle_factory
 
class poset_joiner
 
class poset_scaffold
 
class poset_slicer
 
class primitives_poset_dof_map
 
class schema_poset_member
 
class storage_agent
 
class subposet_joiner
 
class subposet_names_record
 
class table_dof_tuple_record
 
SHEAF_DLL_SPEC std::ostream & sheaf::operator<< (std::ostream &os, const poset_state_handle &p)
 
SHEAF_DLL_SPEC size_t sheaf::deep_size (const poset_state_handle &xp, bool xinclude_shallow, size_t xresults[4])
 

POSET_STATE_HANDLE FACET

static poset_state_handlenew_poset_handle (const std::string &xclass_name, poset_type xsheaf_base_class_id)
 Creates an unattached handle of type xclass_name, if a prototype of that name exists, otherwise of type xsheaf_base_class_id. More...
 
static poset_handle_factoryfactory ()
 The poset handle factory. More...
 
 poset_state_handle ()
 Default constructor. More...
 
virtual ~poset_state_handle ()
 Destructor. More...
 
 poset_state_handle (abstract_poset_member *xtop, abstract_poset_member *xbottom)
 Covariant constructor. More...
 
 poset_state_handle (const poset_state_handle &xother)
 Copy constructor; disabled. More...
 
poset_state_handleoperator= (const poset_state_handle &xother)
 Assignment operator; disabled. More...
 

STATE FACET

poset_state_state
 State object for this poset. More...
 
virtual poset_statestate_obj () const
 State object for this poset. More...
 
void attach_to_state (const poset_state_handle *xother)
 Attach this handle to the same state as xother. More...
 
virtual void attach_to_state (const namespace_poset *xhost, pod_index_type xindex)
 Attach this handle to the state associated with the member with index xindex in name space xhost. More...
 
void attach_to_state (const namespace_poset *xhost, const scoped_index &xindex)
 Attach this handle to the state associated with the member with index xindex in name space xhost. More...
 
virtual void attach_to_state (const namespace_poset *xhost, const std::string &xname)
 Attach this handle to the state associated with the member with name xname in name space xhost. More...
 
virtual void attach_to_state (const abstract_poset_member *xmbr)
 Attach this handle to the state with associated with namespace member xmbr. More...
 
virtual void detach_from_state ()
 Detach this handle from its state. More...
 
void new_state (namespace_poset &xns, const poset_path &xpath, const schema_poset_member &xschema, array_poset_dof_map &xdof_map)
 Creates a new poset state with schema xschema and table dof map xdof_map, attaches this to the state and creates and initializes the associated namespace member. Intended for use by new_table factory methods. More...
 
virtual void new_state (const poset_path &xpath, const schema_poset_member &xschema, array_poset_dof_map &xdof_map)
 Creates a new poset state with path xpath, schema xschema and table dof map xdof_map, attaches this to the state. More...
 
virtual void initialize_handle_data_members (const namespace_poset &xns)
 Initializes the handle data members that depend on the table dofs and are required to get access when this handle is used to create a new state. Intended to be called only from new_state and to be redefined in descendants to handle additional data members defined there. More...
 
virtual void attach_handle_data_members ()
 Initializes the handle data members when this handle is attached to a state. Intended to be redefined in descendants to handle additional data members defined there. More...
 
void ensure_lattice_invariant ()
 Restores the lattice invariant after editing jims. More...
 
virtual void terminate_access ()
 Release all access to posets this depends on, then detach and delete the state. More...
 
virtual poset_type type_id () const
 Identifier for the type of this poset. More...
 
virtual const char * class_name () const
 The name of this class. More...
 
virtual void begin_jim_edit_mode (bool xauto_access=true)
 Allow editing of jims and jim order relation. More...
 
virtual void end_jim_edit_mode (bool xensure_lattice_invariant=true, bool xauto_access=true)
 Prevent editing of jims and jim order relation. More...
 
bool in_jim_edit_mode () const
 True if editing jims and jim order relation is allowed. More...
 
int jim_edit_depth (bool xauto_access) const
 Number of times begin_jim edit_mode has been called without matching end_jim_edit_mode. More...
 
bool is_external () const
 True if this has a corresponding member in a name space, but is not yet attached to a state. (This condition implies the name space has been imported from some external source, but the poset has not yet been imported.) More...
 
virtual void get_read_access () const
 Get read access to the state associated with this. More...
 
virtual void get_read_write_access (bool xrelease_read_only_access=false)
 Get read write access to the state associated with this. If release_read_only_access is requested, read only access will be released then read_write_access will be requested, finally the same level of read_access as before will be requested. More...
 
virtual void release_access (bool xall=false) const
 Release access. If xall is true, release all levels of access. Otherwise, release one level of access. More...
 
virtual bool is_attached () const
 True if this is attached to a state. More...
 
bool is_same_state (const poset_state_handle *xother) const
 True if this is attached to the same state as xother. More...
 

GLOBAL ATTRIBUTES FACET

namespace_poset_name_space
 The namespace this poset resides in. More...
 
scoped_index _index
 The member index of this poset in the namespace. More...
 
virtual void initialize_namespace (namespace_poset &xns, const std::string &xposet_name, bool xauto_link=true)
 Installs this as a member of xns. If xauto_link, automatically links the member into an appropriate group. More...
 
namespace_posethost () const
 The namespace this poset resides in. Obsolete; use name_space() instead. More...
 
namespace_posetname_space () const
 The namespace this poset resides in. More...
 
const scoped_indexindex () const
 The member index of this poset within the namespace host() More...
 
virtual const primitives_posetprimitives () const
 The set of primitives used by this poset. More...
 
virtual std::string name () const
 The name of this poset. More...
 
virtual std::string name (bool xauto_access) const
 The name of this poset. More...
 
virtual poset_path path (bool xauto_access=true) const
 The path of this poset. More...
 

MEMBERSHIP FACET

abstract_poset_member_top
 Top member of poset. More...
 
abstract_poset_member_bottom
 Bottom members of poset. More...
 
poset_crg_statecrg () const
 The cover relation graph. More...
 
virtual void initialize_standard_members ()
 Creates the members common to every poset, for instance, top() and bottom(). More...
 
void put_standard_member_ct (int xct)
 Sets the number of standard members automatically allocated by the constructor. More...
 
void put_standard_row_dof_tuple_ct (int xct)
 Sets the number of standard row dof tuples automatically allocated by the constructor. More...
 
bool index_in_bounds (const scoped_index &xmbr_id) const
 True if 0 <= xmbr_id < state_obj()->member_index_ub(). More...
 
bool index_in_bounds (const block< scoped_index > &indices) const
 True if for all i: 0 <= indices[i] < state_obj()->member_index_ub(). More...
 
virtual void new_member (pod_index_type xmbr_hub_id, bool xis_jim, const scoped_index &xdof_tuple_id)
 Create a disconnected member with hub id xmbr_hub_id, is_jim == xis_jim and the dof tuple identified by xdof_tuple_id. WARNING: this routine leaves a disconnected member in the poset and hence leaves the poset in an invalid state. The client must properly link the member created by this routine using new_link in order to return the poset to a valid state. More...
 
void new_member (pod_index_type xmbr_hub_id, bool xis_jim, poset_dof_map *xdof_map, bool xcopy_dof_map)
 Create a disconnected member with hub id xmbr_hub_id and is_jim == xis_jim. If xdof_map != 0, the new member uses it for dof storage, otherwise it creates an instance of array_poset_dof_map. WARNING: this routine leaves a disconnected member in the poset and hence leaves the poset in an invalid state. The client must properly link the member created by this routine using new_link in order to return the poset to a valid state. More...
 
virtual pod_index_type new_member_interval (const std::string &xinterval_type, size_type xsize)
 Create a disconnected member interval of type xinterval_type with size xsize. More...
 
virtual void new_member_interval (pod_index_type xmbr_hub_id, const std::string &xinterval_type, size_type xsize)
 Create a disconnected member interval beginning at hub id xmbr_hub_id, of type xinterval_type, and with size xsize. More...
 
virtual pod_index_type new_member (bool xis_jim, pod_index_type xtuple_hub_id)
 Create a disconnected member with is_jim == xis_jim and the dof tuple identified by hub id xtuple_hub_id. WARNING: this routine leaves a disconnected member in the poset and hence leaves the poset in an invalid state. The client must properly link the member created by this routine using new_link in order to return the poset to a valid state. More...
 
void new_member (bool xis_jim, const scoped_index &xtuple_id, scoped_index &result)
 Create a disconnected member with is_jim == xis_jim and the dof tuple identified by id xtuple_id. WARNING: this routine leaves a disconnected member in the poset and hence leaves the poset in an invalid state. The client must properly link the member created by this routine using new_link in order to return the poset to a valid state. More...
 
virtual pod_index_type new_member (bool xis_jim, poset_dof_map *xdof_map=0, bool xcopy_dof_map=false)
 Create a disconnected member with is_jim == xis_jim. If xdof_map != 0, the new member uses it for dof storage, otherwise it creates an instance of array_poset_dof_map. WARNING: this routine leaves a disconnected member in the poset and hence leaves the poset in an invalid state. The client must properly link the member created by this routine using new_link in order to return the poset to a valid state. More...
 
void new_member (bool xis_jim, poset_dof_map *xdof_map, bool xcopy_dof_map, scoped_index &result)
 Create a disconnected member with is_jim == xis_jim. If xdof_map != 0, the new member uses it for dof storage, otherwise it creates an instance of array_poset_dof_map. WARNING: this routine leaves a disconnected member in the poset and hence leaves the poset in an invalid state. The client must properly link the member created by this routine using new_link in order to return the poset to a valid state. More...
 
virtual pod_index_type new_member_interval (const std::string &xinterval_type, size_type xsize, const block< pod_index_type > &xtuple_hub_ids, const block< pod_index_type > &xdata)
 Create a disconnected member interval of type xinterval_type with size xsize, dof tuple ids xtuple_hub_ids, and interval type specific private data xdata. WARNING: this routine leaves a disconnected member in the poset and hence leaves the poset in an invalid state. The client must properly link the member created by this routine using new_link in order to return the poset to a valid state. More...
 
void new_member_interval (const std::string &xinterval_type, size_type xsize, const block< pod_index_type > &xtuple_hub_ids, const block< pod_index_type > &xdata, scoped_index &result)
 Create a disconnected member interval of type xinterval_type with size xsize, dof tuple hub ids xtuple_hub_ids, and interval type specific private data xdata. WARNING: this routine leaves a disconnected member in the poset and hence leaves the poset in an invalid state. The client must properly link the member created by this routine using new_link in order to return the poset to a valid state. More...
 
virtual void delete_member (pod_index_type xmbr_hub_id)
 Delete the member with hub id xmbr_hub_id. Warning: this routine does not delete links; it will leave any links to this member dangling. Use abstract_poset_member::delete_state unless you know what you are doing. More...
 
void delete_member (const scoped_index &xmbr_id)
 Delete the member with id xmbr_id. Warning: this routine does not delete links; it will leave any links to this member dangling. Use abstract_poset_member::delete_state unless you know what you are doing. More...
 
virtual int member_ct () const
 The number of members of this poset. More...
 
virtual int standard_member_ct () const
 The number of standard members automatically allocated by the constructor. More...
 
bool has_standard_member_ct () const
 True if poset is in its initial state, that is, it contains just the standard members. More...
 
virtual scoped_index member_index_ub () const
 The upper bound on the member_index;. More...
 
index_iterator member_iterator () const
 
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. More...
 
bool contains_member (const scoped_index &xmbr_id, bool xauto_access=true) const
 True if some version of this poset contains poset member with id xmbr_id. More...
 
virtual bool contains_member (pod_index_type xmbr_hub_id, int xversion, bool xauto_access=true) const
 True if version xversion of this poset contains poset member with hub id xmbr_hub_id. More...
 
bool contains_member (const scoped_index &xmbr_id, int xversion, bool xauto_access=true) const
 True if version xversion of this poset contains poset member with id xmbr_id. More...
 
virtual bool contains_member (const std::string &xname, bool xauto_access=true) const
 True if this poset contains a member with name xname. More...
 
bool contains_member (const abstract_poset_member *xmbr, bool xauto_access=true) const
 True if this poset contains xmbr. More...
 
bool contains_members (const scoped_index *xmbrs, int xmbrs_ct, bool xauto_access=true) const
 True if this poset contains poset member(s) with indices in xmbrs. More...
 
bool contains_members (pod_index_type *xmbrs, int xmbrs_ct, bool xauto_access=true) const
 True if this poset contains poset member(s) with indices in xmbrs. More...
 
bool contains_members (const std::string *xnames, int xnames_ct, bool xauto_access=true) const
 True if this poset contains poset member(s) with names in xnames. More...
 
bool contains_members (const block< pod_index_type > &p, bool xauto_access=true) const
 True if this poset contains poset members with indices in p. More...
 
bool contains_members (const block< scoped_index > &p, bool xauto_access=true) const
 True if this poset contains poset members with indices in p. More...
 
bool contains_members (const block< std::string > &p, bool xauto_access=true) const
 True if this poset contains poset members with names in p. More...
 
bool is_empty () const
 True if this poset is empty. More...
 
virtual bool is_jim (pod_index_type xmbr_hub_id, bool xin_current_version=true) const
 True if the member with hub id xmbr_hub_id is a jim in the current version (xin_current_version == true) or in some version (xin_current_version == false). More...
 
bool is_jim (const scoped_index &xmbr_id, bool xin_current_version=true) const
 True if the member with id xmbr_id is a jim in the current version (xin_current_version == true) or in some version (xin_current_version == false). More...
 
bool is_jim (const std::string &xname, bool xin_current_version=true) const
 True if the member with name xname is a jim in the current version (xin_current_version == true) or in some version (xin_current_version == false). More...
 
virtual bool is_atom (pod_index_type xmbr_hub_id) const
 True if the member with hub id xmbr_hub_id covers the bottom. More...
 
bool is_atom (const scoped_index &xmbr_id) const
 True if the member with id xmbr_id covers the bottom. More...
 
abstract_poset_membertop ()
 The top member of the poset (mutable version) More...
 
const abstract_poset_membertop () const
 The top member of the poset (const version) More...
 
abstract_poset_memberbottom ()
 The bottom member of the poset (mutable version) More...
 
const abstract_poset_memberbottom () const
 The bottom member of the poset (const version) More...
 

MEMBER NAME FACET

typedef poset_crg_state::member_name_map_type member_name_map_type
 The type of the member name map. More...
 
member_name_map_typemember_name_map (bool xrequire_write_access=false)
 The bidirectional map between member indices and names. More...
 
poset_path member_path (pod_index_type xmbr_hub_id, bool xauto_access) const
 A path for the member with hub id xmbr_hub_id. More...
 
virtual std::string member_name (pod_index_type xmbr_hub_id, bool xauto_access=false) const
 A name for the member with hub id xmbr_hub_id. More...
 
std::string member_name (const scoped_index &xmbr_id, bool xauto_access=false) const
 A name for the member with id xmbr_id. More...
 
void all_member_names (pod_index_type xmbr_hub_id, block< std::string > &xresult, bool xauto_access=false) const
 All the names for the member with hub id xmbr_hub_id. More...
 
void all_member_names (const scoped_index &xmbr_id, block< std::string > &xresult, bool xauto_access=false) const
 All the names for the member with id xmbr_id. More...
 
size_type member_name_ct (pod_index_type xmbr_hub_id, bool xauto_access) const
 The number of names for the member with hub id xmbr_hub_id. More...
 
size_type member_name_ct (const scoped_index &xmbr_id, bool xauto_access) const
 The number of names for the member with id xmbr_id. More...
 
bool member_has_name (pod_index_type xmbr_hub_id, const std::string &xname, bool xauto_access=false) const
 True if xname is a name for the member with hub id xmbr_hub_id. More...
 
bool member_has_name (const scoped_index &xmbr_hub_id, const std::string &xname, bool xauto_access=false) const
 True if xname is a name for the member with id xmbr_id. More...
 
virtual void put_member_name (pod_index_type xmbr_hub_id, const std::string &xname, bool xunique, bool xauto_access=false)
 Make xname a name for the member with hub id xmbr_hub_id. if xunique, make xname the only name. More...
 
void put_member_name (const scoped_index &xmbr_id, const std::string &xname, bool xunique, bool xauto_access=false)
 Make xname a name for the member with id xmbr_id. if xunique, make xname the only name. More...
 
void delete_member_name (const std::string &xname, bool xauto_access=false)
 Make xname not a name for any member. More...
 
void delete_all_member_names (pod_index_type xmbr_hub_id, bool xauto_access=false)
 Delete all names for the member with hub id xmbr_hub_id. More...
 
void delete_all_member_names (const scoped_index &xmbr_id, bool xauto_access=false)
 Delete all names for the member with id xmbr_id. More...
 

MEMBER ID SPACE FAMILY FACET

void update_standard_member_id_spaces ()
 Update the initially allocated id spaces. More...
 
void clear_member_id_spaces (bool xauto_access)
 Deletes all non-standard id spaces. More...
 
pod_index_type new_term (size_type xct, bool xauto_access)
 Creates a new term in the member hub id space with xct number of ids. Returns the index of the id space state created. More...
 
void extend_last_member_term (size_type xct, bool xauto_access)
 Extends the last term of the member hub id space to ct == xct. More...
 
const index_space_familymember_id_spaces (bool xauto_access) const
 Collection of member id spaces for this (const version). More...
 
index_space_familymember_id_spaces (bool xauto_access)
 Collection of member id spaces for this (mutable version). More...
 
const hub_index_space_handlemember_hub_id_space (bool xauto_access) const
 The member hub id space. More...
 
virtual const scoped_indexmember_id (bool xauto_access) const
 An id in the member hub id space; intended for copying to initialize ids to the member id space. More...
 
scoped_index member_id (pod_index_type xid, bool xauto_access) const
 An id in the member hub id space with pod xid. More...
 
virtual pod_index_type member_id (const std::string &xname, bool xauto_access) const
 The hub id of the member with name xname. More...
 
void member_id (const std::string &xname, scoped_index &result, bool xauto_access) const
 The index of the member with name xname. More...
 

ORDER RELATION FACET

virtual bool le (pod_index_type xgreater, pod_index_type xlesser) const
 True if hub id xlesser is less than or equal to hub id xgreater. More...
 
bool le (const scoped_index &xgreater, const scoped_index &xlesser) const
 True if id xlesser is less than or equal to id xgreater. More...
 
virtual bool leqv (pod_index_type xgreater, pod_index_type xlesser) const
 True if hub id xlesser is less than or equivalent to hub id xgreater. More...
 
bool leqv (const scoped_index &xgreater, const scoped_index &xlesser) const
 True if id xlesser is less than or equivalent to id xgreater. More...
 
virtual bool is_jem (pod_index_type xmbr_hub_id, pod_index_type xother_hub_id) const
 True if hub id xother_hub_id is join equivalent to hub id xmbr_hub_id. More...
 
bool is_jem (const scoped_index &xmbr_id, const scoped_index &xother_id) const
 True if id xother_id is join equivalent to id xmbr_id. More...
 
virtual pod_index_type greatest_jem (pod_index_type xmbr_hub_id) const
 The hub id of the largest member which is join-equivalent to hub id xmbr_hub_id. More...
 
void greatest_jem (const scoped_index &xmbr_id, scoped_index &result) const
 The id of the largest member which is join-equivalent to id xmbr_id. More...
 
virtual pod_index_type least_jem (pod_index_type xmbr_hub_id) const
 The hub id of the smallest member which is join-equivalent to hub id xmbr_hub_id. More...
 
void least_jem (const scoped_index &xmbr_id, scoped_index &result) const
 The id of the smallest member which is join-equivalent to id xmbr_id. More...
 
void link_greatest_jem (pod_index_type xjem1, pod_index_type xjem2)
 Makes hub id xjem1 the greatest jem of hub id xjem2, unless the current greatest jem of xjem2 is top, in which case it makes top the greatest jem of xjem1. More...
 
void link_greatest_jem (const scoped_index &xjem1, const scoped_index &xjem2)
 Makes id xjem1 the greatest jem of id xjem2, unless the current greatest jem of xjem2 is top, in which case it makes top the greatest jem of xjem1. More...
 
void link_least_jem (pod_index_type xjem1, pod_index_type xjem2)
 Makes hub id xjem1 the least jem of hub id xjem2, unless the current least jem of xjem2 is bottom, in which case it makes bottom the least jem of xjem1. More...
 
void link_least_jem (const scoped_index &xjem1, const scoped_index &xjem2)
 Makes id xjem1 the least jem of id xjem2, unless the current least jem of xjem2 is bottom, in which case it makes bottom the least jem of xjem1. More...
 
virtual void merge_jems (pod_index_type xjem1, pod_index_type xjem2)
 Merge the join-equivalence class of hub id xjem2 under that of hub id xjem1. More...
 
void merge_jems (const scoped_index &xjem1, const scoped_index &xjem2)
 Merge the join-equivalence class of id xjem2 under that of id xjem1. More...
 

COVER RELATION FACET

void transfer_cover (pod_index_type xsrc, pod_index_type xdst, bool lower)
 Transfers the lower cover (lower == true) or the upper cover (lower == false) from the member with hub id xsrc to the member with hub id xdst. More...
 
virtual void new_link (pod_index_type xgreater, pod_index_type xlesser)
 Insert a cover link from greater to lesser (that is, hub id xgreater covers hub id xlesser). WARNING: this routine does not ensure that the link is a cover link, that is, it does not remove redundant or conflicting links. Improper use of this routine can produce inconsistent poset states. More...
 
void new_link (const scoped_index &xgreater, const scoped_index &xlesser)
 Insert a cover link from greater to lesser (that is, id xgreater covers id xlesser). WARNING: this routine does not ensure that the link is a cover link, that is, it does not remove redundant or conflicting links. Improper use of this routine can produce inconsistent poset states. More...
 
virtual void delete_link (pod_index_type xgreater, pod_index_type xlesser)
 Delete the cover link between hub id xgreater and hub id xlesser. More...
 
void delete_link (const scoped_index &xgreater, const scoped_index &xlesser)
 Delete the cover link between id xgreater and id xlesser. More...
 
virtual bool contains_link (pod_index_type xgreater, pod_index_type xlesser) const
 True if there is a cover link between hub id xgreater and hub id xlesser. More...
 
bool contains_link (const scoped_index &xgreater, const scoped_index &xlesser) const
 True if there is a cover link between id xgreater and id xlesser. More...
 
pod_index_type cover_id_space_id (bool xlower, pod_index_type xmbr_hub_id) const
 The id for the lower (xlower true) or upper (xlower false) cover id space of the member with hub id xmbr_hub_id. More...
 
pod_index_type cover_id_space_id (bool xlower, const scoped_index &xmbr_id) const
 The id for the lower (xlower true) or upper (xlower false) cover id space of the member with id xmbr_id. More...
 
index_space_handleget_cover_id_space (bool xlower, pod_index_type xmbr_hub_id) const
 Allocates a handle for the lower (xlower true) or upper (xlower false) cover id space of the member with hub id xmbr_hub_id from the pool of id spaces. More...
 
index_space_handleget_cover_id_space (bool xlower, const scoped_index &xmbr_id) const
 Allocates a handle for the lower (xlower true) or upper (xlower false) cover id space of the member with id xmbr_id from the pool of id spaces. More...
 
template<typename handle_type >
handle_type & get_cover_id_space (bool xlower, pod_index_type xmbr_index) const
 Allocates an handle of type handle_type for the lower (xlower true) or upper (xlower false) cover of member with index xmbr_index from the pool of id spaces. More...
 
template<typename handle_type >
bool cover_id_space_handle_conforms_to (bool xlower, pod_index_type xmbr_index) const
 True if a handle for the lower (xlower true) or upper (xlower false) cover id space of the member with hub id xmbr_index conforms to a handle of type handle_type. More...
 
void release_cover_id_space (index_space_handle &xcover_id_space) const
 Returns xcover_id_space to the pool of id spaces. More...
 
index_space_iteratorget_cover_id_space_iterator (bool xlower, pod_index_type xmbr_hub_id) const
 Allocates an iterator for the lower (xlower true) or upper (xlower false) cover id space of the member with hub id xmbr_hub_id from the pool of id space iterators. More...
 
index_space_iteratorget_cover_id_space_iterator (bool xlower, const scoped_index &xmbr_id) const
 Allocates an iterator for the lower (xlower true) or upper (xlower false) cover id space of the member with id xmbr_id from the pool of id space iterators. More...
 
void release_cover_id_space_iterator (index_space_iterator &xcover_itr) const
 Returns xcover_itr to the pool of id space iterators. More...
 
bool cover_contains_iterator (bool xlower, pod_index_type xmbr_hub_id, const index_space_iterator &xitr) const
 True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id is the domain of iterator xitr. More...
 
bool cover_contains_iterator (bool xlower, const scoped_index &xmbr_id, const index_space_iterator &xitr) const
 True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id is the domain of iterator xitr. More...
 
bool cover_is_empty (bool xlower, pod_index_type xmbr_hub_id) const
 True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id is empty. More...
 
bool cover_is_empty (bool xlower, const scoped_index &xmbr_id) const
 True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id is empty. More...
 
bool cover_is_singleton (bool xlower, pod_index_type xmbr_hub_id) const
 True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id contains exactly one member. More...
 
bool cover_is_singleton (bool xlower, const scoped_index &xmbr_id) const
 True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id contains exactly one member. More...
 
virtual size_type cover_ct (bool xlower, pod_index_type xmbr_hub_id) const
 The number of members in the lower cover (xlower true) or upper cover (xlower false) of the member with hub id xmbr_hub_id. More...
 
size_type cover_ct (bool xlower, const scoped_index &xmbr_id) const
 The number of members in the lower cover (xlower true) or upper cover (xlower false) of the member with id xmbr_id. More...
 
bool cover_contains_member (bool xlower, pod_index_type xmbr_hub_id, pod_index_type xother_mbr_hub_id) const
 True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id contains member with hub id xother_mbr_hub_id. More...
 
bool cover_contains_member (bool xlower, const scoped_index &xmbr_id, const scoped_index &xother_mbr_id) const
 True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id contains member with id xother_mbr_id. More...
 
bool cover_is_equal (bool xlower, pod_index_type xmbr_hub_id, pod_index_type xother_mbr_hub_id) const
 True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id contains the same members as the lower or upper cover set, respectively, of the member with hub id xother_mbr_hub_id. More...
 
bool cover_is_equal (bool xlower, const scoped_index &xmbr_id, const scoped_index &xother_mbr_id) const
 True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id contains the same members as the lower or upper cover set, respectively, of the member with id xother_mbr_id. More...
 
pod_index_type first_cover_member (bool xlower, pod_index_type xmbr_hub_id) const
 Hub id of the first member of the lower (xlower true) or upper (xlower false) cover of the member with hub id xmbr_hub_id. More...
 
void first_cover_member (bool xlower, const scoped_index &xmbr_id, scoped_index &result) const
 Id of the first member of the lower (xlower true) or upper (xlower false) cover of the member with id xmbr_id. More...
 
void insert_cover_member (pod_index_type xother_mbr_hub_id, bool xlower, pod_index_type xmbr_hub_id)
 Inserts hub id xother_mbr_hub id in the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id. More...
 
void insert_cover_member (const scoped_index &xother_mbr_id, bool xlower, const scoped_index &xmbr_id)
 Inserts id xother_mbr_id in the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id. More...
 
void insert_cover_member (pod_index_type xother_mbr_hub_id, bool xlower, pod_index_type xmbr_hub_id, index_space_iterator &xitr)
 Inserts hub id xother_mbr_hub_id in the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id, at a position just before xitr. Increments xitr to the position after the inserted entry. More...
 
void insert_cover_member (const scoped_index &xother_mbr_id, bool xlower, const scoped_index &xmbr_id, index_space_iterator &xitr)
 Inserts id xother_mbr_index in the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id, at a position just before xitr. Increments xitr to the position after the inserted entry. More...
 
void remove_cover_member (pod_index_type xother_mbr_hub_id, bool xlower, pod_index_type xmbr_hub_id)
 Removes hub id xother_mbr_hub_id from the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id. More...
 
void remove_cover_member (const scoped_index &xother_mbr_id, bool xlower, const scoped_index &xmbr_id)
 Removes id xother_mbr_id from the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id. More...
 
void remove_cover_member (index_space_iterator &xitr, bool xlower, pod_index_type xmbr_hub_id)
 Removes the current item of xitr from the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id; If xitr is at the end, forces xitr.is_done(). Otherwise, increments xitr to the next position. More...
 
void remove_cover_member (index_space_iterator &xitr, bool xlower, const scoped_index &xmbr_id)
 Removes the current item of xitr from the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id; If xitr is at the end, forces xitr.is_done(). Otherwise, increments xitr to the next position. More...
 
template<typename filter_type >
void remove_cover_members (const filter_type &xfilter, bool xlower, pod_index_type xmbr_hub_id)
 Removes all members for which functor xfilter(xmbr.index().hub_pod()) is true from the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id. More...
 
template<typename filter_type >
void remove_cover_members (const filter_type &xfilter, bool xlower, const scoped_index &xmbr_id)
 Removes all members for which functor xfilter(xmbr.index().hub_pod()) is true from the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id. More...
 
void replace_cover_member (const scoped_index &xold_other_mbr_hub_id, const scoped_index &xnew_other_mbr_hub_id, bool xlower, const scoped_index &xmbr_hub_id)
 Replaces hub id xold_other_mbr_hub_id with hub id xnew_other_mbr_hub_id in the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id. More...
 
void replace_cover_member (pod_index_type xold_other_mbr_id, pod_index_type xnew_other_mbr_id, bool xlower, pod_index_type xmbr_id)
 Replaces id xold_other_mbr_id with id xnew_other_mbr_id in the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id. More...
 
void clear_cover (bool xlower, pod_index_type xmbr_hub_id)
 Clears the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id. More...
 
void clear_cover (bool xlower, const scoped_index &xmbr_id)
 Clears the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id. More...
 
void copy_cover (bool xlower, pod_index_type xmbr_hub_id, pod_index_type xother_mbr_hub_id)
 Copies the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id to the member with hub id xother_mbr_hub_id. More...
 
void copy_cover (bool xlower, const scoped_index &xmbr_id, const scoped_index &xother_mbr_id)
 Copies the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id to the member with id xother_mbr_id. More...
 
void append_upper_cover_of_bottom (pod_index_type xmbr_hub_begin, pod_index_type xmbr_hub_end)
 Appends the interval of hub ids [xmbr_hub_begin, xmbr_hub_end) to the upper cover of bottom. This function is intended to use by block members that store there vertices in a gathered id space. More...
 
void append_upper_cover_of_bottom (const scoped_index &xmbr_begin, const scoped_index &xmbr_end)
 Appends the interval of ids [xbegin, xend) to the upper cover of bottom. This function is intended to use by block members that store there vertices in a gathered id space. More...
 

SUBPOSET FACET

subposet _resident
 The subposet of members with resident dof tuples. More...
 
virtual subposetresident ()
 The subset of all members with resident (in memory) dof tuples (mutable version). More...
 
virtual const subposetresident () const
 The subset of all members with resident (in memory) dof tuples (const version). More...
 
poset_powerset_statepowerset () const
 The set of subposets of this poset. More...
 
virtual void initialize_standard_subposets (const std::string &xname)
 Creates the subposets common to every poset (e.g. whole() and jims()). More...
 
void put_standard_subposet_ct (int xct)
 Sets the number of standard subposets automatically allocated by the constructor. More...
 
virtual size_type subposet_ct () const
 The number of subposets of this poset. More...
 
virtual int standard_subposet_ct () const
 The number of standard subposets automatically allocated by the constructor. More...
 
bool has_standard_subposet_ct () const
 True if poset is in its initial state, that is, it contains just the standard subposets. More...
 
virtual scoped_index subposet_index_ub () const
 The upper bound on the subposet index;. More...
 
virtual pod_index_type subposet_id (const std::string &xname) const
 The hub id of the subposet with name xname. More...
 
virtual void subposet_id (const std::string &xname, scoped_index &result) const
 The id of the subposet with name xname. More...
 
virtual index_space_iteratorget_subposet_id_space_iterator () const
 Allocates an id space iterator over the subposet ids from the iterator pool. More...
 
virtual void release_subposet_id_space_iterator (index_space_iterator &xitr) const
 Returns the id space iterator xitr to the subposet iterator pool. More...
 
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. More...
 
bool includes_subposet (const scoped_index &xsubposet_id, bool xauto_access=true) const
 True if this poset includes subposet with id xsubposet_id. More...
 
bool includes_subposet (const std::string &xname, bool xauto_access=true) const
 True if this poset includes subposet with name xname. More...
 
bool includes_subposet (const subposet *xs, bool xauto_access=true) const
 True if this poset includes xs. More...
 
bool includes_subposets (const block< pod_index_type > &xhub_ids, bool xauto_access=true) const
 True if this poset includes subposets with hub ids xhub_ids. More...
 
bool includes_subposets (const block< scoped_index > &xids, bool xauto_access=true) const
 True if this poset includes subposets with ids xids. More...
 
virtual pod_index_type new_subposet (bool xinitialize=true)
 Creates a new subposet. If xinitialize, make the subposet empty,. More...
 
void new_subposet (bool xinitialize, scoped_index &result)
 Creates a new subposet. If xinitialize, make the subposet empty,. More...
 
virtual pod_index_type new_subposet (const block< pod_index_type > &xmembers)
 Creates a new subposet. Set the membership to the members with indices in xmambers. More...
 
virtual void new_subposet (const block< scoped_index > &xmembers, scoped_index &result)
 Creates a new subposet. Set the membership to the members with indices in xmambers. More...
 
virtual void delete_subposet (pod_index_type xsubposet_hub_id)
 Deletes the subposet with hub id xsubposet_hub_id. More...
 
void delete_subposet (const scoped_index &xsubposet_id)
 Deletes the subposet with id xsubposet_id. More...
 
virtual const subposetwhole () const
 The "improper" subset containing all members of this poset. More...
 
virtual subposetjims ()
 The subset of all jims (mutable version) More...
 
virtual const subposetjims () const
 The subset of all jims (const version) More...
 
subposettable_dof_subposet ()
 The table dof subposet when this poset is used as a schema (mutable version). More...
 
const subposettable_dof_subposet () const
 The table dof subposet when this poset is used as a schema (const version). More...
 
subposetrow_dof_subposet ()
 The row dof subposet when this poset is used as a schema (mutable version). More...
 
const subposetrow_dof_subposet () const
 The row dof subposet when this poset is used as a schema (const version). More...
 
static const std::string & coarsest_common_refinement_name ()
 The name of the coarsest common refinement subposet. More...
 

SUBPOSET NAME FACET

virtual std::string subposet_name (pod_index_type xsubposet_hub_id, bool xauto_access=false) const
 A name for the subposet with hub id xsubposet_hub_id. More...
 
std::string subposet_name (const scoped_index &xsubposet_id, bool xauto_access=false) const
 A name for the subposet with id xsubposet_id. More...
 
void all_subposet_names (pod_index_type xsubposet_hub_id, block< std::string > &xresult, bool xauto_access=false) const
 All the names for the subposet with hub id xsubposet_hub_id. More...
 
void all_subposet_names (const scoped_index &xsubposet_id, block< std::string > &xresult, bool xauto_access=false) const
 All the names for the subposet with id xsubposet_id. More...
 
size_type subposet_name_ct (pod_index_type xsubposet_hub_id, bool xauto_access) const
 The number of names for the subposet with hub id xsubposet_hub_id. More...
 
size_type subposet_name_ct (const scoped_index &xsubposet_id, bool xauto_access) const
 The number of names for the subposet with id xsubposet_id. More...
 
bool subposet_has_name (pod_index_type xsubposet_hub_id, const std::string &xname, bool xauto_access=false) const
 True if xname is a name for the subposet with hub id xsubposet_hub_id. More...
 
bool subposet_has_name (const scoped_index &xsubposet_id, const std::string &xname, bool xauto_access=false) const
 True if xname is a name for the subposet with id xsubposet_id. More...
 
virtual void put_subposet_name (pod_index_type xsubposet_hub_id, const std::string &xname, bool xunique, bool xauto_access)
 Make xname a name for the subposet with hub id xsubposet_hub_id; if xunique, make xname the only name. More...
 
void put_subposet_name (const scoped_index &xsubposet_id, const std::string &xname, bool xunique, bool xauto_access)
 Make xname a name for the subposet with id xsubposet_id; if xunique, make xname the only name. More...
 
void delete_subposet_name (const std::string &xname, bool xauto_access=false)
 Make xname not a name for any subposet. More...
 
void delete_all_subposet_names (pod_index_type xsubposet_hub_id, bool xauto_access=false)
 Delete all names for the subposet with hub id xsubposet_hub_id;. More...
 
void delete_all_subposet_names (const scoped_index &xsubposet_id, bool xauto_access=false)
 Delete all names for the subposet with id xsubposet_id;. More...
 

SUBPOSET ID SPACE FAMILY FACET

const index_space_familysubposet_id_spaces (bool xauto_access) const
 Collection of subposet id spaces for this (const version). More...
 
index_space_familysubposet_id_spaces (bool xauto_access)
 Collection of subposet id spaces for this (mutable version). More...
 
const hub_index_space_handlesubposet_hub_id_space (bool xauto_access) const
 The subposet hub id space. More...
 
virtual const scoped_indexsubposet_id (bool xauto_access) const
 An id in the subposet hub id space; intended for copying to initialize ids to the subposet id space. More...
 
scoped_index subposet_id (pod_index_type xid, bool xauto_access) const
 An id in the subposet hub id space with pod xid. More...
 

SCHEMA FACET

typedef schema_poset_member schema_type
 The type of schema member for this class. More...
 
virtual schema_poset_memberschema ()
 The schema for this poset (mutable version). More...
 
virtual const schema_poset_memberschema () const
 The schema for this poset (const version). More...
 
schema_poset_memberschema (bool xauto_access)
 The schema for this poset, auto_accessible (mutable version). More...
 
const schema_poset_memberschema (bool xauto_access) const
 The schema for this poset, auto_accessible (const version). More...
 
virtual bool schema_is_ancestor_of (const schema_poset_member *xother_schema) const
 True if xother_schema conforms to the type of schema required by this. More...
 
bool schema_is (const std::string &xschema_name) const
 True if the schema of this has name xname. More...
 
bool same_schema (const poset_state_handle *xother) const
 True if other has the same schema as this. More...
 
bool same_schema (const abstract_poset_member *xother) const
 True if other has the same schema as this. More...
 

TABLE DOF FACET

poset_table_statetable () const
 The table of dof tuples of this poset. More...
 
void initialize_table_dofs (void *xtable_dofs, size_t xtable_dof_ub)
 Initializes the table dofs ("class variables") More...
 
void initialize_table_dof_tuple (array_poset_dof_map *xdof_tuple)
 Installs xdof_tuple as the table dof tuple. More...
 
virtual bool table_dof_map_conforms (const poset_dof_map *xdof_map) const
 True if xdof_map conforms to (is derived from) the type of table dof map required by this poset state and handle. More...
 
virtual bool row_dof_map_conforms (const poset_dof_map *xdof_map) const
 True if xdof_map conforms to (is derived from) the type of row dof map required by this poset state and handle. More...
 
virtual array_poset_dof_maptable_dof_map (bool xrequire_write_access=false)
 The map from table dof client_ids to table dof values for this poset (mutable version) More...
 
virtual const array_poset_dof_maptable_dof_map (bool xrequire_write_access=false) const
 The map from table dof client_ids to table dof values for this poset (const version) More...
 
void table_dof_tuple (void *xbuf, size_t xbuflen) const
 OBSOLETE: use table_dofs(). Copies the entire table dof tuple from internal storage to xbuf. More...
 
void * table_dofs ()
 The table dofs for this instance (mutable version). More...
 
const void * table_dofs () const
 The table dofs for this instance (const version). More...
 
void * table_dofs (bool xauto_access)
 The table dofs for this instance (mutable auto-access version). More...
 
const void * table_dofs (bool xauto_access) const
 The table dofs for this instance (const auto-access version). More...
 

ROW DOF FACET

virtual poset_dof_maprow_dof_map (pod_index_type xtuple_hub_id, bool xrequire_write_access=false) const
 The map from row dof client_ids to row dof values for dof tuple hub id xtuple_hub_id. More...
 
poset_dof_maprow_dof_map (const scoped_index &xtuple_id, bool xrequire_write_access=false) const
 The map from row dof client_ids to row dof values for dof tuple id xtuple_id. More...
 
virtual const scoped_indexnew_row_dof_map ()
 Creates a new row dof map. More...
 
virtual const scoped_indexclone_row_dof_map (const poset_dof_map &xprototype)
 Creates a new row dof map which is a clone of xprototype. More...
 
poset_dof_mapmember_dof_map (pod_index_type xmbr_hub_id, bool xrequire_write_access=false)
 The dof map associated with the member identified by hub id xmbr_hub_id (mutable version). More...
 
poset_dof_mapmember_dof_map (const scoped_index &xmbr_id, bool xrequire_write_access=false)
 The dof map associated with the member identified by xmbr_index (mutable version). More...
 
const poset_dof_mapmember_dof_map (pod_index_type xmbr_hub_id, bool xrequire_write_access=false) const
 The dof map associated with the member identified by hub id xmbr_hub_id (const version). More...
 
const poset_dof_mapmember_dof_map (const scoped_index &xmbr_id, bool xrequire_write_access=false) const
 The dof map associated with the member identified by xmbr_index (const version). More...
 
void member_dof_tuple (pod_index_type xmbr_hub_id, void *xbuf, size_t xbuf_len, bool xauto_access) const
 Copies the dof tuple of the member with hub id xmbr_hub_id into the buffer xbuf of length xbuf_len bytes. More...
 
void put_member_dof_tuple (pod_index_type xmbr_hub_id, void *xbuf, size_t xbuf_len, bool xauto_access)
 Copies the contents of the buffer xbuf of len xbuf_len into the dof tuple of the member with hub id xmbr_hub_id. More...
 
pod_index_type member_dof_tuple_id (pod_index_type xmbr_hub_id, bool xauto_access) const
 The dof tuple hub id of the member with hub id xmbr_hub_id. More...
 
void member_dof_tuple_id (const scoped_index &xmbr_id, scoped_index &result, bool xauto_access) const
 The dof tuple index of the member with id xmbr_id. More...
 
void put_member_dof_tuple_id (pod_index_type xmbr_hub_id, pod_index_type xtuple_hub_id, bool xauto_access)
 Sets the dof tuple hub id of the member with hub id xmbr_hub_id to xtuple_hub_id. More...
 
void put_member_dof_tuple_id (const scoped_index &xmbr_id, const scoped_index &xtuple_id, bool xauto_access)
 Sets the dof tuple id of the member with id xmbr_id to xtuple_id. More...
 
bool contains_row_dof_tuple (pod_index_type xtuple_hub_id) const
 True if this contains a tuple with hub id xtuple_hub_id. More...
 
bool contains_row_dof_tuple (const scoped_index &xtuple_id) const
 True if this contains a tuple with id xtuple_id. More...
 
size_type row_dof_tuple_ct () const
 The number of row_dof_tuples of this poset. More...
 
int standard_row_dof_tuple_ct () const
 The number of standard row_dof_tuples automatically allocated by the constructor. More...
 
bool has_standard_row_dof_tuple_ct () const
 True if poset is in its initial state, that is, it contains just the standard row_dof_tuples. More...
 

DOF TUPLE ID SPACE FAMILY FACET

const index_space_familydof_tuple_id_spaces (bool xauto_access) const
 Collection of dof tuple id spaces for this (const version). More...
 
index_space_familydof_tuple_id_spaces (bool xauto_access)
 Collection of dof tuple id spaces for this (mutable version). More...
 
const hub_index_space_handledof_tuple_hub_id_space (bool xauto_access) const
 The dof tuple hub id space. More...
 
virtual const scoped_indexdof_tuple_id (bool xauto_access) const
 An id in the dof tuple hub id space; intended for copying to initialize ids to the dof tuple id space. More...
 
scoped_index dof_tuple_id (pod_index_type xid, bool xauto_access) const
 An id in the dof tuple hub id space with pod xid. More...
 

SCHEMATIZATION FACET

void initialize_dof_id_space (subposet &xdof_subposet)
 Initialize the id space for the dof subposet, xdof_subposet. More...
 
virtual bool is_schematized (bool xauto_access) const
 True if this poset has been prepared for use as a schema, that is, if the top member has been schematized. More...
 
virtual void schematize (subposet *xtable_dof_subposet, subposet *xrow_dof_subposet, bool xall_members=false)
 Prepare this poset and its top member for use as a schema. If xall_members = true, schematize all other members as well. More...
 

VERSION FACET

static const std::string & VERSION_PREFIX ()
 The prefix which begins the name of every version subposet. More...
 
static int VERSION_PREFIX_LENGTH ()
 The length of _version_prefix. More...
 
bool is_version_name (const std::string &xname) const
 True if xname has the proper form for a version name. More...
 
std::string version_to_name (int xversion) const
 Creates the standard name for the level xversion whole subposet. More...
 
int version_from_name (const std::string &xname) const
 Extracts the version from the standard name. More...
 
void put_version (int xversion)
 Set the current level to xversion. More...
 
virtual int version_ct () const
 The number of versions currently defined. More...
 
virtual int version () const
 The current version. More...
 
virtual pod_index_type version_index (int xversion) const
 The subposet hub id of the whole() subposet for version xversion. More...
 
void version_index (int xversion, scoped_index &result) const
 The subposet id of the whole() subposet for version xversion. More...
 
virtual pod_index_type version_jims_index (int xversion) const
 The subposet hub id of the jims() subposet for version xversion. More...
 
void version_jims_index (int xversion, scoped_index &result) const
 The subposet id of the jims() subposet for version xversion. More...
 
bool has_version (int xversion) const
 True if xversion is a valid version. More...
 
bool is_version () const
 True if this poset is a version. More...
 

I/O SUPPORT FACET

virtual schema_poset_membernew_schema_handle (const std::string &xid_space_name, pod_index_type xschema_member_ext_id, pod_index_type xbase_space_ext_id, pod_index_type xfiber_schema_ext_id, pod_index_type xlocal_schema_ext_id)
 Creates a member handle of the type appropriate for members of this when used as a schema. Intended for use only by the i/o subsystem. /. More...
 
virtual index_iteratorget_decomposition (pod_index_type xindex) const
 An iterator over the members of the decomposition identified by xindex. /. More...
 
index_iteratorbound_iterator (const poset_bounds &xbnd_id, bool xis_ub) const
 An iterator for the upper bound (xis_ub == true) or the lower bound (xis_ub == false) for xbounds. More...
 
bool bound_contains_member (const poset_bounds &xbounds, bool xis_ub, const scoped_index &xindex) const
 True if the upper bound id (xis_ub == true) or the lower bound (xis_ub == false) of xbounds contains the member specified by xindex. More...
 
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. More...
 
virtual bool is_valid_int_id (pod_index_type xint_id, const std::string &xid_space_name, bool xauto_access) const
 True if xint_id can be translated to an external id using the equivalence map with name xid_space_name. More...
 
bool is_valid_int_id (const scoped_index &xint_id, const std::string &xid_space_name, bool xauto_access) const
 True if xint_id can be translated to an external id using the equivalence map with name xid_space_name. More...
 
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. More...
 
pod_index_type get_ext_id (const scoped_index &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. More...
 
virtual pod_index_type prereq_id (int xi) const
 The id of the xi-th prerequisite poset for this. More...
 

DEBUGGING FACET

void to_stream (std::ostream &xos=std::cout)
 Write instance information to an ostream (default = stdout). More...
 
std::string to_string ()
 Get instance information as a string. More...
 

ANY FACET

virtual bool is_ancestor_of (const any *other) const
 True if other conforms to this. More...
 
virtual poset_state_handleclone () const
 Virtual constructor; creates a new handle of the same actual type as this, attached to the same state as this. More...
 
virtual bool invariant () const
 Class invariant. More...
 

Additional Inherited Members

- Public Member Functions inherited from sheaf::read_write_monitor_handle
virtual ~read_write_monitor_handle ()
 Descturctor. More...
 
bool state_is_read_only_accessible () const
 True if this is attached and the state is accessible for read access but not for write. More...
 
bool state_is_not_read_only_accessible () const
 True if this is attached and the state is not accessible for read only access. More...
 
bool state_is_read_accessible () const
 True if this is attached and if the state is accessible for read or access control is disabled. More...
 
bool state_is_not_read_accessible () const
 True if this is attached and if the state is accessible for read or if access control is disabled. More...
 
bool state_is_auto_read_accessible (bool xauto_access) const
 True if the state is auto accessible for read, that is, if the state is already accessible for read or if this is attached and xuto_access is true. More...
 
bool state_is_read_write_accessible () const
 True if this is attached and if the state is accessible for read and write or access control is disabled. More...
 
bool state_is_not_read_write_accessible () const
 True if state is attached and if not accessible for read and write or access control is disabled. More...
 
bool state_is_auto_read_write_accessible (bool xauto_access) const
 True if state is auto accessible for read and write, that is, if the state is already accessible for read and write or if this is attached and xuto_access is true. or if this is attached and access control is disabled. More...
 
int access_request_depth () const
 The number of times access has been requested and granted without being released. More...
 
bool state_is_mode_locked () const
 Obsolete. More...
 
int mode_lock_ct () const
 Obsolete. More...
 
void get_mode_lock () const
 Obsolete. More...
 
void release_mode_lock ()
 Obsolete. More...
 
bool state_is_modified () const
 True if write access has been granted and released since the last call to clear_state_is_modified(). More...
 
void clear_state_is_modified ()
 Sets the state_is_modified floag to false. 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...
 
- Static Public Member Functions inherited from sheaf::read_write_monitor_handle
static bool access_control_disabled ()
 True if access control mechanism is disabled. Default value is enabled (false) and access is controlled by the per-thread access control functions. Disabled (true) is equivalent to having read-write access at all times, irrespective of any access control requests. Synonym for read_write_monitor::access_control_disabled(). More...
 
static void enable_access_control ()
 Enables access control. Synonym for read_write_monitor::enable_access_control(). Should only be invoked once at beginning of a program, before any other SheafSystem calls. Once enabled, access control can not be disabled. More...
 
- Protected Member Functions inherited from sheaf::read_write_monitor_handle
bool access_guards_disabled () const
 True if thread of control is still in constructor. More...
 
void disable_access_guards ()
 Disables access guards; intended for use only within constructors of monitored objects, where no other client can possibly have access (yet). More...
 
void enable_access_guards ()
 Re-enables access guards. More...
 
- Protected Member Functions inherited from sheaf::any
 any ()
 default constructor More...
 

Detailed Description

A client handle for a general, abstract partially order set.

Definition at line 136 of file poset_state_handle.h.

Member Typedef Documentation

◆ member_name_map_type

The type of the member name map.

Definition at line 947 of file poset_state_handle.h.

◆ schema_type

The type of schema member for this class.

Definition at line 1865 of file poset_state_handle.h.

Constructor & Destructor Documentation

◆ poset_state_handle() [1/3]

◆ ~poset_state_handle()

sheaf::poset_state_handle::~poset_state_handle ( )
protectedvirtual

Destructor.

Precondition
  • !is_attached()

Definition at line 122 of file poset_state_handle.cc.

References poset_state_handle().

Referenced by poset_state_handle().

◆ poset_state_handle() [2/3]

sheaf::poset_state_handle::poset_state_handle ( abstract_poset_member xtop,
abstract_poset_member xbottom 
)
protected

Covariant constructor.

Precondition
  • xtop != 0
  • xbottom != 0
Postcondition
  • !is_attached()

Definition at line 141 of file poset_state_handle.cc.

References sheaf::poset_component::is_attached(), and type_id().

◆ poset_state_handle() [3/3]

sheaf::poset_state_handle::poset_state_handle ( const poset_state_handle xother)
inlineprotected

Copy constructor; disabled.

Definition at line 203 of file poset_state_handle.h.

Member Function Documentation

◆ all_member_names() [1/2]

void sheaf::poset_state_handle::all_member_names ( pod_index_type  xmbr_hub_id,
block< std::string > &  xresult,
bool  xauto_access = false 
) const

All the names for the member with hub id xmbr_hub_id.

Precondition
  • state_is_auto_read_accessible(xauto_access)
  • contains_member(xmbr_hub_id, xauto_access)
Postcondition
  • xresult.ct() == member_name_ct(xmbr_hub_id, xauto_access)
  • for(int i = ( 0 ); i < ( xresult.ct() ); ++ i ) member_has_name(xmbr_hub_id, xresult[i], xauto_access)

Definition at line 2790 of file poset_state_handle.cc.

References sheaf::auto_block< T, S >::ct().

Referenced by sheaf::member_record::externalize(), and member_name().

◆ all_member_names() [2/2]

void sheaf::poset_state_handle::all_member_names ( const scoped_index xmbr_id,
block< std::string > &  xresult,
bool  xauto_access = false 
) const

All the names for the member with id xmbr_id.

Precondition
  • contains_member(xmbr_id, xauto_access)
Postcondition
  • xresult.ct() == member_name_ct(xmbr_id, xauto_access)
  • for(int i = ( 0 ); i < ( xresult.ct() ); ++ i ) member_has_name(xmbr_id, xresult[i], xauto_access)

Definition at line 2825 of file poset_state_handle.cc.

References sheaf::auto_block< T, S >::ct(), sheaf::scoped_index::hub_pod(), and member_name_ct().

◆ all_subposet_names() [1/2]

void sheaf::poset_state_handle::all_subposet_names ( pod_index_type  xsubposet_hub_id,
block< std::string > &  xresult,
bool  xauto_access = false 
) const

All the names for the subposet with hub id xsubposet_hub_id.

Precondition
  • state_is_auto_read_accessible(xauto_access)
  • includes_subposet(xsubposet_hub_id, xauto_access)
Postcondition
  • xresult.ct() == subposet_name_ct(xsubposet_hub_id, xauto_access)
  • for(int i = ( 0 ); i < ( xresult.ct() ); ++ i ) subposet_has_name(xsubposet_hub_id, xresult[i], xauto_access)

Definition at line 5724 of file poset_state_handle.cc.

References sheaf::auto_block< T, S >::ct().

Referenced by subposet_name().

◆ all_subposet_names() [2/2]

void sheaf::poset_state_handle::all_subposet_names ( const scoped_index xsubposet_id,
block< std::string > &  xresult,
bool  xauto_access = false 
) const

All the names for the subposet with id xsubposet_id.

Precondition
  • includes_subposet(xsubposet_id, xauto_access)
Postcondition
  • xresult.ct() == subposet_name_ct(xsubposet_id, xauto_access)
  • for(int i = ( 0 ); i < ( xresult.ct() ); ++ i ) subposet_has_name(xsubposet_id, xresult[i], xauto_access)

Definition at line 5759 of file poset_state_handle.cc.

References sheaf::auto_block< T, S >::ct(), sheaf::scoped_index::hub_pod(), and subposet_name_ct().

◆ append_upper_cover_of_bottom() [1/2]

void sheaf::poset_state_handle::append_upper_cover_of_bottom ( pod_index_type  xmbr_hub_begin,
pod_index_type  xmbr_hub_end 
)

Appends the interval of hub ids [xmbr_hub_begin, xmbr_hub_end) to the upper cover of bottom. This function is intended to use by block members that store there vertices in a gathered id space.

Precondition
  • for( pod_index_type i=xmbr_hub_begin ; i<xmbr_hub_end ; ++i ) contains_member(i)
Postcondition
  • for( pod_index_type i=xmbr_hub_begin ; i<xmbr_hub_end ; ++i ) cover_contains_member(UPPER, BOTTOM_INDEX, i)

Definition at line 4901 of file poset_state_handle.cc.

References sheaf::UPPER.

Referenced by copy_cover(), fiber_bundle::structured_block_1d_crg_interval::finalize(), fiber_bundle::point_block_crg_interval::finalize(), fiber_bundle::structured_block_2d_crg_interval::finalize(), fiber_bundle::structured_block_3d_crg_interval::finalize(), and fiber_bundle::zone_nodes_block_crg_interval::finalize().

◆ append_upper_cover_of_bottom() [2/2]

void sheaf::poset_state_handle::append_upper_cover_of_bottom ( const scoped_index xmbr_begin,
const scoped_index xmbr_end 
)

Appends the interval of ids [xbegin, xend) to the upper cover of bottom. This function is intended to use by block members that store there vertices in a gathered id space.

Precondition
  • for( scoped_index i=xmbr_begin ; i<xmbr_end ; ++i ) contains_member(i)
Postcondition
  • for( scoped_index i=xmbr_begin ; i<xmbr_end ; ++i ) cover_contains_member(UPPER, BOTTOM_INDEX, i.hub_pod())

Definition at line 4924 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_pod(), transfer_cover(), and sheaf::UPPER.

◆ attach_handle_data_members()

void sheaf::poset_state_handle::attach_handle_data_members ( )
protectedvirtual

Initializes the handle data members when this handle is attached to a state. Intended to be redefined in descendants to handle additional data members defined there.

Precondition
Hack:
Invariant requires all three entities below to be attached, but invariant gets called within scope of attach_to_state, so have to disable the invariant.
Postcondition

Reimplemented in sheaf::namespace_poset, fiber_bundle::base_space_poset, fiber_bundle::section_space_schema_poset, fiber_bundle::section_space_schema_poset, and fiber_bundle::sec_rep_descriptor_poset.

Definition at line 936 of file poset_state_handle.cc.

References ensure_lattice_invariant().

Referenced by fiber_bundle::section_space_schema_poset::attach_handle_data_members(), sheaf::namespace_poset::attach_handle_data_members(), and initialize_handle_data_members().

◆ attach_to_state() [1/5]

◆ attach_to_state() [2/5]

void sheaf::poset_state_handle::attach_to_state ( const namespace_poset xhost,
pod_index_type  xindex 
)
protectedvirtual

Attach this handle to the state associated with the member with index xindex in name space xhost.

Precondition
  • xhost != 0
  • xhost->contains_member(xindex, false)
Postcondition
  • postcondition_of(poset_state_handle::attach_to_state(abstract_poset_member*))

Definition at line 560 of file poset_state_handle.cc.

References attach_to_state(), contains_member(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

◆ attach_to_state() [3/5]

void sheaf::poset_state_handle::attach_to_state ( const namespace_poset xhost,
const scoped_index xindex 
)
protected

Attach this handle to the state associated with the member with index xindex in name space xhost.

Precondition
  • xhost != 0
  • xhost->contains_member(xindex, false)
Postcondition
  • postcondition_of(poset_state_handle::attach_to_state(abstract_poset_member*))

Definition at line 590 of file poset_state_handle.cc.

References attach_to_state(), contains_member(), sheaf::scoped_index::hub_pod(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

◆ attach_to_state() [4/5]

void sheaf::poset_state_handle::attach_to_state ( const namespace_poset xhost,
const std::string &  xname 
)
protectedvirtual

Attach this handle to the state associated with the member with name xname in name space xhost.

Precondition
  • xhost != 0
  • xhost->contains_member(xname, false)
Todo:
require that xname refers to a jim
Postcondition
  • postcondition_of(poset_state_handle::attach_to_state(abstract_poset_member*))

Definition at line 611 of file poset_state_handle.cc.

References attach_to_state(), contains_member(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

◆ attach_to_state() [5/5]

void sheaf::poset_state_handle::attach_to_state ( const abstract_poset_member xmbr)
protectedvirtual

Attach this handle to the state with associated with namespace member xmbr.

Error:
argument should be a namespace_poset_member
Precondition
  • xmbr != 0
  • dynamic_cast<namespace_poset*>(xmbr->host()) != 0
Todo:
make arg namespace_poset_member, then make the following executable.
Precondition
Error:
doesn't have a type_id yet; type_id is feature of state.
Issue:
should haandles have type_ids?
Postcondition

Definition at line 642 of file poset_state_handle.cc.

References detach_from_state(), sheaf::poset_component::host(), sheaf::poset_component::index(), sheaf::abstract_poset_member::is_jim(), sheaf::namespace_poset_dof_map::poset_pointer(), sheaf::namespace_poset_dof_map::put_poset_pointer(), sheaf::read_write_monitor_handle::state_is_read_accessible(), sheaf::read_write_monitor_handle::state_is_read_write_accessible(), and state_obj().

◆ begin_jim_edit_mode()

void sheaf::poset_state_handle::begin_jim_edit_mode ( bool  xauto_access = true)
virtual

Allow editing of jims and jim order relation.

Issue:
visibility of jim edit mode. begin/end_jim_edit really shouldn't be public, because they are inherited by the immutable posets primitives_poset and primitives_poset_schema. But KCC seems to be unhappy about a public virtual function in class poset overriding a private virtual function from a base class, so we've made them public here.
Todo:
resolve this issue either by introducing an immutable base class or implementing const correctness so primitives_poset etc can be const.
Precondition
Postcondition
  • jim_edit_depth(false) == old_jim_edit_depth + 1

Reimplemented in sheaf::namespace_poset, fiber_bundle::sec_rep_space, and sheaf::poset.

Definition at line 244 of file poset_state_handle.cc.

References end_jim_edit_mode().

Referenced by sheaf::poset::begin_jim_edit_mode(), fiber_bundle::sec_rep_space::begin_jim_edit_mode(), sheaf::namespace_poset::begin_jim_edit_mode(), sheaf::abstract_poset_member::delete_down(), sheaf::abstract_poset_member::delete_state(), sheaf::namespace_poset_schema::initialize_standard_members(), sheaf::member_record_set::internalize(), is_external(), sheaf::schema_poset_member::make_schema(), sheaf::schema_poset_member::new_jim_state(), fiber_bundle::sec_rep_descriptor::new_jim_state(), and sheaf::abstract_poset_member::new_jim_state().

◆ bottom() [1/2]

◆ bottom() [2/2]

const sheaf::abstract_poset_member & sheaf::poset_state_handle::bottom ( ) const

The bottom member of the poset (const version)

Definition at line 2337 of file poset_state_handle.cc.

References initialize_standard_members().

◆ bound_contains_member()

bool sheaf::poset_state_handle::bound_contains_member ( const poset_bounds xbounds,
bool  xis_ub,
const scoped_index xindex 
) const

True if the upper bound id (xis_ub == true) or the lower bound (xis_ub == false) of xbounds contains the member specified by xindex.

Hack:
the product subposet hack, version 2. This member exists only to encapsulate the hack.
Precondition
  • xis_ub ? xbounds.descriptor().ub_is_valid_for(*this) : xbounds.descriptor().lb_is_valid_for(*this)
  • contains_member(xindex, false)

Definition at line 7995 of file poset_state_handle.cc.

References sheaf::poset_bounds::descriptor(), get_int_id(), sheaf::scoped_index::hub_pod(), sheaf::poset_bounds::lb_id(), sheaf::poset_bounds::lb_is_singleton(), sheaf::poset_bounds_descriptor::lb_is_valid_for(), sheaf::poset_bounds::ub_id(), sheaf::poset_bounds::ub_is_singleton(), and sheaf::poset_bounds_descriptor::ub_is_valid_for().

Referenced by bound_iterator(), and sheaf::member_record::internalize().

◆ bound_iterator()

sheaf::index_iterator * sheaf::poset_state_handle::bound_iterator ( const poset_bounds xbnd_id,
bool  xis_ub 
) const

An iterator for the upper bound (xis_ub == true) or the lower bound (xis_ub == false) for xbounds.

Hack:
the product subposet hack, version 2. This member exists only to encapsulate the hack.
Precondition
Postcondition
  • result != 0

Definition at line 7949 of file poset_state_handle.cc.

References bound_contains_member(), sheaf::zn_to_bool::force(), sheaf::poset_bounds::lb_id(), sheaf::poset_bounds::lb_is_singleton(), sheaf::poset_bounds::ub_id(), and sheaf::poset_bounds::ub_is_singleton().

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

◆ class_name()

◆ clear_cover() [1/2]

void sheaf::poset_state_handle::clear_cover ( bool  xlower,
pod_index_type  xmbr_hub_id 
)

Clears the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id.

Precondition
  • contains_member(xmbr_hub_id, false)
Postcondition
  • cover_is_empty(xlower, xmbr_hub_id)

Definition at line 4805 of file poset_state_handle.cc.

Referenced by sheaf::abstract_poset_member::delete_state(), sheaf::depth_first_iterator::next(), and replace_cover_member().

◆ clear_cover() [2/2]

void sheaf::poset_state_handle::clear_cover ( bool  xlower,
const scoped_index xmbr_id 
)

Clears the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id.

Precondition
  • contains_member(xmbr_id)
Postcondition
  • cover_is_empty(xlower, xmbr_id)

Definition at line 4827 of file poset_state_handle.cc.

References copy_cover(), and sheaf::scoped_index::hub_pod().

◆ clear_member_id_spaces()

void sheaf::poset_state_handle::clear_member_id_spaces ( bool  xauto_access)
protected

Deletes all non-standard id spaces.

Precondition
  • state_is_auto_read_write_accessible(xauto_access)
Postcondition
  • member_id_spaces(false).has_only_standard_id_spaces()

Definition at line 3354 of file poset_state_handle.cc.

References extend_last_member_term().

Referenced by sheaf::namespace_poset::clear(), and update_standard_member_id_spaces().

◆ clone()

◆ clone_row_dof_map()

const sheaf::scoped_index & sheaf::poset_state_handle::clone_row_dof_map ( const poset_dof_map xprototype)
virtual

Creates a new row dof map which is a clone of xprototype.

Precondition
  • row_dof_map_conforms(&xprototype)
  • xprototype.schema().row_conforms_to(schema())
Postcondition
  • contains_row_dof_tuple(result)

Definition at line 6761 of file poset_state_handle.cc.

References sheaf::poset_dof_map::copy(), sheaf::poset_dof_map::index(), member_dof_map(), sheaf::poset_dof_map::put_host(), sheaf::schema_poset_member::row_conforms_to(), and sheaf::poset_dof_map::schema().

Referenced by new_row_dof_map().

◆ coarsest_common_refinement_name()

const std::string & sheaf::poset_state_handle::coarsest_common_refinement_name ( )
static

The name of the coarsest common refinement subposet.

Definition at line 5551 of file poset_state_handle.cc.

References resident().

Referenced by row_dof_subposet().

◆ contains_link() [1/2]

bool sheaf::poset_state_handle::contains_link ( pod_index_type  xgreater,
pod_index_type  xlesser 
) const
virtual

True if there is a cover link between hub id xgreater and hub id xlesser.

Precondition
  • contains_member(xlesser, false)
  • contains_member(xgreater, false)

Reimplemented in fiber_bundle::binary_section_space_schema_poset.

Definition at line 4096 of file poset_state_handle.cc.

References sheaf::LOWER, and sheaf::UPPER.

Referenced by fiber_bundle::binary_section_space_schema_poset::binary_section_space_schema_poset(), fiber_bundle::binary_section_space_schema_poset::contains_link(), and delete_link().

◆ contains_link() [2/2]

bool sheaf::poset_state_handle::contains_link ( const scoped_index xgreater,
const scoped_index xlesser 
) const

True if there is a cover link between id xgreater and id xlesser.

Precondition
  • contains_member(xlesser, false)
  • contains_member(xgreater, false)

Definition at line 4121 of file poset_state_handle.cc.

References cover_id_space_id(), and sheaf::scoped_index::hub_pod().

◆ contains_member() [1/6]

bool sheaf::poset_state_handle::contains_member ( pod_index_type  xmbr_hub_id,
bool  xauto_access = true 
) const
virtual

True if some version of this poset contains poset member with hub id xmbr_hub_id.

Precondition
  • state_is_auto_read_accessible(xauto_access)

Reimplemented in fiber_bundle::section_space_schema_poset.

Definition at line 1776 of file poset_state_handle.cc.

Referenced by fiber_bundle::at0::at0(), fiber_bundle::at1::at1(), fiber_bundle::at2::at2(), fiber_bundle::at2_e2::at2_e2(), fiber_bundle::at2_e3::at2_e3(), fiber_bundle::at3::at3(), fiber_bundle::at3_e3::at3_e3(), fiber_bundle::atp::atp(), sheaf::member_member_poset_bounds::attach_to_state(), attach_to_state(), fiber_bundle::binary_section_space_schema_member::attach_to_state(), fiber_bundle::section_space_schema_member::attach_to_state(), fiber_bundle::base_space_member::base_space_member(), geometry::d_bin_point_locator< DC, DB >::branch_points_at_value(), geometry::cylindrical_point_locator::branch_points_at_value(), geometry::db0_point_locator< DC >::branch_points_at_value(), geometry::sec_ed_invertible::branch_points_at_value_ua(), fiber_bundle::section_space_schema_poset::contains_member(), contains_member(), sheaf::namespace_poset::contains_poset(), sheaf::namespace_poset::contains_poset_member(), sheaf::namespace_poset::contains_poset_members(), sheaf::namespace_poset::contains_poset_subposet(), sheaf::poset_scaffold::convert_member_id_to_record_id(), cover_id_space_handle_conforms_to(), fields::edge_centered_polygon_refiner::create_edge_center(), fields::local_field_refiner::create_vertex(), fields::local_field_refiner::create_zone(), sheaf::abstract_poset_member::delete_down(), fiber_bundle::e1::e1(), fiber_bundle::e2::e2(), fiber_bundle::e3::e3(), fiber_bundle::e4::e4(), fiber_bundle::ed::ed(), sheaf::member_record_set::externalize(), fiber_bundle::sec_rep_space::get_branch_id_space(), fiber_bundle::sec_rep_space::get_branch_id_space_iterator(), get_cover_id_space(), fiber_bundle::gl2::gl2(), fiber_bundle::gl3::gl3(), fiber_bundle::gln::gln(), sheaf::poset_dof_map::init_row_dof_map(), sheaf::namespace_poset::insert_poset(), sheaf::poset_table_state::invariant(), fiber_bundle::sec_rep_space::is_multisection(), sheaf::abstract_poset_member::is_valid_index(), fiber_bundle::jcb::jcb(), fiber_bundle::jcb_e13::jcb_e13(), fiber_bundle::jcb_e23::jcb_e23(), fiber_bundle::jcb_e33::jcb_e33(), fiber_bundle::jcb_ed::jcb_ed(), sheaf::poset_bounds_descriptor::lb_is_valid_for(), fiber_bundle::fiber_bundles_namespace::link_poset(), sheaf::namespace_poset::link_poset(), fiber_bundle::fiber_bundles_namespace::make_general_polygon_prototype(), fiber_bundle::fiber_bundles_namespace::make_general_polyhedron_prototype(), fiber_bundle::fiber_bundles_namespace::make_hex_complex_prototype(), fiber_bundle::fiber_bundles_namespace::make_hex_faces_nodes_prototype(), fiber_bundle::fiber_bundles_namespace::make_hex_nodes_prototype(), fiber_bundle::fiber_bundles_namespace::make_hex_prototype(), fiber_bundle::fiber_bundles_namespace::make_part_prototype(), fiber_bundle::fiber_bundles_namespace::make_point_block_1d_prototype(), fiber_bundle::fiber_bundles_namespace::make_point_block_2d_prototype(), fiber_bundle::fiber_bundles_namespace::make_point_block_3d_prototype(), fiber_bundle::fiber_bundles_namespace::make_point_prototype(), fiber_bundle::fiber_bundles_namespace::make_quad_complex_prototype(), fiber_bundle::fiber_bundles_namespace::make_quad_nodes_prototype(), fiber_bundle::fiber_bundles_namespace::make_quad_prototype(), sheaf::schema_poset_member::make_schema(), fiber_bundle::fiber_bundles_namespace::make_segment_complex_prototype(), fiber_bundle::fiber_bundles_namespace::make_segment_prototype(), fiber_bundle::fiber_bundles_namespace::make_structured_block_1d_prototype(), fiber_bundle::fiber_bundles_namespace::make_structured_block_2d_prototype(), fiber_bundle::fiber_bundles_namespace::make_structured_block_3d_prototype(), fiber_bundle::fiber_bundles_namespace::make_tetra_complex_prototype(), fiber_bundle::fiber_bundles_namespace::make_tetra_nodes_prototype(), fiber_bundle::fiber_bundles_namespace::make_tetra_prototype(), fiber_bundle::fiber_bundles_namespace::make_triangle_complex_prototype(), fiber_bundle::fiber_bundles_namespace::make_triangle_nodes_prototype(), fiber_bundle::fiber_bundles_namespace::make_triangle_prototype(), fiber_bundle::fiber_bundles_namespace::make_unstructured_block_prototype(), fiber_bundle::fiber_bundles_namespace::make_zone_nodes_block_prototype(), fiber_bundle::eval_family::member(), fiber_bundle::sec_rep_space::member_dof_map(), member_iterator(), sheaf::namespace_poset::member_poset(), fiber_bundle::met::met(), fiber_bundle::met_e1::met_e1(), fiber_bundle::met_e2::met_e2(), fiber_bundle::met_e3::met_e3(), fiber_bundle::met_ed::met_ed(), sheaf::namespace_poset_member::namespace_poset_member(), sheaf::abstract_poset_member::new_jem_state(), fiber_bundle::homogeneous_block::new_row_dof_map(), fiber_bundle::base_space_member::new_row_dof_map(), fiber_bundle::sec_rep_space::new_row_dof_map(), sheaf::partial_poset_member::partial_poset_member(), sheaf::poset_member::poset_member(), fields::base_space_map::push(), sheaf::poset_scaffold::put_member_names_to_poset(), remove_cover_members(), sheaf::primitives_poset::row_dof_map_conforms(), sheaf::schema_poset_member::schema_poset_member(), fiber_bundle::sec_at0::sec_at0(), fiber_bundle::sec_at1::sec_at1(), fiber_bundle::sec_at2::sec_at2(), fiber_bundle::sec_at2_e2::sec_at2_e2(), fiber_bundle::sec_at2_e3::sec_at2_e3(), fiber_bundle::sec_at3::sec_at3(), fiber_bundle::sec_at3_e3::sec_at3_e3(), fiber_bundle::sec_atp::sec_atp(), fiber_bundle::sec_e1::sec_e1(), fiber_bundle::sec_e1_uniform::sec_e1_uniform(), fiber_bundle::sec_e2::sec_e2(), fiber_bundle::sec_e2_uniform::sec_e2_uniform(), fiber_bundle::sec_e3::sec_e3(), fiber_bundle::sec_e3_uniform::sec_e3_uniform(), fiber_bundle::sec_e4::sec_e4(), fiber_bundle::sec_ed::sec_ed(), fiber_bundle::sec_jcb::sec_jcb(), fiber_bundle::sec_jcb_e13::sec_jcb_e13(), fiber_bundle::sec_jcb_e23::sec_jcb_e23(), fiber_bundle::sec_jcb_e33::sec_jcb_e33(), fiber_bundle::sec_jcb_ed::sec_jcb_ed(), fiber_bundle::sec_met::sec_met(), fiber_bundle::sec_met_e1::sec_met_e1(), fiber_bundle::sec_met_e2::sec_met_e2(), fiber_bundle::sec_met_e3::sec_met_e3(), fiber_bundle::sec_met_ed::sec_met_ed(), fiber_bundle::sec_rep_descriptor::sec_rep_descriptor(), fiber_bundle::sec_rep_space_member::sec_rep_space_member(), fiber_bundle::sec_st2::sec_st2(), fiber_bundle::sec_st2_e2::sec_st2_e2(), fiber_bundle::sec_st2_e3::sec_st2_e3(), fiber_bundle::sec_st3::sec_st3(), fiber_bundle::sec_st3_e3::sec_st3_e3(), fiber_bundle::sec_st4::sec_st4(), fiber_bundle::sec_st4_e2::sec_st4_e2(), fiber_bundle::sec_st4_e3::sec_st4_e3(), fiber_bundle::sec_stp::sec_stp(), fiber_bundle::sec_t2::sec_t2(), fiber_bundle::sec_t2_e2::sec_t2_e2(), fiber_bundle::sec_t2_e3::sec_t2_e3(), fiber_bundle::sec_t3::sec_t3(), fiber_bundle::sec_t3_e3::sec_t3_e3(), fiber_bundle::sec_t4::sec_t4(), fiber_bundle::sec_t4_e2::sec_t4_e2(), fiber_bundle::sec_t4_e3::sec_t4_e3(), fiber_bundle::sec_tp::sec_tp(), fiber_bundle::sec_tuple::sec_tuple(), fiber_bundle::sec_vd::sec_vd(), fiber_bundle::st2::st2(), fiber_bundle::st2_e2::st2_e2(), fiber_bundle::st2_e3::st2_e3(), fiber_bundle::st3::st3(), fiber_bundle::st3_e3::st3_e3(), fiber_bundle::st4::st4(), fiber_bundle::st4_e2::st4_e2(), fiber_bundle::st4_e3::st4_e3(), fiber_bundle::stp::stp(), fiber_bundle::t2::t2(), fiber_bundle::t2_e2::t2_e2(), fiber_bundle::t2_e3::t2_e3(), fiber_bundle::t3::t3(), fiber_bundle::t3_e3::t3_e3(), fiber_bundle::t4::t4(), fiber_bundle::t4_e2::t4_e2(), fiber_bundle::t4_e3::t4_e3(), fiber_bundle::section_space_schema_poset::table_dof_tuple_ptr(), sheaf::total_poset_member::total_poset_member(), fiber_bundle::tp::tp(), fiber_bundle::tuple::tuple(), sheaf::poset_bounds_descriptor::ub_is_valid_for(), and fiber_bundle::vd::vd().

◆ contains_member() [2/6]

bool sheaf::poset_state_handle::contains_member ( const scoped_index xmbr_id,
bool  xauto_access = true 
) const

True if some version of this poset contains poset member with id xmbr_id.

Precondition

Definition at line 1805 of file poset_state_handle.cc.

References contains_member(), and sheaf::scoped_index::hub_pod().

◆ contains_member() [3/6]

bool sheaf::poset_state_handle::contains_member ( pod_index_type  xmbr_hub_id,
int  xversion,
bool  xauto_access = true 
) const
virtual

True if version xversion of this poset contains poset member with hub id xmbr_hub_id.

Precondition
  • state_is_auto_read_accessible(xauto_access)
  • has_version(xversion)

Reimplemented in fiber_bundle::section_space_schema_poset.

Definition at line 1818 of file poset_state_handle.cc.

References contains_member().

◆ contains_member() [4/6]

bool sheaf::poset_state_handle::contains_member ( const scoped_index xmbr_id,
int  xversion,
bool  xauto_access = true 
) const

True if version xversion of this poset contains poset member with id xmbr_id.

Precondition
  • has_version(xversion)

Definition at line 1851 of file poset_state_handle.cc.

References contains_member(), and sheaf::scoped_index::hub_pod().

◆ contains_member() [5/6]

bool sheaf::poset_state_handle::contains_member ( const std::string &  xname,
bool  xauto_access = true 
) const
virtual

True if this poset contains a member with name xname.

Precondition
  • state_is_auto_read_accessible(xauto_access)
  • !xname.empty()

Definition at line 1867 of file poset_state_handle.cc.

References contains_member(), and sheaf::is_valid().

◆ contains_member() [6/6]

bool sheaf::poset_state_handle::contains_member ( const abstract_poset_member xmbr,
bool  xauto_access = true 
) const

True if this poset contains xmbr.

Precondition
  • xmbr != 0

Definition at line 1899 of file poset_state_handle.cc.

References contains_members(), sheaf::poset_component::host(), and sheaf::poset_component::index().

◆ contains_members() [1/6]

bool sheaf::poset_state_handle::contains_members ( const scoped_index xmbrs,
int  xmbrs_ct,
bool  xauto_access = true 
) const

True if this poset contains poset member(s) with indices in xmbrs.

Precondition
  • xmbrs != 0
  • state_is_auto_read_accessible(xauto_access)
Postcondition
  • -unexecutable( "result == for all i in xmbrs( contains_member(i) )" )

Definition at line 1919 of file poset_state_handle.cc.

Referenced by contains_member(), contains_members(), sheaf::namespace_poset::contains_poset_members(), sheaf::abstract_poset_member::new_jrm_state(), sheaf::subposet::new_state(), and sheaf::subposet::subposet().

◆ contains_members() [2/6]

bool sheaf::poset_state_handle::contains_members ( pod_index_type xmbrs,
int  xmbrs_ct,
bool  xauto_access = true 
) const

True if this poset contains poset member(s) with indices in xmbrs.

Precondition
  • xmbrs != 0
  • state_is_auto_read_accessible(xauto_access)
Postcondition
  • -unexecutable( "result == for all i in xmbrs( contains_member(i) )" )

Definition at line 1959 of file poset_state_handle.cc.

References contains_members().

◆ contains_members() [3/6]

bool sheaf::poset_state_handle::contains_members ( const std::string *  xnames,
int  xnames_ct,
bool  xauto_access = true 
) const

True if this poset contains poset member(s) with names in xnames.

Precondition
  • xnames != 0
  • for(int i = ( 0 ); i < ( xnames_ct ); ++ i ) !xnames[i].empty()
  • state_is_auto_read_accessible(xauto_access)
Postcondition
  • -unexecutable( "result == for all i in xnames( contains_member(xnames[i]))" )

Definition at line 2079 of file poset_state_handle.cc.

References contains_members().

◆ contains_members() [4/6]

bool sheaf::poset_state_handle::contains_members ( const block< pod_index_type > &  p,
bool  xauto_access = true 
) const

True if this poset contains poset members with indices in p.

Precondition
  • state_is_auto_read_accessible(xauto_access)
Postcondition
  • -unexecutable( "result == for all i in xmbrs( contains_member(i))" )

Definition at line 1999 of file poset_state_handle.cc.

References contains_members(), and sheaf::auto_block< T, S >::ct().

◆ contains_members() [5/6]

bool sheaf::poset_state_handle::contains_members ( const block< scoped_index > &  p,
bool  xauto_access = true 
) const

True if this poset contains poset members with indices in p.

Precondition
  • state_is_auto_read_accessible(xauto_access)
Postcondition
  • -unexecutable( "result == for all i in xmbrs( contains_member(i))" )

Definition at line 2039 of file poset_state_handle.cc.

References contains_members(), and sheaf::auto_block< T, S >::ct().

◆ contains_members() [6/6]

bool sheaf::poset_state_handle::contains_members ( const block< std::string > &  p,
bool  xauto_access = true 
) const

True if this poset contains poset members with names in p.

Precondition
  • for(int i = ( 0 ); i < ( xmbrs.ct() ); ++ i ) !xmbrs[i].empty()
  • state_is_auto_read_accessible(xauto_access)
Postcondition
  • -unexecutable( "result == for all i in xmbrs( contains_member(xmbrs[i]) )" )

Definition at line 2120 of file poset_state_handle.cc.

References sheaf::auto_block< T, S >::ct(), and is_empty().

◆ contains_row_dof_tuple() [1/2]

bool sheaf::poset_state_handle::contains_row_dof_tuple ( pod_index_type  xtuple_hub_id) const

◆ contains_row_dof_tuple() [2/2]

bool sheaf::poset_state_handle::contains_row_dof_tuple ( const scoped_index xtuple_id) const

True if this contains a tuple with id xtuple_id.

Precondition

Definition at line 7080 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_pod(), and row_dof_tuple_ct().

◆ copy_cover() [1/2]

void sheaf::poset_state_handle::copy_cover ( bool  xlower,
pod_index_type  xmbr_hub_id,
pod_index_type  xother_mbr_hub_id 
)

Copies the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id to the member with hub id xother_mbr_hub_id.

Precondition
  • contains_member(xmbr_hub_id, false)
  • contains_member(xother_mbr_hub_id, false)
Postcondition
  • -unexecutable( cover_is_equal(xlower, xmbr_hub_id, xother_mbr_hub_id) )

Definition at line 4849 of file poset_state_handle.cc.

Referenced by clear_cover(), and sheaf::poset_orderer::postvisit_action().

◆ copy_cover() [2/2]

void sheaf::poset_state_handle::copy_cover ( bool  xlower,
const scoped_index xmbr_id,
const scoped_index xother_mbr_id 
)

Copies the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id to the member with id xother_mbr_id.

Precondition
  • contains_member(xmbr_id)
  • contains_member(xother_mbr_id)
Postcondition
  • -unexecutable( cover_is_equal(xlower, xmbr_id, xother_mbr_id) )

Definition at line 4874 of file poset_state_handle.cc.

References append_upper_cover_of_bottom(), and sheaf::scoped_index::hub_pod().

◆ cover_contains_iterator() [1/2]

bool sheaf::poset_state_handle::cover_contains_iterator ( bool  xlower,
pod_index_type  xmbr_hub_id,
const index_space_iterator xitr 
) const

True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id is the domain of iterator xitr.

Precondition
  • contains_member(xmbr_hub_id, false)

Definition at line 4278 of file poset_state_handle.cc.

Referenced by release_cover_id_space_iterator().

◆ cover_contains_iterator() [2/2]

bool sheaf::poset_state_handle::cover_contains_iterator ( bool  xlower,
const scoped_index xmbr_id,
const index_space_iterator xitr 
) const

True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id is the domain of iterator xitr.

Precondition
  • contains_member(xmbr_id)

Definition at line 4294 of file poset_state_handle.cc.

References cover_is_empty(), and sheaf::scoped_index::hub_pod().

◆ cover_contains_member() [1/2]

bool sheaf::poset_state_handle::cover_contains_member ( bool  xlower,
pod_index_type  xmbr_hub_id,
pod_index_type  xother_mbr_hub_id 
) const

True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id contains member with hub id xother_mbr_hub_id.

Precondition
  • contains_member(xmbr_hub_id, false)

Definition at line 4414 of file poset_state_handle.cc.

Referenced by cover_ct(), and fiber_bundle::product_section_space_schema_crg_range::implicit_cover_contains_member().

◆ cover_contains_member() [2/2]

bool sheaf::poset_state_handle::cover_contains_member ( bool  xlower,
const scoped_index xmbr_id,
const scoped_index xother_mbr_id 
) const

True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id contains member with id xother_mbr_id.

Precondition
  • contains_member(xmbr_id)

Definition at line 4430 of file poset_state_handle.cc.

References cover_is_equal(), and sheaf::scoped_index::hub_pod().

◆ cover_ct() [1/2]

sheaf::size_type sheaf::poset_state_handle::cover_ct ( bool  xlower,
pod_index_type  xmbr_hub_id 
) const
virtual

The number of members in the lower cover (xlower true) or upper cover (xlower false) of the member with hub id xmbr_hub_id.

Precondition
  • contains_member(xmbr_hub_id, false)
Postcondition
  • result >= 0

Reimplemented in fiber_bundle::binary_section_space_schema_poset.

Definition at line 4366 of file poset_state_handle.cc.

Referenced by fiber_bundle::binary_section_space_schema_poset::binary_section_space_schema_poset(), fiber_bundle::binary_section_space_schema_poset::cover_ct(), cover_is_singleton(), fiber_bundle::section_space_schema_table_dof_crg_range::implicit_cover_size(), and fiber_bundle::product_section_space_schema_crg_range::implicit_cover_size().

◆ cover_ct() [2/2]

sheaf::size_type sheaf::poset_state_handle::cover_ct ( bool  xlower,
const scoped_index xmbr_id 
) const

The number of members in the lower cover (xlower true) or upper cover (xlower false) of the member with id xmbr_id.

Precondition
  • contains_member(xmbr_id, false)
Postcondition
  • result >= 0

Definition at line 4390 of file poset_state_handle.cc.

References cover_contains_member(), and sheaf::scoped_index::hub_pod().

◆ cover_id_space_handle_conforms_to()

template<typename handle_type >
bool sheaf::poset_state_handle::cover_id_space_handle_conforms_to ( bool  xlower,
pod_index_type  xmbr_index 
) const

True if a handle for the lower (xlower true) or upper (xlower false) cover id space of the member with hub id xmbr_index conforms to a handle of type handle_type.

Precondition
  • contains_member(xmbr_index)

Definition at line 70 of file poset_state_handle.impl.h.

References contains_member(), sheaf::poset_crg_state::cover_id_space_handle_conforms_to(), crg(), and remove_cover_members().

Referenced by get_cover_id_space().

◆ cover_id_space_id() [1/2]

sheaf::pod_index_type sheaf::poset_state_handle::cover_id_space_id ( bool  xlower,
pod_index_type  xmbr_hub_id 
) const

The id for the lower (xlower true) or upper (xlower false) cover id space of the member with hub id xmbr_hub_id.

Precondition
  • contains_member(xmbr_hub_id)
Postcondition
  • is_valid(result)

Definition at line 4138 of file poset_state_handle.cc.

References sheaf::is_valid().

Referenced by contains_link().

◆ cover_id_space_id() [2/2]

sheaf::pod_index_type sheaf::poset_state_handle::cover_id_space_id ( bool  xlower,
const scoped_index xmbr_id 
) const

The id for the lower (xlower true) or upper (xlower false) cover id space of the member with id xmbr_id.

Precondition
  • contains_member(xmbr_id)
Postcondition
  • is_valid(result)

Definition at line 4159 of file poset_state_handle.cc.

References get_cover_id_space(), sheaf::scoped_index::hub_pod(), and sheaf::is_valid().

◆ cover_is_empty() [1/2]

bool sheaf::poset_state_handle::cover_is_empty ( bool  xlower,
pod_index_type  xmbr_hub_id 
) const

True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id is empty.

Precondition
  • contains_member(xmbr_hub_id, false)

Definition at line 4310 of file poset_state_handle.cc.

Referenced by cover_contains_iterator(), sheaf::abstract_poset_member::delete_down(), fields::field_vd::delete_field_spaces(), fields::field_factory::delete_field_spaces(), and fiber_bundle::section_space_schema_poset::new_standard_member_hack().

◆ cover_is_empty() [2/2]

bool sheaf::poset_state_handle::cover_is_empty ( bool  xlower,
const scoped_index xmbr_id 
) const

True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id is empty.

Precondition
  • contains_member(xmbr_id, false)

Definition at line 4324 of file poset_state_handle.cc.

References cover_is_singleton(), and sheaf::scoped_index::hub_pod().

◆ cover_is_equal() [1/2]

bool sheaf::poset_state_handle::cover_is_equal ( bool  xlower,
pod_index_type  xmbr_hub_id,
pod_index_type  xother_mbr_hub_id 
) const

True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id contains the same members as the lower or upper cover set, respectively, of the member with hub id xother_mbr_hub_id.

Precondition
  • contains_member(xmbr_hub_id, false)
  • contains_member(xother_mbr_hub_id, false)

Definition at line 4448 of file poset_state_handle.cc.

Referenced by cover_contains_member(), and fiber_bundle::binary_section_space_schema_poset::merge_jems().

◆ cover_is_equal() [2/2]

bool sheaf::poset_state_handle::cover_is_equal ( bool  xlower,
const scoped_index xmbr_id,
const scoped_index xother_mbr_id 
) const

True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id contains the same members as the lower or upper cover set, respectively, of the member with id xother_mbr_id.

Precondition
  • contains_member(xmbr_id)
  • contains_member(xother_mbr_id)

Definition at line 4465 of file poset_state_handle.cc.

References first_cover_member(), and sheaf::scoped_index::hub_pod().

◆ cover_is_singleton() [1/2]

bool sheaf::poset_state_handle::cover_is_singleton ( bool  xlower,
pod_index_type  xmbr_hub_id 
) const

True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id contains exactly one member.

Precondition
  • contains_member(xmbr_hub_id, false)

Definition at line 4338 of file poset_state_handle.cc.

Referenced by cover_is_empty().

◆ cover_is_singleton() [2/2]

bool sheaf::poset_state_handle::cover_is_singleton ( bool  xlower,
const scoped_index xmbr_id 
) const

True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id contains exactly one member.

Precondition
  • contains_member(xmbr_id, false)

Definition at line 4352 of file poset_state_handle.cc.

References cover_ct(), and sheaf::scoped_index::hub_pod().

◆ crg()

◆ delete_all_member_names() [1/2]

void sheaf::poset_state_handle::delete_all_member_names ( pod_index_type  xmbr_hub_id,
bool  xauto_access = false 
)

Delete all names for the member with hub id xmbr_hub_id.

Precondition
  • state_is_auto_read_write_accessible(xauto_access)
Postcondition
  • member_name_ct(xmbr_hub_id, xauto_access) == 0

Definition at line 3038 of file poset_state_handle.cc.

Referenced by delete_member_name().

◆ delete_all_member_names() [2/2]

void sheaf::poset_state_handle::delete_all_member_names ( const scoped_index xmbr_id,
bool  xauto_access = false 
)

Delete all names for the member with id xmbr_id.

Precondition
Postcondition
  • member_name_ct(xmbr_id, xauto_access) == 0

Definition at line 3069 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_pod(), and member_name_map().

◆ delete_all_subposet_names() [1/2]

void sheaf::poset_state_handle::delete_all_subposet_names ( pod_index_type  xsubposet_hub_id,
bool  xauto_access = false 
)

Delete all names for the subposet with hub id xsubposet_hub_id;.

Precondition
  • state_is_auto_read_write_accessible(xauto_access)
Postcondition
  • subposet_name_ct(xsubposet_hub_id, xauto_access) == 0

Definition at line 5981 of file poset_state_handle.cc.

Referenced by delete_subposet_name().

◆ delete_all_subposet_names() [2/2]

void sheaf::poset_state_handle::delete_all_subposet_names ( const scoped_index xsubposet_id,
bool  xauto_access = false 
)

Delete all names for the subposet with id xsubposet_id;.

Precondition
Postcondition
  • subposet_name_ct(xsubposet_id, xauto_access) == 0

Definition at line 6012 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_pod(), and subposet_id_spaces().

◆ delete_link() [1/2]

void sheaf::poset_state_handle::delete_link ( pod_index_type  xgreater,
pod_index_type  xlesser 
)
virtual

◆ delete_link() [2/2]

void sheaf::poset_state_handle::delete_link ( const scoped_index xgreater,
const scoped_index xlesser 
)

Delete the cover link between id xgreater and id xlesser.

Precondition
Postcondition
  • !contains_link(xgreater, xlesser)

Definition at line 4073 of file poset_state_handle.cc.

References contains_link(), and sheaf::scoped_index::hub_pod().

◆ delete_member() [1/2]

void sheaf::poset_state_handle::delete_member ( pod_index_type  xmbr_hub_id)
virtual

Delete the member with hub id xmbr_hub_id. Warning: this routine does not delete links; it will leave any links to this member dangling. Use abstract_poset_member::delete_state unless you know what you are doing.

Precondition
  • contains_member(xmbr_hub_id, false)
Todo:
should not be able to delete a standard member unless called from destructor
Postcondition
  • !contains_member(xmbr_hub_id, false)
  • -unexecutable( "for all subposets s( !s.contains_member(xindex))" )

Reimplemented in fiber_bundle::section_space_schema_poset.

Definition at line 1608 of file poset_state_handle.cc.

Referenced by sheaf::abstract_poset_member::delete_down(), fields::field_vd::delete_field_spaces(), fields::field_factory::delete_field_spaces(), fiber_bundle::section_space_schema_poset::delete_member(), sheaf::abstract_poset_member::delete_state(), new_member_interval(), and fiber_bundle::section_space_schema_poset::table_dof_tuple_ptr().

◆ delete_member() [2/2]

void sheaf::poset_state_handle::delete_member ( const scoped_index xmbr_id)

Delete the member with id xmbr_id. Warning: this routine does not delete links; it will leave any links to this member dangling. Use abstract_poset_member::delete_state unless you know what you are doing.

Precondition
  • contains_member(xmbr_id, false)
Todo:
should not be able to delete a standard member unless called from destructor
Postcondition
  • !contains_member(xmbr_id, false)
  • -unexecutable( "for all subposets s( !s.contains_member(xindex))" )

Definition at line 1646 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_pod(), and member_ct().

◆ delete_member_name()

void sheaf::poset_state_handle::delete_member_name ( const std::string &  xname,
bool  xauto_access = false 
)

Make xname not a name for any member.

Precondition
  • !xname.empty()
  • state_is_auto_read_write_accessible(xauto_access)
Postcondition
  • !contains_member(xname, xauto_access)

Definition at line 3006 of file poset_state_handle.cc.

References delete_all_member_names().

Referenced by put_member_name().

◆ delete_subposet() [1/2]

void sheaf::poset_state_handle::delete_subposet ( pod_index_type  xsubposet_hub_id)
virtual

Deletes the subposet with hub id xsubposet_hub_id.

Precondition
  • includes_subposet(xsubposet_hub_id, false)
Postcondition
  • !includes_subposet(xsubposet_hub_id, false)

Reimplemented in fiber_bundle::section_space_schema_poset.

Definition at line 5441 of file poset_state_handle.cc.

Referenced by sheaf::subposet::delete_state(), fiber_bundle::section_space_schema_poset::delete_subposet(), new_subposet(), and fiber_bundle::section_space_schema_poset::table_dof_tuple_ptr().

◆ delete_subposet() [2/2]

void sheaf::poset_state_handle::delete_subposet ( const scoped_index xsubposet_id)

Deletes the subposet with id xsubposet_id.

Precondition
  • includes_subposet(xsubposet_id, false)
Postcondition
  • !includes_subposet(xsubposet_id, false)

Definition at line 5464 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_pod(), and whole().

◆ delete_subposet_name()

void sheaf::poset_state_handle::delete_subposet_name ( const std::string &  xname,
bool  xauto_access = false 
)

Make xname not a name for any subposet.

Precondition
  • !xname.empty()
  • state_is_auto_read_write_accessible(xauto_access)
Postcondition
  • !includes_subposet(xname, xauto_access)

Definition at line 5949 of file poset_state_handle.cc.

References delete_all_subposet_names().

Referenced by put_subposet_name(), and sheaf::subposet_names_record::transfer_internal_buffer_to_poset().

◆ detach_from_state()

void sheaf::poset_state_handle::detach_from_state ( )
protectedvirtual

Detach this handle from its state.

Postcondition
  • !is_attached()
  • !is_external()

Reimplemented in sheaf::namespace_poset.

Definition at line 716 of file poset_state_handle.cc.

References new_state().

Referenced by attach_to_state(), sheaf::namespace_poset::detach_from_state(), and sheaf::namespace_poset::~namespace_poset().

◆ dof_tuple_hub_id_space()

const sheaf::hub_index_space_handle & sheaf::poset_state_handle::dof_tuple_hub_id_space ( bool  xauto_access) const

The dof tuple hub id space.

Precondition
  • state_is_auto_read_accessible(xauto_access)
Postcondition
  • result.is_attached()

Definition at line 7234 of file poset_state_handle.cc.

References dof_tuple_id(), sheaf::index_space_family::hub_id_space(), sheaf::explicit_index_space_handle::id_spaces(), and sheaf::explicit_index_space_handle::is_attached().

Referenced by dof_tuple_id_spaces(), sheaf::poset_dof_map::poset_dof_map(), and sheaf::primitives_poset_dof_map::primitives_poset_dof_map().

◆ dof_tuple_id() [1/2]

const sheaf::scoped_index & sheaf::poset_state_handle::dof_tuple_id ( bool  xauto_access) const
virtual

An id in the dof tuple hub id space; intended for copying to initialize ids to the dof tuple id space.

Precondition
  • state_is_auto_read_accessible(xauto_access)
Postcondition
  • result.same_scope(dof_tuple_hub_id_space(xauto_access))

Definition at line 7265 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_id(), and sheaf::scoped_index::same_scope().

Referenced by dof_tuple_hub_id_space(), fiber_bundle::section_space_schema_table_dof_crg_range::dof_tuple_id(), fiber_bundle::product_section_space_schema_crg_range::dof_tuple_id(), sheaf::member_record::externalize(), and fiber_bundle::unstructured_block_builder::put_name_mode().

◆ dof_tuple_id() [2/2]

sheaf::scoped_index sheaf::poset_state_handle::dof_tuple_id ( pod_index_type  xid,
bool  xauto_access 
) const

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

Precondition
  • state_is_auto_read_accessible(xauto_access)
Postcondition
  • result.same_scope(dof_tuple_hub_id_space(xauto_access))
  • result.pod() == xid

Definition at line 7296 of file poset_state_handle.cc.

References is_schematized(), sheaf::scoped_index::pod(), and sheaf::scoped_index::same_scope().

◆ dof_tuple_id_spaces() [1/2]

const sheaf::index_space_family & sheaf::poset_state_handle::dof_tuple_id_spaces ( bool  xauto_access) const

Collection of dof tuple id spaces for this (const version).

Precondition
  • state_is_auto_read_accessible(xauto_access)
Postcondition
  • is_basic_query

Definition at line 7172 of file poset_state_handle.cc.

Referenced by sheaf::storage_agent::clear_all_id_spaces(), has_standard_row_dof_tuple_ct(), sheaf::poset_scaffold::initialize_dof_tuple_id_space(), sheaf::storage_agent::initialize_poset_id_spaces_for_write(), and sheaf::storage_agent::state_is_consistent().

◆ dof_tuple_id_spaces() [2/2]

sheaf::index_space_family & sheaf::poset_state_handle::dof_tuple_id_spaces ( bool  xauto_access)

Collection of dof tuple id spaces for this (mutable version).

Precondition
  • state_is_auto_read_accessible(xauto_access)
Postcondition
  • is_basic_query

Definition at line 7203 of file poset_state_handle.cc.

References dof_tuple_hub_id_space().

◆ end_jim_edit_mode()

void sheaf::poset_state_handle::end_jim_edit_mode ( bool  xensure_lattice_invariant = true,
bool  xauto_access = true 
)
virtual

◆ ensure_lattice_invariant()

void sheaf::poset_state_handle::ensure_lattice_invariant ( )
protected

Restores the lattice invariant after editing jims.

Issue:
Depends on bottom is index 0 and top is index 1.
Issue:
this algorithm does not make top cover bottom in empty poset. The mathematical meaning is unclear, but it seems to work just fine.
Error:
this action is only correct if lindex is a jim. Otherwise, lindex should become the greatest bottom jem.
Postcondition
  • -unexecutable( only top has no upper cover )
  • -unexecutable( order relation is well defined )

Definition at line 976 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_pod(), sheaf::index_iterator::index(), sheaf::index_iterator::is_done(), sheaf::LOWER, sheaf::index_iterator::next(), sheaf::poset_orderer::restore_order(), terminate_access(), and sheaf::UPPER.

Referenced by attach_handle_data_members().

◆ extend_last_member_term()

void sheaf::poset_state_handle::extend_last_member_term ( size_type  xct,
bool  xauto_access 
)
protected

Extends the last term of the member hub id space to ct == xct.

Hack:
A temporary method to support extension of section space schema when the underlying base space is extended.
Precondition
  • state_is_auto_read_write_accessible(xauto_access)
Postcondition
  • for( scoped_index i=old_last_term_begin ; i<old_last_term_begin+xct ; ++i ) i.in_scope()

Definition at line 3385 of file poset_state_handle.cc.

References sheaf::scoped_index::in_scope(), and new_term().

Referenced by clear_member_id_spaces(), and fiber_bundle::product_section_space_schema_poset::update_hub_id_space().

◆ factory()

◆ first_cover_member() [1/2]

sheaf::pod_index_type sheaf::poset_state_handle::first_cover_member ( bool  xlower,
pod_index_type  xmbr_hub_id 
) const

◆ first_cover_member() [2/2]

void sheaf::poset_state_handle::first_cover_member ( bool  xlower,
const scoped_index xmbr_id,
scoped_index result 
) const

Id of the first member of the lower (xlower true) or upper (xlower false) cover of the member with id xmbr_id.

Precondition
  • contains_member(xmbr_id)
  • !cover_is_empty(xlower, xmbr_id)

Definition at line 4499 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_pod(), insert_cover_member(), and sheaf::scoped_index::put().

◆ get_cover_id_space() [1/3]

sheaf::index_space_handle & sheaf::poset_state_handle::get_cover_id_space ( bool  xlower,
pod_index_type  xmbr_hub_id 
) const

Allocates a handle for the lower (xlower true) or upper (xlower false) cover id space of the member with hub id xmbr_hub_id from the pool of id spaces.

Precondition
  • contains_member(xmbr_hub_id, false)

Definition at line 4180 of file poset_state_handle.cc.

Referenced by cover_id_space_id().

◆ get_cover_id_space() [2/3]

sheaf::index_space_handle & sheaf::poset_state_handle::get_cover_id_space ( bool  xlower,
const scoped_index xmbr_id 
) const

Allocates a handle for the lower (xlower true) or upper (xlower false) cover id space of the member with id xmbr_id from the pool of id spaces.

Precondition
  • contains_member(xmbr_id)

Definition at line 4194 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_pod(), and release_cover_id_space().

◆ get_cover_id_space() [3/3]

template<typename handle_type >
handle_type & sheaf::poset_state_handle::get_cover_id_space ( bool  xlower,
pod_index_type  xmbr_index 
) const

Allocates an handle of type handle_type for the lower (xlower true) or upper (xlower false) cover of member with index xmbr_index from the pool of id spaces.

Precondition
  • contains_member(xmbr_index)
  • -unexecutable( "handle type conforms to state or is mutable" )
Postcondition
  • result.is_attached()

Definition at line 47 of file poset_state_handle.impl.h.

References contains_member(), cover_id_space_handle_conforms_to(), crg(), and sheaf::poset_crg_state::get_cover_id_space().

◆ get_cover_id_space_iterator() [1/2]

sheaf::index_space_iterator & sheaf::poset_state_handle::get_cover_id_space_iterator ( bool  xlower,
pod_index_type  xmbr_hub_id 
) const

Allocates an iterator for the lower (xlower true) or upper (xlower false) cover id space of the member with hub id xmbr_hub_id from the pool of id space iterators.

Precondition
  • contains_member(xmbr_hub_id, false)

Definition at line 4229 of file poset_state_handle.cc.

Referenced by fields::body_builder::build_pa(), fields::edge_centered_polygon_refiner::create_edge_center(), sheaf::abstract_poset_member::delete_state(), sheaf::member_record::externalize(), sheaf::depth_first_iterator::next(), sheaf::poset_orderer::postvisit_action(), sheaf::poset_dft::recursive_dft(), release_cover_id_space(), remove_cover_members(), and fiber_bundle::sec_vd::value_at_point_ua().

◆ get_cover_id_space_iterator() [2/2]

sheaf::index_space_iterator & sheaf::poset_state_handle::get_cover_id_space_iterator ( bool  xlower,
const scoped_index xmbr_id 
) const

Allocates an iterator for the lower (xlower true) or upper (xlower false) cover id space of the member with id xmbr_id from the pool of id space iterators.

Precondition
  • contains_member(xmbr_id)

Definition at line 4243 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_pod(), and release_cover_id_space_iterator().

◆ get_decomposition()

sheaf::index_iterator * sheaf::poset_state_handle::get_decomposition ( pod_index_type  xindex) const
virtual

An iterator over the members of the decomposition identified by xindex. /.

Hack:
the product subposet hack, version 2. / This member exists only to encapsulate the hack. /
Hack:
the product subposet hack, version 2. This member exists only to encapsulate the hack.
Precondition
  • includes_subposet(xindex)

Reimplemented in fiber_bundle::section_space_schema_poset, and fiber_bundle::section_space_schema_poset.

Definition at line 7922 of file poset_state_handle.cc.

References bound_iterator(), sheaf::poset_component::detach_from_state(), sheaf::subposet::id_space(), and sheaf::subposet::members().

Referenced by sheaf::schema_poset_member::get_decomposition(), and new_schema_handle().

◆ get_ext_id() [1/2]

sheaf::pod_index_type sheaf::poset_state_handle::get_ext_id ( pod_index_type  xint_id,
const std::string &  xid_space_name,
bool  xauto_access 
) const
virtual

◆ get_ext_id() [2/2]

sheaf::pod_index_type sheaf::poset_state_handle::get_ext_id ( const scoped_index 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.

Precondition
  • is_valid_int_id(xint_id, xid_space_name, xauto_access)
Postcondition
  • result >= 0

Definition at line 8204 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_pod(), and prereq_id().

◆ get_int_id()

sheaf::pod_index_type sheaf::poset_state_handle::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.

Precondition
  • state_is_auto_read_accessible(xauto_access)
  • xext_id >= standard_member_ct() ? member_id_spaces(false).contains(xid_space_name, xext_id) : true
Postcondition
  • contains_member(result, false)

Definition at line 8043 of file poset_state_handle.cc.

References is_valid_int_id().

Referenced by bound_contains_member(), sheaf::poset_scaffold::convert_record_id_to_member_id(), sheaf::poset_scaffold::convert_record_id_to_subposet_id(), fiber_bundle::binary_section_space_schema_member::get_int_id(), sheaf::schema_poset_member::get_int_id(), fiber_bundle::binary_section_space_schema_poset::new_schema_handle(), fiber_bundle::product_section_space_schema_poset::new_schema_handle(), and sheaf::poset_general_record::transfer_internal_buffer_to_poset().

◆ get_read_access()

void sheaf::poset_state_handle::get_read_access ( ) const
virtual

Get read access to the state associated with this.

Precondition
Postcondition

Reimplemented from sheaf::read_write_monitor_handle.

Reimplemented in sheaf::namespace_poset, fiber_bundle::section_space_schema_poset, fiber_bundle::section_space_schema_poset, fiber_bundle::sec_rep_descriptor_poset, and sheaf::primitives_poset_schema.

Definition at line 374 of file poset_state_handle.cc.

References get_read_write_access().

Referenced by sheaf::abstract_poset_member::attach_to_state(), fiber_bundle::base_space_member::base_space_member(), fiber_bundle::unstructured_block_builder::build_block_decomposition(), tool::vtk_poly_data_builder::build_pa(), tool::vtk_unstructured_grid_builder::build_pa(), sheaf::schema_poset_member::conforms_to(), sheaf::deep_size(), sheaf::schema_poset_member::dof_ct(), fiber_bundle::section_space_schema_member::fiber_schema_conforms_to(), fields::field_refiner::field_refiner(), fiber_bundle::sec_rep_space::get_branch_id_space(), fiber_bundle::sec_rep_space::get_branch_id_space_iterator(), fiber_bundle::section_space_schema_poset::get_read_access(), sheaf::namespace_poset::get_read_access(), fiber_bundle::section_space_schema_poset::get_read_write_access(), sheaf::namespace_poset::get_read_write_access(), fiber_bundle::dlinear_eval_family::initialize(), fiber_bundle::uniform_eval_family::initialize(), fiber_bundle::constant_eval_family::initialize(), fields::field_refiner_family::initialize(), fiber_bundle::section_space_schema_poset::initialize_handle_data_members(), fiber_bundle::section_space_schema_poset::initialize_table_dof_subposet(), sheaf::namespace_poset::insert_poset(), fiber_bundle::sec_rep_space::is_multisection(), jim_edit_depth(), fiber_bundle::sec_rep_space::multisection_id_space(), fields::field_factory_2< coord_type, prop_type, base_type >::new_field(), sheaf::abstract_poset_member::new_jim_state(), fiber_bundle::sec_rep_descriptor::new_jim_state(), fiber_bundle::homogeneous_block::new_row_dof_map(), fiber_bundle::point_block_1d::new_row_dof_map(), fiber_bundle::point_block_2d::new_row_dof_map(), fiber_bundle::point_block_3d::new_row_dof_map(), fiber_bundle::base_space_member::new_row_dof_map(), fiber_bundle::structured_block_1d::new_state(), fiber_bundle::point_block_2d::new_state(), fiber_bundle::point_block_1d::new_state(), fiber_bundle::point_block_3d::new_state(), fiber_bundle::structured_block_2d::new_state(), fiber_bundle::structured_block_3d::new_state(), fiber_bundle::zone_nodes_block::new_state(), sheaf::namespace_poset::new_state(), sheaf::operator<<(), fiber_bundle::print_prereq_paths(), fiber_bundle::base_space_poset::prototype_type_id(), sheaf::storage_agent::read_prerequisites(), fields::refining_section_pusher::refining_section_pusher(), sheaf::depth_first_iterator::release_cover_id_space_iterators(), fiber_bundle::sec_rep_space::schema(), fields::section_pusher::section_pusher(), sheaf::storage_agent::write_prerequisites(), sheaf::storage_agent::write_remainder(), and sheaf::member_record_set::~member_record_set().

◆ get_read_write_access()

void sheaf::poset_state_handle::get_read_write_access ( bool  xrelease_read_only_access = false)
virtual

Get read write access to the state associated with this. If release_read_only_access is requested, read only access will be released then read_write_access will be requested, finally the same level of read_access as before will be requested.

Precondition
Postcondition

Reimplemented from sheaf::read_write_monitor_handle.

Reimplemented in sheaf::namespace_poset, fiber_bundle::section_space_schema_poset, fiber_bundle::section_space_schema_poset, fiber_bundle::sec_rep_descriptor_poset, and sheaf::primitives_poset_schema.

Definition at line 399 of file poset_state_handle.cc.

References release_access().

Referenced by fiber_bundle::at0::at0(), fiber_bundle::at2_e2::at2_e2(), fiber_bundle::at2_e3::at2_e3(), fiber_bundle::at3_e3::at3_e3(), fiber_bundle::sec_rep_space::begin_jim_edit_mode(), fiber_bundle::unstructured_block_builder::build_block_decomposition(), sheaf::storage_agent::clear_all_id_spaces(), sheaf::namespace_poset::delete_poset(), fiber_bundle::e1::e1(), fiber_bundle::e2::e2(), fiber_bundle::e3::e3(), fiber_bundle::e4::e4(), fiber_bundle::product_section_space_schema_crg_range::gathered_id_space(), get_read_access(), fiber_bundle::section_space_schema_poset::get_read_write_access(), sheaf::namespace_poset::get_read_write_access(), fiber_bundle::gl2::gl2(), fiber_bundle::gl3::gl3(), sheaf::namespace_poset_schema::initialize_standard_subposets(), fiber_bundle::jcb_e13::jcb_e13(), fiber_bundle::jcb_e23::jcb_e23(), fiber_bundle::jcb_e33::jcb_e33(), fiber_bundle::fiber_bundles_namespace::make_base_space_schema_poset(), fiber_bundle::fiber_bundles_namespace::make_fiber_space_schema_poset(), sheaf::schema_poset_member::make_schema(), fiber_bundle::fiber_bundles_namespace::make_sec_rep_descriptor_schema_poset(), fiber_bundle::fiber_bundles_namespace::make_section_space_schema_schema_poset(), fiber_bundle::unstructured_block::make_standard_subposets_persistent(), fiber_bundle::met_e1::met_e1(), fiber_bundle::met_e2::met_e2(), fiber_bundle::met_e3::met_e3(), fields::field_factory::new_0d_point_base_space(), fields::field_factory::new_1d_structured_base_space(), fields::field_factory::new_1d_uniform_coordinates(), fields::field_factory::new_1d_unstructured_base_space(), fields::field_factory::new_1d_unstructured_coordinates(), fields::field_factory::new_2d_structured_base_space(), fields::field_factory::new_2d_uniform_coordinates(), fields::field_factory::new_2d_unstructured_base_space(), fields::field_factory::new_2d_unstructured_coordinates(), fields::field_factory::new_3d_structured_base_space(), fields::body_factory::new_3d_uniform_bodies(), fields::field_factory::new_3d_uniform_coordinates(), fields::field_factory::new_3d_unstructured_base_space(), fields::field_factory::new_3d_unstructured_coordinates(), sheaf::schema_poset_member::new_host(), sheaf::abstract_poset_member::new_jem_state(), sheaf::schema_poset_member::new_jim_state(), fiber_bundle::sec_rep_space_member::new_jrm_state(), sheaf::abstract_poset_member::new_jrm_state(), fields::field_factory::new_property(), fiber_bundle::homogeneous_block::new_row_dof_map(), fiber_bundle::structured_block_1d::new_row_dof_map(), fiber_bundle::point_block_1d::new_row_dof_map(), fiber_bundle::structured_block_2d::new_row_dof_map(), fiber_bundle::point_block_2d::new_row_dof_map(), fiber_bundle::structured_block_3d::new_row_dof_map(), fiber_bundle::point_block_3d::new_row_dof_map(), fiber_bundle::base_space_member::new_row_dof_map(), sheaf::poset::new_state(), fiber_bundle::binary_section_space_schema_poset::new_state(), sheaf::subposet::new_state(), fiber_bundle::product_section_space_schema_poset::new_state(), fiber_bundle::sec_rep_space::new_state(), fiber_bundle::base_space_poset::prototype_dof_tuple_id(), sheaf::id_block::put_id_space(), fiber_bundle::st2_e2::st2_e2(), fiber_bundle::st2_e3::st2_e3(), fiber_bundle::st3_e3::st3_e3(), fiber_bundle::st4_e2::st4_e2(), fiber_bundle::st4_e3::st4_e3(), fiber_bundle::t2_e2::t2_e2(), fiber_bundle::t2_e3::t2_e3(), fiber_bundle::t3_e3::t3_e3(), fiber_bundle::t4_e2::t4_e2(), fiber_bundle::t4_e3::t4_e3(), sheaf::table_dof_tuple_record::transfer_internal_buffer_to_poset(), fiber_bundle::product_section_space_schema_member::update_row_cache(), fiber_bundle::section_space_schema_member::update_row_cache(), and sheaf::namespace_poset::~namespace_poset().

◆ get_subposet_id_space_iterator()

sheaf::index_space_iterator & sheaf::poset_state_handle::get_subposet_id_space_iterator ( ) const
virtual

Allocates an id space iterator over the subposet ids from the iterator pool.

Precondition

Definition at line 5134 of file poset_state_handle.cc.

References release_subposet_id_space_iterator().

Referenced by sheaf::poset_scaffold::convert_record_id_to_subposet_id(), and subposet_id().

◆ greatest_jem() [1/2]

sheaf::pod_index_type sheaf::poset_state_handle::greatest_jem ( pod_index_type  xmbr_hub_id) const
virtual

◆ greatest_jem() [2/2]

void sheaf::poset_state_handle::greatest_jem ( const scoped_index xmbr_id,
scoped_index result 
) const

The id of the largest member which is join-equivalent to id xmbr_id.

Precondition
  • contains_member(xmbr_id, false)

Definition at line 3656 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_pod(), least_jem(), and sheaf::scoped_index::put().

◆ has_standard_member_ct()

◆ has_standard_row_dof_tuple_ct()

◆ has_standard_subposet_ct()

bool sheaf::poset_state_handle::has_standard_subposet_ct ( ) const

◆ has_version()

◆ host()

◆ in_jim_edit_mode()

bool sheaf::poset_state_handle::in_jim_edit_mode ( ) const

True if editing jims and jim order relation is allowed.

Postcondition

Definition at line 320 of file poset_state_handle.cc.

References jim_edit_depth().

Referenced by fiber_bundle::base_space_member::base_space_member(), sheaf::poset::begin_jim_edit_mode(), fiber_bundle::sec_rep_space::begin_jim_edit_mode(), fiber_bundle::unstructured_block_builder::build_block_pa(), fields::edge_centered_polygon_refiner::create_edge_center(), fields::local_field_refiner::create_vertex(), fields::local_field_refiner::create_zone(), sheaf::abstract_poset_member::delete_down(), sheaf::namespace_poset::delete_poset(), sheaf::poset::end_jim_edit_mode(), end_jim_edit_mode(), fiber_bundle::sec_rep_space::end_jim_edit_mode(), sheaf::namespace_poset_schema::initialize_standard_subposets(), sheaf::namespace_poset::insert_poset(), fiber_bundle::fiber_bundles_namespace::link_poset(), sheaf::namespace_poset::link_poset(), fiber_bundle::fiber_bundles_namespace::make_base_space_member_prototypes(), fiber_bundle::fiber_bundles_namespace::make_general_polygon_prototype(), fiber_bundle::fiber_bundles_namespace::make_general_polyhedron_prototype(), fiber_bundle::fiber_bundles_namespace::make_hex_complex_prototype(), fiber_bundle::fiber_bundles_namespace::make_hex_faces_nodes_prototype(), fiber_bundle::fiber_bundles_namespace::make_hex_nodes_prototype(), fiber_bundle::fiber_bundles_namespace::make_hex_prototype(), fields::edge_centered_polygon_refiner::make_new_vertices(), fields::edge_centered_polygon_refiner::make_new_zones(), fiber_bundle::fiber_bundles_namespace::make_part_prototype(), fiber_bundle::fiber_bundles_namespace::make_point_block_1d_prototype(), fiber_bundle::fiber_bundles_namespace::make_point_block_2d_prototype(), fiber_bundle::fiber_bundles_namespace::make_point_block_3d_prototype(), fiber_bundle::fiber_bundles_namespace::make_point_prototype(), fiber_bundle::fiber_bundles_namespace::make_quad_complex_prototype(), fiber_bundle::fiber_bundles_namespace::make_quad_nodes_prototype(), fiber_bundle::fiber_bundles_namespace::make_quad_prototype(), fiber_bundle::fiber_bundles_namespace::make_sec_rep_descriptors(), fiber_bundle::fiber_bundles_namespace::make_segment_complex_prototype(), fiber_bundle::fiber_bundles_namespace::make_segment_prototype(), fiber_bundle::fiber_bundles_namespace::make_structured_block_1d_prototype(), fiber_bundle::fiber_bundles_namespace::make_structured_block_2d_prototype(), fiber_bundle::fiber_bundles_namespace::make_structured_block_3d_prototype(), fiber_bundle::fiber_bundles_namespace::make_tetra_complex_prototype(), fiber_bundle::fiber_bundles_namespace::make_tetra_nodes_prototype(), fiber_bundle::fiber_bundles_namespace::make_tetra_prototype(), fiber_bundle::fiber_bundles_namespace::make_triangle_complex_prototype(), fiber_bundle::fiber_bundles_namespace::make_triangle_nodes_prototype(), fiber_bundle::fiber_bundles_namespace::make_triangle_prototype(), fiber_bundle::fiber_bundles_namespace::make_unstructured_block_prototype(), fiber_bundle::fiber_bundles_namespace::make_zone_nodes_block_prototype(), fields::edge_centered_triangle_refiner::modify_crg(), fields::zone_centered_tet_refiner::modify_crg(), fields::zone_centered_segment_refiner::modify_crg(), fields::zone_centered_triangle_refiner::modify_crg(), fields::edge_centered_polygon_refiner::modify_crg(), sheaf::schema_poset_member::new_jim_state(), fiber_bundle::sec_rep_descriptor::new_jim_state(), fiber_bundle::sec_rep_space_member::new_jim_state(), sheaf::abstract_poset_member::new_jim_state(), sheaf::poset::new_state(), fiber_bundle::binary_section_space_schema_poset::new_state(), fiber_bundle::structured_block_1d::new_state(), fiber_bundle::point_block_2d::new_state(), fiber_bundle::point_block_1d::new_state(), fiber_bundle::structured_block_2d::new_state(), fiber_bundle::point_block_3d::new_state(), fiber_bundle::structured_block_3d::new_state(), fiber_bundle::zone_nodes_block::new_state(), fiber_bundle::product_section_space_schema_poset::new_state(), fiber_bundle::sec_rep_space::new_state(), fiber_bundle::unstructured_block::new_state(), sheaf::namespace_poset::new_state(), fiber_bundle::unstructured_block_builder::put_name_mode(), fields::zone_centered_tet_refiner::refine_base_space(), fields::zone_centered_segment_refiner::refine_base_space(), fields::zone_centered_triangle_refiner::refine_base_space(), fields::edge_centered_polygon_refiner::refine_base_space(), and sheaf::sheaves_namespace::sheaves_namespace().

◆ includes_subposet() [1/4]

bool sheaf::poset_state_handle::includes_subposet ( pod_index_type  xsubposet_hub_id,
bool  xauto_access = true 
) const
virtual

True if this poset includes subposet with hub id xsubposet_hub_id.

Precondition
  • state_is_auto_read_accessible(xauto_access)

Definition at line 5166 of file poset_state_handle.cc.

Referenced by fiber_bundle::unstructured_block_builder::build_block_decomposition(), sheaf::namespace_poset::contains_poset_subposet(), sheaf::poset_scaffold::convert_subposet_id_to_record_id(), fiber_bundle::vd_space::create_variance_subposets(), fiber_bundle::sec_vd_space::create_variance_subposets(), sheaf::filtered_depth_first_iterator::filtered_depth_first_iterator(), sheaf::filtered_depth_first_itr< T >::filtered_depth_first_itr(), includes_subposet(), sheaf::depth_first_iterator::initialize_filter(), sheaf::subposet::is_valid_index(), sheaf::poset_bounds_descriptor::lb_is_valid_for(), fiber_bundle::section_space_schema_poset::make_standard_schema(), fiber_bundle::mesh_partition::mesh_partition(), fiber_bundle::sec_rep_space_member::new_jrm_state(), sheaf::postorder_member_iterator::postorder_member_iterator(), sheaf::preorder_member_iterator::preorder_member_iterator(), sheaf::filtered_depth_first_member_iterator::put_filter(), sheaf::filtered_depth_first_iterator::put_filter(), sheaf::filtered_depth_first_itr< T >::put_filter(), fiber_bundle::unstructured_block_builder::put_name_mode(), release_subposet_id_space_iterator(), fiber_bundle::section_space_schema_poset::rep_is_valid(), sheaf::schema_poset_member::row_dof_subposet_index(), sheaf::dof_tuple_record_set::schematize(), fiber_bundle::section_space_schema_poset::schematize(), sheaf::subposet::subposet(), sheaf::schema_poset_member::table_dof_subposet_index(), sheaf::id_space_names_record::transfer_internal_buffer_to_poset(), sheaf::subposet_names_record::transfer_internal_buffer_to_poset(), sheaf::poset_bounds_descriptor::ub_is_valid_for(), fiber_bundle::section_space_schema_poset::version_index(), fiber_bundle::section_space_schema_poset::version_jims_index(), sheaf::storage_agent::write_row_decomposition(), and sheaf::storage_agent::write_toc().

◆ includes_subposet() [2/4]

bool sheaf::poset_state_handle::includes_subposet ( const scoped_index xsubposet_id,
bool  xauto_access = true 
) const

True if this poset includes subposet with id xsubposet_id.

Precondition

Definition at line 5197 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_pod(), and includes_subposet().

◆ includes_subposet() [3/4]

bool sheaf::poset_state_handle::includes_subposet ( const std::string &  xname,
bool  xauto_access = true 
) const

True if this poset includes subposet with name xname.

Precondition
  • state_is_auto_read_accessible(xauto_access)

Definition at line 5212 of file poset_state_handle.cc.

References includes_subposet(), and sheaf::is_valid().

◆ includes_subposet() [4/4]

bool sheaf::poset_state_handle::includes_subposet ( const subposet xs,
bool  xauto_access = true 
) const

True if this poset includes xs.

Precondition

Definition at line 5244 of file poset_state_handle.cc.

References sheaf::poset_component::host(), includes_subposets(), sheaf::poset_component::index(), sheaf::poset_component::is_attached(), and is_same_state().

◆ includes_subposets() [1/2]

bool sheaf::poset_state_handle::includes_subposets ( const block< pod_index_type > &  xhub_ids,
bool  xauto_access = true 
) const

True if this poset includes subposets with hub ids xhub_ids.

Precondition
  • state_is_auto_read_accessible(xauto_access)
Postcondition
  • -unexecutable( "result == for all i in xhub_ids( includes_subposet(i))" )

Definition at line 5267 of file poset_state_handle.cc.

References sheaf::auto_block< T, S >::ct().

Referenced by includes_subposet().

◆ includes_subposets() [2/2]

bool sheaf::poset_state_handle::includes_subposets ( const block< scoped_index > &  xids,
bool  xauto_access = true 
) const

True if this poset includes subposets with ids xids.

Precondition
  • state_is_auto_read_accessible(xauto_access)
Postcondition
  • -unexecutable( "result == for all i in xids( includes_subposet(i))" )

Definition at line 5305 of file poset_state_handle.cc.

References sheaf::auto_block< T, S >::ct(), and new_subposet().

◆ index()

const sheaf::scoped_index & sheaf::poset_state_handle::index ( ) const

The member index of this poset within the namespace host()

Postcondition

Definition at line 1134 of file poset_state_handle.cc.

References primitives().

Referenced by attach_to_state(), sheaf::storage_agent::begin_read_transaction(), fields::field_vd::delete_field_spaces(), fields::field_factory::delete_field_spaces(), sheaf::read_write_monitor_handle::get_read_access(), sheaf::read_write_monitor_handle::get_read_write_access(), sheaf::poset_scaffold::index(), fiber_bundle::product_section_space_schema_poset::initialize_standard_members(), fiber_bundle::section_space_schema_poset::initialize_standard_members(), sheaf::namespace_poset::initialize_standard_members(), sheaf::namespace_poset::invariant(), name_space(), sheaf::namespace_poset_member::namespace_poset_member(), fiber_bundle::product_section_space_schema_poset::new_state(), sheaf::namespace_poset::new_state(), sheaf::operator<<(), fiber_bundle::at1_space::prereq_id(), fiber_bundle::sec_at1_space::prereq_id(), fiber_bundle::at0_space::prereq_id(), fiber_bundle::gln_space::prereq_id(), fiber_bundle::jcb_space::prereq_id(), fiber_bundle::sec_at0_space::prereq_id(), fiber_bundle::sec_jcb_space::prereq_id(), fiber_bundle::vd_space::prereq_id(), fiber_bundle::sec_vd_space::prereq_id(), fiber_bundle::tp_space::prereq_id(), fiber_bundle::sec_tp_space::prereq_id(), fiber_bundle::section_space_schema_poset::prereq_id(), sheaf::storage_agent::read_prerequisites(), sheaf::read_write_monitor_handle::release_access(), sheaf::sheaves_namespace::sheaves_namespace(), sheaf::storage_agent::transaction::transaction(), sheaf::storage_agent::write(), and sheaf::namespace_poset::~namespace_poset().

◆ index_in_bounds() [1/2]

bool sheaf::poset_state_handle::index_in_bounds ( const scoped_index xmbr_id) const
protected

True if 0 <= xmbr_id < state_obj()->member_index_ub().

Precondition
Postcondition
  • result == xmbr_id.in_range(crg().begin(), crg().end())

Definition at line 2411 of file poset_state_handle.cc.

References sheaf::scoped_index::in_range().

Referenced by initialize_standard_members().

◆ index_in_bounds() [2/2]

bool sheaf::poset_state_handle::index_in_bounds ( const block< scoped_index > &  indices) const
protected

True if for all i: 0 <= indices[i] < state_obj()->member_index_ub().

Precondition
Postcondition

Definition at line 2434 of file poset_state_handle.cc.

References new_member(), and sheaf::auto_block< T, S >::ub().

◆ initialize_dof_id_space()

◆ initialize_handle_data_members()

void sheaf::poset_state_handle::initialize_handle_data_members ( const namespace_poset xns)
protectedvirtual

Initializes the handle data members that depend on the table dofs and are required to get access when this handle is used to create a new state. Intended to be called only from new_state and to be redefined in descendants to handle additional data members defined there.

Precondition
  • -unexecutable( "table dof tuple is valid" )

Reimplemented in fiber_bundle::section_space_schema_poset, fiber_bundle::section_space_schema_poset, and fiber_bundle::sec_rep_descriptor_poset.

Definition at line 910 of file poset_state_handle.cc.

References attach_handle_data_members().

Referenced by sheaf::poset::new_state(), and new_state().

◆ initialize_namespace()

void sheaf::poset_state_handle::initialize_namespace ( namespace_poset xns,
const std::string &  xposet_name,
bool  xauto_link = true 
)
protectedvirtual

Installs this as a member of xns. If xauto_link, automatically links the member into an appropriate group.

Precondition
Hack:
previously insert_poset called from this routine entered and exited jim_edit_mode without exporting any precondition. As a result, numerous new_state routines do not properly provide access before calling this routine. Continue the old practice until we get a chance to clean the mess up.
Precondition
  • xns.state_is_read_write_accessible()
Postcondition

Definition at line 1268 of file poset_state_handle.cc.

References sheaf::namespace_poset::insert_poset(), new_member(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

Referenced by sheaf::namespace_poset::initialize_standard_members(), fiber_bundle::product_section_space_schema_poset::new_state(), and path().

◆ initialize_standard_members()

void sheaf::poset_state_handle::initialize_standard_members ( )
protectedvirtual

Creates the members common to every poset, for instance, top() and bottom().

Precondition
Issue:
top does not cover bottom in empty poset. The mathematical meaning is unclear, but it seems to work just fine, except that we have to make sure bottom appears in the file id map, see member_record_set::make_idorder_file_maps.
Postcondition

Reimplemented in sheaf::namespace_poset, fiber_bundle::section_space_schema_poset, fiber_bundle::product_section_space_schema_poset, sheaf::primitives_poset_schema, and sheaf::namespace_poset_schema.

Definition at line 2352 of file poset_state_handle.cc.

References index_in_bounds().

Referenced by bottom(), sheaf::namespace_poset_schema::initialize_standard_members(), sheaf::namespace_poset::initialize_standard_members(), sheaf::poset::new_state(), and fiber_bundle::sec_rep_space::new_state().

◆ initialize_standard_subposets()

◆ initialize_table_dof_tuple()

void sheaf::poset_state_handle::initialize_table_dof_tuple ( array_poset_dof_map xdof_tuple)
protected

◆ initialize_table_dofs()

void sheaf::poset_state_handle::initialize_table_dofs ( void *  xtable_dofs,
size_t  xtable_dof_ub 
)
protected

◆ insert_cover_member() [1/4]

void sheaf::poset_state_handle::insert_cover_member ( pod_index_type  xother_mbr_hub_id,
bool  xlower,
pod_index_type  xmbr_hub_id 
)

Inserts hub id xother_mbr_hub id in the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id.

Precondition
  • contains_member(xmbr_hub_id, false)
  • !cover_contains_member(xlower, xmbr_hub_id, xother_mbr_hub_id)
Postcondition
  • -unexecutable( cover_contains_member(xlower, xmbr_hub_id, xother_mbr_hub_id) )

Definition at line 4522 of file poset_state_handle.cc.

Referenced by fields::edge_centered_polygon_refiner::create_edge_center(), first_cover_member(), and insert_cover_member().

◆ insert_cover_member() [2/4]

void sheaf::poset_state_handle::insert_cover_member ( const scoped_index xother_mbr_id,
bool  xlower,
const scoped_index xmbr_id 
)

Inserts id xother_mbr_id in the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id.

Precondition
  • contains_member(xmbr_id)
Postcondition
  • -unexecutable( cover_contains_member(xlower, xmbr_id, xother_mbr_id) )

Definition at line 4549 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_pod(), and insert_cover_member().

◆ insert_cover_member() [3/4]

void sheaf::poset_state_handle::insert_cover_member ( pod_index_type  xother_mbr_hub_id,
bool  xlower,
pod_index_type  xmbr_hub_id,
index_space_iterator xitr 
)

Inserts hub id xother_mbr_hub_id in the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id, at a position just before xitr. Increments xitr to the position after the inserted entry.

Precondition
  • contains_member(xmbr_hub_id, false)
  • cover_contains_iterator(xlower, xmbr_hub_id, xitr)
Postcondition
  • -unexecutable( cover_contains_member(xlower, xmbr_hub_id, xother_mbr_hub_id) )

Definition at line 4577 of file poset_state_handle.cc.

References insert_cover_member().

◆ insert_cover_member() [4/4]

void sheaf::poset_state_handle::insert_cover_member ( const scoped_index xother_mbr_id,
bool  xlower,
const scoped_index xmbr_id,
index_space_iterator xitr 
)

Inserts id xother_mbr_index in the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id, at a position just before xitr. Increments xitr to the position after the inserted entry.

Precondition
  • contains_member(xmbr_id)
  • cover_contains_iterator(xlower, xmbr_id, xitr)
Postcondition
  • -unexecutable( cover_contains_member(xlower, xmbr_id, xother_mbr_id) )

Definition at line 4605 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_pod(), and remove_cover_member().

◆ invariant()

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

Class invariant.

Invariant

Reimplemented from sheaf::any.

Reimplemented in fiber_bundle::base_space_poset, sheaf::namespace_poset, fiber_bundle::section_space_schema_poset, sheaf::primitives_poset, fiber_bundle::section_space_schema_poset, fiber_bundle::sec_rep_space, fiber_bundle::product_section_space_schema_poset, fiber_bundle::sec_tp_space, fiber_bundle::tp_space, sheaf::refinable_poset, fiber_bundle::sec_vd_space, fiber_bundle::sec_jcb_space, fiber_bundle::vd_space, fiber_bundle::sec_atp_space, fiber_bundle::binary_section_space_schema_poset, fiber_bundle::sec_at0_space, fiber_bundle::atp_space, fiber_bundle::jcb_space, fiber_bundle::gln_space, fiber_bundle::sec_stp_space, fiber_bundle::sec_rep_descriptor_poset, fiber_bundle::at0_space, fiber_bundle::sec_at1_space, fiber_bundle::sec_tuple_space, fiber_bundle::stp_space, fiber_bundle::at1_space, fiber_bundle::tuple_space, sheaf::primitives_poset_schema, sheaf::poset, sheaf::namespace_poset_schema, and geometry::geometry_namespace.

Definition at line 8338 of file poset_state_handle.cc.

References sheaf::is_valid(), and sheaf::operator<<().

Referenced by clone(), sheaf::namespace_poset_schema::invariant(), sheaf::poset::invariant(), fiber_bundle::sec_rep_space::invariant(), fiber_bundle::section_space_schema_poset::invariant(), and sheaf::namespace_poset::invariant().

◆ is_ancestor_of()

◆ is_atom() [1/2]

◆ is_atom() [2/2]

bool sheaf::poset_state_handle::is_atom ( const scoped_index xmbr_id) const

True if the member with id xmbr_id covers the bottom.

Precondition

Definition at line 2277 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_pod(), and top().

◆ is_attached()

bool sheaf::poset_state_handle::is_attached ( ) const
virtual

True if this is attached to a state.

Issue:
this implementation appears to be identical to the inherited version and hence is apparently unnecessary.

Reimplemented from sheaf::read_write_monitor_handle.

Definition at line 466 of file poset_state_handle.cc.

References is_same_state().

Referenced by fiber_bundle::section_space_schema_poset::attach_handle_data_members(), sheaf::namespace_poset::attach_handle_data_members(), fiber_bundle::base_space_member::base_space_member(), sheaf::storage_agent::begin_write_transaction(), fiber_bundle::binary_section_space_schema_poset::binary_section_space_schema_poset(), fiber_bundle::unstructured_block_builder::build_block_decomposition(), sheaf::poset::clone(), fiber_bundle::at1_space::clone(), fiber_bundle::tuple_space::clone(), fiber_bundle::stp_space::clone(), fiber_bundle::sec_tuple_space::clone(), fiber_bundle::at0_space::clone(), fiber_bundle::sec_at1_space::clone(), fiber_bundle::sec_stp_space::clone(), fiber_bundle::gln_space::clone(), fiber_bundle::jcb_space::clone(), fiber_bundle::atp_space::clone(), fiber_bundle::sec_at0_space::clone(), fiber_bundle::sec_atp_space::clone(), fiber_bundle::binary_section_space_schema_poset::clone(), fiber_bundle::vd_space::clone(), fiber_bundle::sec_jcb_space::clone(), fiber_bundle::sec_vd_space::clone(), sheaf::refinable_poset::clone(), fiber_bundle::tp_space::clone(), fiber_bundle::sec_tp_space::clone(), fiber_bundle::product_section_space_schema_poset::clone(), fiber_bundle::base_space_poset::clone(), sheaf::deep_size(), sheaf::poset_handle_factory::delete_prototype(), sheaf::namespace_poset::detach_from_state(), fiber_bundle::section_space_schema_poset::get_read_access(), sheaf::namespace_poset::get_read_access(), fiber_bundle::section_space_schema_poset::get_read_write_access(), sheaf::namespace_poset::get_read_write_access(), sheaf::id_block::id_block(), fiber_bundle::section_space_schema_poset::initialize_handle_data_members(), fiber_bundle::product_section_space_schema_poset::initialize_row_dof_subposet(), fiber_bundle::product_section_space_schema_poset::initialize_standard_members(), fiber_bundle::section_space_schema_poset::initialize_standard_members(), sheaf::namespace_poset::initialize_standard_members(), sheaf::poset_handle_factory::insert_prototype(), sheaf::namespace_poset_schema::invariant(), sheaf::primitives_poset_schema::invariant(), sheaf::namespace_poset::invariant(), sheaf::namespace_poset::member_poset_schema_id(), sheaf::namespace_poset_member::namespace_poset_member(), fiber_bundle::sec_rep_space_member::new_jrm_state(), sheaf::poset_handle_factory::new_poset_handle(), new_poset_handle(), sheaf::poset::new_state(), fiber_bundle::binary_section_space_schema_poset::new_state(), fiber_bundle::point_block_2d::new_state(), fiber_bundle::structured_block_1d::new_state(), fiber_bundle::point_block_1d::new_state(), fiber_bundle::structured_block_2d::new_state(), fiber_bundle::point_block_3d::new_state(), fiber_bundle::structured_block_3d::new_state(), fiber_bundle::zone_nodes_block::new_state(), fiber_bundle::product_section_space_schema_poset::new_state(), fiber_bundle::sec_rep_space::new_state(), fiber_bundle::unstructured_block::new_state(), sheaf::operator<<(), fiber_bundle::product_section_space_schema_poset::product_section_space_schema_poset(), sheaf::storage_agent::put_state_is_consistent(), release_access(), sheaf::poset_component::same_namespace(), fiber_bundle::sec_rep_space::sec_rep_space(), sheaf::namespace_poset_schema::standard_name(), sheaf::storage_agent::state_is_consistent(), fiber_bundle::section_space_schema_poset::terminate_access(), sheaf::storage_agent::write(), sheaf::storage_agent::write_col_decomposition(), sheaf::storage_agent::write_entire(), sheaf::storage_agent::write_remainder(), sheaf::storage_agent::write_row_decomposition(), sheaf::storage_agent::write_toc(), sheaf::namespace_poset::~namespace_poset(), sheaf::poset::~poset(), and sheaf::sheaves_namespace::~sheaves_namespace().

◆ is_empty()

bool sheaf::poset_state_handle::is_empty ( ) const

True if this poset is empty.

Precondition
Issue:
is this the right definition?

Definition at line 2160 of file poset_state_handle.cc.

References is_jim().

Referenced by contains_members().

◆ is_external()

◆ is_jem() [1/2]

bool sheaf::poset_state_handle::is_jem ( pod_index_type  xmbr_hub_id,
pod_index_type  xother_hub_id 
) const
virtual

True if hub id xother_hub_id is join equivalent to hub id xmbr_hub_id.

Precondition
  • contains_member(xmbr_hub_id, false)
  • contains_member(xother_hub_id, false)

Reimplemented in fiber_bundle::binary_section_space_schema_poset.

Definition at line 3574 of file poset_state_handle.cc.

Referenced by fiber_bundle::binary_section_space_schema_poset::binary_section_space_schema_poset(), fiber_bundle::binary_section_space_schema_poset::is_jem(), leqv(), and fiber_bundle::fiber_bundles_namespace::link_poset().

◆ is_jem() [2/2]

bool sheaf::poset_state_handle::is_jem ( const scoped_index xmbr_id,
const scoped_index xother_id 
) const

True if id xother_id is join equivalent to id xmbr_id.

Precondition
  • contains_member(xmbr_id, false)
  • contains_member(xother_id, false)

Definition at line 3597 of file poset_state_handle.cc.

References greatest_jem(), and sheaf::scoped_index::hub_pod().

◆ is_jim() [1/3]

◆ is_jim() [2/3]

bool sheaf::poset_state_handle::is_jim ( const scoped_index xmbr_id,
bool  xin_current_version = true 
) const

True if the member with id xmbr_id is a jim in the current version (xin_current_version == true) or in some version (xin_current_version == false).

Precondition

Definition at line 2216 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_pod(), and is_jim().

◆ is_jim() [3/3]

bool sheaf::poset_state_handle::is_jim ( const std::string &  xname,
bool  xin_current_version = true 
) const

True if the member with name xname is a jim in the current version (xin_current_version == true) or in some version (xin_current_version == false).

Precondition
  • !xname.empty()

Definition at line 2231 of file poset_state_handle.cc.

References is_atom(), and sheaf::is_valid().

◆ is_same_state()

◆ is_schematized()

bool sheaf::poset_state_handle::is_schematized ( bool  xauto_access) const
virtual

True if this poset has been prepared for use as a schema, that is, if the top member has been schematized.

Precondition
  • state_is_auto_read_accessible(xauto_access)
Todo:
make the following executable.
Postcondition
  • -unexecutable( result == top member has been schematized )

Reimplemented in fiber_bundle::section_space_schema_poset.

Definition at line 7340 of file poset_state_handle.cc.

References schematize().

Referenced by dof_tuple_id(), sheaf::schema_poset_member::is_component_of(), sheaf::schema_poset_member::is_factor_of(), fiber_bundle::section_space_schema_poset::is_schematized(), sheaf::schema_poset_member::make_schema(), sheaf::schema_poset_member::new_host(), sheaf::schema_poset_member::new_jim_state(), fiber_bundle::section_dof_iterator::put_anchor(), sheaf::poset_dof_iterator::put_anchor(), sheaf::schema_poset_member::standard_host(), and fiber_bundle::section_space_schema_poset::table_dof_tuple_ptr().

◆ is_valid_int_id() [1/2]

bool sheaf::poset_state_handle::is_valid_int_id ( pod_index_type  xint_id,
const std::string &  xid_space_name,
bool  xauto_access 
) const
virtual

True if xint_id can be translated to an external id using the equivalence map with name xid_space_name.

Precondition
  • state_is_auto_read_accessible(xauto_access)

Reimplemented in fiber_bundle::section_space_schema_poset.

Definition at line 8096 of file poset_state_handle.cc.

Referenced by get_int_id(), and fiber_bundle::section_space_schema_poset::table_dof_tuple_ptr().

◆ is_valid_int_id() [2/2]

bool sheaf::poset_state_handle::is_valid_int_id ( const scoped_index xint_id,
const std::string &  xid_space_name,
bool  xauto_access 
) const

True if xint_id can be translated to an external id using the equivalence map with name xid_space_name.

Precondition
  • state_is_auto_read_accessible(xauto_access)

Definition at line 8136 of file poset_state_handle.cc.

References get_ext_id(), and sheaf::scoped_index::hub_pod().

◆ is_version()

bool sheaf::poset_state_handle::is_version ( ) const

True if this poset is a version.

Definition at line 7687 of file poset_state_handle.cc.

References VERSION_PREFIX().

Referenced by has_version(), and sheaf::subposet_member_iterator::initialize_filter().

◆ is_version_name()

bool sheaf::poset_state_handle::is_version_name ( const std::string &  xname) const
protected

True if xname has the proper form for a version name.

Definition at line 7724 of file poset_state_handle.cc.

References version_to_name().

Referenced by VERSION_PREFIX_LENGTH().

◆ jim_edit_depth()

int sheaf::poset_state_handle::jim_edit_depth ( bool  xauto_access) const

Number of times begin_jim edit_mode has been called without matching end_jim_edit_mode.

Precondition
Postcondition
  • result >= 0

Definition at line 341 of file poset_state_handle.cc.

References get_read_access().

Referenced by in_jim_edit_mode().

◆ jims() [1/2]

◆ jims() [2/2]

const sheaf::subposet & sheaf::poset_state_handle::jims ( ) const
virtual

The subset of all jims (const version)

Precondition

Definition at line 5506 of file poset_state_handle.cc.

References table_dof_subposet().

◆ le() [1/2]

bool sheaf::poset_state_handle::le ( pod_index_type  xgreater,
pod_index_type  xlesser 
) const
virtual

True if hub id xlesser is less than or equal to hub id xgreater.

Precondition
  • contains_member(xlesser, false)
  • contains_member(xgreater, false)
Hack:
should use upset traverser in poset_state_handle::le
Postcondition
  • -unexecutable( upset of xlesser contains xgreater )

Reimplemented in fiber_bundle::binary_section_space_schema_poset.

Definition at line 3461 of file poset_state_handle.cc.

References sheaf::index_space_iterator::hub_pod(), sheaf::index_space_iterator::is_done(), sheaf::index_space_iterator::next(), and sheaf::UPPER.

Referenced by fiber_bundle::binary_section_space_schema_poset::binary_section_space_schema_poset(), sheaf::abstract_poset_member::delete_state(), fiber_bundle::binary_section_space_schema_poset::le(), and new_term().

◆ le() [2/2]

bool sheaf::poset_state_handle::le ( const scoped_index xgreater,
const scoped_index xlesser 
) const

True if id xlesser is less than or equal to id xgreater.

Precondition
  • contains_member(xlesser, false)
  • contains_member(xgreater, false)
Postcondition
  • -unexecutable( upset of xlesser contains xgreater )

Definition at line 3499 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_pod(), and leqv().

◆ least_jem() [1/2]

sheaf::pod_index_type sheaf::poset_state_handle::least_jem ( pod_index_type  xmbr_hub_id) const
virtual

The hub id of the smallest member which is join-equivalent to hub id xmbr_hub_id.

Precondition
  • contains_member(xmbr_hub_id, false)
Postcondition
  • is_jim(result) || !cover_is_singleton(LOWER, result)
  • le(xmbr_hub_id, result)

Reimplemented in fiber_bundle::binary_section_space_schema_poset.

Definition at line 3676 of file poset_state_handle.cc.

References sheaf::LOWER.

Referenced by fiber_bundle::binary_section_space_schema_poset::binary_section_space_schema_poset(), greatest_jem(), and fiber_bundle::binary_section_space_schema_poset::least_jem().

◆ least_jem() [2/2]

void sheaf::poset_state_handle::least_jem ( const scoped_index xmbr_id,
scoped_index result 
) const

The id of the smallest member which is join-equivalent to id xmbr_id.

Precondition
  • contains_member(xmbr_id, false)
Postcondition
  • is_jim(result) || !cover_is_singleton(LOWER, result)
  • le(xmbr_id, result)

Definition at line 3703 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_pod(), link_greatest_jem(), sheaf::LOWER, and sheaf::scoped_index::put().

◆ leqv() [1/2]

bool sheaf::poset_state_handle::leqv ( pod_index_type  xgreater,
pod_index_type  xlesser 
) const
virtual

True if hub id xlesser is less than or equivalent to hub id xgreater.

Precondition
  • contains_member(xlesser, false)
  • contains_member(xgreater, false)
Postcondition
  • -unexecutable( upset of xlesser contains xgreater )

Reimplemented in fiber_bundle::binary_section_space_schema_poset.

Definition at line 3524 of file poset_state_handle.cc.

Referenced by fiber_bundle::binary_section_space_schema_poset::binary_section_space_schema_poset(), le(), and fiber_bundle::binary_section_space_schema_poset::leqv().

◆ leqv() [2/2]

bool sheaf::poset_state_handle::leqv ( const scoped_index xgreater,
const scoped_index xlesser 
) const

True if id xlesser is less than or equivalent to id xgreater.

Precondition
  • contains_member(xlesser, false)
  • contains_member(xgreater, false)
Postcondition
  • -unexecutable( upset of xlesser contains xgreater )

Definition at line 3549 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_pod(), and is_jem().

◆ link_greatest_jem() [1/2]

void sheaf::poset_state_handle::link_greatest_jem ( pod_index_type  xjem1,
pod_index_type  xjem2 
)

Makes hub id xjem1 the greatest jem of hub id xjem2, unless the current greatest jem of xjem2 is top, in which case it makes top the greatest jem of xjem1.

Precondition
  • xjem1 != TOP_INDEX
  • xjem1 != BOTTOM_INDEX
  • cover_is_empty(LOWER, xjem1)
  • cover_is_empty(UPPER, xjem1)
Postcondition
  • is_jem(xjem2, xjem1)
  • greatest_jem(xjem2) != TOP_INDEX ? greatest_jem(xjem2) == xjem1 : true

Definition at line 3726 of file poset_state_handle.cc.

References sheaf::LOWER, and sheaf::UPPER.

Referenced by least_jem(), and sheaf::abstract_poset_member::new_jem_state().

◆ link_greatest_jem() [2/2]

void sheaf::poset_state_handle::link_greatest_jem ( const scoped_index xjem1,
const scoped_index xjem2 
)

Makes id xjem1 the greatest jem of id xjem2, unless the current greatest jem of xjem2 is top, in which case it makes top the greatest jem of xjem1.

Precondition
  • xjem1 != TOP_INDEX
  • xjem1 != BOTTOM_INDEX
  • cover_is_empty(LOWER, xjem1)
  • cover_is_empty(UPPER, xjem1)
Postcondition
  • is_jem(xjem2, xjem1)
  • greatest_jem(xjem2.hub_pod()) != TOP_INDEX ? greatest_jem(xjem2.hub_pod()) == xjem1.hub_pod() : true

Definition at line 3779 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_pod(), link_least_jem(), sheaf::LOWER, and sheaf::UPPER.

◆ link_least_jem() [1/2]

void sheaf::poset_state_handle::link_least_jem ( pod_index_type  xjem1,
pod_index_type  xjem2 
)

Makes hub id xjem1 the least jem of hub id xjem2, unless the current least jem of xjem2 is bottom, in which case it makes bottom the least jem of xjem1.

Precondition
  • xjem1 != TOP_INDEX
  • xjem1 != BOTTOM_INDEX
  • cover_is_empty(LOWER, xjem1)
  • cover_is_empty(UPPER, xjem1)
Postcondition
  • is_jem(xjem2, xjem1)
  • (least_jem(xjem2) == xjem1) || is_jim(least_jem(xjem2)) || (least_jem(xjem2) == BOTTOM_INDEX)

Definition at line 3807 of file poset_state_handle.cc.

References sheaf::LOWER, and sheaf::UPPER.

Referenced by link_greatest_jem(), and sheaf::abstract_poset_member::new_jem_state().

◆ link_least_jem() [2/2]

void sheaf::poset_state_handle::link_least_jem ( const scoped_index xjem1,
const scoped_index xjem2 
)

Makes id xjem1 the least jem of id xjem2, unless the current least jem of xjem2 is bottom, in which case it makes bottom the least jem of xjem1.

Precondition
  • xjem1 != TOP_INDEX
  • xjem1 != BOTTOM_INDEX
  • cover_is_empty(LOWER, xjem1)
  • cover_is_empty(UPPER, xjem1)
Postcondition
  • is_jem(xjem2, xjem1)
  • (least_jem(xjem2.hub_pod()) == xjem1.hub_pod()) || is_jim(least_jem(xjem2.hub_pod())) || (least_jem(xjem2.hub_pod()) == BOTTOM_INDEX)

Definition at line 3859 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_pod(), sheaf::LOWER, merge_jems(), and sheaf::UPPER.

◆ member_ct()

◆ member_dof_map() [1/4]

sheaf::poset_dof_map & sheaf::poset_state_handle::member_dof_map ( pod_index_type  xmbr_hub_id,
bool  xrequire_write_access = false 
)

The dof map associated with the member identified by hub id xmbr_hub_id (mutable version).

Precondition
  • contains_member(xmbr_hub_id, false)
  • is_jim(xmbr_hub_id, false)

Definition at line 6792 of file poset_state_handle.cc.

Referenced by clone_row_dof_map(), member_dof_map(), and fiber_bundle::sec_vd::value_at_point_ua().

◆ member_dof_map() [2/4]

sheaf::poset_dof_map & sheaf::poset_state_handle::member_dof_map ( const scoped_index xmbr_id,
bool  xrequire_write_access = false 
)

The dof map associated with the member identified by xmbr_index (mutable version).

Precondition
  • contains_member(xmbr_id, false)
  • is_jim(xmbr_id, false)

Definition at line 6814 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_pod(), and member_dof_map().

◆ member_dof_map() [3/4]

const sheaf::poset_dof_map & sheaf::poset_state_handle::member_dof_map ( pod_index_type  xmbr_hub_id,
bool  xrequire_write_access = false 
) const

The dof map associated with the member identified by hub id xmbr_hub_id (const version).

Precondition
  • contains_member(xmbr_hub_id, false)
  • is_jim(xmbr_hub_id, false)

Definition at line 6829 of file poset_state_handle.cc.

References member_dof_map().

◆ member_dof_map() [4/4]

const sheaf::poset_dof_map & sheaf::poset_state_handle::member_dof_map ( const scoped_index xmbr_id,
bool  xrequire_write_access = false 
) const

The dof map associated with the member identified by xmbr_index (const version).

Precondition
  • contains_member(xmbr_id, false)
  • is_jim(xmbr_id, false)

Definition at line 6851 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_pod(), and member_dof_tuple().

◆ member_dof_tuple()

void sheaf::poset_state_handle::member_dof_tuple ( pod_index_type  xmbr_hub_id,
void *  xbuf,
size_t  xbuf_len,
bool  xauto_access 
) const

Copies the dof tuple of the member with hub id xmbr_hub_id into the buffer xbuf of length xbuf_len bytes.

Precondition
  • state_is_auto_read_accessible(xauto_access)
  • contains_member(xmbr_hub_id, xauto_access)
  • -unexecutable( "xbuf points to a buffer of length xbuflen" )
  • xbuflen >= member_dof_map(xmbr_hub_id, false).dof_tuple_ub()

Definition at line 6866 of file poset_state_handle.cc.

References put_member_dof_tuple().

Referenced by member_dof_map().

◆ member_dof_tuple_id() [1/2]

sheaf::pod_index_type sheaf::poset_state_handle::member_dof_tuple_id ( pod_index_type  xmbr_hub_id,
bool  xauto_access 
) const

The dof tuple hub id of the member with hub id xmbr_hub_id.

Precondition
  • state_is_auto_read_accessible(xauto_access)
  • contains_member(xmbr_hub_id, false)
Postcondition
  • !is_valid(result) || contains_row_dof_tuple(result)

Definition at line 6930 of file poset_state_handle.cc.

References sheaf::is_valid().

Referenced by sheaf::member_record::externalize(), fiber_bundle::sec_rep_space::member_dof_map(), sheaf::namespace_poset::member_poset(), fiber_bundle::eval_iterator::next(), and put_member_dof_tuple().

◆ member_dof_tuple_id() [2/2]

void sheaf::poset_state_handle::member_dof_tuple_id ( const scoped_index xmbr_id,
scoped_index result,
bool  xauto_access 
) const

The dof tuple index of the member with id xmbr_id.

Precondition
  • state_is_auto_read_accessible(xauto_access)
  • contains_member(xmbr_id, false)
Postcondition
  • !result.is_valid() || contains_row_dof_tuple(result)

Definition at line 6962 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_pod(), sheaf::scoped_index::is_valid(), sheaf::scoped_index::put(), and put_member_dof_tuple_id().

◆ member_has_name() [1/2]

bool sheaf::poset_state_handle::member_has_name ( pod_index_type  xmbr_hub_id,
const std::string &  xname,
bool  xauto_access = false 
) const

True if xname is a name for the member with hub id xmbr_hub_id.

Precondition
  • state_is_auto_read_accessible(xauto_access)
  • !xname.empty()
  • contains_member(xmbr_hub_id, xauto_access)

Definition at line 2898 of file poset_state_handle.cc.

Referenced by sheaf::member_record::internalize(), and member_name_ct().

◆ member_has_name() [2/2]

bool sheaf::poset_state_handle::member_has_name ( const scoped_index xmbr_hub_id,
const std::string &  xname,
bool  xauto_access = false 
) const

True if xname is a name for the member with id xmbr_id.

Precondition
  • !xname.empty()
  • contains_member(xmbr_id, xauto_access)

Definition at line 2929 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_pod(), and put_member_name().

◆ member_hub_id_space()

◆ member_id() [1/4]

const sheaf::scoped_index & sheaf::poset_state_handle::member_id ( bool  xauto_access) const
virtual

An id in the member hub id space; intended for copying to initialize ids to the member id space.

Precondition
  • state_is_auto_read_accessible(xauto_access)
Postcondition
  • result.same_scope(member_hub_id_space(xauto_access))

Definition at line 3213 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_id(), and sheaf::scoped_index::same_scope().

Referenced by sheaf::schema_poset_member::alignment(), fiber_bundle::binary_section_space_schema_member::attach_to_state(), fiber_bundle::section_space_schema_member::attach_to_state(), fields::body_builder::build_pa(), sheaf::schema_poset_member::contains_dof(), sheaf::poset_scaffold::convert_member_id_to_record_id(), sheaf::poset_scaffold::convert_record_id_to_member_id(), fields::field_vd::delete_field_spaces(), fields::field_factory::delete_field_spaces(), sheaf::namespace_poset::delete_poset(), sheaf::abstract_poset_member::get_index_from_name(), sheaf::depth_first_iterator::initialize_anchor(), sheaf::member_record_set::internalize(), fiber_bundle::fiber_bundles_namespace::link_poset(), sheaf::namespace_poset::link_poset(), fiber_bundle::fiber_bundles_namespace::make_fiber_space_schema_poset(), member_hub_id_space(), member_id(), sheaf::namespace_poset::member_poset(), fields::edge_centered_triangle_refiner::modify_crg(), sheaf::schema_poset_member::offset(), fiber_bundle::at1_space::prereq_id(), fiber_bundle::sec_at1_space::prereq_id(), fiber_bundle::gln_space::prereq_id(), fiber_bundle::jcb_space::prereq_id(), fiber_bundle::sec_jcb_space::prereq_id(), fiber_bundle::vd_space::prereq_id(), fiber_bundle::sec_vd_space::prereq_id(), fiber_bundle::tp_space::prereq_id(), fiber_bundle::sec_tp_space::prereq_id(), sheaf::schema_poset_member::size(), sheaf::schema_poset_member::type(), and geometry::db0_point_locator< DC >::update().

◆ member_id() [2/4]

sheaf::scoped_index sheaf::poset_state_handle::member_id ( pod_index_type  xid,
bool  xauto_access 
) const

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

Precondition
  • state_is_auto_read_accessible(xauto_access)
Postcondition
  • result.same_scope(member_hub_id_space(xauto_access))
  • result.pod() == xid

Definition at line 3244 of file poset_state_handle.cc.

References member_id(), sheaf::scoped_index::pod(), and sheaf::scoped_index::same_scope().

◆ member_id() [3/4]

sheaf::pod_index_type sheaf::poset_state_handle::member_id ( const std::string &  xname,
bool  xauto_access 
) const
virtual

The hub id of the member with name xname.

Precondition
  • state_is_auto_read_accessible(xauto_access)
  • !xname.empty()
Postcondition
  • is_valid(result) ? member_has_name(result, xname, xauto_access) : true

Definition at line 3277 of file poset_state_handle.cc.

References sheaf::is_valid(), and member_id().

◆ member_id() [4/4]

void sheaf::poset_state_handle::member_id ( const std::string &  xname,
scoped_index result,
bool  xauto_access 
) const

The index of the member with name xname.

Precondition
  • state_is_auto_read_accessible(xauto_access)
  • !xname.empty()
Postcondition
  • result.is_valid() ? member_has_name(result, xname, xauto_access) : true

Definition at line 3311 of file poset_state_handle.cc.

References sheaf::scoped_index::is_valid(), sheaf::scoped_index::put(), and update_standard_member_id_spaces().

◆ member_id_spaces() [1/2]

const sheaf::index_space_family & sheaf::poset_state_handle::member_id_spaces ( bool  xauto_access) const

Collection of member id spaces for this (const version).

Precondition
  • state_is_auto_read_accessible(xauto_access)
Postcondition
  • is_basic_query

Definition at line 3120 of file poset_state_handle.cc.

Referenced by fiber_bundle::sec_rep_space::allocated_branch_handle(), fiber_bundle::sec_rep_space::allocated_branch_iterator(), sheaf::schema_poset_member::attach_handle_data_members(), tool::vtk_unstructured_grid_builder::build_pa(), sheaf::namespace_poset::clear(), sheaf::storage_agent::clear_all_id_spaces(), fiber_bundle::sec_rep_space::get_branch_id_space(), fiber_bundle::sec_rep_space::get_branch_id_space_iterator(), sheaf::namespace_poset::get_member_poset_id_space(), sheaf::namespace_poset::get_member_poset_id_space_iterator(), sheaf::id_block::id_block(), sheaf::schema_poset_member::initialize_dof_id_space(), sheaf::poset_scaffold::initialize_member_id_space(), sheaf::namespace_poset::initialize_member_poset_id_space(), sheaf::storage_agent::initialize_namespace_id_spaces_for_read(), sheaf::storage_agent::initialize_poset_id_spaces_for_write(), fiber_bundle::section_space_schema_poset::initialize_standard_members(), sheaf::namespace_poset::insert_poset(), fiber_bundle::section_space_schema_poset::is_valid_int_id(), fiber_bundle::fiber_bundles_namespace::make_base_space_member_prototypes_poset(), member_name_map(), sheaf::member_record_set::member_record_set(), fiber_bundle::sec_rep_space::multisection_id_space(), fiber_bundle::binary_section_space_schema_poset::new_state(), fiber_bundle::product_section_space_schema_poset::new_state(), fiber_bundle::sec_rep_space::new_state(), fiber_bundle::sec_rep_space::release_branch_id_space(), fiber_bundle::sec_rep_space::release_branch_id_space_iterator(), sheaf::namespace_poset::release_member_poset_id_space(), sheaf::namespace_poset::release_member_poset_id_space_iterator(), sheaf::scoped_index::scoped_index(), sheaf::storage_agent::state_is_consistent(), sheaf::id_space_names_record::transfer_internal_buffer_to_poset(), sheaf::id_space_names_record::transfer_poset_to_internal_buffer(), fiber_bundle::product_section_space_schema_member::update_row_cache(), fiber_bundle::section_space_schema_member::update_row_cache(), fiber_bundle::product_section_space_schema_member::update_row_cache_without_disc_id_space(), fiber_bundle::section_space_schema_member::update_row_cache_without_disc_id_space(), fiber_bundle::product_section_space_schema_member::update_row_dof_id_space(), and sheaf::member_record_set::~member_record_set().

◆ member_id_spaces() [2/2]

sheaf::index_space_family & sheaf::poset_state_handle::member_id_spaces ( bool  xauto_access)

Collection of member id spaces for this (mutable version).

Precondition
  • state_is_auto_read_accessible(xauto_access)
Postcondition
  • is_basic_query

Definition at line 3151 of file poset_state_handle.cc.

References member_hub_id_space().

◆ member_index_ub()

sheaf::scoped_index sheaf::poset_state_handle::member_index_ub ( ) const
virtual

The upper bound on the member_index;.

Precondition
Postcondition
  • result.is_hub_scope()
  • result >= 0

Reimplemented in fiber_bundle::section_space_schema_poset.

Definition at line 1736 of file poset_state_handle.cc.

References sheaf::scoped_index::is_hub_scope(), and member_iterator().

Referenced by fields::base_space_map::base_space_map(), fields::body_builder::build_pa(), tool::vtk_poly_data_builder::build_pa(), tool::vtk_unstructured_grid_builder::build_pa(), sheaf::namespace_poset::clear(), sheaf::abstract_poset_member::delete_down(), fields::field_vd::delete_field_spaces(), fields::field_factory::delete_field_spaces(), fields::field_eval_iterator::enough_capacity(), has_standard_member_ct(), fiber_bundle::dlinear_eval_family::initialize(), fiber_bundle::uniform_eval_family::initialize(), fiber_bundle::constant_eval_family::initialize(), sheaf::depth_first_itr< T >::initialize_has_visited(), sheaf::depth_first_iterator::initialize_has_visited(), fields::field_eval_iterator::initialize_property_schema(), fiber_bundle::section_space_schema_poset::initialize_standard_members(), fiber_bundle::fiber_bundles_namespace::make_fiber_space_schema_poset(), sheaf::poset_traverser::member_index_ub(), fiber_bundle::section_space_schema_poset::member_index_ub(), fields::discretization_pusher::push(), fields::field_refinement_buffer::push_prop_dofs(), fields::field_refinement_buffer::refine_prop_dofs(), sheaf::depth_first_iterator::reset(), and fields::field_eval_iterator::update_capacity().

◆ member_iterator()

◆ member_name() [1/2]

◆ member_name() [2/2]

std::string sheaf::poset_state_handle::member_name ( const scoped_index xmbr_id,
bool  xauto_access = false 
) const

A name for the member with id xmbr_id.

Precondition

Definition at line 2777 of file poset_state_handle.cc.

References all_member_names(), and sheaf::scoped_index::hub_pod().

◆ member_name_ct() [1/2]

sheaf::size_type sheaf::poset_state_handle::member_name_ct ( pod_index_type  xmbr_hub_id,
bool  xauto_access 
) const

The number of names for the member with hub id xmbr_hub_id.

Precondition
  • state_is_auto_read_accessible(xauto_access)
  • contains_member(xmbr_hub_id, xauto_access)

Definition at line 2850 of file poset_state_handle.cc.

Referenced by all_member_names(), sheaf::member_record::external_size(), and sheaf::member_record::externalize().

◆ member_name_ct() [2/2]

sheaf::size_type sheaf::poset_state_handle::member_name_ct ( const scoped_index xmbr_id,
bool  xauto_access 
) const

The number of names for the member with id xmbr_id.

Precondition
  • contains_member(xmbr_id, xauto_access)

Definition at line 2882 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_pod(), and member_has_name().

◆ member_name_map()

sheaf::poset_state_handle::member_name_map_type & sheaf::poset_state_handle::member_name_map ( bool  xrequire_write_access = false)
protected

The bidirectional map between member indices and names.

Precondition

Definition at line 3092 of file poset_state_handle.cc.

References member_id_spaces().

Referenced by delete_all_member_names(), sheaf::poset_scaffold::get_member_names_from_poset(), and sheaf::poset_scaffold::put_member_names_to_poset().

◆ member_path()

sheaf::poset_path sheaf::poset_state_handle::member_path ( pod_index_type  xmbr_hub_id,
bool  xauto_access 
) const

A path for the member with hub id xmbr_hub_id.

Precondition
  • state_is_auto_read_accessible(xauto_access)
  • contains_member(xmbr_hub_id, xauto_access)
Postcondition
  • result.poset_name() == name(xauto_access)
  • member_id(result.member_name(), xauto_access) == xmbr_hub_id

Definition at line 2723 of file poset_state_handle.cc.

References sheaf::poset_path::member_name(), member_name(), and sheaf::poset_path::poset_name().

Referenced by new_member_interval().

◆ merge_jems() [1/2]

void sheaf::poset_state_handle::merge_jems ( pod_index_type  xjem1,
pod_index_type  xjem2 
)
virtual

Merge the join-equivalence class of hub id xjem2 under that of hub id xjem1.

Precondition
  • xjem1 != xjem2
  • !is_jem(xjem1, BOTTOM_INDEX)
  • contains_member(xjem1, false)
  • contains_member(xjem2, false)
  • !is_jim(xjem1)
  • !is_jim(xjem2)
  • cover_is_equal(LOWER, xjem1, xjem2)
Postcondition
  • le(xjem1, xjem2)

Reimplemented in fiber_bundle::binary_section_space_schema_poset.

Definition at line 3886 of file poset_state_handle.cc.

References sheaf::LOWER.

Referenced by fiber_bundle::binary_section_space_schema_poset::binary_section_space_schema_poset(), link_least_jem(), and sheaf::poset_orderer::postvisit_action().

◆ merge_jems() [2/2]

void sheaf::poset_state_handle::merge_jems ( const scoped_index xjem1,
const scoped_index xjem2 
)

Merge the join-equivalence class of id xjem2 under that of id xjem1.

Precondition
  • xjem1 !=~ xjem2
  • contains_member(xjem1, false)
  • contains_member(xjem2, false)
  • !is_jim(xjem1)
  • !is_jim(xjem2)
  • cover_is_equal(LOWER, xjem1, xjem2)
Postcondition
  • le(xjem1, xjem2)

Definition at line 3946 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_pod(), sheaf::LOWER, and new_link().

◆ name() [1/2]

std::string sheaf::poset_state_handle::name ( ) const
virtual

The name of this poset.

Precondition

Reimplemented in sheaf::namespace_poset.

Definition at line 1174 of file poset_state_handle.cc.

Referenced by fiber_bundle::section_space_schema_member::attach_to_state(), sheaf::attributes_record_set::attributes_record_set(), sheaf::storage_agent::begin_read_transaction(), sheaf::storage_agent::commit_transaction(), sheaf::interval_index_space_record::externalize(), sheaf::map_record::externalize(), sheaf::interval_index_space_record::internalize(), sheaf::map_record::internalize(), fiber_bundle::at1_space::invariant(), fiber_bundle::at0_space::invariant(), fiber_bundle::sec_at1_space::invariant(), fiber_bundle::sec_at0_space::invariant(), sheaf::member_record_set::make_internal_dataspace(), sheaf::poset_scaffold::name(), sheaf::namespace_poset::name(), fiber_bundle::e1::new_atp(), fiber_bundle::e2::new_atp(), fiber_bundle::e4::new_atp(), fiber_bundle::e3::new_atp(), fiber_bundle::product_section_space_schema_poset::new_state(), fiber_bundle::e2::new_stp(), fiber_bundle::e3::new_stp(), fiber_bundle::e1::new_tp(), fiber_bundle::e2::new_tp(), fiber_bundle::e4::new_tp(), fiber_bundle::e3::new_tp(), fiber_bundle::operator<<(), sheaf::operator<<(), primitives(), sheaf::record_set::read_attribute(), sheaf::storage_agent::read_prerequisites(), sheaf::attributes_record_set::read_toc_bounds_attribute(), fiber_bundle::section_space_schema_poset::terminate_access(), sheaf::table_dof_tuple_record::transfer_internal_buffer_to_poset(), sheaf::storage_agent::write(), sheaf::storage_agent::write_prerequisites(), sheaf::dof_tuple_record_set::write_selection(), and sheaf::attributes_record_set::write_toc_bounds_attribute().

◆ name() [2/2]

std::string sheaf::poset_state_handle::name ( bool  xauto_access) const
virtual

The name of this poset.

Precondition

Reimplemented in sheaf::namespace_poset.

Definition at line 1208 of file poset_state_handle.cc.

References path().

◆ name_space()

sheaf::namespace_poset * sheaf::poset_state_handle::name_space ( ) const

The namespace this poset resides in.

Definition at line 1127 of file poset_state_handle.cc.

References index().

Referenced by fiber_bundle::section_space_schema_poset::attach_handle_data_members(), attach_to_state(), fiber_bundle::base_space_member::base_space_member(), sheaf::storage_agent::begin_read_transaction(), fiber_bundle::unstructured_block_builder::build_block_decomposition(), host(), fields::field_refiner_family::initialize(), sheaf::poset_scaffold::name_space(), sheaf::poset_component::name_space(), sheaf::namespace_poset_member::namespace_poset_member(), fiber_bundle::e1::new_atp(), fiber_bundle::e2::new_atp(), fiber_bundle::e4::new_atp(), fiber_bundle::e3::new_atp(), fiber_bundle::homogeneous_block::new_row_dof_map(), fiber_bundle::structured_block_1d::new_row_dof_map(), fiber_bundle::point_block_1d::new_row_dof_map(), fiber_bundle::structured_block_2d::new_row_dof_map(), fiber_bundle::point_block_2d::new_row_dof_map(), fiber_bundle::structured_block_3d::new_row_dof_map(), fiber_bundle::point_block_3d::new_row_dof_map(), fiber_bundle::base_space_member::new_row_dof_map(), fiber_bundle::structured_block_1d::new_state(), fiber_bundle::point_block_2d::new_state(), fiber_bundle::point_block_1d::new_state(), fiber_bundle::structured_block_2d::new_state(), fiber_bundle::point_block_3d::new_state(), fiber_bundle::structured_block_3d::new_state(), fiber_bundle::zone_nodes_block::new_state(), fiber_bundle::product_section_space_schema_poset::new_state(), new_state(), fiber_bundle::unstructured_block::new_state(), fiber_bundle::e2::new_stp(), fiber_bundle::e3::new_stp(), fiber_bundle::e1::new_tp(), fiber_bundle::e2::new_tp(), fiber_bundle::e4::new_tp(), fiber_bundle::e3::new_tp(), fiber_bundle::at1_space::prereq_id(), fiber_bundle::sec_at1_space::prereq_id(), fiber_bundle::at0_space::prereq_id(), fiber_bundle::gln_space::prereq_id(), fiber_bundle::jcb_space::prereq_id(), fiber_bundle::sec_at0_space::prereq_id(), fiber_bundle::sec_jcb_space::prereq_id(), fiber_bundle::vd_space::prereq_id(), fiber_bundle::sec_vd_space::prereq_id(), fiber_bundle::tp_space::prereq_id(), fiber_bundle::sec_tp_space::prereq_id(), fiber_bundle::print_prereq_paths(), fiber_bundle::unstructured_block_builder::put_name_mode(), sheaf::storage_agent::read_prerequisites(), and sheaf::table_dof_tuple_record::transfer_poset_to_internal_buffer().

◆ new_link() [1/2]

void sheaf::poset_state_handle::new_link ( pod_index_type  xgreater,
pod_index_type  xlesser 
)
virtual

Insert a cover link from greater to lesser (that is, hub id xgreater covers hub id xlesser). WARNING: this routine does not ensure that the link is a cover link, that is, it does not remove redundant or conflicting links. Improper use of this routine can produce inconsistent poset states.

Precondition
  • contains_member(xgreater, false)
  • xgreater != BOTTOM_INDEX
  • contains_member(xlesser, false)
  • xlesser != TOP_INDEX
Hack:
the following precondition is unexecutable because contains_cover_link must do a linear search of the lower cover of xgreater. The lower cover of a block is O(size of block), which makes assertions non-linear.
Postcondition
  • -unexecutable( contains_link(xgreater, xlesser) )

Reimplemented in fiber_bundle::section_space_schema_poset.

Definition at line 3985 of file poset_state_handle.cc.

References sheaf::LOWER, and sheaf::UPPER.

Referenced by fields::local_field_refiner::create_vertex(), sheaf::abstract_poset_member::delete_state(), fields::field_vd::embed_property(), sheaf::namespace_poset_schema::initialize_standard_members(), fiber_bundle::fiber_bundles_namespace::link_poset(), sheaf::namespace_poset::link_poset(), merge_jems(), fields::edge_centered_triangle_refiner::modify_crg(), fiber_bundle::section_space_schema_poset::new_link(), sheaf::poset_orderer::postvisit_action(), fiber_bundle::unstructured_block_builder::put_name_mode(), and fiber_bundle::section_space_schema_poset::table_dof_tuple_ptr().

◆ new_link() [2/2]

void sheaf::poset_state_handle::new_link ( const scoped_index xgreater,
const scoped_index xlesser 
)

Insert a cover link from greater to lesser (that is, id xgreater covers id xlesser). WARNING: this routine does not ensure that the link is a cover link, that is, it does not remove redundant or conflicting links. Improper use of this routine can produce inconsistent poset states.

Precondition
  • contains_member(xgreater, false)
  • xgreater.hub_pod() != BOTTOM_INDEX
  • contains_member(xlesser, false)
  • xlesser.hub_pod() != TOP_INDEX
Hack:
the following precondition is unexecutable because cointains_cover_link must do a linear search of the lower cover of xgreater. The lower cover of a block is O(size of block), which makes assertions non-linear.
Postcondition
  • -unexecutable( contains_link(xgreater, xlesser) )

Definition at line 4018 of file poset_state_handle.cc.

References delete_link(), and sheaf::scoped_index::hub_pod().

◆ new_member() [1/6]

sheaf::pod_index_type sheaf::poset_state_handle::new_member ( bool  xis_jim,
pod_index_type  xtuple_hub_id 
)
virtual

Create a disconnected member with is_jim == xis_jim and the dof tuple identified by hub id xtuple_hub_id. WARNING: this routine leaves a disconnected member in the poset and hence leaves the poset in an invalid state. The client must properly link the member created by this routine using new_link in order to return the poset to a valid state.

Precondition
  • (!is_valid(xtuple_hub_id)) || contains_row_dof_tuple(xtuple_hub_id)
Postcondition
  • cover_is_empty(LOWER, result)
  • cover_is_empty(UPPER, result)

Reimplemented in fiber_bundle::section_space_schema_poset, and sheaf::refinable_poset.

Definition at line 1331 of file poset_state_handle.cc.

References sheaf::is_valid(), sheaf::LOWER, and sheaf::UPPER.

Referenced by fields::field_vd::embed_property(), index_in_bounds(), initialize_namespace(), sheaf::member_record::internalize(), fiber_bundle::fiber_bundles_namespace::link_poset(), sheaf::namespace_poset::link_poset(), sheaf::abstract_poset_member::new_jem_state(), sheaf::schema_poset_member::new_jim_state(), sheaf::abstract_poset_member::new_jim_state(), sheaf::abstract_poset_member::new_jrm_state(), sheaf::refinable_poset::new_member(), new_member(), fiber_bundle::section_space_schema_poset::new_member(), and fiber_bundle::section_space_schema_poset::table_dof_tuple_ptr().

◆ new_member() [2/6]

void sheaf::poset_state_handle::new_member ( bool  xis_jim,
const scoped_index xtuple_id,
scoped_index result 
)

Create a disconnected member with is_jim == xis_jim and the dof tuple identified by id xtuple_id. WARNING: this routine leaves a disconnected member in the poset and hence leaves the poset in an invalid state. The client must properly link the member created by this routine using new_link in order to return the poset to a valid state.

Precondition
  • contains_row_dof_tuple(xtuple_id) || (!xtuple_id.is_valid())
Postcondition
  • cover_is_empty(LOWER, result)
  • cover_is_empty(UPPER, result)

Definition at line 1393 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_pod(), sheaf::scoped_index::is_valid(), sheaf::LOWER, new_member(), sheaf::scoped_index::put(), and sheaf::UPPER.

◆ new_member() [3/6]

sheaf::pod_index_type sheaf::poset_state_handle::new_member ( bool  xis_jim,
poset_dof_map xdof_map = 0,
bool  xcopy_dof_map = false 
)
virtual

Create a disconnected member with is_jim == xis_jim. If xdof_map != 0, the new member uses it for dof storage, otherwise it creates an instance of array_poset_dof_map. WARNING: this routine leaves a disconnected member in the poset and hence leaves the poset in an invalid state. The client must properly link the member created by this routine using new_link in order to return the poset to a valid state.

Precondition
Todo:
propagate this precondition to poset_member constructors
Postcondition
  • cover_is_empty(LOWER, result)
  • cover_is_empty(UPPER, result)

Reimplemented in fiber_bundle::section_space_schema_poset, fiber_bundle::section_space_schema_poset, and sheaf::refinable_poset.

Definition at line 1421 of file poset_state_handle.cc.

References sheaf::poset_dof_map::host(), sheaf::poset_dof_map::index(), sheaf::scoped_index::invalidate(), is_same_state(), sheaf::poset_component::is_same_state(), sheaf::scoped_index::is_valid(), sheaf::LOWER, new_member(), schema(), and sheaf::UPPER.

◆ new_member() [4/6]

void sheaf::poset_state_handle::new_member ( bool  xis_jim,
poset_dof_map xdof_map,
bool  xcopy_dof_map,
scoped_index result 
)

Create a disconnected member with is_jim == xis_jim. If xdof_map != 0, the new member uses it for dof storage, otherwise it creates an instance of array_poset_dof_map. WARNING: this routine leaves a disconnected member in the poset and hence leaves the poset in an invalid state. The client must properly link the member created by this routine using new_link in order to return the poset to a valid state.

Precondition
Todo:
propagate this precondition to poset_member constructors
Postcondition
  • cover_is_empty(LOWER, result)
  • cover_is_empty(UPPER, result)

Definition at line 1506 of file poset_state_handle.cc.

References sheaf::poset_dof_map::host(), sheaf::poset_component::is_same_state(), sheaf::LOWER, new_member_interval(), sheaf::scoped_index::put(), schema(), and sheaf::UPPER.

◆ new_member() [5/6]

void sheaf::poset_state_handle::new_member ( pod_index_type  xmbr_hub_id,
bool  xis_jim,
const scoped_index xdof_tuple_id 
)
protectedvirtual

Create a disconnected member with hub id xmbr_hub_id, is_jim == xis_jim and the dof tuple identified by xdof_tuple_id. WARNING: this routine leaves a disconnected member in the poset and hence leaves the poset in an invalid state. The client must properly link the member created by this routine using new_link in order to return the poset to a valid state.

Precondition
  • is_valid(xmbr_hub_id)
  • !contains_member(xmbr_hub_id)
  • member_id_spaces(false).is_valid_reserved_id(xmbr_hub_id)
  • (!xdof_tuple_id.is_valid()) || contains_row_dof_tuple(xdof_tuple_id)
Postcondition
  • contains_member(xmbr_hub_id)
  • cover_is_empty(LOWER, xmbr_hub_id)
  • cover_is_empty(UPPER, xmbr_hub_id)

Definition at line 2464 of file poset_state_handle.cc.

References sheaf::scoped_index::hub_pod(), sheaf::is_valid(), sheaf::scoped_index::is_valid(), sheaf::LOWER, new_member(), and sheaf::UPPER.

◆ new_member() [6/6]

void sheaf::poset_state_handle::new_member ( pod_index_type  xmbr_hub_id,
bool  xis_jim,
poset_dof_map xdof_map,
bool  xcopy_dof_map 
)
protected

Create a disconnected member with hub id xmbr_hub_id and is_jim == xis_jim. If xdof_map != 0, the new member uses it for dof storage, otherwise it creates an instance of array_poset_dof_map. WARNING: this routine leaves a disconnected member in the poset and hence leaves the poset in an invalid state. The client must properly link the member created by this routine using new_link in order to return the poset to a valid state.

Precondition
  • is_valid(xmbr_hub_id)
  • !contains_member(xmbr_hub_id)
  • member_id_spaces(false).is_valid_reserved_id(xmbr_hub_id)
Todo:
propagate this precondition to poset_member constructors
Postcondition
  • contains_member(xmbr_hub_id)
  • cover_is_empty(LOWER, xmbr_hub_id)
  • cover_is_empty(UPPER, xmbr_hub_id)

Definition at line 2528 of file poset_state_handle.cc.

References sheaf::poset_dof_map::host(), sheaf::poset_dof_map::index(), sheaf::scoped_index::invalidate(), is_same_state(), sheaf::poset_component::is_same_state(), sheaf::is_valid(), sheaf::scoped_index::is_valid(), sheaf::LOWER, new_member_interval(), schema(), and sheaf::UPPER.

◆ new_member_interval() [1/4]

sheaf::pod_index_type sheaf::poset_state_handle::new_member_interval ( const std::string &  xinterval_type,
size_type  xsize,
const block< pod_index_type > &  xtuple_hub_ids,
const block< pod_index_type > &  xdata 
)
virtual

Create a disconnected member interval of type xinterval_type with size xsize, dof tuple ids xtuple_hub_ids, and interval type specific private data xdata. WARNING: this routine leaves a disconnected member in the poset and hence leaves the poset in an invalid state. The client must properly link the member created by this routine using new_link in order to return the poset to a valid state.

Precondition
  • xsize > 0
Postcondition
  • for( pod_index_type i=result ; i<member_index_ub().pod() ; ++i ) contains_member(i)
  • -unexecutable( "result is_initialized()" )

Reimplemented in sheaf::refinable_poset.

Definition at line 1536 of file poset_state_handle.cc.

References sheaf::implicit_crg_interval::finalize(), sheaf::implicit_crg_interval::initialize_dof_tuple_ids(), and sheaf::implicit_crg_interval::put_private_data().

Referenced by sheaf::member_record::internalize(), new_member(), sheaf::refinable_poset::new_member_interval(), new_member_interval(), fiber_bundle::point_block_2d::new_state(), fiber_bundle::point_block_1d::new_state(), and fiber_bundle::point_block_3d::new_state().

◆ new_member_interval() [2/4]

void sheaf::poset_state_handle::new_member_interval ( const std::string &  xinterval_type,
size_type  xsize,
const block< pod_index_type > &  xtuple_hub_ids,
const block< pod_index_type > &  xdata,
scoped_index result 
)

Create a disconnected member interval of type xinterval_type with size xsize, dof tuple hub ids xtuple_hub_ids, and interval type specific private data xdata. WARNING: this routine leaves a disconnected member in the poset and hence leaves the poset in an invalid state. The client must properly link the member created by this routine using new_link in order to return the poset to a valid state.

Precondition
  • xsize > 0
Postcondition
  • -unexecutable( "result is_initialized()" )

Definition at line 1574 of file poset_state_handle.cc.

References delete_member(), and sheaf::scoped_index::put().

◆ new_member_interval() [3/4]

sheaf::pod_index_type sheaf::poset_state_handle::new_member_interval ( const std::string &  xinterval_type,
size_type  xsize 
)
protectedvirtual

Create a disconnected member interval of type xinterval_type with size xsize.

WARNING: this routine leaves the new member interval is a partially constructed state (see postconditions) and is intended primarily for use by the i/o subsystem.

WARNING: this routine leaves a disconnected member in the poset and hence leaves the poset in an invalid state. The client must properly link the member created by this routine using new_link in order to return the poset to a valid state.

Precondition
  • xsize > 0
Postcondition
  • for( pod_index_type i=result ; i<member_index_ub().pod() ; ++i ) contains_member(i)
  • -unexecutable( "result size_initialized()" )
  • -unexecutable( "result local_id_space_initialized()" )

Reimplemented in sheaf::refinable_poset.

Definition at line 2614 of file poset_state_handle.cc.

References sheaf::crg_interval::begin(), sheaf::crg_interval::end(), and new_member_interval().

◆ new_member_interval() [4/4]

void sheaf::poset_state_handle::new_member_interval ( pod_index_type  xmbr_hub_id,
const std::string &  xinterval_type,
size_type  xsize 
)
protectedvirtual

Create a disconnected member interval beginning at hub id xmbr_hub_id, of type xinterval_type, and with size xsize.

WARNING: this routine leaves the new member interval is a partially constructed state (see postconditions) and is intended primarily for use by the i/o subsystem.

WARNING: this routine leaves a disconnected member in the poset and hence leaves the poset in an invalid state. The client must properly link the member created by this routine using new_link in order to return the poset to a valid state.

Precondition
  • is_valid(xmbr_hub_id)
  • for( pod_index_type i=0 ; i<xsize ; ++i ) !contains_member(xmbr_hub_id + i)
  • xsize > 0
Postcondition
  • for( pod_index_type i=0 ; i<xsize ; ++i ) contains_member(xmbr_hub_id + i)
  • -unexecutable( "result size_initialized()" )
  • -unexecutable( "result local_id_space_initialized()" )

Definition at line 2663 of file poset_state_handle.cc.

References sheaf::crg_interval::begin(), sheaf::crg_interval::end(), sheaf::is_valid(), and member_path().

◆ new_poset_handle()

sheaf::poset_state_handle * sheaf::poset_state_handle::new_poset_handle ( const std::string &  xclass_name,
poset_type  xsheaf_base_class_id 
)
staticprotected

Creates an unattached handle of type xclass_name, if a prototype of that name exists, otherwise of type xsheaf_base_class_id.

Todo:
Move this functionality to namespace_poset.
Postcondition
  • result != 0

Definition at line 71 of file poset_state_handle.cc.

References factory(), and is_attached().

◆ new_row_dof_map()

◆ new_schema_handle()

sheaf::schema_poset_member * sheaf::poset_state_handle::new_schema_handle ( const std::string &  xid_space_name,
pod_index_type  xschema_member_ext_id,
pod_index_type  xbase_space_ext_id,
pod_index_type  xfiber_schema_ext_id,
pod_index_type  xlocal_schema_ext_id 
)
virtual

Creates a member handle of the type appropriate for members of this when used as a schema. Intended for use only by the i/o subsystem. /.

Hack:
the product subposet hack, version 2. / This member exists only to encapsulate the hack. /
Hack:
this function should be const, but descendants call mmber functions that are not currently const.
Postcondition
  • result != 0
  • schema_is_ancestor_of(result)

Reimplemented in fiber_bundle::product_section_space_schema_poset, and fiber_bundle::binary_section_space_schema_poset.

Definition at line 7881 of file poset_state_handle.cc.

References sheaf::abstract_poset_member::attach_to_state(), get_decomposition(), and sheaf::poset_component::is_attached().

Referenced by fiber_bundle::binary_section_space_schema_poset::binary_section_space_schema_poset(), put_version(), and sheaf::poset_general_record::transfer_internal_buffer_to_poset().

◆ new_state() [1/2]

void sheaf::poset_state_handle::new_state ( namespace_poset xns,
const poset_path xpath,
const schema_poset_member xschema,
array_poset_dof_map xdof_map 
)
protected

Creates a new poset state with schema xschema and table dof map xdof_map, attaches this to the state and creates and initializes the associated namespace member. Intended for use by new_table factory methods.

Precondition
  • !xpath.empty()
  • !xns.contains_poset(xpath, true)
  • schema_is_ancestor_of(&xschema)
  • xschema.state_is_read_accessible()
Postcondition
  • path(true).poset_name() == xpath.poset_name()
  • schema(true).is_same_state(&xschema)
  • &table_dof_map(false) == &xdof_map

Definition at line 818 of file poset_state_handle.cc.

References sheaf::namespace_poset::contains_poset(), sheaf::poset_path::empty(), sheaf::poset_component::host(), is_same_state(), name_space(), sheaf::poset_path::poset_name(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Referenced by detach_from_state(), sheaf::primitives_poset::namespace_relative_subposet_index_type(), sheaf::poset::operator=(), and sheaf::table_dof_tuple_record::transfer_internal_buffer_to_poset().

◆ new_state() [2/2]

void sheaf::poset_state_handle::new_state ( const poset_path xpath,
const schema_poset_member xschema,
array_poset_dof_map xdof_map 
)
protectedvirtual

Creates a new poset state with path xpath, schema xschema and table dof map xdof_map, attaches this to the state.

Precondition
  • !xpath.empty()
  • !xpath.full()
  • schema_is_ancestor_of(&xschema)
  • xschema.state_is_read_accessible()
Issue:
the following is unexecutable because dof maps don't have a schema until attached to a host; requires covariant schema feature to implement.
Todo:
fix dof maps schema feature and make this precondition executable.
Precondition
  • -unexecutable( xschema.is_same_state(xdof_map.schema()) )
Is Abstract.
Postcondition
  • !in_jim_edit_mode()
  • version() == COARSEST_COMMON_REFINEMENT_VERSION

Reimplemented in fiber_bundle::sec_rep_space, fiber_bundle::binary_section_space_schema_poset, and sheaf::poset.

Definition at line 861 of file poset_state_handle.cc.

References sheaf::poset_path::empty(), sheaf::poset_path::full(), initialize_handle_data_members(), sheaf::poset_component::is_same_state(), sheaf::poset_dof_map::schema(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

◆ new_subposet() [1/4]

sheaf::pod_index_type sheaf::poset_state_handle::new_subposet ( bool  xinitialize = true)
virtual

Creates a new subposet. If xinitialize, make the subposet empty,.

Precondition
Postcondition
  • includes_subposet(result, false)

Definition at line 5343 of file poset_state_handle.cc.

Referenced by includes_subposets(), sheaf::subposet::new_state(), fiber_bundle::section_space_schema_poset::new_subposet(), new_subposet(), and fiber_bundle::section_space_schema_poset::table_dof_tuple_ptr().

◆ new_subposet() [2/4]

void sheaf::poset_state_handle::new_subposet ( bool  xinitialize,
scoped_index result 
)

Creates a new subposet. If xinitialize, make the subposet empty,.

Precondition
Postcondition
  • includes_subposet(result, false)

Definition at line 5367 of file poset_state_handle.cc.

References new_subposet().

◆ new_subposet() [3/4]

sheaf::pod_index_type sheaf::poset_state_handle::new_subposet ( const block< pod_index_type > &  xmembers)
virtual

Creates a new subposet. Set the membership to the members with indices in xmambers.

Precondition
  • contains_members(xmembers)
Postcondition
  • includes_subposet(result, false)

Reimplemented in fiber_bundle::section_space_schema_poset.

Definition at line 5391 of file poset_state_handle.cc.

References new_subposet().

◆ new_subposet() [4/4]

void sheaf::poset_state_handle::new_subposet ( const block< scoped_index > &  xmembers,
scoped_index result 
)
virtual

Creates a new subposet. Set the membership to the members with indices in xmambers.

Precondition
  • contains_members(xmembers)
Postcondition
  • includes_subposet(result, false)

Definition at line 5416 of file poset_state_handle.cc.

References delete_subposet().

◆ new_term()

sheaf::pod_index_type sheaf::poset_state_handle::new_term ( size_type  xct,
bool  xauto_access 
)
protected

Creates a new term in the member hub id space with xct number of ids. Returns the index of the id space state created.

Precondition
  • state_is_auto_read_write_accessible(xauto_access)

Definition at line 3423 of file poset_state_handle.cc.

References le().

Referenced by extend_last_member_term(), and fiber_bundle::section_space_schema_poset::initialize_standard_members().

◆ operator=()

poset_state_handle& sheaf::poset_state_handle::operator= ( const poset_state_handle xother)
inlineprotected

Assignment operator; disabled.

Definition at line 208 of file poset_state_handle.h.

◆ path()

sheaf::poset_path sheaf::poset_state_handle::path ( bool  xauto_access = true) const
virtual

The path of this poset.

Precondition
Postcondition
  • !result.empty()
  • !result.full()

Reimplemented in sheaf::namespace_poset.

Definition at line 1241 of file poset_state_handle.cc.

References sheaf::poset_path::empty(), sheaf::poset_path::full(), and initialize_namespace().

Referenced by fields::body_pusher::body_pusher(), name(), fiber_bundle::homogeneous_block::new_host(), fiber_bundle::sec_e1_uniform::new_host(), fiber_bundle::sec_e2_uniform::new_host(), fiber_bundle::structured_block::new_host(), fiber_bundle::sec_e3_uniform::new_host(), fiber_bundle::unstructured_block::new_host(), fiber_bundle::sec_met::new_host(), fiber_bundle::sec_met_ed::new_host(), fiber_bundle::sec_at3::new_host(), fiber_bundle::zone_nodes_block::new_host(), fiber_bundle::sec_jcb_ed::new_host(), fiber_bundle::point_block_2d::new_host(), fiber_bundle::point_block_3d::new_host(), fiber_bundle::sec_st2::new_host(), fiber_bundle::sec_st3::new_host(), fiber_bundle::sec_at2::new_host(), fiber_bundle::sec_st4::new_host(), fiber_bundle::sec_t2::new_host(), fiber_bundle::sec_t3::new_host(), fiber_bundle::sec_t4::new_host(), fiber_bundle::sec_ed::new_host(), fiber_bundle::point_block_1d::new_host(), fiber_bundle::structured_block_3d::new_host(), fiber_bundle::structured_block_2d::new_host(), fiber_bundle::structured_block_1d::new_host(), fiber_bundle::sec_stp::new_host(), fiber_bundle::sec_atp::new_host(), fiber_bundle::sec_at1::new_host(), fiber_bundle::sec_e1::new_host(), fiber_bundle::sec_e3::new_host(), fiber_bundle::sec_e4::new_host(), fiber_bundle::sec_met_e2::new_host(), fiber_bundle::sec_met_e1::new_host(), fiber_bundle::sec_st2_e3::new_host(), fiber_bundle::sec_st3_e3::new_host(), fiber_bundle::sec_st4_e2::new_host(), fiber_bundle::sec_st4_e3::new_host(), fiber_bundle::sec_t2_e2::new_host(), fiber_bundle::sec_at2_e2::new_host(), fiber_bundle::sec_t4_e2::new_host(), fiber_bundle::sec_t4_e3::new_host(), fiber_bundle::sec_at2_e3::new_host(), fiber_bundle::sec_at3_e3::new_host(), fiber_bundle::sec_e2::new_host(), fiber_bundle::sec_met_e3::new_host(), fiber_bundle::sec_st2_e2::new_host(), fiber_bundle::sec_t2_e3::new_host(), fiber_bundle::sec_t3_e3::new_host(), fiber_bundle::sec_at0::new_host(), fiber_bundle::sec_jcb_e13::new_host(), fiber_bundle::sec_jcb_e33::new_host(), fiber_bundle::sec_tp::new_host(), fiber_bundle::sec_jcb_e23::new_host(), fiber_bundle::sec_jcb::new_host(), fiber_bundle::binary_section_space_schema_member::new_host(), sheaf::schema_poset_member::new_host(), fiber_bundle::sec_vd::new_host(), fiber_bundle::sec_tuple::new_host(), fiber_bundle::base_space_member::new_host(), fiber_bundle::stp::new_host(), fiber_bundle::atp::new_host(), fiber_bundle::ed::new_host(), fiber_bundle::met::new_host(), fiber_bundle::at1::new_host(), fiber_bundle::met_ed::new_host(), fiber_bundle::t3::new_host(), fiber_bundle::t4::new_host(), fiber_bundle::t2::new_host(), fiber_bundle::at3::new_host(), fiber_bundle::st3::new_host(), fiber_bundle::st4::new_host(), fiber_bundle::tuple::new_host(), fiber_bundle::st2::new_host(), fiber_bundle::at2::new_host(), fiber_bundle::tp::new_host(), fiber_bundle::gln::new_host(), fiber_bundle::vd::new_host(), fiber_bundle::t4_e2::new_host(), fiber_bundle::e1::new_host(), fiber_bundle::t3_e3::new_host(), fiber_bundle::e2::new_host(), fiber_bundle::e4::new_host(), fiber_bundle::at0::new_host(), fiber_bundle::t4_e3::new_host(), fiber_bundle::t2_e2::new_host(), fiber_bundle::gl2::new_host(), fiber_bundle::t2_e3::new_host(), fiber_bundle::e3::new_host(), fiber_bundle::gl3::new_host(), fiber_bundle::base_space_factory< base_type >::new_space(), fiber_bundle::product_section_space_schema_poset::new_state(), sheaf::refinable_poset::new_table(), sheaf::poset::new_table(), fiber_bundle::at0_space::new_table(), fiber_bundle::at1_space::new_table(), fiber_bundle::stp_space::new_table(), fiber_bundle::atp_space::new_table(), fiber_bundle::sec_rep_descriptor_poset::new_table(), fiber_bundle::vd_space::new_table(), fiber_bundle::tuple_space::new_table(), fiber_bundle::tp_space::new_table(), fiber_bundle::gln_space::new_table(), fiber_bundle::jcb_space::new_table(), fiber_bundle::base_space_poset::new_table(), sheaf::namespace_poset::owns(), sheaf::namespace_poset::path(), fiber_bundle::print_prereq_paths(), fiber_bundle::sec_vd_space::same_scalar_fiber_space(), fiber_bundle::sec_jcb_space::same_vector_fiber_space(), fiber_bundle::sec_e1_uniform::standard_host(), fiber_bundle::sec_e2_uniform::standard_host(), fiber_bundle::sec_e3_uniform::standard_host(), fiber_bundle::point_block_3d::standard_host(), fiber_bundle::point_block_2d::standard_host(), fiber_bundle::unstructured_block::standard_host(), fiber_bundle::zone_nodes_block::standard_host(), fiber_bundle::point_block_1d::standard_host(), fiber_bundle::structured_block_3d::standard_host(), fiber_bundle::structured_block_2d::standard_host(), fiber_bundle::structured_block_1d::standard_host(), fiber_bundle::sec_e1::standard_host(), fiber_bundle::sec_st4_e3::standard_host(), fiber_bundle::sec_met_e1::standard_host(), fiber_bundle::sec_met_e2::standard_host(), fiber_bundle::sec_e3::standard_host(), fiber_bundle::sec_st2_e3::standard_host(), fiber_bundle::sec_st3_e3::standard_host(), fiber_bundle::sec_st4_e2::standard_host(), fiber_bundle::sec_e4::standard_host(), fiber_bundle::sec_t2_e2::standard_host(), fiber_bundle::sec_at2_e2::standard_host(), fiber_bundle::sec_e2::standard_host(), fiber_bundle::sec_st2_e2::standard_host(), fiber_bundle::sec_at3_e3::standard_host(), fiber_bundle::sec_t3_e3::standard_host(), fiber_bundle::sec_at2_e3::standard_host(), fiber_bundle::sec_t2_e3::standard_host(), fiber_bundle::sec_met_e3::standard_host(), fiber_bundle::sec_t4_e3::standard_host(), fiber_bundle::sec_t4_e2::standard_host(), fiber_bundle::sec_at0::standard_host(), fiber_bundle::sec_jcb_e13::standard_host(), fiber_bundle::sec_jcb_e33::standard_host(), fiber_bundle::sec_jcb_e23::standard_host(), sheaf::schema_poset_member::standard_host(), fiber_bundle::sec_rep_descriptor::standard_host(), fiber_bundle::binary_section_space_schema_member::standard_host(), fiber_bundle::base_space_member::standard_host(), fiber_bundle::st3_e3::standard_host(), fiber_bundle::at3_e3::standard_host(), fiber_bundle::st4_e2::standard_host(), fiber_bundle::t4_e2::standard_host(), fiber_bundle::st4_e3::standard_host(), fiber_bundle::met_e1::standard_host(), fiber_bundle::e1::standard_host(), fiber_bundle::t3_e3::standard_host(), fiber_bundle::e2::standard_host(), fiber_bundle::e4::standard_host(), fiber_bundle::at2_e2::standard_host(), fiber_bundle::jcb_e23::standard_host(), fiber_bundle::at2_e3::standard_host(), fiber_bundle::at0::standard_host(), fiber_bundle::st2_e2::standard_host(), fiber_bundle::st2_e3::standard_host(), fiber_bundle::jcb_e13::standard_host(), fiber_bundle::jcb_e33::standard_host(), fiber_bundle::t4_e3::standard_host(), fiber_bundle::t2_e2::standard_host(), fiber_bundle::met_e2::standard_host(), fiber_bundle::gl2::standard_host(), fiber_bundle::t2_e3::standard_host(), fiber_bundle::met_e3::standard_host(), fiber_bundle::e3::standard_host(), and fiber_bundle::gl3::standard_host().

◆ powerset()

◆ prereq_id()

◆ primitives()

const sheaf::primitives_poset & sheaf::poset_state_handle::primitives ( ) const
virtual

The set of primitives used by this poset.

Precondition

Reimplemented in sheaf::namespace_poset.

Definition at line 1154 of file poset_state_handle.cc.

References name(), and primitives().

Referenced by index(), and primitives().

◆ put_member_dof_tuple()

void sheaf::poset_state_handle::put_member_dof_tuple ( pod_index_type  xmbr_hub_id,
void *  xbuf,
size_t  xbuf_len,
bool  xauto_access 
)

Copies the contents of the buffer xbuf of len xbuf_len into the dof tuple of the member with hub id xmbr_hub_id.

Precondition
  • state_is_auto_read_write_accessible(xauto_access)
  • contains_member(xmbr_hub_id, xauto_access)
  • -unexecutable( "xbuf points to a buffer of length xbuflen" )
  • xbuflen >= member_dof_map(xmbr_hub_id, true).dof_tuple_ub()

Definition at line 6898 of file poset_state_handle.cc.

References member_dof_tuple_id().

Referenced by member_dof_tuple().

◆ put_member_dof_tuple_id() [1/2]

void sheaf::poset_state_handle::put_member_dof_tuple_id ( pod_index_type  xmbr_hub_id,
pod_index_type  xtuple_hub_id,
bool  xauto_access 
)

Sets the dof tuple hub id of the member with hub id xmbr_hub_id to xtuple_hub_id.

Precondition
  • state_is_auto_read_write_accessible(xauto_access)
  • contains_member(xmbr_hub_id, false)
  • contains_row_dof_tuple(xtuple_hub_id) || !is_valid(xtuple_hub_id)
Postcondition
  • member_dof_tuple_id(xmbr_hub_id, xauto_access) == xtuple_hub_id

Definition at line 6997 of file poset_state_handle.cc.

References sheaf::is_valid().

Referenced by sheaf::member_record::internalize(), and member_dof_tuple_id().

◆ put_member_dof_tuple_id() [2/2]

void sheaf::poset_state_handle::put_member_dof_tuple_id ( const scoped_index xmbr_id,
const scoped_index xtuple_id,
bool  xauto_access 
)

Sets the dof tuple id of the member with id xmbr_id to xtuple_id.

Precondition
  • state_is_auto_read_write_accessible(xauto_access)
  • contains_member(xmbr_id, false)
  • contains_row_dof_tuple(xtuple_id) || !xtuple_id.is_valid()
Postcondition
  • member_dof_tuple_id(xmbr_id.hub_pod(), xauto_access) == xtuple_id.hub_pod()

Definition at line 7032 of file poset_state_handle.cc.

References contains_row_dof_tuple(), sheaf::scoped_index::hub_pod(), and sheaf::scoped_index::is_valid().

◆ put_member_name() [1/2]

void sheaf::poset_state_handle::put_member_name ( pod_index_type  xmbr_hub_id,
const std::string &  xname,
bool  xunique,
bool  xauto_access = false 
)
virtual

Make xname a name for the member with hub id xmbr_hub_id. if xunique, make xname the only name.

Precondition
  • state_is_auto_read_write_accessible(xauto_access)
  • contains_member(xmbr_hub_id, xauto_access)
  • poset_path::is_valid_name(xname)
Postcondition
  • member_has_name(xmbr_hub_id, xname, xauto_access)

Definition at line 2944 of file poset_state_handle.cc.

Referenced by fields::field_vd::embed_property(), fiber_bundle::section_space_schema_poset::initialize_standard_members(), sheaf::member_record::internalize(), fiber_bundle::fiber_bundles_namespace::link_poset(), sheaf::namespace_poset::link_poset(), member_has_name(), and fields::body_factory::new_3d_uniform_bodies().

◆ put_member_name() [2/2]

void sheaf::poset_state_handle::put_member_name ( const scoped_index xmbr_id,
const std::string &  xname,
bool  xunique,
bool  xauto_access = false 
)

Make xname a name for the member with id xmbr_id. if xunique, make xname the only name.

Precondition
  • contains_member(xmbr_id, xauto_access)
  • poset_path::is_valid_name(xname)
Postcondition
  • member_has_name(xmbr_id, xname, xauto_access)

Definition at line 2980 of file poset_state_handle.cc.

References delete_member_name(), and sheaf::scoped_index::hub_pod().

◆ put_standard_member_ct()

void sheaf::poset_state_handle::put_standard_member_ct ( int  xct)
inlineprotected

◆ put_standard_row_dof_tuple_ct()

void sheaf::poset_state_handle::put_standard_row_dof_tuple_ct ( int  xct)
inlineprotected

◆ put_standard_subposet_ct()

void sheaf::poset_state_handle::put_standard_subposet_ct ( int  xct)
protected

Sets the number of standard subposets automatically allocated by the constructor.

Definition at line 5663 of file poset_state_handle.cc.

References subposet_name().

Referenced by sheaf::namespace_poset_schema::initialize_standard_subposets(), fiber_bundle::sec_vd_space::initialize_standard_subposets(), and initialize_standard_subposets().

◆ put_subposet_name() [1/2]

void sheaf::poset_state_handle::put_subposet_name ( pod_index_type  xsubposet_hub_id,
const std::string &  xname,
bool  xunique,
bool  xauto_access 
)
virtual

Make xname a name for the subposet with hub id xsubposet_hub_id; if xunique, make xname the only name.

Precondition
  • state_is_auto_read_write_accessible(xauto_access)
  • includes_subposet(xsubposet_hub_id, xauto_access)
  • poset_path::is_valid_name(xname)
Postcondition
  • xunique ? (subposet_name(xsubposet_hub_id, xauto_access) == xname) : subposet_has_name(xsubposet_hub_id, xname, xauto_access)

Definition at line 5883 of file poset_state_handle.cc.

Referenced by subposet_has_name().

◆ put_subposet_name() [2/2]

void sheaf::poset_state_handle::put_subposet_name ( const scoped_index xsubposet_id,
const std::string &  xname,
bool  xunique,
bool  xauto_access 
)

Make xname a name for the subposet with id xsubposet_id; if xunique, make xname the only name.

Precondition
  • includes_subposet(xsubposet_id, xauto_access)
  • poset_path::is_valid_name(xname)
Postcondition
  • xunique ? (subposet_name(xsubposet_id, xauto_access) == xname) : subposet_has_name(xsubposet_id, xname, xauto_access)

Definition at line 5921 of file poset_state_handle.cc.

References delete_subposet_name(), and sheaf::scoped_index::hub_pod().

◆ put_version()

void sheaf::poset_state_handle::put_version ( int  xversion)
protected

Set the current level to xversion.

Precondition
  • has_version(xversion)
Postcondition

Definition at line 7813 of file poset_state_handle.cc.

References new_schema_handle(), and sheaf::WHOLE_INDEX.

Referenced by sheaf::poset::new_state(), and version_from_name().

◆ release_access()

void sheaf::poset_state_handle::release_access ( bool  xall = false) const
virtual

Release access.