SheafSystem  0.0.0.0
sheaf::abstract_poset_member Class Referenceabstract

An abstract client handle for a member of a poset. More...

#include <abstract_poset_member.h>

Inheritance diagram for sheaf::abstract_poset_member:
sheaf::poset_component sheaf::read_write_monitor_handle sheaf::any sheaf::partial_poset_member sheaf::total_poset_member sheaf::poset_member fiber_bundle::base_space_member fiber_bundle::group fiber_bundle::sec_rep_descriptor fiber_bundle::tuple sheaf::namespace_poset_member sheaf::poset_member_iterator sheaf::schema_poset_member

Friends

class cover_set_iterator
 
class filtered_iterator
 
class poset_dft
 
class poset_joiner
 
class poset_orderer
 
class poset_state_handle
 
class postorder_iterator
 
class subposet_joiner
 
class storage_agent
 

HOST FACTORY FACET

typedef namespace_poset namespace_type
 The type of namespace for this type of member. More...
 
typedef poset host_type
 The type of host poset for this type of member. More...
 
static host_typenew_host (namespace_type &xns, const poset_path &xhost_path, const poset_path &xschema_path, bool xauto_access)
 Creates a new host table for members of this type. The poset is created in namespace xns with path xhost_path and schema specified by xschema_path. More...
 

ABSTRACT_POSET_MEMBER FACET

typedef abstract_poset_member_table_dofs_type table_dofs_type
 The type of the table dofs. More...
 
typedef abstract_poset_member_row_dofs_type row_dofs_type
 The type of the row dofs. More...
 
virtual abstract_poset_memberoperator= (const abstract_poset_member &xother)
 Assignment operator; attaches this to the same state as xother. More...
 
virtual ~abstract_poset_member ()
 Destructor; deletes a poset member and its attached state, if any. More...
 
abstract_poset_memberclone (bool xnew_state, bool xauto_access=true) const
 Virtual constructor; makes a new handle of the same type as this, attached to a new state (xnew_state true) or attached to the same state as this (xnew_state false). More...
 
virtual void new_jim_state (poset_dof_map *xdof_map=0, bool xcopy_dof_map=false, bool xauto_access=true)
 Creates a new jim (join-irreducible member) state in host() and attaches this to it. If xdof_map == 0 a new dof map is created. If xdof_map != 0 and xcopy_dof_map == false, xdof_map is used as the dof map. If xdof_map != 0 and xcopy_dof_map is true, a copy of xdof_map is used. More...
 
virtual void new_jim_state (pod_index_type xtuple_id, bool xauto_access=true)
 Creates a new jim (join-irreducible member) state in host() and attaches this to it. The existing dof map with index xtuple_id is used as the dof map. More...
 
void new_jim_state (const scoped_index &xtuple_id, bool xauto_access=true)
 Creates a new jim (join-irreducible member) state in host() and attaches this to it. The existing dof map with index xtuple_id is used as the dof map. More...
 
virtual void new_jim_state (poset_state_handle *xhost, poset_dof_map *xdof_map=0, bool xcopy_dof_map=false, bool xauto_access=true)
 Creates a new jim (join-irreducible member) state in xhost and attaches this to it. More...
 
virtual void new_jim_state (poset_state_handle *xhost, pod_index_type xtuple_id, bool xauto_access=true)
 Creates a new jim (join-irreducible member) state in xhost and attaches this to it. The existing dof map with index xtuple_id is used as the dof map. More...
 
void new_jim_state (poset_state_handle *xhost, const scoped_index &xtuple_id, bool xauto_access=true)
 Creates a new jim (join-irreducible member) state in xhost and attaches this to it. The existing dof map with index xtuple_id is used as the dof map. More...
 
virtual void new_jrm_state (bool xauto_access=true)
 Creates a new jrm (join-reducible member) state in host() and attaches this to it. More...
 
virtual void new_jrm_state (poset_state_handle *xhost, bool xauto_access=true)
 Creates a new jrm (join-reducible member) state in xhost and attaches this to it. More...
 
virtual void new_jrm_state (const scoped_index *xexpansion, int xexpansion_ct, const tern &xgreatest, bool xauto_access=true)
 Computes the join of the members with the indices given in xexpansion. If the join already exists and xgreatest_jem: is_true(), creates a new greatest jem of the existing join and attaches to it; is_false(), creates a new least jem of the existing join and attaches to it; is_neither(), attaches to the existing join;. More...
 
virtual void new_jrm_state (poset_state_handle *xhost, const scoped_index *xexpansion, int xexpansion_ct, const tern &xgreatest, bool xauto_access=true)
 Computes the join of the members with the indices given in xexpansion. If the join already exists and xgreatest_jem: is_true(), creates a new greatest jem of the existing join and attaches to it; is_false(), creates a new least jem of the existing join and attaches to it; is_neither(), attaches to the existing join;. More...
 
virtual void new_jem_state (abstract_poset_member *xother, bool xgreatest, bool xauto_access)
 Creates a new jrm state in host() which is the greatest jem (xgreatest true) or least jem (xgreatest false) of xother and attaches this to it. More...
 
virtual void new_jem_state (poset_state_handle *xhost, pod_index_type xhub_id, bool xgreatest, bool xauto_access)
 Creates a new jrm state in xhost which is the greatest jem (xgreatest true) or least jem (xgreatest false) of hub id xhub_id and attaches this to it. More...
 
void new_jem_state (poset_state_handle *xhost, const scoped_index &xid, bool xgreatest, bool xauto_access)
 Creates a new jrm state in xhost which is the greatest jem (xgreatest true) or least jem (xgreatest false) of id xid and attaches this to it. More...
 
 abstract_poset_member ()
 Default constructor; creates a new, unattached abstract_poset_member handle. More...
 
virtual void attach_handle_data_members ()
 Initializes handle data members when attaching to a different member of the same host; intended to be redefined in derived classes. More...
 
char * table_dof_ptr (bool xrequire_write_access=false) const
 Pointer to the table dofs. More...
 
char * row_dof_ptr (bool xrequire_write_access=false)
 Pointer to the row dofs. More...
 

MEMBER ATTRIBUTE FACET

virtual bool is_jim (bool xin_current_version=true) const
 True if this member is join irreducible in the current version of the host (xin_current_version == true) or in some version of the host (xin_current_version == false). More...
 
virtual bool is_atom () const
 True if this member covers the bottom. More...
 

SCHEMA FACET

virtual schema_poset_memberschema ()
 The schema for this poset member (mutable version). More...
 
virtual const schema_poset_memberschema () const
 The schema for this poset member (const version). More...
 
schema_poset_memberschema (bool xauto_access)
 The schema for this poset member, auto-accessible (mutable version). More...
 
const schema_poset_memberschema (bool xauto_access) const
 The schema for this poset member, auto-accessible (const version). More...
 
virtual schema_poset_memberunrestricted_schema ()
 The unrestricted schema for this poset member (mutable version). More...
 
virtual const schema_poset_memberunrestricted_schema () const
 The unrestricted schema for this poset member (const version). More...
 
bool schema_is (const std::string &xschema_name) const
 True if the schema of this has name xname. More...
 
bool same_schema (const abstract_poset_member *xother) const
 True if xother has the same schema (column poset) as this. More...
 

RESTRICTION FACET

virtual bool is_restricted () const
 True if handle is a restriction of the state, that is, if schema() is not the same as host()->schema(). More...
 
virtual bool is_same_restriction (const abstract_poset_member *xother) const
 True if this is the same restriction as xother, that is, if schema().is_same_state(xother.schema()). More...
 

DEGREE OF FREEDOM (DOF) TUPLE FACET

virtual int dof_ct () const =0
 The number of dofs in the dof tuple for jims of this poset;. More...
 
virtual poset_dof_mapdof_map (bool xrequire_write_access=false)
 The map from schema member ids or client ids to dof values for this poset member (mutable version) More...
 
virtual const poset_dof_mapdof_map (bool xrequire_write_access=false) const
 The map from schema member ids or client ids to dof values for this poset member (const version) More...
 
virtual bool dof_map_is_ancestor_of (const poset_dof_map *xdof_map) const
 True if xdof_map conforms to (is derived from) the type of dof map required by this handle. More...
 
void dof_tuple (const void *xbuf, size_t xbuflen) const
 Copies the entire dof tuple between xbuf and internal storage. More...
 
void put_dof_tuple (const void *xbuf, size_t xbuflen)
 Copies the entire dof tuple between xbuf and internal storage. More...
 
pod_index_type dof_tuple_id (bool xauto_access) const
 The dof tuple index of this member. More...
 
void dof_tuple_id (scoped_index &result, bool xauto_access) const
 The dof tuple index of this member. More...
 
void put_dof_tuple_id (pod_index_type xtuple_index, bool xauto_access)
 Sets dof tuple index to xtuple_index. More...
 
void put_dof_tuple_id (const scoped_index &xtuple_index, bool xauto_access)
 Sets dof tuple index to xtuple_index. 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...
 
void * row_dofs ()
 The row dofs for this instance (mutable version). More...
 
const void * row_dofs () const
 The row dofs for this instance (const version). More...
 
void * row_dofs (bool xauto_access)
 The row dofs for this instance (mutable auto-access version). More...
 
const void * row_dofs (bool xauto_access) const
 The row dofs for this instance (const auto-access version). More...
 

DOF ACCESS FACET

primitive_value dof (pod_index_type xdof_id) const
 The dof referred to by xdof_id. More...
 
primitive_value dof (const scoped_index &xdof_id, bool xauto_access) const
 The dof referred to by xdof_id. More...
 
void put_dof (pod_index_type xdof_id, const primitive_value &xdof)
 Sets the dof referred to by xdof_id to xdof. More...
 
void put_dof (const scoped_index &xdof_id, const primitive_value &xdof, bool xauto_access)
 Sets the dof referred to by xdof_id to xdof. More...
 
void get_dof (pod_index_type xdof_id, void *xdof, size_type xdof_size) const
 Copies the dof referred to by xdof_id into xdof. More...
 
void get_dof (const scoped_index &xdof_id, void *xdof, size_type xdof_size, bool xauto_access) const
 Copies the dof referred to by xdof_id into xdof. More...
 
void put_dof (pod_index_type xdof_id, const void *xdof, size_type xdof_size)
 Sets the dof referred to by xdof_id to the value at xdof. More...
 
void put_dof (const scoped_index &xdof_id, const void *xdof, size_type xdof_size, bool xauto_access)
 Sets the dof referred to by xdof_id to the value at xdof. More...
 

ORDERING RELATION FACET

bool le (pod_index_type xother_index) const
 True if this is less than or equal to the member with index xother_index. More...
 
bool le (const scoped_index &xother_index) const
 True if this is less than or equal to the member with index xother_index. More...
 
bool le (const abstract_poset_member *other) const
 True if this is less than or equal to other. More...
 
bool leqv (pod_index_type xother_index) const
 True if this is less than or equivalent to the member with index xother_index. More...
 
bool leqv (const scoped_index &xother_index) const
 True if this is less than or equivalent to the member with index xother_index. More...
 
bool lt (pod_index_type xother_index) const
 True if this is strictly less than the member with index xother_index. More...
 
bool lt (const scoped_index &xother_index) const
 True if this is strictly less than the member with index xother_index. More...
 
bool lt (const abstract_poset_member *other) const
 true if this is strictly less than other More...
 
bool ge (pod_index_type xother_index) const
 True if this is greater than or equal to the member with index xother_index. More...
 
bool ge (const scoped_index &xother_index) const
 True if this is greater than or equal to the member with index xother_index. More...
 
bool ge (const abstract_poset_member *other) const
 true if this is greater than or equal to other More...
 
bool geqv (pod_index_type xother_index) const
 True if this is greater than or equivalent to the member with index xother_index. More...
 
bool geqv (const scoped_index &xother_index) const
 True if this is greater than or equivalent to the member with index xother_index. More...
 
bool gt (pod_index_type xother_index) const
 True if this is strictly greater than the member with index xother_index. More...
 
bool gt (const scoped_index &xother_index) const
 True if this is strictly greater than the member with index xother_index. More...
 
bool gt (const abstract_poset_member *other) const
 True if this is strictly greater than other. More...
 
bool is_jem (const abstract_poset_member *xother) const
 True if xother is join equivalent to this. More...
 
abstract_poset_membergreatest_jem () const
 The largest member which is join-equivalent to this. More...
 
void greatest_jem_pa (abstract_poset_member *result) const
 The largest member which is join-equivalent to this. More...
 
abstract_poset_memberleast_jem () const
 The smallest member which is join-equivalent to this. More...
 
void least_jem_pa (abstract_poset_member *result) const
 The smallest member which is join-equivalent to this. More...
 
virtual void merge_jem (const abstract_poset_member *xjem)
 Merge the join-equivalence class of xjem under the join equivalence class of this. More...
 

COVER RELATION FACET

bool covers (const abstract_poset_member *xother) const
 True if this covers other. More...
 
bool covers (pod_index_type xhub_id) const
 True if this covers the member with hub id xhub_id. More...
 
bool covers (const scoped_index &xid) const
 True if this covers the member with id xid. More...
 
virtual void create_cover_link (abstract_poset_member *xlesser)
 Insert a link from this to lesser; make lesser <= this. More...
 
virtual void delete_cover_link (abstract_poset_member *lesser)
 Delete the link from this to lesser; make lesser incomparable to this. More...
 
index_space_handleget_cover_id_space (bool xlower) const
 Allocates a handle for the lower (xlower true) or upper (xlower false) cover id space of this member from the pool of id spaces. 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) const
 Allocates an iterator for the lower (xlower true) or upper (xlower false) cover id space of this member 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 spaces. More...
 
bool cover_contains_iterator (bool xlower, const index_space_iterator &xitr) const
 True if and only if the lower (xlower true) or upper (xlower false) cover id space of this is the domain of iterator xitr. More...
 
bool cover_is_empty (bool xlower) const
 True if and only if the lower (xlower true) or upper (xlower false) cover this is empty. More...
 
bool cover_is_singleton (bool xlower) const
 True if and only if the lower (xlower true) or upper (xlower false) cover set of this contains exactly one member. More...
 
virtual size_type cover_ct (bool lower) const
 The number of members in the lower cover (xlower true) or upper cover (xlower false) of this. More...
 
bool cover_contains_member (bool xlower, pod_index_type xother_mbr_index) const
 True if and only if the lower (xlower true) or upper (xlower false) cover set of this contains xother_mbr_index. More...
 
bool cover_contains_member (bool xlower, const scoped_index &xother_mbr_index) const
 True if and only if the lower (xlower true) or upper (xlower false) cover set of this contains xother_mbr_index. More...
 
bool cover_is_equal (bool xlower, pod_index_type xother_mbr_index) const
 True if and only if the lower (xlower true) or upper (xlower false) cover of this contains the same members as the lower or upper cover, respectively, of the member with index xother_mbr_index. More...
 
bool cover_is_equal (bool xlower, const scoped_index &xother_mbr_index) const
 True if and only if the lower (xlower true) or upper (xlower false) cover of this contains the same members as the lower or upper cover, respectively, of the member with index xother_mbr_index. More...
 
pod_index_type first_cover_member (bool xlower) const
 The first member of the lower (xlower true) or upper (xlower false) cover of this. More...
 
void first_cover_member (bool xlower, scoped_index &result) const
 The first member of the lower (xlower true) or upper (xlower false) cover of this. More...
 
void insert_cover_member (pod_index_type xother_mbr_index, bool xlower)
 Inserts xother_mbr_index in the lower (xlower true) or upper (xlower false) cover set of this. More...
 
void insert_cover_member (const scoped_index &xother_mbr_index, bool xlower)
 Inserts xother_mbr_index in the lower (xlower true) or upper (xlower false) cover set of this. More...
 
void remove_cover_member (pod_index_type xother_mbr_index, bool xlower)
 Removes xother_mbr_index from the lower (xlower true) or upper (xlower false) cover set of this. More...
 
void remove_cover_member (const scoped_index &xother_mbr_index, bool xlower)
 Removes xother_mbr_index from the lower (xlower true) or upper (xlower false) cover set of this. 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)
 Removes the current item of xitr from the lower (xlower true) or upper (xlower false) cover set of this. More...
 
void clear_cover (bool xlower)
 Clears the lower (xlower true) or upper (xlower false) cover set of this. More...
 
void copy_cover (bool xlower, pod_index_type xother_mbr_index)
 Copies the lower (xlower true) or upper (xlower false) cover of this to the member with index xother_mbr_index. More...
 
void copy_cover (bool xlower, const scoped_index &xother_mbr_index)
 Copies the lower (xlower true) or upper (xlower false) cover of this to the member with index xother_mbr_index. More...
 

DOWN SET FACET

int down_ct () const
 The number of members in the down set of this member. More...
 
virtual int down_ct (pod_index_type xfilter_index) const
 The number of members in the down set of this member, filtered by the subposet in host() with index xfilter_index. More...
 
int down_ct (const scoped_index &xfilter_index) const
 The number of members in the down set of this member, filtered by the subposet in host() with index xfilter_index. More...
 
virtual subposetdown () const
 The down set of this, auto-allocated version. More...
 
virtual void down_pa (subposet *result) const
 The down set of this, pre-allocated version. More...
 
void delete_down (bool xdelete_exterior=false, bool xenter_jim_edit_mode=true)
 Delete the strict down set of this, except for the external boundary. If xdelete_exterior, delete the external boundary as well. More...
 
int up_ct () const
 The number of members in the up set of this member. More...
 
virtual int up_ct (pod_index_type xfilter_index) const
 The number of members in the up set of this member, filtered by the subposet in host() with index xfilter_index. More...
 
int up_ct (const scoped_index &xfilter_index) const
 The number of members in the up set of this member, filtered by the subposet in host() with index xfilter_index. More...
 
virtual subposetup () const
 The up set of this member, auto- and pre-allocated versions. More...
 
virtual void up_pa (subposet *result) const
 The up set of this member, auto- and pre-allocated versions. More...
 
virtual int jim_ct () const
 The number of members in the set of jims contained in the down set of this member. More...
 
virtual subposetjims ()
 The set of jims contained in the down set of this member, auto-allocated. More...
 
virtual void jims_pa (subposet *result)
 The set of jims contained in the down set of this member, pre-allocated. More...
 
virtual int maximal_jim_ct () const
 The number of maximal members in the set of jims contained in the down set of this member. More...
 
virtual subposetmaximal_jims ()
 The maximal members of the set of jims contained in this member, auto-allocated. More...
 
virtual void maximal_jims_pa (subposet *result) const
 The maximal members of the set of jims contained in this member, pre-allocated. More...
 
virtual int atom_ct () const
 The number of members in the set of atoms contained in the down set of this member. More...
 
virtual subposetatoms () const
 The set of atomss contained in the down set of this member, auto-allocated. More...
 
virtual void atoms_pa (subposet *result) const
 The set of atomss contained in the down set of this member, pre-allocated. More...
 

POSET ALGEBRA FACET

abstract_poset_memberp_join (abstract_poset_member *other) const
 poset join of this with other, auto-allocated
the poset join is the least upper bound in the poset More...
 
virtual void p_join_pa (abstract_poset_member *other, abstract_poset_member *result) const
 poset join of this with other, pre-allocated
the poset join is the least upper bound in the poset More...
 
void p_join_sa (abstract_poset_member *other)
 poset join of this with other, self-allocated
the poset join is the least upper bound in the poset More...
 
abstract_poset_memberp_meet (abstract_poset_member *other)
 poset meet of this with other, auto-allocated
the poset meet is the greatest lower bound in the poset More...
 
virtual void p_meet_pa (abstract_poset_member *other, abstract_poset_member *result)
 poset meet of this with other, pre-allocated
the poset meet is the greatest lower bound in the poset More...
 
void p_meet_sa (abstract_poset_member *other)
 poset meet of this with other, self-allocated
the poset meet is the greatest lower bound in the poset More...
 

LATTICE ALGEBRA FACET

abstract_poset_memberl_join (abstract_poset_member *other, bool xnew_jem=true)
 lattice join of this with other, auto-allocated
the lattice join is the least upper bound in the lattice generated by the jims in the poset More...
 
void l_join_pa (abstract_poset_member *other, abstract_poset_member *result, bool xnew_jem=true)
 lattice join of this with other, pre-allocated
the lattice join is the least upper bound in the lattice generated by the jims in the poset More...
 
void l_join_sa (abstract_poset_member *other, bool xnew_jem=true)
 lattice join of this with other, self-allocated
the lattice join is the least upper bound in the lattice generated by the jims in the poset More...
 
abstract_poset_memberl_meet (abstract_poset_member *other, bool xnew_jem=true)
 lattice meet of this with other, auto-allocated
the lattice meet is the greatest lower bound in the lattice generated by the jims in the poset More...
 
void l_meet_pa (abstract_poset_member *other, abstract_poset_member *result, bool xnew_jem=true)
 lattice meet of this with other, pre-allocated
the lattice meet is the greatest lower bound in the lattice generated by the jims in the poset More...
 
void l_meet_sa (abstract_poset_member *other, bool xnew_jem=true)
 lattice meet of this with other, self-allocated
the lattice meet is the greatest lower bound in the lattice generated by the jims in the poset More...
 
abstract_poset_memberl_not (bool xnew_jem=true) const
 lattice pseudo-complement of this, auto-allocated
The lattice pseudo-complement is the largest lattice member m for which this.l_meet(m) = 0 More...
 
void l_not_pa (abstract_poset_member *result, bool xnew_jem=true) const
 lattice pseudo-complement of this, pre-allocated
The lattice pseudo-complement is the largest lattice member m for which this.l_meet(m) = 0 More...
 
void l_not_sa (bool xnew_jem=true) const
 lattice pseudo-complement of this, self-allocated
The lattice pseudo-complement is the largest lattice member m for which this.l_meet(m) = 0 More...
 

COMPONENT INDEX FACET

virtual bool is_valid_index (const poset_state_handle *xhost, pod_index_type xhub_id, int xversion=CURRENT_HOST_VERSION) const
 True if there exists a component of the same type as this with hub id xhub_id in version xversion of xhost. More...
 
bool is_valid_index (const poset_state_handle *xhost, const scoped_index &xid, int xversion=CURRENT_HOST_VERSION) const
 True if there exists a component of the same type as this with id xid in version xversion of xhost. More...
 
const index_space_familyid_spaces () const
 The id space family for this member. More...
 
virtual const hub_index_space_handlehub_id_space () const
 The hub id space; const version. More...
 
virtual const scoped_indexhub_id () const
 A id in the hub id space for components of this type; intended for copying to initialize ids to the hub id space. More...
 
virtual scoped_index hub_id (pod_index_type xid) const
 An id in the member hub id space with pod xid. More...
 
virtual pod_index_type get_index_from_name (const poset_state_handle *xhost, const std::string &xname) const
 Gets the index of the component in xhost with name xname. More...
 
virtual void get_index_from_name (const poset_state_handle *xhost, const std::string &xname, scoped_index &result) const
 Gets the index of the component in xhost with name xname. More...
 

COMPONENT NAME FACET

std::string name () const
 A name for this. More...
 
virtual std::string name (bool xauto_access) const
 A name for this. More...
 
virtual void all_names (block< std::string > &xresult, bool xauto_access=false) const
 All the names for this. More...
 
virtual size_type name_ct (bool xauto_access) const
 The number of names for this. More...
 
virtual bool has_name (const std::string &xname, bool xauto_access=false) const
 True if xname is a name for this. More...
 
virtual void put_name (const std::string &xname, bool xunique, bool xauto_access)
 Make xname a name for this; if xunique, make xname the only name. More...
 
virtual void delete_name (const std::string &xname, bool xauto_access=false)
 Delete all names for this. More...
 
virtual void delete_all_names (bool xauto_access=false)
 Delete all the names for this. More...
 

STATE FACET

void attach_to_state (const namespace_poset *xns, const poset_path &xpath, bool xauto_access=true)
 Attach to the state specified by path xpath in the namespace xns. More...
 
void attach_to_state (const namespace_poset *xnamespace, pod_index_type xposet_index, pod_index_type xmember_index, bool xauto_access=true)
 Attach to the state with name xmember_index in the poset with name xposet_index in the namespace xnamespace. More...
 
void attach_to_state (const namespace_poset *xnamespace, const scoped_index &xposet_index, const scoped_index &xmember_index, bool xauto_access=true)
 Attach to the state with name xmember_index in the poset with name xposet_index in the namespace xnamespace. More...
 
virtual void delete_state (bool xauto_access=false)
 Detachs this from its state and then deletes the state. More...
 

ANY FACET

virtual bool is_ancestor_of (const any *other) const
 True if other conforms to this. More...
 
virtual abstract_poset_memberclone () const =0
 Virtual constructor; makes a new unattached handle of the same type as this. More...
 
virtual bool invariant () const
 Class invariant. More...
 

DEBUGGING FACET

virtual void to_stream (std::ostream &xos=std::cout) const
 Virtual stream insertion. More...
 

Additional Inherited Members

- Public Member Functions inherited from sheaf::poset_component
virtual ~poset_component ()
 Destructor. More...
 
const scoped_indexindex () const
 The index of the component state this handle is attached to. More...
 
bool is_valid_index (const poset_state_handle *xhost, const scoped_index &xid, int xversion=CURRENT_HOST_VERSION) const
 True if there exists a component of the same type as this with id xid in version xversion of xhost. More...
 
int version (bool xunalias=true) const
 The (possibly aliased) version of this component. The version of the host used when evaluating properties of this component. If unalias == true, return actual version alias refers to. More...
 
virtual void put_version (int xversion, bool xunalias=false)
 Sets version to (possibly aliased) xversion. If unalias == true, set version to the actual version alias refers to. More...
 
int unaliased_version (int xversion) const
 The actual version associated with (possibly aliased) version xversion in this. More...
 
pod_index_type version_index () const
 The subposet index for the filter associated with version(). More...
 
void version_index (scoped_index &result) const
 The subposet index for the filter associated with version(). More...
 
std::string version_name () const
 The subposet name for the filter associated with version(). More...
 
bool has_version (int xversion) const
 True if xversion is a valid version for this. More...
 
std::string name () const
 OBSOLETE: use name(bool xauto_access). A name for this. More...
 
bool is_valid_name (const poset_state_handle *xhost, const std::string &xname) const
 True if there exists a component as the same type as this in xhost with name xname. More...
 
poset_path path (bool xauto_access=true) const
 A path to this component. More...
 
bool has_path (const poset_path &xpath, bool xauto_access) const
 True if and only if xpath refers to this component. More...
 
poset_state_handlehost () const
 The poset which this is a handle to a component of. More...
 
virtual bool host_is_ancestor_of (const poset_state_handle *xther) const
 True if xother conforms to host. More...
 
bool has_same_host (const poset_component *xother) const
 True if xother is attached to the same host as this or if both are unattached. More...
 
bool in_same_space (const poset_component *xother) const
 Synonym for has_same_host(xother) More...
 
virtual namespace_posetname_space () const
 The namespace of host() More...
 
virtual bool namespace_is_ancestor_of (const namespace_poset *xother) const
 True if xother conforms to name_space(). More...
 
bool same_namespace (const poset_component *xother) const
 True if the host of xother resides in the same namespace as this or if both are unattached. More...
 
bool same_namespace (const poset_state_handle *xother) const
 True if xother resides in the same namespace as the host of this or if both are unattached. More...
 
void attach_to_state (const poset_state_handle *xhost, pod_index_type xhub_id)
 Attach this handle to the state with hub id xhub_id in the current version of host xhost. More...
 
void attach_to_state (const poset_state_handle *xhost, const scoped_index &xid)
 Attach this handle to the state with id xid in the current version of host xhost. More...
 
void attach_to_state (const poset_state_handle *xhost, const std::string &xname)
 Attach to the member state with name xname in the current version of host xhost. More...
 
void attach_to_state (const namespace_poset *xhost, const std::string &xname)
 
void attach_to_state (const std::string &)
 Attach to the state with name xname in version version() of host host(). More...
 
void attach_to_state (pod_index_type xhub_id)
 Attach to the state with hub id xhub_id in version version() of host host(). More...
 
void attach_to_state (const scoped_index &xid)
 Attach to the state with id xid in version version() of host host(). More...
 
void attach_to_state (const poset_component *xother)
 Attach to the same state as xother. More...
 
void attach_to_state (const poset_component *xother, bool xauto_access)
 Attach to the same state as xother, auto-accessible version. More...
 
virtual void detach_from_state ()
 Detach this handle from its state, if any. More...
 
virtual bool is_attached () const
 True if this handle is attached to a non-void state. More...
 
bool is_same_state (const poset_state_handle *xhost, pod_index_type xhub_id) const
 True is this is attached to state with hub id xhub_id in host xhost. More...
 
bool is_same_state (const poset_state_handle *xhost, const scoped_index &xid) const
 True is this is attached to state with id xid in host xhost. More...
 
bool is_same_state (const poset_component *xother) const
 True if xother is attached to the same host and same state as this or if both are unattached. 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...
 
- 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::poset_component
 poset_component ()
 Default constructor. More...
 
poset_statestate_obj () const
 The state this component handle is attached to. More...
 
poset_powerset_statepowerset () const
 The set of subposets of host(). More...
 
poset_crg_statecrg () const
 The cover relation graph of host(). More...
 
virtual subposet_statepowerset_member (const scoped_index &xindex) const
 The hidden state of the subposet asocciated with index xindex. More...
 
poset_dof_maprow_dof_tuple (const scoped_index &xindex) const
 The row dof tuple associated with xindex. More...
 
virtual void init_handle_data_members ()
 Initializes handle data members when attaching to a different member in a different host; intended to be redefined in derived classes. 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...
 
- Protected Attributes inherited from sheaf::poset_component
poset_state_handle_host
 The host poset for this component. More...
 
scoped_index _index
 The index for this component within the host. More...
 
int _version
 The version of this component. The version of the host used when evaluating properties of this component. More...
 

Detailed Description

An abstract client handle for a member of a poset.

Definition at line 164 of file abstract_poset_member.h.

Member Typedef Documentation

◆ host_type

The type of host poset for this type of member.

Definition at line 196 of file abstract_poset_member.h.

◆ namespace_type

The type of namespace for this type of member.

Definition at line 191 of file abstract_poset_member.h.

◆ row_dofs_type

◆ table_dofs_type

Constructor & Destructor Documentation

◆ ~abstract_poset_member()

sheaf::abstract_poset_member::~abstract_poset_member ( )
virtual

Destructor; deletes a poset member and its attached state, if any.

Definition at line 209 of file abstract_poset_member.cc.

References clone().

Referenced by operator=().

◆ abstract_poset_member()

sheaf::abstract_poset_member::abstract_poset_member ( )
protected

Default constructor; creates a new, unattached abstract_poset_member handle.

Postcondition
  • !is_attached()

Definition at line 827 of file abstract_poset_member.cc.

References attach_handle_data_members().

Referenced by new_jem_state().

Member Function Documentation

◆ all_names()

void sheaf::abstract_poset_member::all_names ( block< std::string > &  xresult,
bool  xauto_access = false 
) const
virtual

All the names for this.

Precondition
Postcondition
  • xresult.ct() == name_ct(xauto_access)
  • for(int i = ( 0 ); i < ( xresult.ct() ); ++ i ) !xresult[i].empty()

Implements sheaf::poset_component.

Definition at line 4450 of file abstract_poset_member.cc.

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

Referenced by name().

◆ atom_ct()

int sheaf::abstract_poset_member::atom_ct ( ) const
virtual

◆ atoms()

sheaf::subposet * sheaf::abstract_poset_member::atoms ( ) const
virtual

The set of atomss contained in the down set of this member, auto-allocated.

Precondition
Postcondition
  • result != 0
  • postcondition_of(atoms_pa)

Definition at line 3650 of file abstract_poset_member.cc.

References atoms_pa().

Referenced by atom_ct().

◆ atoms_pa()

void sheaf::abstract_poset_member::atoms_pa ( subposet result) const
virtual

The set of atomss contained in the down set of this member, pre-allocated.

Precondition
Postcondition
  • -unexecutable( "for all members p of result: p.is_atom()" )

Definition at line 3675 of file abstract_poset_member.cc.

References sheaf::DOWN, sheaf::depth_first_itr< T >::index(), sheaf::subposet::insert_member(), sheaf::subposet::invariant(), sheaf::depth_first_itr< T >::is_done(), sheaf::depth_first_itr< T >::next(), sheaf::NOT_STRICT, p_join(), and sheaf::depth_first_itr< T >::truncate().

Referenced by atoms().

◆ attach_handle_data_members()

void sheaf::abstract_poset_member::attach_handle_data_members ( )
protectedvirtual

Initializes handle data members when attaching to a different member of the same host; intended to be redefined in derived classes.

Precondition
  • -unexecutable( data members created )
Postcondition
  • !is_restricted()

Reimplemented from sheaf::poset_component.

Reimplemented in sheaf::schema_poset_member, fiber_bundle::section_space_schema_member, fiber_bundle::sec_rep_descriptor, fiber_bundle::sec_tuple, fiber_bundle::section_space_schema_member, fiber_bundle::structured_block_1d, geometry::sec_ed_invertible, sheaf::partial_poset_member, and fiber_bundle::homogeneous_block.

Definition at line 841 of file abstract_poset_member.cc.

References table_dof_ptr().

Referenced by abstract_poset_member().

◆ attach_to_state() [1/3]

void sheaf::abstract_poset_member::attach_to_state ( const namespace_poset xns,
const poset_path xpath,
bool  xauto_access = true 
)

Attach to the state specified by path xpath in the namespace xns.

Precondition
  • xns != 0
  • xpath.full()
  • xns->contains_poset_member(xpath)
Todo:
add precondition to require conformance between this and host.
Postcondition
  • has_path(xpath, xauto_access)
  • postcondition_of(attach_handle_data_members())

Definition at line 4608 of file abstract_poset_member.cc.

References sheaf::namespace_poset::contains_poset_member(), sheaf::poset_path::full(), sheaf::poset_state_handle::get_read_access(), sheaf::namespace_poset::get_read_access(), sheaf::poset_path::member_name(), sheaf::namespace_poset::member_poset(), sheaf::poset_state_handle::release_access(), sheaf::namespace_poset::release_access(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Referenced by sheaf::partial_poset_member::attach_handle_data_members(), fiber_bundle::section_space_schema_poset::attach_handle_data_members(), attach_to_state(), sheaf::dof_tuple_record_set::attach_transfer_schema(), fields::base_space_map::base_space_map(), fields::body_pusher::body_pusher(), tool::vtk_unstructured_grid_builder::build_pa(), tool::vtk_poly_data_builder::build_pa(), fiber_bundle::base_space_member::c_not_pa(), sheaf::namespace_poset::clear(), clone(), sheaf::schema_poset_member::conforms_to(), sheaf::schema_poset_member::contains_dof(), fiber_bundle::section_space_schema_member::contains_row_dof(), delete_all_names(), sheaf::namespace_poset_dof_map::extend_to_top(), sheaf::member_record_set::externalize(), fields::field_at0::field_at0(), fields::field_at1::field_at1(), fields::field_at2::field_at2(), fields::field_at2_e2::field_at2_e2(), fields::field_at2_e3::field_at2_e3(), fields::field_at3::field_at3(), fields::field_at3_e3::field_at3_e3(), fields::field_atp::field_atp(), fields::field_e1::field_e1(), fields::field_e1_uniform::field_e1_uniform(), fields::field_e2::field_e2(), fields::field_e2_uniform::field_e2_uniform(), fields::field_e3::field_e3(), fields::field_e3_uniform::field_e3_uniform(), fields::field_e4::field_e4(), fields::field_ed::field_ed(), fields::field_jcb::field_jcb(), fields::field_jcb_e13::field_jcb_e13(), fields::field_jcb_e23::field_jcb_e23(), fields::field_jcb_e33::field_jcb_e33(), fields::field_jcb_ed::field_jcb_ed(), fields::field_met::field_met(), fields::field_met_e1::field_met_e1(), fields::field_met_e2::field_met_e2(), fields::field_met_e3::field_met_e3(), fields::field_met_ed::field_met_ed(), fields::field_st2::field_st2(), fields::field_st2_e2::field_st2_e2(), fields::field_st2_e3::field_st2_e3(), fields::field_st3::field_st3(), fields::field_st3_e3::field_st3_e3(), fields::field_st4::field_st4(), fields::field_st4_e2::field_st4_e2(), fields::field_st4_e3::field_st4_e3(), fields::field_stp::field_stp(), fields::field_t2::field_t2(), fields::field_t2_e2::field_t2_e2(), fields::field_t2_e3::field_t2_e3(), fields::field_t3::field_t3(), fields::field_t3_e3::field_t3_e3(), fields::field_t4::field_t4(), fields::field_t4_e2::field_t4_e2(), fields::field_t4_e3::field_t4_e3(), fields::field_tp::field_tp(), greatest_jem_pa(), sheaf::poset_dof_map::init_row_dof_map(), fiber_bundle::dlinear_eval_family::initialize(), fiber_bundle::uniform_eval_family::initialize(), fiber_bundle::constant_eval_family::initialize(), sheaf::depth_first_itr< T >::initialize_anchor(), sheaf::depth_first_iterator::initialize_anchor(), fiber_bundle::section_space_schema_poset::initialize_handle_data_members(), sheaf::poset_scaffold::initialize_schema_for_read(), sheaf::depth_first_iterator::initialize_traversal(), sheaf::namespace_poset::insert_poset(), sheaf::member_record_set::internalize(), sheaf::poset_table_state::invariant(), sheaf::subposet::l_join_pa(), fiber_bundle::section_space_schema_member::l_not(), least_jem_pa(), fields::make_base_space(), sheaf::schema_poset_member::make_schema(), sheaf::namespace_poset_member::namespace_poset_member(), fiber_bundle::sec_vd::new_comp(), sheaf::schema_poset_member::new_jim_state(), fiber_bundle::binary_section_space_schema_poset::new_schema_handle(), fiber_bundle::product_section_space_schema_poset::new_schema_handle(), sheaf::poset_state_handle::new_schema_handle(), sheaf::subposet_member_iterator::next(), sheaf::poset_dof_iterator::operator=(), sheaf::total_poset_member::operator=(), sheaf::namespace_poset_member::operator=(), sheaf::poset_member::operator=(), sheaf::partial_poset_member::operator=(), sheaf::poset_dof_map::operator=(), geometry::sec_ed_invertible::operator=(), sheaf::schema_poset_member::operator=(), fields::field_vd::operator=(), p_join_pa(), p_meet_pa(), sheaf::partial_poset_member::partial_poset_member(), sheaf::poset_dof_map::poset_dof_map(), sheaf::poset_member::poset_member(), sheaf::poset_table_state::poset_table_state(), fiber_bundle::section_dof_iterator::put_anchor(), sheaf::poset_dof_iterator::put_anchor(), sheaf::poset_scaffold::put_member_names_to_poset(), fiber_bundle::unstructured_block_builder::put_name_mode(), sheaf::poset_dft::recursive_dft(), sheaf::subposet_member_iterator::reset(), sheaf::partial_poset_member::restrict_to(), sheaf::partial_poset_member::restrict_to_same(), sheaf::schema_poset_member::schema_poset_member(), geometry::sec_ed_invertible::sec_ed_invertible(), fiber_bundle::sec_rep_descriptor::sec_rep_descriptor(), fields::section_pusher::section_pusher(), sheaf::total_poset_member::total_poset_member(), sheaf::partial_poset_member::unrestrict(), sheaf::poset_slicer::up_set_pa(), geometry::d_bin_point_locator< DC, DB >::update(), geometry::cylindrical_point_locator::update(), geometry::db0_point_locator< DC >::update(), sheaf::schema_poset_member::update_dof_descriptors(), geometry::point_locator::update_domain(), sheaf::filtered_depth_first_member_iterator::update_item(), and sheaf::namespace_poset::~namespace_poset().

◆ attach_to_state() [2/3]

void sheaf::abstract_poset_member::attach_to_state ( const namespace_poset xnamespace,
pod_index_type  xposet_index,
pod_index_type  xmember_index,
bool  xauto_access = true 
)

Attach to the state with name xmember_index in the poset with name xposet_index in the namespace xnamespace.

Precondition
  • xnamespace != 0
  • xnamespace->contains_poset_member(xposet_index, xmember_index)
Todo:
add precondition to require conformance between this and host.
Postcondition
  • postcondition_of(attach_handle_data_members())

Definition at line 4659 of file abstract_poset_member.cc.

References attach_to_state(), sheaf::namespace_poset::contains_poset_member(), sheaf::poset_state_handle::get_read_access(), sheaf::namespace_poset::get_read_access(), sheaf::namespace_poset::member_poset(), sheaf::namespace_poset::release_access(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

◆ attach_to_state() [3/3]

void sheaf::abstract_poset_member::attach_to_state ( const namespace_poset xnamespace,
const scoped_index xposet_index,
const scoped_index xmember_index,
bool  xauto_access = true 
)

Attach to the state with name xmember_index in the poset with name xposet_index in the namespace xnamespace.

Precondition
  • xnamespace != 0
  • xnamespace->contains_poset_member(xposet_index, xmember_index, xauto_access)
Postcondition
  • postcondition_of(attach_handle_data_members())

Definition at line 4709 of file abstract_poset_member.cc.

References sheaf::namespace_poset::contains_poset_member(), delete_state(), sheaf::scoped_index::hub_pod(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

◆ clear_cover()

void sheaf::abstract_poset_member::clear_cover ( bool  xlower)

Clears the lower (xlower true) or upper (xlower false) cover set of this.

Precondition
Postcondition
  • cover_is_empty(xlower)

Definition at line 2855 of file abstract_poset_member.cc.

References copy_cover().

Referenced by sheaf::member_record_set::internalize(), and remove_cover_member().

◆ clone() [1/2]

sheaf::abstract_poset_member * sheaf::abstract_poset_member::clone ( bool  xnew_state,
bool  xauto_access = true 
) const

Virtual constructor; makes a new handle of the same type as this, attached to a new state (xnew_state true) or attached to the same state as this (xnew_state false).

Precondition
Postcondition
  • result != 0
  • is_same_type(result)

Definition at line 226 of file abstract_poset_member.cc.

References attach_to_state(), and new_jim_state().

Referenced by sheaf::member_record_set::externalize(), sheaf::filtered_depth_first_member_iterator::filtered_depth_first_member_iterator(), sheaf::depth_first_itr< T >::initialize_anchor(), sheaf::depth_first_iterator::initialize_anchor(), sheaf::member_record_set::internalize(), sheaf::filtered_depth_first_member_iterator::operator=(), and sheaf::poset_dft::recursive_dft().

◆ clone() [2/2]

virtual abstract_poset_member* sheaf::abstract_poset_member::clone ( ) const
pure virtual

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

Implements sheaf::poset_component.

Implemented in sheaf::schema_poset_member, fiber_bundle::section_space_schema_member, fiber_bundle::section_space_schema_member, fiber_bundle::e3, fiber_bundle::met_e3, fiber_bundle::met_e2, fiber_bundle::gl3, fiber_bundle::at0, fiber_bundle::e4, fiber_bundle::base_space_member, fiber_bundle::sec_rep_space_member, fiber_bundle::e2, fiber_bundle::e1, fiber_bundle::st2_e3, fiber_bundle::t2_e3, fiber_bundle::at2_e3, fiber_bundle::st2_e2, fiber_bundle::t2_e2, fiber_bundle::jcb_e13, fiber_bundle::t4_e3, fiber_bundle::at2_e2, fiber_bundle::met_e1, fiber_bundle::gl2, fiber_bundle::t3_e3, fiber_bundle::binary_section_space_schema_member, fiber_bundle::jcb_e33, fiber_bundle::jcb_e23, fiber_bundle::vd, fiber_bundle::st4_e3, fiber_bundle::product_section_space_schema_member, fiber_bundle::st4_e2, fiber_bundle::at3_e3, fiber_bundle::st3_e3, fiber_bundle::t4_e2, fiber_bundle::gln, fiber_bundle::tp, fiber_bundle::jcb, fiber_bundle::homogeneous_block, fiber_bundle::structured_block_3d, fiber_bundle::at2, fiber_bundle::st2, fiber_bundle::st3, fiber_bundle::st4, fiber_bundle::at3, fiber_bundle::structured_block_2d, fiber_bundle::at1, fiber_bundle::t2, fiber_bundle::tuple, fiber_bundle::t4, fiber_bundle::t3, fiber_bundle::zone_nodes_block, fiber_bundle::atp, fiber_bundle::met_ed, fiber_bundle::sec_vd, fiber_bundle::structured_block_1d, fiber_bundle::sec_e3_uniform, fiber_bundle::met, fiber_bundle::stp, sheaf::partial_poset_member, fiber_bundle::sec_e2_uniform, sheaf::namespace_poset_member, fiber_bundle::ed, fiber_bundle::sec_e1_uniform, fiber_bundle::point_block_3d, fiber_bundle::point_block_2d, fiber_bundle::jcb_ed, sheaf::total_poset_member, fiber_bundle::sec_tp, fiber_bundle::point_block_1d, sheaf::poset_member, fiber_bundle::sec_e2, fiber_bundle::sec_e3, fiber_bundle::sec_e1, fiber_bundle::sec_met_e3, fiber_bundle::sec_met_e1, fiber_bundle::sec_met_e2, fiber_bundle::sec_e4, fiber_bundle::sec_at2_e3, fiber_bundle::sec_at3_e3, fiber_bundle::sec_st2_e2, fiber_bundle::sec_at0, fiber_bundle::sec_st2_e3, fiber_bundle::sec_st3_e3, fiber_bundle::sec_st4_e2, fiber_bundle::sec_st4_e3, fiber_bundle::sec_t2_e3, fiber_bundle::sec_t3_e3, fiber_bundle::sec_t4_e2, fiber_bundle::sec_t4_e3, fiber_bundle::sec_at2_e2, fiber_bundle::sec_t2_e2, fiber_bundle::sec_jcb, fiber_bundle::structured_block, fiber_bundle::sec_ed, fiber_bundle::sec_jcb_e23, fiber_bundle::sec_met_ed, fiber_bundle::sec_jcb_e13, fiber_bundle::sec_jcb_e33, fiber_bundle::group, fiber_bundle::sec_atp, fiber_bundle::sec_at1, geometry::sec_ed_invertible, fiber_bundle::sec_at2, fiber_bundle::sec_at3, fiber_bundle::sec_st2, fiber_bundle::sec_st3, fiber_bundle::sec_st4, fiber_bundle::sec_met, fiber_bundle::sec_stp, fiber_bundle::sec_tuple, fiber_bundle::sec_t2, fiber_bundle::sec_t3, fiber_bundle::sec_t4, fiber_bundle::sec_jcb_ed, fiber_bundle::sec_rep_descriptor, fiber_bundle::local_base_space_member, and fiber_bundle::unstructured_block.

Referenced by sheaf::total_poset_member::clone(), sheaf::partial_poset_member::clone(), and ~abstract_poset_member().

◆ copy_cover() [1/2]

void sheaf::abstract_poset_member::copy_cover ( bool  xlower,
pod_index_type  xother_mbr_index 
)

Copies the lower (xlower true) or upper (xlower false) cover of this to the member with index xother_mbr_index.

Precondition
  • host()->contains_member(xother_mbr_index)
Postcondition
  • cover_is_equal(xlower, xother_mbr_index)

Definition at line 2876 of file abstract_poset_member.cc.

Referenced by clear_cover().

◆ copy_cover() [2/2]

void sheaf::abstract_poset_member::copy_cover ( bool  xlower,
const scoped_index xother_mbr_index 
)

Copies the lower (xlower true) or upper (xlower false) cover of this to the member with index xother_mbr_index.

Precondition
  • host()->contains_member(xother_mbr_index)
Postcondition
  • cover_is_equal(xlower, xother_mbr_index)

Definition at line 2898 of file abstract_poset_member.cc.

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

◆ cover_contains_iterator()

bool sheaf::abstract_poset_member::cover_contains_iterator ( bool  xlower,
const index_space_iterator xitr 
) const

True if and only if the lower (xlower true) or upper (xlower false) cover id space of this is the domain of iterator xitr.

Precondition

Definition at line 2624 of file abstract_poset_member.cc.

References cover_is_empty().

Referenced by release_cover_id_space_iterator().

◆ cover_contains_member() [1/2]

bool sheaf::abstract_poset_member::cover_contains_member ( bool  xlower,
pod_index_type  xother_mbr_index 
) const

True if and only if the lower (xlower true) or upper (xlower false) cover set of this contains xother_mbr_index.

Precondition

Definition at line 2684 of file abstract_poset_member.cc.

Referenced by cover_ct().

◆ cover_contains_member() [2/2]

bool sheaf::abstract_poset_member::cover_contains_member ( bool  xlower,
const scoped_index xother_mbr_index 
) const

True if and only if the lower (xlower true) or upper (xlower false) cover set of this contains xother_mbr_index.

Precondition

Definition at line 2695 of file abstract_poset_member.cc.

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

◆ cover_ct()

sheaf::size_type sheaf::abstract_poset_member::cover_ct ( bool  lower) const
virtual

The number of members in the lower cover (xlower true) or upper cover (xlower false) of this.

Precondition
Postcondition
  • result >= 0

Definition at line 2661 of file abstract_poset_member.cc.

References cover_contains_member().

Referenced by cover_is_singleton().

◆ cover_is_empty()

bool sheaf::abstract_poset_member::cover_is_empty ( bool  xlower) const

True if and only if the lower (xlower true) or upper (xlower false) cover this is empty.

Precondition

Definition at line 2637 of file abstract_poset_member.cc.

References cover_is_singleton().

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

◆ cover_is_equal() [1/2]

bool sheaf::abstract_poset_member::cover_is_equal ( bool  xlower,
pod_index_type  xother_mbr_index 
) const

True if and only if the lower (xlower true) or upper (xlower false) cover of this contains the same members as the lower or upper cover, respectively, of the member with index xother_mbr_index.

Precondition

Definition at line 2706 of file abstract_poset_member.cc.

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

◆ cover_is_equal() [2/2]

bool sheaf::abstract_poset_member::cover_is_equal ( bool  xlower,
const scoped_index xother_mbr_index 
) const

True if and only if the lower (xlower true) or upper (xlower false) cover of this contains the same members as the lower or upper cover, respectively, of the member with index xother_mbr_index.

Precondition

Definition at line 2717 of file abstract_poset_member.cc.

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

◆ cover_is_singleton()

bool sheaf::abstract_poset_member::cover_is_singleton ( bool  xlower) const

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

Precondition

Definition at line 2648 of file abstract_poset_member.cc.

References cover_ct().

Referenced by cover_is_empty().

◆ covers() [1/3]

bool sheaf::abstract_poset_member::covers ( const abstract_poset_member xother) const

◆ covers() [2/3]

bool sheaf::abstract_poset_member::covers ( pod_index_type  xhub_id) const

True if this covers the member with hub id xhub_id.

Precondition
  • host()->contains_member(xhub_id)

Definition at line 2468 of file abstract_poset_member.cc.

References covers().

◆ covers() [3/3]

bool sheaf::abstract_poset_member::covers ( const scoped_index xid) const

True if this covers the member with id xid.

Precondition
  • host()->contains_member(xid)

Definition at line 2490 of file abstract_poset_member.cc.

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

◆ create_cover_link()

void sheaf::abstract_poset_member::create_cover_link ( abstract_poset_member xlesser)
virtual

Insert a link from this to lesser; make lesser <= this.

Precondition
  • has_same_host(xlesser)
Issue:
should we allow direct creation and linking of jrms? require(is_jim() && xlesser->is_jim());
Precondition
  • !le(xlesser) && !xlesser->le(this)
Postcondition
  • covers(xlesser)

Reimplemented in fiber_bundle::section_space_schema_member.

Definition at line 2504 of file abstract_poset_member.cc.

References delete_cover_link(), sheaf::poset_component::index(), le(), and sheaf::scoped_index::pod().

Referenced by covers(), 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_quad_complex_prototype(), fiber_bundle::fiber_bundles_namespace::make_quad_nodes_prototype(), fiber_bundle::fiber_bundles_namespace::make_segment_complex_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_triangle_complex_prototype(), fiber_bundle::fiber_bundles_namespace::make_triangle_nodes_prototype(), sheaf::schema_poset_member::new_jim_state(), fiber_bundle::point_block_2d::new_state(), fiber_bundle::structured_block_1d::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(), and fiber_bundle::zone_nodes_block::new_state().

◆ delete_all_names()

void sheaf::abstract_poset_member::delete_all_names ( bool  xauto_access = false)
virtual

Delete all the names for this.

Precondition
Postcondition
  • name_ct(xauto_access) == 0

Implements sheaf::poset_component.

Definition at line 4576 of file abstract_poset_member.cc.

References attach_to_state().

Referenced by delete_name().

◆ delete_cover_link()

void sheaf::abstract_poset_member::delete_cover_link ( abstract_poset_member lesser)
virtual

Delete the link from this to lesser; make lesser incomparable to this.

Precondition
Issue:
should we allow direct creation and linking of jrms? require(is_jim() && xlesser->is_jim());
Postcondition
  • !covers(xlesser)

Reimplemented in fiber_bundle::section_space_schema_member.

Definition at line 2534 of file abstract_poset_member.cc.

References get_cover_id_space(), sheaf::poset_component::index(), and sheaf::scoped_index::pod().

Referenced by create_cover_link(), and fiber_bundle::unstructured_block_builder::put_name_mode().

◆ delete_down()

void sheaf::abstract_poset_member::delete_down ( bool  xdelete_exterior = false,
bool  xenter_jim_edit_mode = true 
)

Delete the strict down set of this, except for the external boundary. If xdelete_exterior, delete the external boundary as well.

Precondition
  • !xenter_jim_edit_mode ? host()->in_jim_edit_mode() : true
  • !name().empty()
  • host()->contains_member(poset_path::boundary_name(name()))
  • host()->includes_subposet("__boundary_jims")
Hack:
just link it to the bottom.
Error:
the order relation is now incorrect; this is now a jrm and an atom but is not linked as a jem of the bottom.
Postcondition
  • old_host->in_jim_edit_mode() == old_host_in_jim_edit_mode

Definition at line 3051 of file abstract_poset_member.cc.

References sheaf::poset_state_handle::begin_jim_edit_mode(), sheaf::poset_state_handle::bottom(), sheaf::subposet::contains_member(), sheaf::poset_state_handle::contains_member(), sheaf::poset_state_handle::cover_is_empty(), sheaf::poset_state_handle::delete_member(), delete_state(), sheaf::poset_component::detach_from_state(), sheaf::DOWN, sheaf::poset_state_handle::end_jim_edit_mode(), sheaf::poset_state_handle::first_cover_member(), sheaf::index_space_iterator::hub_pod(), sheaf::poset_state_handle::in_jim_edit_mode(), sheaf::poset_component::index(), sheaf::subposet::insert_member(), sheaf::index_space_iterator::is_done(), sheaf::poset_state_handle::jims(), sheaf::LOWER, sheaf::poset_state_handle::member_index_ub(), sheaf::index_space_iterator::next(), sheaf::NOT_STRICT, sheaf::scoped_index::pod(), sheaf::scoped_index::put(), sheaf::UP, up_ct(), and sheaf::UPPER.

Referenced by down_pa().

◆ delete_name()

void sheaf::abstract_poset_member::delete_name ( const std::string &  xname,
bool  xauto_access = false 
)
virtual

Delete all names for this.

Precondition
  • !xname.empty()
Postcondition
  • !has_name(xname, xauto_access)

Implements sheaf::poset_component.

Definition at line 4537 of file abstract_poset_member.cc.

References delete_all_names().

Referenced by put_name().

◆ delete_state()

◆ dof() [1/2]

sheaf::primitive_value sheaf::abstract_poset_member::dof ( pod_index_type  xdof_id) const

The dof referred to by xdof_id.

Precondition
  • schema().row_dof_id_space().contains(xdof_id)

Definition at line 1675 of file abstract_poset_member.cc.

Referenced by row_dofs().

◆ dof() [2/2]

sheaf::primitive_value sheaf::abstract_poset_member::dof ( const scoped_index xdof_id,
bool  xauto_access 
) const

The dof referred to by xdof_id.

Precondition
  • state_is_auto_read_accessible(xauto_access)
  • schema(xauto_access).row_dof_id_space(xauto_access).contains(xdof_id)

Definition at line 1695 of file abstract_poset_member.cc.

References put_dof().

◆ dof_ct()

virtual int sheaf::abstract_poset_member::dof_ct ( ) const
pure virtual

The number of dofs in the dof tuple for jims of this poset;.

Implemented in sheaf::schema_poset_member, sheaf::partial_poset_member, and sheaf::total_poset_member.

◆ dof_map() [1/2]

◆ dof_map() [2/2]

const sheaf::poset_dof_map & sheaf::abstract_poset_member::dof_map ( bool  xrequire_write_access = false) const
virtual

◆ dof_map_is_ancestor_of()

bool sheaf::abstract_poset_member::dof_map_is_ancestor_of ( const poset_dof_map xdof_map) const
virtual

True if xdof_map conforms to (is derived from) the type of dof map required by this handle.

Precondition
  • xdof_map != 0

Reimplemented in sheaf::schema_poset_member, fiber_bundle::sec_rep_space_member, fiber_bundle::base_space_member, fiber_bundle::tuple, fiber_bundle::sec_rep_descriptor, and sheaf::namespace_poset_member.

Definition at line 1311 of file abstract_poset_member.cc.

References dof_tuple().

Referenced by dof_map().

◆ dof_tuple()

void sheaf::abstract_poset_member::dof_tuple ( const void *  xbuf,
size_t  xbuflen 
) const

Copies the entire dof tuple between xbuf and internal storage.

Precondition
  • !is_restricted()
  • xbuf != 0
  • -unexecutable( xbuf points to a buffer of length xbuflen )
Postcondition
  • -unexecutable( xbuf contains copy of dof tuple )

Definition at line 1335 of file abstract_poset_member.cc.

References fiber_bundle::ed_algebra::length(), put_dof_tuple(), and sheaf::tuple().

Referenced by dof_map_is_ancestor_of().

◆ dof_tuple_id() [1/2]

sheaf::pod_index_type sheaf::abstract_poset_member::dof_tuple_id ( bool  xauto_access) const

The dof tuple index of this member.

Precondition
  • state_is_auto_read_accessible(xauto_access)
Postcondition
  • host()->contains_row_dof_tuple(result) || (!is_valid(result))

Definition at line 1386 of file abstract_poset_member.cc.

References sheaf::is_valid().

Referenced by sheaf::partial_poset_member::attach_handle_data_members(), fiber_bundle::unstructured_block_builder::build_block_decomposition(), sheaf::storage_agent::commit_dof_tuple_transaction(), and put_dof_tuple().

◆ dof_tuple_id() [2/2]

void sheaf::abstract_poset_member::dof_tuple_id ( scoped_index result,
bool  xauto_access 
) const

The dof tuple index of this member.

Precondition
  • state_is_auto_read_accessible(xauto_access)
Postcondition

Definition at line 1407 of file abstract_poset_member.cc.

References sheaf::scoped_index::is_valid(), and put_dof_tuple_id().

◆ down()

sheaf::subposet * sheaf::abstract_poset_member::down ( ) const
virtual

The down set of this, auto-allocated version.

Precondition
  • result != 0
  • postcondition_of(down_pa)

Reimplemented in fiber_bundle::section_space_schema_member.

Definition at line 2999 of file abstract_poset_member.cc.

References down_pa().

Referenced by down_ct().

◆ down_ct() [1/3]

int sheaf::abstract_poset_member::down_ct ( ) const

The number of members in the down set of this member.

Postcondition
  • result > 0

Definition at line 2931 of file abstract_poset_member.cc.

References sheaf::WHOLE_INDEX.

Referenced by copy_cover(), down_ct(), fiber_bundle::section_space_schema_member::merge_jem(), and fiber_bundle::section_space_schema_member::unrestricted_schema().

◆ down_ct() [2/3]

int sheaf::abstract_poset_member::down_ct ( pod_index_type  xfilter_index) const
virtual

The number of members in the down set of this member, filtered by the subposet in host() with index xfilter_index.

Postcondition
  • result >= 0

Reimplemented in fiber_bundle::section_space_schema_member.

Definition at line 2950 of file abstract_poset_member.cc.

References sheaf::DOWN, down_ct(), sheaf::depth_first_itr< T >::is_done(), sheaf::depth_first_itr< T >::next(), and sheaf::NOT_STRICT.

◆ down_ct() [3/3]

int sheaf::abstract_poset_member::down_ct ( const scoped_index xfilter_index) const

The number of members in the down set of this member, filtered by the subposet in host() with index xfilter_index.

Postcondition
  • result > 0

Definition at line 2978 of file abstract_poset_member.cc.

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

◆ down_pa()

void sheaf::abstract_poset_member::down_pa ( subposet result) const
virtual

The down set of this, pre-allocated version.

Postcondition
  • -unexecutable( result is down set of this )

Reimplemented in fiber_bundle::section_space_schema_member.

Definition at line 3025 of file abstract_poset_member.cc.

References delete_down(), sheaf::poset_slicer::down_set_pa(), and sheaf::subposet::invariant().

Referenced by down(), and p_meet_pa().

◆ first_cover_member() [1/2]

sheaf::pod_index_type sheaf::abstract_poset_member::first_cover_member ( bool  xlower) const

The first member of the lower (xlower true) or upper (xlower false) cover of this.

Precondition

Definition at line 2728 of file abstract_poset_member.cc.

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

◆ first_cover_member() [2/2]

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

The first member of the lower (xlower true) or upper (xlower false) cover of this.

Precondition

Definition at line 2739 of file abstract_poset_member.cc.

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

◆ ge() [1/3]

bool sheaf::abstract_poset_member::ge ( pod_index_type  xother_index) const

True if this is greater than or equal to the member with index xother_index.

Precondition
  • host()->contains_member(xother_index)
Postcondition
  • -unexecutable( other is in the up set of this )

Definition at line 2094 of file abstract_poset_member.cc.

Referenced by sheaf::storage_agent::begin_write_transaction(), sheaf::schema_poset_member::conforms_to(), sheaf::dof_tuple_record_set::externalize(), ge(), sheaf::member_record::internalize(), sheaf::poset_table_state::invariant(), lt(), and sheaf::storage_agent::write().

◆ ge() [2/3]

bool sheaf::abstract_poset_member::ge ( const scoped_index xother_index) const

True if this is greater than or equal to the member with index xother_index.

Precondition
  • host()->contains_member(xother_index)
Postcondition
  • -unexecutable( other is in the up set of this )

Definition at line 2121 of file abstract_poset_member.cc.

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

◆ ge() [3/3]

bool sheaf::abstract_poset_member::ge ( const abstract_poset_member other) const

true if this is greater than or equal to other

Precondition
Postcondition
  • -unexecutable( other is in the up set of this )

Definition at line 2146 of file abstract_poset_member.cc.

References geqv(), sheaf::poset_component::index(), and sheaf::scoped_index::pod().

◆ geqv() [1/2]

bool sheaf::abstract_poset_member::geqv ( pod_index_type  xother_index) const

True if this is greater than or equivalent to the member with index xother_index.

Precondition
  • host()->contains_member(xother_index)
Postcondition
  • -unexecutable( "this is in the up set of other or this is_jem of other" )

Definition at line 2173 of file abstract_poset_member.cc.

Referenced by ge(), and fiber_bundle::section_dof_map::section_dof_map().

◆ geqv() [2/2]

bool sheaf::abstract_poset_member::geqv ( const scoped_index xother_index) const

True if this is greater than or equivalent to the member with index xother_index.

Precondition
  • host()->contains_member(xother_index)
Postcondition
  • -unexecutable( "this is in the up set of other or this is_jem of other" )

Definition at line 2199 of file abstract_poset_member.cc.

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

◆ get_cover_id_space()

sheaf::index_space_handle & sheaf::abstract_poset_member::get_cover_id_space ( bool  xlower) const

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

Precondition

Definition at line 2560 of file abstract_poset_member.cc.

References release_cover_id_space().

Referenced by delete_cover_link().

◆ get_cover_id_space_iterator()

sheaf::index_space_iterator & sheaf::abstract_poset_member::get_cover_id_space_iterator ( bool  xlower) const

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

Precondition

Definition at line 2592 of file abstract_poset_member.cc.

References release_cover_id_space_iterator().

Referenced by release_cover_id_space().

◆ get_dof() [1/2]

void sheaf::abstract_poset_member::get_dof ( pod_index_type  xdof_id,
void *  xdof,
size_type  xdof_size 
) const

Copies the dof referred to by xdof_id into xdof.

Precondition
  • schema().row_dof_id_space().contains(xdof_id)
  • -unexecutable( "xdof points to buffer of size xdof_size" )
  • xdof_size >= schema().size(xdof_id, false)

Definition at line 1781 of file abstract_poset_member.cc.

Referenced by fiber_bundle::sec_rep_space_member::clone(), and put_dof().

◆ get_dof() [2/2]

void sheaf::abstract_poset_member::get_dof ( const scoped_index xdof_id,
void *  xdof,
size_type  xdof_size,
bool  xauto_access 
) const

Copies the dof referred to by xdof_id into xdof.

Precondition
  • state_is_auto_read_accessible(xauto_access)
  • schema(xauto_access).row_dof_id_space(xauto_access).contains(xdof_id)
  • -unexecutable( "xdof points to buffer of size xdof_size" )
  • xdof_size >= schema(xauto_access).size(xdof_id, false, xauto_access)

Definition at line 1803 of file abstract_poset_member.cc.

References put_dof().

◆ get_index_from_name() [1/2]

sheaf::pod_index_type sheaf::abstract_poset_member::get_index_from_name ( const poset_state_handle xhost,
const std::string &  xname 
) const
virtual

Gets the index of the component in xhost with name xname.

Precondition
  • xhost != 0
  • host_is_ancestor_of(xhost)
  • !xname.empty()
Postcondition
  • -unexecutable( result.is_valid() implies member with index = result has name xname )

Implements sheaf::poset_component.

Definition at line 4367 of file abstract_poset_member.cc.

References sheaf::poset_state_handle::member_id(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Referenced by hub_id().

◆ get_index_from_name() [2/2]

void sheaf::abstract_poset_member::get_index_from_name ( const poset_state_handle xhost,
const std::string &  xname,
scoped_index result 
) const
virtual

Gets the index of the component in xhost with name xname.

Precondition
  • xhost != 0
  • host_is_ancestor_of(xhost)
  • !xname.empty()
Postcondition
  • -unexecutable( result.is_valid() implies member with index = result has name xname )

Implements sheaf::poset_component.

Definition at line 4391 of file abstract_poset_member.cc.

References sheaf::scoped_index::is_valid(), sheaf::poset_state_handle::member_id(), name(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

◆ greatest_jem()

◆ greatest_jem_pa()

void sheaf::abstract_poset_member::greatest_jem_pa ( abstract_poset_member result) const

The largest member which is join-equivalent to this.

Precondition
  • result->is_ancestor_of(this)

Definition at line 2340 of file abstract_poset_member.cc.

References attach_to_state(), is_ancestor_of(), and least_jem().

Referenced by greatest_jem().

◆ gt() [1/3]

bool sheaf::abstract_poset_member::gt ( pod_index_type  xother_index) const

True if this is strictly greater than the member with index xother_index.

Precondition
  • host()->contains_member(xother_index)
Postcondition
  • result == (ge(xother_index) && (index().pod() != xother_index))

Definition at line 2223 of file abstract_poset_member.cc.

Referenced by geqv(), and gt().

◆ gt() [2/3]

bool sheaf::abstract_poset_member::gt ( const scoped_index xother_index) const

True if this is strictly greater than the member with index xother_index.

Precondition
  • host()->contains_member(xother_index)
Postcondition
  • result == (ge(xother_index) && (index() !=~ xother_index))

Definition at line 2247 of file abstract_poset_member.cc.

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

◆ gt() [3/3]

bool sheaf::abstract_poset_member::gt ( const abstract_poset_member other) const

True if this is strictly greater than other.

Precondition
Postcondition

Definition at line 2271 of file abstract_poset_member.cc.

References sheaf::poset_component::index(), and is_jem().

◆ has_name()

bool sheaf::abstract_poset_member::has_name ( const std::string &  xname,
bool  xauto_access = false 
) const
virtual

True if xname is a name for this.

Precondition
  • !xname.empty()

Implements sheaf::poset_component.

Definition at line 4493 of file abstract_poset_member.cc.

References put_name().

Referenced by name_ct(), and fiber_bundle::unstructured_block::new_state().

◆ hub_id() [1/2]

const sheaf::scoped_index & sheaf::abstract_poset_member::hub_id ( ) const
virtual

A id in the hub id space for components of this type; intended for copying to initialize ids to the hub id space.

Precondition
Postcondition
  • result.is_hub_scope()

Implements sheaf::poset_component.

Definition at line 4324 of file abstract_poset_member.cc.

References sheaf::scoped_index::is_hub_scope().

Referenced by fiber_bundle::binary_section_space_schema_member::attach_to_state(), hub_id_space(), and sheaf::member_record_set::make_internal_dataspace().

◆ hub_id() [2/2]

sheaf::scoped_index sheaf::abstract_poset_member::hub_id ( pod_index_type  xid) const
virtual

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

Precondition
Postcondition
  • result.is_hub_scope()
  • result.pod() == xid

Implements sheaf::poset_component.

Definition at line 4345 of file abstract_poset_member.cc.

References get_index_from_name(), sheaf::scoped_index::is_hub_scope(), and sheaf::scoped_index::pod().

◆ hub_id_space()

const sheaf::hub_index_space_handle & sheaf::abstract_poset_member::hub_id_space ( ) const
virtual

The hub id space; const version.

Issue:
Do these functions need to virtual?
Precondition

Implements sheaf::poset_component.

Reimplemented in fiber_bundle::homogeneous_block.

Definition at line 4305 of file abstract_poset_member.cc.

References hub_id().

Referenced by id_spaces().

◆ id_spaces()

const sheaf::index_space_family & sheaf::abstract_poset_member::id_spaces ( ) const

The id space family for this member.

Precondition

Definition at line 4286 of file abstract_poset_member.cc.

References hub_id_space().

Referenced by is_valid_index().

◆ insert_cover_member() [1/2]

void sheaf::abstract_poset_member::insert_cover_member ( pod_index_type  xother_mbr_index,
bool  xlower 
)

Inserts xother_mbr_index in the lower (xlower true) or upper (xlower false) cover set of this.

Precondition
Postcondition
  • -unexecutable( cover_contains_member(xlower, xother_mbr_index) )

Definition at line 2750 of file abstract_poset_member.cc.

Referenced by first_cover_member().

◆ insert_cover_member() [2/2]

void sheaf::abstract_poset_member::insert_cover_member ( const scoped_index xother_mbr_index,
bool  xlower 
)

Inserts xother_mbr_index in the lower (xlower true) or upper (xlower false) cover set of this.

Precondition
Postcondition
  • -unexecutable( cover_contains_member(xlower, xother_mbr_index) )

Definition at line 2771 of file abstract_poset_member.cc.

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

◆ invariant()

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

Class invariant.

Invariant
Hack:
assertion should be true with or without read access, but dof_map requires read access and this doesn't have it in bootstrap.
Todo:
change read_write_monitor ctor to grant access by default.
Invariant
Issue:
what are the other invariants for this class
Todo:
finish implementing abstract_poset_member::invariant() const

Reimplemented from sheaf::poset_component.

Reimplemented in sheaf::schema_poset_member, fiber_bundle::section_space_schema_member, fiber_bundle::section_space_schema_member, fiber_bundle::e3, fiber_bundle::met_e3, fiber_bundle::met_e2, fiber_bundle::gl3, fiber_bundle::e4, fiber_bundle::e2, fiber_bundle::st2_e3, fiber_bundle::e1, fiber_bundle::at2_e3, fiber_bundle::st2_e2, fiber_bundle::at0, fiber_bundle::t2_e3, fiber_bundle::t2_e2, fiber_bundle::jcb_e13, fiber_bundle::sec_rep_space_member, fiber_bundle::at2_e2, fiber_bundle::t4_e3, fiber_bundle::met_e1, fiber_bundle::base_space_member, fiber_bundle::gl2, fiber_bundle::t3_e3, fiber_bundle::jcb_e33, fiber_bundle::jcb_e23, fiber_bundle::st4_e3, fiber_bundle::st4_e2, fiber_bundle::at3_e3, fiber_bundle::st3_e3, fiber_bundle::binary_section_space_schema_member, fiber_bundle::vd, fiber_bundle::product_section_space_schema_member, fiber_bundle::t4_e2, fiber_bundle::gln, fiber_bundle::homogeneous_block, fiber_bundle::tp, fiber_bundle::structured_block_3d, fiber_bundle::structured_block_2d, fiber_bundle::structured_block_1d, fiber_bundle::jcb, fiber_bundle::point_block_3d, fiber_bundle::at2, fiber_bundle::st2, fiber_bundle::point_block_2d, fiber_bundle::st3, fiber_bundle::st4, fiber_bundle::at3, fiber_bundle::sec_vd, fiber_bundle::point_block_1d, fiber_bundle::t2, fiber_bundle::t4, fiber_bundle::t3, fiber_bundle::met_ed, fiber_bundle::at1, fiber_bundle::sec_e3_uniform, fiber_bundle::zone_nodes_block, fiber_bundle::met, fiber_bundle::tuple, fiber_bundle::atp, fiber_bundle::sec_e2_uniform, fiber_bundle::ed, fiber_bundle::sec_e1_uniform, fiber_bundle::stp, sheaf::partial_poset_member, fiber_bundle::sec_tp, fiber_bundle::structured_block, sheaf::namespace_poset_member, fiber_bundle::jcb_ed, fiber_bundle::sec_at0, sheaf::total_poset_member, fiber_bundle::sec_e2, fiber_bundle::sec_e3, fiber_bundle::sec_e1, fiber_bundle::sec_met_e3, fiber_bundle::sec_met_e1, fiber_bundle::sec_met_e2, fiber_bundle::sec_e4, fiber_bundle::sec_jcb, fiber_bundle::sec_at2_e3, fiber_bundle::sec_at3_e3, fiber_bundle::sec_st2_e2, fiber_bundle::sec_atp, fiber_bundle::sec_st2_e3, fiber_bundle::sec_st3_e3, fiber_bundle::sec_st4_e2, fiber_bundle::sec_st4_e3, sheaf::poset_member, fiber_bundle::sec_at1, fiber_bundle::sec_t2_e3, fiber_bundle::sec_t3_e3, fiber_bundle::sec_t4_e2, fiber_bundle::sec_t4_e3, fiber_bundle::sec_at2_e2, fiber_bundle::sec_t2_e2, fiber_bundle::sec_jcb_e23, fiber_bundle::sec_ed, fiber_bundle::sec_met_ed, fiber_bundle::sec_jcb_e13, fiber_bundle::sec_jcb_e33, fiber_bundle::sec_stp, fiber_bundle::sec_tuple, fiber_bundle::local_base_space_member, fiber_bundle::group, fiber_bundle::sec_at2, fiber_bundle::sec_at3, fiber_bundle::sec_st2, fiber_bundle::sec_st3, fiber_bundle::sec_st4, fiber_bundle::sec_met, geometry::sec_ed_invertible, fiber_bundle::sec_t2, fiber_bundle::sec_t3, fiber_bundle::sec_t4, fiber_bundle::sec_jcb_ed, fiber_bundle::sec_rep_descriptor, fiber_bundle::unstructured_block, and sheaf::subposet_member_iterator.

Definition at line 4893 of file abstract_poset_member.cc.

References to_stream().

Referenced by sheaf::total_poset_member::invariant(), sheaf::partial_poset_member::invariant(), and is_ancestor_of().

◆ is_ancestor_of()

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

True if other conforms to this.

Reimplemented from sheaf::poset_component.

Reimplemented in sheaf::schema_poset_member, fiber_bundle::section_space_schema_member, fiber_bundle::section_space_schema_member, fiber_bundle::e3, fiber_bundle::met_e3, fiber_bundle::gl3, fiber_bundle::met_e2, fiber_bundle::e4, fiber_bundle::t2_e3, fiber_bundle::e2, fiber_bundle::st2_e3, fiber_bundle::e1, fiber_bundle::t2_e2, fiber_bundle::at2_e3, fiber_bundle::st2_e2, fiber_bundle::at0, fiber_bundle::jcb_e13, fiber_bundle::t4_e3, fiber_bundle::base_space_member, fiber_bundle::at2_e2, fiber_bundle::gl2, fiber_bundle::sec_rep_space_member, fiber_bundle::met_e1, fiber_bundle::t3_e3, fiber_bundle::jcb_e33, fiber_bundle::jcb_e23, fiber_bundle::st4_e3, fiber_bundle::st4_e2, fiber_bundle::at3_e3, fiber_bundle::st3_e3, fiber_bundle::binary_section_space_schema_member, fiber_bundle::t4_e2, fiber_bundle::vd, fiber_bundle::product_section_space_schema_member, fiber_bundle::gln, fiber_bundle::homogeneous_block, fiber_bundle::structured_block_3d, fiber_bundle::structured_block_2d, fiber_bundle::tp, fiber_bundle::structured_block_1d, fiber_bundle::jcb, fiber_bundle::point_block_3d, fiber_bundle::point_block_2d, fiber_bundle::at2, fiber_bundle::st2, fiber_bundle::st3, fiber_bundle::st4, fiber_bundle::at3, fiber_bundle::point_block_1d, fiber_bundle::sec_vd, fiber_bundle::t2, fiber_bundle::t4, fiber_bundle::t3, fiber_bundle::met_ed, fiber_bundle::sec_e3_uniform, fiber_bundle::at1, fiber_bundle::met, fiber_bundle::tuple, fiber_bundle::zone_nodes_block, fiber_bundle::sec_e2_uniform, fiber_bundle::atp, fiber_bundle::ed, fiber_bundle::sec_e1_uniform, fiber_bundle::structured_block, fiber_bundle::sec_tp, fiber_bundle::stp, sheaf::partial_poset_member, sheaf::namespace_poset_member, fiber_bundle::jcb_ed, fiber_bundle::sec_at0, fiber_bundle::sec_e2, fiber_bundle::sec_e3, fiber_bundle::sec_e1, sheaf::total_poset_member, fiber_bundle::sec_met_e3, fiber_bundle::sec_met_e1, fiber_bundle::sec_met_e2, fiber_bundle::sec_e4, fiber_bundle::sec_jcb, fiber_bundle::sec_at2_e3, fiber_bundle::sec_at3_e3, fiber_bundle::sec_st2_e2, fiber_bundle::sec_atp, fiber_bundle::sec_st2_e3, fiber_bundle::sec_st3_e3, fiber_bundle::sec_st4_e2, fiber_bundle::sec_st4_e3, fiber_bundle::sec_at1, sheaf::poset_member, fiber_bundle::sec_t2_e3, fiber_bundle::sec_t3_e3, fiber_bundle::sec_t4_e2, fiber_bundle::sec_t4_e3, fiber_bundle::sec_at2_e2, fiber_bundle::sec_t2_e2, fiber_bundle::local_base_space_member, fiber_bundle::sec_jcb_e23, fiber_bundle::sec_ed, fiber_bundle::sec_met_ed, fiber_bundle::sec_jcb_e13, fiber_bundle::sec_jcb_e33, fiber_bundle::sec_stp, fiber_bundle::sec_tuple, fiber_bundle::group, fiber_bundle::sec_at2, fiber_bundle::sec_at3, fiber_bundle::sec_st2, fiber_bundle::sec_st3, fiber_bundle::sec_st4, fiber_bundle::sec_met, geometry::sec_ed_invertible, fiber_bundle::sec_t2, fiber_bundle::sec_t3, fiber_bundle::sec_t4, fiber_bundle::sec_jcb_ed, fiber_bundle::sec_rep_descriptor, and fiber_bundle::unstructured_block.

Definition at line 4874 of file abstract_poset_member.cc.

References invariant().

Referenced by delete_state(), greatest_jem_pa(), l_join_pa(), l_meet_pa(), l_not_pa(), least_jem_pa(), p_join_pa(), fiber_bundle::section_space_schema_member::p_join_pa(), p_meet_pa(), and fiber_bundle::section_space_schema_member::p_meet_pa().

◆ is_atom()

bool sheaf::abstract_poset_member::is_atom ( ) const
virtual

◆ is_jem()

bool sheaf::abstract_poset_member::is_jem ( const abstract_poset_member xother) const

True if xother is join equivalent to this.

Precondition

Definition at line 2294 of file abstract_poset_member.cc.

References greatest_jem(), and sheaf::poset_component::index().

Referenced by gt(), and merge_jem().

◆ is_jim()

bool sheaf::abstract_poset_member::is_jim ( bool  xin_current_version = true) const
virtual

True if this member is join irreducible in the current version of the host (xin_current_version == true) or in some version of the host (xin_current_version == false).

Precondition

Definition at line 925 of file abstract_poset_member.cc.

References is_atom().

Referenced by fiber_bundle::binary_section_space_schema_member::alignment(), sheaf::schema_poset_member::alignment(), sheaf::poset_state_handle::attach_to_state(), fields::base_space_map::base_space_map(), fiber_bundle::unstructured_block_builder::build_block_pa(), tool::vtk_unstructured_grid_builder::build_pa(), sheaf::namespace_poset::clear(), sheaf::namespace_poset::delete_poset(), sheaf::namespace_poset_member::dof_map(), fiber_bundle::sec_rep_descriptor::dof_map(), fiber_bundle::binary_section_space_schema_member::dof_map(), fiber_bundle::product_section_space_schema_member::dof_map(), sheaf::schema_poset_member::dof_map(), fiber_bundle::sec_rep_descriptor::invariant(), sheaf::namespace_poset_member::invariant(), tool::vtk_unstructured_grid_builder::is_tensor(), merge_jem(), sheaf::namespace_poset_member::poset_class(), sheaf::namespace_poset_member::poset_is_external(), sheaf::namespace_poset_member::poset_pointer(), sheaf::namespace_poset_member::poset_prereq_id(), sheaf::namespace_poset_member::poset_type_id(), sheaf::poset_orderer::postvisit_action(), fields::section_pusher::push_pa(), fiber_bundle::unstructured_block_builder::put_name_mode(), sheaf::namespace_poset_member::put_poset(), sheaf::namespace_poset_member::put_poset_class(), sheaf::namespace_poset_member::put_poset_pointer(), sheaf::namespace_poset_member::put_poset_prereq_id(), sheaf::namespace_poset_member::put_poset_type_id(), row_dof_ptr(), fiber_bundle::sec_at0::sec_at0(), fiber_bundle::binary_section_space_schema_member::size(), sheaf::schema_poset_member::size(), fiber_bundle::binary_section_space_schema_member::type(), and sheaf::schema_poset_member::type().

◆ is_restricted()

bool sheaf::abstract_poset_member::is_restricted ( ) const
virtual

True if handle is a restriction of the state, that is, if schema() is not the same as host()->schema().

Precondition
Postcondition

Reimplemented in sheaf::total_poset_member.

Definition at line 1213 of file abstract_poset_member.cc.

References is_same_restriction().

Referenced by sheaf::partial_poset_member::attach_handle_data_members(), same_schema(), sheaf::poset_member::unrestrict(), and sheaf::partial_poset_member::unrestrict().

◆ is_same_restriction()

bool sheaf::abstract_poset_member::is_same_restriction ( const abstract_poset_member xother) const
virtual

True if this is the same restriction as xother, that is, if schema().is_same_state(xother.schema()).

Precondition
  • xother != 0
Postcondition
  • -unexecutable( result == this and xother are attached and have the same schema or both are unattached )

Definition at line 1236 of file abstract_poset_member.cc.

References dof_map(), sheaf::poset_component::is_attached(), schema(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Referenced by is_restricted(), sheaf::poset_member::restrict_to_same(), and sheaf::partial_poset_member::restrict_to_same().

◆ is_valid_index() [1/2]

bool sheaf::abstract_poset_member::is_valid_index ( const poset_state_handle xhost,
pod_index_type  xhub_id,
int  xversion = CURRENT_HOST_VERSION 
) const
virtual

True if there exists a component of the same type as this with hub id xhub_id in version xversion of xhost.

Hack:
swig doesn't like using poset_component::is_valid_index
Precondition
  • xhost != 0
  • host_is_ancestor_of(xhost)

Implements sheaf::poset_component.

Definition at line 4246 of file abstract_poset_member.cc.

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

Referenced by l_not_sa().

◆ is_valid_index() [2/2]

bool sheaf::abstract_poset_member::is_valid_index ( const poset_state_handle xhost,
const scoped_index xid,
int  xversion = CURRENT_HOST_VERSION 
) const

True if there exists a component of the same type as this with id xid in version xversion of xhost.

Precondition
  • xhost != 0
  • host_is_ancestor_of(xhost)

Definition at line 4269 of file abstract_poset_member.cc.

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

◆ jim_ct()

int sheaf::abstract_poset_member::jim_ct ( ) const
virtual

The number of members in the set of jims contained in the down set of this member.

Postcondition
  • is_jem(&(host()->bottom())) ? result == 0 : result > 0

Reimplemented in fiber_bundle::section_space_schema_member.

Definition at line 3451 of file abstract_poset_member.cc.

References sheaf::depth_first_itr< T >::ct(), sheaf::DOWN, jims(), and sheaf::NOT_STRICT.

Referenced by up_pa().

◆ jims()

sheaf::subposet * sheaf::abstract_poset_member::jims ( )
virtual

The set of jims contained in the down set of this member, auto-allocated.

Precondition
Postcondition
  • result != 0
  • postcondition_of(jims_pa)

Reimplemented in fiber_bundle::section_space_schema_member.

Definition at line 3471 of file abstract_poset_member.cc.

References jims_pa().

Referenced by jim_ct().

◆ jims_pa()

void sheaf::abstract_poset_member::jims_pa ( subposet result)
virtual

The set of jims contained in the down set of this member, pre-allocated.

Precondition
Postcondition
  • -unexecutable( result is jims set of this )

Reimplemented in fiber_bundle::section_space_schema_member.

Definition at line 3496 of file abstract_poset_member.cc.

References sheaf::poset_slicer::find_jims_pa(), sheaf::subposet::invariant(), and maximal_jim_ct().

Referenced by jims(), sheaf::subposet::l_meet_pa(), l_meet_pa(), and l_not_pa().

◆ l_join()

sheaf::abstract_poset_member * sheaf::abstract_poset_member::l_join ( abstract_poset_member other,
bool  xnew_jem = true 
)

lattice join of this with other, auto-allocated
the lattice join is the least upper bound in the lattice generated by the jims in the poset

Precondition
  • has_same_host(other)
Postcondition
  • result != 0
  • result->is_same_type(this)
  • postcondition_of(l_join_pa)

Definition at line 3955 of file abstract_poset_member.cc.

References sheaf::any::is_same_type(), and l_join_pa().

Referenced by sheaf::poset_member::l_join(), sheaf::total_poset_member::l_join(), sheaf::namespace_poset_member::l_join(), sheaf::partial_poset_member::l_join(), fiber_bundle::binary_section_space_schema_member::l_join(), fiber_bundle::product_section_space_schema_member::l_join(), sheaf::schema_poset_member::l_join(), and p_meet_sa().

◆ l_join_pa()

void sheaf::abstract_poset_member::l_join_pa ( abstract_poset_member other,
abstract_poset_member result,
bool  xnew_jem = true 
)

lattice join of this with other, pre-allocated
the lattice join is the least upper bound in the lattice generated by the jims in the poset

Precondition
  • !host()->in_jim_edit_mode()
  • has_same_host(other)
  • result->is_ancestor_of(this)
Hack:
join operator should support tern argument.
Todo:
convert xnew_jem to tern.
Postcondition
  • -unexecutable( result is least upper bound in host of this and other )

Definition at line 3982 of file abstract_poset_member.cc.

References sheaf::poset_component::index(), is_ancestor_of(), l_join_sa(), and new_jrm_state().

Referenced by l_join().

◆ l_join_sa()

void sheaf::abstract_poset_member::l_join_sa ( abstract_poset_member other,
bool  xnew_jem = true 
)

lattice join of this with other, self-allocated
the lattice join is the least upper bound in the lattice generated by the jims in the poset

Precondition
  • has_same_host(other)
Postcondition
  • postcondition_of(l_join_pa)

Definition at line 4011 of file abstract_poset_member.cc.

References l_meet().

Referenced by l_join_pa().

◆ l_meet()

sheaf::abstract_poset_member * sheaf::abstract_poset_member::l_meet ( abstract_poset_member other,
bool  xnew_jem = true 
)

lattice meet of this with other, auto-allocated
the lattice meet is the greatest lower bound in the lattice generated by the jims in the poset

Precondition
  • has_same_host(other)
Postcondition
  • result != 0
  • result->is_same_type(this)
  • postcondition_of(l_meet_pa)

Definition at line 4033 of file abstract_poset_member.cc.

References sheaf::any::is_same_type(), and l_meet_pa().

Referenced by l_join_sa(), sheaf::poset_member::l_meet(), sheaf::total_poset_member::l_meet(), sheaf::namespace_poset_member::l_meet(), sheaf::partial_poset_member::l_meet(), fiber_bundle::binary_section_space_schema_member::l_meet(), fiber_bundle::product_section_space_schema_member::l_meet(), and sheaf::schema_poset_member::l_meet().

◆ l_meet_pa()

void sheaf::abstract_poset_member::l_meet_pa ( abstract_poset_member other,
abstract_poset_member result,
bool  xnew_jem = true 
)

lattice meet of this with other, pre-allocated
the lattice meet is the greatest lower bound in the lattice generated by the jims in the poset

Precondition
  • has_same_host(other)
  • result->is_ancestor_of(this)
Postcondition
  • -unexecutable( result is least upper bound in host of this and other )

Definition at line 4060 of file abstract_poset_member.cc.

References sheaf::poset_component::host(), is_ancestor_of(), sheaf::poset_component::is_attached(), jims_pa(), sheaf::subposet::l_join_jims_pa(), l_meet_sa(), and sheaf::subposet::p_intersection_sa().

Referenced by l_meet().

◆ l_meet_sa()

void sheaf::abstract_poset_member::l_meet_sa ( abstract_poset_member other,
bool  xnew_jem = true 
)

lattice meet of this with other, self-allocated
the lattice meet is the greatest lower bound in the lattice generated by the jims in the poset

Precondition
  • has_same_host(other)
Postcondition
  • postcondition_of(l_meet_pa)

Definition at line 4107 of file abstract_poset_member.cc.

References l_not().

Referenced by l_meet_pa().

◆ l_not()

sheaf::abstract_poset_member * sheaf::abstract_poset_member::l_not ( bool  xnew_jem = true) const

lattice pseudo-complement of this, auto-allocated
The lattice pseudo-complement is the largest lattice member m for which this.l_meet(m) = 0

Precondition
Postcondition
  • result != 0
  • result->is_same_type(this)
  • postcondition_of(l_not_pa)

Definition at line 4129 of file abstract_poset_member.cc.

References sheaf::any::is_same_type(), and l_not_pa().

Referenced by l_meet_sa(), sheaf::poset_member::l_not(), sheaf::total_poset_member::l_not(), sheaf::namespace_poset_member::l_not(), sheaf::partial_poset_member::l_not(), fiber_bundle::binary_section_space_schema_member::l_not(), fiber_bundle::product_section_space_schema_member::l_not(), and sheaf::schema_poset_member::l_not().

◆ l_not_pa()

void sheaf::abstract_poset_member::l_not_pa ( abstract_poset_member result,
bool  xnew_jem = true 
) const

lattice pseudo-complement of this, pre-allocated
The lattice pseudo-complement is the largest lattice member m for which this.l_meet(m) = 0

Precondition
  • result->is_ancestor_of(this)
Todo:
reimplement abstract_poset_member::l_not_pa using poset_slicer

Not Implemented.

Postcondition
  • -unexecutable( result is least upper bound in host of this and other )

Definition at line 4155 of file abstract_poset_member.cc.

References sheaf::poset_slicer::find_pa(), is_ancestor_of(), sheaf::poset_component::is_attached(), jims_pa(), sheaf::subposet::l_join_jims_pa(), and l_not_sa().

Referenced by l_not().

◆ l_not_sa()

void sheaf::abstract_poset_member::l_not_sa ( bool  xnew_jem = true) const

lattice pseudo-complement of this, self-allocated
The lattice pseudo-complement is the largest lattice member m for which this.l_meet(m) = 0

Precondition
Postcondition
  • postcondition_of(l_not_pa)

Definition at line 4213 of file abstract_poset_member.cc.

References is_valid_index().

Referenced by l_not_pa().

◆ le() [1/3]

bool sheaf::abstract_poset_member::le ( pod_index_type  xother_index) const

◆ le() [2/3]

bool sheaf::abstract_poset_member::le ( const scoped_index xother_index) const

True if this is less than or equal to the member with index xother_index.

Precondition
  • host()->contains_member(xother_index)
Postcondition
  • -unexecutable( other is in the up set of this )

Definition at line 1925 of file abstract_poset_member.cc.

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

◆ le() [3/3]

bool sheaf::abstract_poset_member::le ( const abstract_poset_member other) const

True if this is less than or equal to other.

Precondition
Postcondition
  • -unexecutable( other is in the up set of this )

Definition at line 1950 of file abstract_poset_member.cc.

References sheaf::poset_component::index(), leqv(), and sheaf::scoped_index::pod().

◆ least_jem()

◆ least_jem_pa()

void sheaf::abstract_poset_member::least_jem_pa ( abstract_poset_member result) const

The smallest member which is join-equivalent to this.

Precondition
  • result->is_ancestor_of(this)

Definition at line 2386 of file abstract_poset_member.cc.

References attach_to_state(), is_ancestor_of(), and merge_jem().

Referenced by least_jem().

◆ leqv() [1/2]

bool sheaf::abstract_poset_member::leqv ( pod_index_type  xother_index) const

True if this is less than or equivalent to the member with index xother_index.

Precondition
  • host()->contains_member(xother_index)
Postcondition
  • -unexecutable( "other is in the up set of this or other is_jem(this)" )

Definition at line 1975 of file abstract_poset_member.cc.

Referenced by sheaf::partial_poset_member::invariant(), le(), fiber_bundle::sec_rep_space_member::new_jim_state(), fiber_bundle::sec_at0::restrict_to(), and unrestricted_schema().

◆ leqv() [2/2]

bool sheaf::abstract_poset_member::leqv ( const scoped_index xother_index) const

True if this is less than or equivalent to the member with index xother_index.

Precondition
  • host()->contains_member(xother_index)
Postcondition
  • -unexecutable( "other is in the up set of this or other is_jem(this)" )

Definition at line 1999 of file abstract_poset_member.cc.

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

◆ lt() [1/3]

bool sheaf::abstract_poset_member::lt ( pod_index_type  xother_index) const

True if this is strictly less than the member with index xother_index.

Precondition
  • host()->contains_member(xother_index)
Postcondition
  • result == (le(xother_index) && (index().pod() != xother_index))

Definition at line 2023 of file abstract_poset_member.cc.

Referenced by leqv(), and lt().

◆ lt() [2/3]

bool sheaf::abstract_poset_member::lt ( const scoped_index xother_index) const

True if this is strictly less than the member with index xother_index.

Precondition
  • host()->contains_member(xother_index)
Postcondition
  • result == (le(xother_index) && (index() !=~ xother_index))

Definition at line 2047 of file abstract_poset_member.cc.

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

◆ lt() [3/3]

bool sheaf::abstract_poset_member::lt ( const abstract_poset_member other) const

true if this is strictly less than other

Precondition
Postcondition

Definition at line 2071 of file abstract_poset_member.cc.

References ge(), and sheaf::poset_component::index().

◆ maximal_jim_ct()

int sheaf::abstract_poset_member::maximal_jim_ct ( ) const
virtual

The number of maximal members in the set of jims contained in the down set of this member.

Hack:
implementation of abstract_poset_member::maximal_jim_ct is inefficient.
Todo:
make more efficient implementation of abstract_poset_member::maximal_jim_ct().
Postcondition
  • is_jem(&(host()->bottom())) ? result == 0 : result > 0

Reimplemented in fiber_bundle::section_space_schema_member.

Definition at line 3523 of file abstract_poset_member.cc.

References maximal_jims(), and sheaf::subposet::member_ct().

Referenced by jims_pa().

◆ maximal_jims()

sheaf::subposet * sheaf::abstract_poset_member::maximal_jims ( )
virtual

The maximal members of the set of jims contained in this member, auto-allocated.

Precondition
Postcondition
  • has_same_host(result)
  • postcondition_of(maximal_jims_pa)

Reimplemented in fiber_bundle::section_space_schema_member.

Definition at line 3554 of file abstract_poset_member.cc.

References maximal_jims_pa().

Referenced by maximal_jim_ct().

◆ maximal_jims_pa()

void sheaf::abstract_poset_member::maximal_jims_pa ( subposet result) const
virtual

The maximal members of the set of jims contained in this member, pre-allocated.

Precondition
  • has_same_host(result)
Postcondition
  • -unexecutable( result is union of maximal_jims of this with old result )

Reimplemented in fiber_bundle::section_space_schema_member.

Definition at line 3579 of file abstract_poset_member.cc.

References atom_ct(), sheaf::poset_slicer::find_jims_pa(), sheaf::subposet::insert_member(), and sheaf::subposet::invariant().

Referenced by maximal_jims().

◆ merge_jem()

void sheaf::abstract_poset_member::merge_jem ( const abstract_poset_member xjem)
virtual

Merge the join-equivalence class of xjem under the join equivalence class of this.

Precondition
  • has_same_host(xjem)
  • !xjem->is_jem(&(host()->bottom()))
  • !is_jim()
  • -unexecutable( xjem really is join-equivalent to this )
Postcondition
  • is_jem(xjem)
  • xjem->le(this)

Reimplemented in fiber_bundle::section_space_schema_member.

Definition at line 2407 of file abstract_poset_member.cc.

References covers(), sheaf::poset_component::index(), is_jem(), is_jim(), le(), and sheaf::scoped_index::pod().

Referenced by least_jem_pa().

◆ name() [1/2]

std::string sheaf::abstract_poset_member::name ( ) const
inline

A name for this.

Hack:
swig doesn't like using poset_component::name

Definition at line 1307 of file abstract_poset_member.h.

References sheaf::poset_component::attach_to_state(), sheaf::poset_component::name(), sheaf::row_dofs(), and sheaf::table_dofs().

Referenced by sheaf::schema_poset_member::attach_handle_data_members(), fiber_bundle::section_space_schema_member::attach_to_state(), fiber_bundle::binary_section_space_schema_member::binary_section_space_schema_member(), fields::body_pusher::body_pusher(), fiber_bundle::unstructured_block_builder::build_block_pa(), tool::vtk_unstructured_grid_builder::build_pa(), tool::vtk_poly_data_builder::build_pa(), sheaf::namespace_poset::clear(), tool::vtk_poly_data_builder::construct_property(), geometry::d_uniform_point_locator< DC, DB >::d_uniform_point_locator(), geometry::db0_point_locator< DC >::db0_point_locator(), sheaf::schema_poset_member::dof_subposet_name(), get_index_from_name(), sheaf::schema_poset_member::initialize_dof_id_space(), tool::vtk_unstructured_grid_builder::is_tensor(), geometry::sec_ed_invertible::is_uniform(), sheaf::schema_poset_member::name(), sheaf::namespace_poset_member::namespace_poset_member(), sheaf::schema_poset_member::new_jim_state(), fields::property_disc_iterator::new_property_disc_iterator(), fiber_bundle::unstructured_block::new_state(), tool::visualization_iterator::new_visualization_iterator(), fiber_bundle::operator<<(), sheaf::operator<<(), sheaf::partial_poset_member::partial_poset_member(), sheaf::poset_member::poset_member(), sheaf::primitives_poset::primitive_members_attached(), fields::field_vd::print_property_dofs(), fiber_bundle::product_section_space_schema_member::product_section_space_schema_member(), fields::body_pusher::push_pa(), sheaf::storage_agent::read_prerequisites(), fiber_bundle::unstructured_block::refine(), sheaf::schema_poset_member::row_dof_id_space(), sheaf::schema_poset_member::schema_poset_member(), fiber_bundle::sec_rep_descriptor::sec_rep_descriptor(), sheaf::total_poset_member::total_poset_member(), and sheaf::storage_agent::write_prerequisites().

◆ name() [2/2]

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

A name for this.

Precondition
Postcondition
  • -unexecutable( result.empty() implies this has no name )

Implements sheaf::poset_component.

Definition at line 4427 of file abstract_poset_member.cc.

References all_names().

◆ name_ct()

sheaf::size_type sheaf::abstract_poset_member::name_ct ( bool  xauto_access) const
virtual

The number of names for this.

Precondition

Implements sheaf::poset_component.

Definition at line 4472 of file abstract_poset_member.cc.

References has_name().

Referenced by all_names().

◆ new_host()

sheaf::abstract_poset_member::host_type & sheaf::abstract_poset_member::new_host ( namespace_type xns,
const poset_path xhost_path,
const poset_path xschema_path,
bool  xauto_access 
)
static

Creates a new host table for members of this type. The poset is created in namespace xns with path xhost_path and schema specified by xschema_path.

Precondition
  • xns.state_is_auto_read_write_accessible(xauto_access)
  • !xhost_path.empty()
  • !xns.contains_path(xhost_path, xauto_access)
  • xschema_path.full()
  • xns.path_is_auto_read_accessible(xschema_path, xauto_access)
Postcondition
  • xns.owns(result, xauto_access)
  • result.path(true) == xhost_path
  • result.state_is_not_read_accessible()
  • result.schema(true).path(xauto_access) == xschema_path

Definition at line 146 of file abstract_poset_member.cc.

References sheaf::namespace_poset::contains_path(), sheaf::poset_path::empty(), sheaf::poset_path::full(), operator=(), sheaf::namespace_poset::owns(), sheaf::namespace_poset::path_is_auto_read_accessible(), and sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible().

Referenced by sheaf::abstract_poset_member_row_dofs_type::clone().

◆ new_jem_state() [1/3]

void sheaf::abstract_poset_member::new_jem_state ( abstract_poset_member xother,
bool  xgreatest,
bool  xauto_access 
)
virtual

Creates a new jrm state in host() which is the greatest jem (xgreatest true) or least jem (xgreatest false) of xother and attaches this to it.

Precondition
  • xother != 0
  • xother->state_is_auto_read_write_accessible(xauto_access)
  • precondition_of(new_jem_state(xother->host(), xother->index(), xgreatest, xauto_access))
  • postcondition_of(new_jem_state(xother->host(), xother->index(), xgreatest, xauto_access))

Reimplemented in fiber_bundle::section_space_schema_member.

Definition at line 713 of file abstract_poset_member.cc.

References sheaf::poset_component::host(), sheaf::poset_component::index(), and sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible().

Referenced by sheaf::subposet::l_join_pa(), sheaf::namespace_poset_member::namespace_poset_member(), new_jem_state(), fiber_bundle::section_space_schema_member::new_jrm_state(), new_jrm_state(), sheaf::partial_poset_member::partial_poset_member(), sheaf::poset_member::poset_member(), sheaf::schema_poset_member::schema_poset_member(), fiber_bundle::sec_rep_descriptor::sec_rep_descriptor(), and sheaf::total_poset_member::total_poset_member().

◆ new_jem_state() [2/3]

void sheaf::abstract_poset_member::new_jem_state ( poset_state_handle xhost,
pod_index_type  xhub_id,
bool  xgreatest,
bool  xauto_access 
)
virtual

Creates a new jrm state in xhost which is the greatest jem (xgreatest true) or least jem (xgreatest false) of hub id xhub_id and attaches this to it.

Precondition
  • xhost != 0
  • xhost->state_is_auto_read_write_accessible(xauto_access)
  • host_is_ancestor_of(xhost)
  • xhost->contains_member(xhub_id, xauto_access)
Postcondition
  • !is_restricted()

Reimplemented in fiber_bundle::section_space_schema_member.

Definition at line 736 of file abstract_poset_member.cc.

References sheaf::poset_state_handle::contains_member(), sheaf::poset_state_handle::get_read_write_access(), sheaf::poset_state_handle::link_greatest_jem(), sheaf::poset_state_handle::link_least_jem(), new_jem_state(), sheaf::poset_state_handle::new_member(), sheaf::poset_state_handle::release_access(), and sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible().

◆ new_jem_state() [3/3]

void sheaf::abstract_poset_member::new_jem_state ( poset_state_handle xhost,
const scoped_index xid,
bool  xgreatest,
bool  xauto_access 
)

Creates a new jrm state in xhost which is the greatest jem (xgreatest true) or least jem (xgreatest false) of id xid and attaches this to it.

Precondition
  • precondition_of(new_jem_state(xhost, xindex.hub_pod(), xgreatest, xauto_access))
Postcondition
  • postcondition_of(new_jem_state(xhost, xindex.hub_pod(), xgreatest, xauto_access))

Definition at line 802 of file abstract_poset_member.cc.

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

◆ new_jim_state() [1/6]

void sheaf::abstract_poset_member::new_jim_state ( poset_dof_map xdof_map = 0,
bool  xcopy_dof_map = false,
bool  xauto_access = true 
)
virtual

Creates a new jim (join-irreducible member) state in host() and attaches this to it. If xdof_map == 0 a new dof map is created. If xdof_map != 0 and xcopy_dof_map == false, xdof_map is used as the dof map. If xdof_map != 0 and xcopy_dof_map is true, a copy of xdof_map is used.

Precondition
  • !xauto_access ? host()->in_jim_edit_mode() : true
  • xdof_map != 0 ? host()->row_dof_map_conforms(xdof_map) : true
  • xdof_map != 0 ? dof_map_is_ancestor_of(xdof_map) : true
Postcondition
  • !is_restricted()

Reimplemented in fiber_bundle::sec_rep_descriptor, and fiber_bundle::section_space_schema_member.

Definition at line 272 of file abstract_poset_member.cc.

References sheaf::poset_state_handle::get_read_access(), sheaf::poset_dof_map::host(), sheaf::poset_state_handle::release_access(), sheaf::schema_poset_member::row_conforms_to(), sheaf::poset_dof_map::schema(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Referenced by fiber_bundle::unstructured_block_builder::build_block_decomposition(), sheaf::schema_poset_member::clone(), fiber_bundle::sec_rep_space_member::clone(), fiber_bundle::sec_rep_descriptor::clone(), clone(), sheaf::namespace_poset_schema::initialize_standard_members(), sheaf::namespace_poset_member::namespace_poset_member(), fiber_bundle::sec_rep_descriptor::new_jim_state(), new_jim_state(), sheaf::partial_poset_member::partial_poset_member(), sheaf::poset_member::poset_member(), sheaf::primitives_poset::primitive_members_attached(), and sheaf::total_poset_member::total_poset_member().

◆ new_jim_state() [2/6]

void sheaf::abstract_poset_member::new_jim_state ( pod_index_type  xtuple_id,
bool  xauto_access = true 
)
virtual

Creates a new jim (join-irreducible member) state in host() and attaches this to it. The existing dof map with index xtuple_id is used as the dof map.

Precondition
  • !xauto_access ? host()->in_jim_edit_mode() : true
  • host()->contains_row_dof_tuple(xtuple_id)
Postcondition
  • !is_restricted()
  • dof_tuple_id(false) == xtuple_id

Reimplemented in fiber_bundle::section_space_schema_member.

Definition at line 327 of file abstract_poset_member.cc.

References new_jim_state().

◆ new_jim_state() [3/6]

void sheaf::abstract_poset_member::new_jim_state ( const scoped_index xtuple_id,
bool  xauto_access = true 
)

Creates a new jim (join-irreducible member) state in host() and attaches this to it. The existing dof map with index xtuple_id is used as the dof map.

Precondition
  • !xauto_access ? host()->in_jim_edit_mode() : true
  • host()->contains_row_dof_tuple(xtuple_id)
Postcondition
  • !is_restricted()
  • dof_tuple_id(false) == xtuple_id.hub_pod()

Definition at line 370 of file abstract_poset_member.cc.

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

◆ new_jim_state() [4/6]

void sheaf::abstract_poset_member::new_jim_state ( poset_state_handle xhost,
poset_dof_map xdof_map = 0,
bool  xcopy_dof_map = false,
bool  xauto_access = true 
)
virtual

Creates a new jim (join-irreducible member) state in xhost and attaches this to it.

Precondition
  • xhost != 0
  • !xauto_access ? xhost->in_jim_edit_mode() : true
  • host_is_ancestor_of(xhost)
  • xdof_map != 0 ? xhost->row_dof_map_conforms(xdof_map) : true
  • xdof_map != 0 ? dof_map_is_ancestor_of(xdof_map) : true
Postcondition
Todo:
remove scope when debugged
Postcondition
  • -unexecutable( host()->member_ct() == old host->member_ct() + 1 )
  • !is_restricted()

Reimplemented in fiber_bundle::sec_rep_descriptor, and fiber_bundle::section_space_schema_member.

Definition at line 407 of file abstract_poset_member.cc.

References sheaf::poset_state_handle::begin_jim_edit_mode(), sheaf::poset_state_handle::end_jim_edit_mode(), sheaf::poset_state_handle::get_read_access(), sheaf::poset_dof_map::host(), sheaf::poset_state_handle::in_jim_edit_mode(), new_jim_state(), sheaf::poset_state_handle::new_member(), sheaf::poset_state_handle::release_access(), sheaf::schema_poset_member::row_conforms_to(), sheaf::poset_state_handle::row_dof_map_conforms(), sheaf::poset_dof_map::schema(), sheaf::poset_state_handle::schema(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

◆ new_jim_state() [5/6]

void sheaf::abstract_poset_member::new_jim_state ( poset_state_handle xhost,
pod_index_type  xtuple_id,
bool  xauto_access = true 
)
virtual

Creates a new jim (join-irreducible member) state in xhost and attaches this to it. The existing dof map with index xtuple_id is used as the dof map.

Precondition
  • xhost != 0
  • !xauto_access ? xhost->in_jim_edit_mode() : true
  • host_is_ancestor_of(xhost)
  • xhost->contains_row_dof_tuple(xtuple_id)
Postcondition
Todo:
remove scope when debugged
Postcondition
  • -unexecutable( host()->member_ct() == old host->member_ct() + 1 )
  • !is_restricted()
  • dof_tuple_id(false) == xtuple_id

Reimplemented in fiber_bundle::section_space_schema_member.

Definition at line 463 of file abstract_poset_member.cc.

References sheaf::poset_state_handle::begin_jim_edit_mode(), sheaf::poset_state_handle::contains_row_dof_tuple(), sheaf::poset_state_handle::end_jim_edit_mode(), sheaf::poset_state_handle::in_jim_edit_mode(), new_jim_state(), and sheaf::poset_state_handle::new_member().

◆ new_jim_state() [6/6]

void sheaf::abstract_poset_member::new_jim_state ( poset_state_handle xhost,
const scoped_index xtuple_id,
bool  xauto_access = true 
)

Creates a new jim (join-irreducible member) state in xhost and attaches this to it. The existing dof map with index xtuple_id is used as the dof map.

Precondition
  • xhost != 0
  • !xauto_access ? xhost->in_jim_edit_mode() : true
  • host_is_ancestor_of(xhost)
  • xhost->contains_row_dof_tuple(xtuple_id)
Postcondition
Todo:
remove scope when debugged
Postcondition
  • -unexecutable( host()->member_ct() == old host->member_ct() + 1 )
  • !is_restricted()
  • dof_tuple_id(false) == xtuple_id.hub_pod()

Definition at line 507 of file abstract_poset_member.cc.

References sheaf::poset_state_handle::begin_jim_edit_mode(), sheaf::poset_state_handle::contains_row_dof_tuple(), sheaf::poset_state_handle::end_jim_edit_mode(), sheaf::scoped_index::hub_pod(), sheaf::poset_state_handle::in_jim_edit_mode(), and new_jrm_state().

◆ new_jrm_state() [1/4]

void sheaf::abstract_poset_member::new_jrm_state ( bool  xauto_access = true)
virtual

◆ new_jrm_state() [2/4]

void sheaf::abstract_poset_member::new_jrm_state ( poset_state_handle xhost,
bool  xauto_access = true 
)
virtual

Creates a new jrm (join-reducible member) state in xhost and attaches this to it.

Precondition
  • xhost != 0
  • host_is_ancestor_of(xhost)
Issue:
should we allow direct creation and linking of jrms?
Postcondition
Todo:
remove scope when debugged
Postcondition
  • !is_restricted()

Reimplemented in fiber_bundle::section_space_schema_member.

Definition at line 588 of file abstract_poset_member.cc.

References sheaf::poset_state_handle::get_read_write_access(), new_jrm_state(), sheaf::poset_state_handle::new_member(), sheaf::poset_state_handle::release_access(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

◆ new_jrm_state() [3/4]

void sheaf::abstract_poset_member::new_jrm_state ( const scoped_index xexpansion,
int  xexpansion_ct,
const tern xgreatest,
bool  xauto_access = true 
)
virtual

Computes the join of the members with the indices given in xexpansion. If the join already exists and xgreatest_jem: is_true(), creates a new greatest jem of the existing join and attaches to it; is_false(), creates a new least jem of the existing join and attaches to it; is_neither(), attaches to the existing join;.

Precondition
  • precondition_of(new_jrm_state(host(), xexpansion, xexpansion_ct, xgreatest, xauto_access))
Postcondition
  • postcondition_of(new_jrm_state(host(), xexpansion, xexpansion_ct, xgreatest, xauto_access))

Reimplemented in fiber_bundle::section_space_schema_member.

Definition at line 634 of file abstract_poset_member.cc.

References new_jrm_state().

◆ new_jrm_state() [4/4]

void sheaf::abstract_poset_member::new_jrm_state ( poset_state_handle xhost,
const scoped_index xexpansion,
int  xexpansion_ct,
const tern xgreatest,
bool  xauto_access = true 
)
virtual

Computes the join of the members with the indices given in xexpansion. If the join already exists and xgreatest_jem: is_true(), creates a new greatest jem of the existing join and attaches to it; is_false(), creates a new least jem of the existing join and attaches to it; is_neither(), attaches to the existing join;.

Precondition
  • xhost != 0
  • host_is_ancestor_of(xhost)
  • xhost->state_is_auto_read_write_accessible(xauto_access)
  • xexpansion != 0
  • xhost->contains_members(xexpansion, xexpansion_ct)
Postcondition
  • !is_restricted()
  • -unexecutable( is_jim() == this is max member of xexpansion )

Reimplemented in fiber_bundle::section_space_schema_member.

Definition at line 659 of file abstract_poset_member.cc.

References sheaf::poset_state_handle::contains_members(), sheaf::poset_state_handle::get_read_write_access(), fiber_bundle::vd_algebra::max(), new_jem_state(), sheaf::poset_state_handle::release_access(), and sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible().

◆ operator=()

sheaf::abstract_poset_member & sheaf::abstract_poset_member::operator= ( const abstract_poset_member xother)
virtual

Assignment operator; attaches this to the same state as xother.

Postcondition
  • is_same_state(&xother)

Reimplemented in fiber_bundle::base_space_member, fiber_bundle::homogeneous_block, fiber_bundle::structured_block_3d, fiber_bundle::structured_block_2d, fiber_bundle::gl3, fiber_bundle::e3, fiber_bundle::met_e3, fiber_bundle::st2_e2, fiber_bundle::met_e2, fiber_bundle::structured_block_1d, fiber_bundle::jcb_e33, fiber_bundle::jcb_e13, fiber_bundle::st2_e3, fiber_bundle::jcb_e23, fiber_bundle::at2_e3, fiber_bundle::at0, fiber_bundle::t2_e3, fiber_bundle::gl2, fiber_bundle::at2_e2, fiber_bundle::e4, fiber_bundle::t2_e2, fiber_bundle::e2, fiber_bundle::point_block_3d, fiber_bundle::t4_e3, fiber_bundle::e1, fiber_bundle::met_e1, fiber_bundle::st4_e3, fiber_bundle::point_block_2d, fiber_bundle::st4_e2, fiber_bundle::at3_e3, fiber_bundle::st3_e3, fiber_bundle::point_block_1d, fiber_bundle::t3_e3, fiber_bundle::t4_e2, fiber_bundle::vd, fiber_bundle::structured_block, fiber_bundle::gln, fiber_bundle::tp, fiber_bundle::jcb, fiber_bundle::at2, fiber_bundle::st2, fiber_bundle::st3, fiber_bundle::st4, fiber_bundle::at3, fiber_bundle::tuple, fiber_bundle::local_base_space_member, fiber_bundle::at1, fiber_bundle::met_ed, fiber_bundle::met, fiber_bundle::zone_nodes_block, fiber_bundle::t2, fiber_bundle::ed, fiber_bundle::t4, fiber_bundle::t3, fiber_bundle::jcb_ed, fiber_bundle::stp, fiber_bundle::atp, fiber_bundle::group, fiber_bundle::sec_e1_uniform, fiber_bundle::sec_e2_uniform, fiber_bundle::sec_e3_uniform, fiber_bundle::sec_tuple, fiber_bundle::binary_section_space_schema_member, fiber_bundle::sec_vd, fiber_bundle::sec_at0, fiber_bundle::sec_e2, fiber_bundle::sec_e3, fiber_bundle::sec_e1, fiber_bundle::sec_at2_e3, fiber_bundle::sec_t2_e3, fiber_bundle::sec_st2_e2, fiber_bundle::sec_t3_e3, fiber_bundle::sec_t4_e2, fiber_bundle::sec_t4_e3, fiber_bundle::sec_e4, fiber_bundle::sec_t2_e2, fiber_bundle::sec_st2_e3, fiber_bundle::sec_st3_e3, fiber_bundle::sec_st4_e2, fiber_bundle::sec_st4_e3, fiber_bundle::sec_jcb_e23, fiber_bundle::sec_jcb_e13, fiber_bundle::sec_jcb_e33, fiber_bundle::sec_tp, fiber_bundle::sec_met_e3, sheaf::schema_poset_member, fiber_bundle::sec_met_e1, fiber_bundle::sec_met_e2, fiber_bundle::sec_jcb, fiber_bundle::sec_at1, fiber_bundle::sec_atp, fiber_bundle::sec_stp, fiber_bundle::sec_ed, fiber_bundle::sec_at2, fiber_bundle::sec_at3, fiber_bundle::sec_st2, fiber_bundle::sec_st3, fiber_bundle::sec_st4, fiber_bundle::sec_t2, fiber_bundle::sec_t3, fiber_bundle::sec_t4, fiber_bundle::sec_rep_space_member, fiber_bundle::sec_at3_e3, fiber_bundle::sec_jcb_ed, fiber_bundle::section_space_schema_member, fiber_bundle::sec_at2_e2, fiber_bundle::sec_met, fiber_bundle::sec_met_ed, sheaf::subposet_member_iterator, fiber_bundle::sec_rep_descriptor, geometry::sec_ed_invertible, fiber_bundle::unstructured_block, sheaf::partial_poset_member, fiber_bundle::section_space_schema_member, sheaf::poset_member, sheaf::namespace_poset_member, sheaf::total_poset_member, and fiber_bundle::product_section_space_schema_member.

Definition at line 191 of file abstract_poset_member.cc.

References ~abstract_poset_member().

Referenced by new_host().

◆ p_join()

sheaf::abstract_poset_member * sheaf::abstract_poset_member::p_join ( abstract_poset_member other) const

poset join of this with other, auto-allocated
the poset join is the least upper bound in the poset

Precondition
  • has_same_host(other)
Postcondition
  • result != 0
  • result->is_same_type(this)
  • postcondition_of(p_join_pa)

Definition at line 3720 of file abstract_poset_member.cc.

References sheaf::any::is_same_type(), and p_join_pa().

Referenced by atoms_pa(), sheaf::poset_member::p_join(), sheaf::total_poset_member::p_join(), sheaf::namespace_poset_member::p_join(), sheaf::partial_poset_member::p_join(), fiber_bundle::binary_section_space_schema_member::p_join(), fiber_bundle::product_section_space_schema_member::p_join(), fiber_bundle::section_space_schema_member::p_join(), and sheaf::schema_poset_member::p_join().

◆ p_join_pa()

void sheaf::abstract_poset_member::p_join_pa ( abstract_poset_member other,
abstract_poset_member result 
) const
virtual

poset join of this with other, pre-allocated
the poset join is the least upper bound in the poset

Precondition
  • has_same_host(other)
  • result->is_ancestor_of(this)
Postcondition
  • -unexecutable( result is least upper bound in host of this and other )

Reimplemented in fiber_bundle::section_space_schema_member.

Definition at line 3747 of file abstract_poset_member.cc.

References attach_to_state(), sheaf::poset_component::detach_from_state(), sheaf::poset_component::index(), is_ancestor_of(), sheaf::poset_component::is_attached(), sheaf::subposet_member_iterator::is_done(), sheaf::subposet::make_empty(), sheaf::subposet::member_iterator(), sheaf::subposet::minimals_pa(), sheaf::subposet_member_iterator::next(), sheaf::subposet::p_intersection_sa(), p_join_sa(), and up_pa().

Referenced by p_join().

◆ p_join_sa()

void sheaf::abstract_poset_member::p_join_sa ( abstract_poset_member other)

poset join of this with other, self-allocated
the poset join is the least upper bound in the poset

Precondition
  • has_same_host(other)
Postcondition
  • postcondition_of(p_join_pa)

Definition at line 3810 of file abstract_poset_member.cc.

References p_meet().

Referenced by p_join_pa().

◆ p_meet()

sheaf::abstract_poset_member * sheaf::abstract_poset_member::p_meet ( abstract_poset_member other)

poset meet of this with other, auto-allocated
the poset meet is the greatest lower bound in the poset

Precondition
  • has_same_host(other)
Postcondition
  • result != 0
  • result->is_same_type(this)
  • postcondition_of(p_meet_pa)

Definition at line 3832 of file abstract_poset_member.cc.

References sheaf::any::is_same_type(), and p_meet_pa().

Referenced by p_join_sa(), sheaf::poset_member::p_meet(), sheaf::total_poset_member::p_meet(), sheaf::namespace_poset_member::p_meet(), sheaf::partial_poset_member::p_meet(), fiber_bundle::binary_section_space_schema_member::p_meet(), fiber_bundle::product_section_space_schema_member::p_meet(), fiber_bundle::section_space_schema_member::p_meet(), and sheaf::schema_poset_member::p_meet().

◆ p_meet_pa()

void sheaf::abstract_poset_member::p_meet_pa ( abstract_poset_member other,
abstract_poset_member result 
)
virtual

poset meet of this with other, pre-allocated
the poset meet is the greatest lower bound in the poset

Precondition
  • has_same_host(other)
  • result->is_ancestor_of(this)
Postcondition
  • -unexecutable( result is least upper bound in host of this and other )

Reimplemented in fiber_bundle::section_space_schema_member.

Definition at line 3860 of file abstract_poset_member.cc.

References attach_to_state(), sheaf::poset_component::detach_from_state(), down_pa(), sheaf::poset_component::index(), is_ancestor_of(), sheaf::poset_component::is_attached(), sheaf::subposet_member_iterator::is_done(), sheaf::subposet::make_empty(), sheaf::subposet::maximals_pa(), sheaf::subposet::member_iterator(), sheaf::subposet_member_iterator::next(), sheaf::subposet::p_intersection_sa(), and p_meet_sa().

Referenced by p_meet().

◆ p_meet_sa()

void sheaf::abstract_poset_member::p_meet_sa ( abstract_poset_member other)

poset meet of this with other, self-allocated
the poset meet is the greatest lower bound in the poset

Precondition
  • has_same_host(other)
Postcondition
  • postcondition_of(p_meet_pa)

Definition at line 3922 of file abstract_poset_member.cc.

References l_join().

Referenced by p_meet_pa().

◆ put_dof() [1/4]

void sheaf::abstract_poset_member::put_dof ( pod_index_type  xdof_id,
const primitive_value xdof 
)

Sets the dof referred to by xdof_id to xdof.

Precondition
  • schema().row_dof_id_space().contains(xdof_id)
  • xdof.id() == schema().type(xdof_id, false)
Postcondition
  • dof(xdof_id) == xdof

Definition at line 1725 of file abstract_poset_member.cc.

References sheaf::primitive_value::id().

Referenced by fiber_bundle::sec_rep_space_member::clone(), dof(), get_dof(), and put_dof().

◆ put_dof() [2/4]

void sheaf::abstract_poset_member::put_dof ( const scoped_index xdof_id,
const primitive_value xdof,
bool  xauto_access 
)

Sets the dof referred to by xdof_id to xdof.

Precondition
  • state_is_auto_read_write_accessible(xauto_access)
  • schema(xauto_access).row_dof_id_space(xauto_access).contains(xdof_id)
  • xdof.id() == schema(xauto_access).type(xdof_id, false, xauto_access)
Postcondition
  • dof(xdof_id.hub_pod()) == xdof

Definition at line 1748 of file abstract_poset_member.cc.

References get_dof(), sheaf::scoped_index::hub_pod(), and sheaf::primitive_value::id().

◆ put_dof() [3/4]

void sheaf::abstract_poset_member::put_dof ( pod_index_type  xdof_id,
const void *  xdof,
size_type  xdof_size 
)

Sets the dof referred to by xdof_id to the value at xdof.

Precondition
  • schema().row_dof_id_space().contains(xdof_id)
  • -unexecutable( "xdof points to buffer of size xdof_size" )
  • xdof_size >= schema().size(xdof_id, false)

Definition at line 1835 of file abstract_poset_member.cc.

References put_dof().

◆ put_dof() [4/4]

void sheaf::abstract_poset_member::put_dof ( const scoped_index xdof_id,
const void *  xdof,
size_type  xdof_size,
bool  xauto_access 
)

Sets the dof referred to by xdof_id to the value at xdof.

Precondition
  • state_is_auto_read_write_accessible(xauto_access)
  • schema(xauto_access).row_dof_id_space(xauto_access).contains(xdof_id)
  • -unexecutable( "xdof points to buffer of size xdof_size" )
  • xdof_size >= schema(xauto_access).size(xdof_id, false, xauto_access)

Definition at line 1857 of file abstract_poset_member.cc.

References le().

◆ put_dof_tuple()

void sheaf::abstract_poset_member::put_dof_tuple ( const void *  xbuf,
size_t  xbuflen 
)

Copies the entire dof tuple between xbuf and internal storage.

Precondition
  • !is_restricted()
  • xbuf != 0
  • -unexecutable( xbuf points to a buffer of length xbuflen )
  • -unexecutable( xbuf contains copy of dof tuple )
Postcondition
  • -unexecutable( dof tuple has been copied to internal storage )

Definition at line 1360 of file abstract_poset_member.cc.

References dof_tuple_id(), fiber_bundle::ed_algebra::length(), and sheaf::tuple().

Referenced by dof_tuple(), and sheaf::sheaves_namespace::make_triangle().

◆ put_dof_tuple_id() [1/2]

void sheaf::abstract_poset_member::put_dof_tuple_id ( pod_index_type  xtuple_index,
bool  xauto_access 
)

Sets dof tuple index to xtuple_index.

Precondition
  • state_is_auto_read_write_accessible(xauto_access)
  • host()->contains_row_dof_tuple(xtuple_index) || !is_valid(xtuple_index)
Postcondition
  • dof_tuple_id(xauto_access) == xtuple_index

Definition at line 1428 of file abstract_poset_member.cc.

References sheaf::is_valid().

Referenced by dof_tuple_id().

◆ put_dof_tuple_id() [2/2]

void sheaf::abstract_poset_member::put_dof_tuple_id ( const scoped_index xtuple_index,
bool  xauto_access 
)

Sets dof tuple index to xtuple_index.

Precondition
  • state_is_auto_read_write_accessible(xauto_access)
Postcondition
  • dof_tuple_id(xauto_access) == xtuple_index.hub_pod()

Definition at line 1450 of file abstract_poset_member.cc.

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

◆ put_name()

void sheaf::abstract_poset_member::put_name ( const std::string &  xname,
bool  xunique,
bool  xauto_access 
)
virtual

Make xname a name for this; if xunique, make xname the only name.

Precondition
  • poset_path::is_valid_name(xname)
Postcondition
  • xunique ? (name(xauto_access) == xname) : has_name(xname, xauto_access)

Implements sheaf::poset_component.

Definition at line 4513 of file abstract_poset_member.cc.

References delete_name().

Referenced by fields::body_pusher::body_pusher(), fiber_bundle::unstructured_block_builder::build_block_decomposition(), has_name(), sheaf::namespace_poset_schema::initialize_standard_members(), fiber_bundle::product_section_space_schema_poset::initialize_standard_members(), sheaf::namespace_poset::initialize_standard_members(), fields::make_base_space(), fiber_bundle::fiber_bundles_namespace::make_fiber_space_schema_poset(), 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_quad_complex_prototype(), fiber_bundle::fiber_bundles_namespace::make_quad_nodes_prototype(), sheaf::schema_poset_member::make_schema(), fiber_bundle::fiber_bundles_namespace::make_segment_complex_prototype(), fiber_bundle::fiber_bundles_namespace::make_tetra_complex_prototype(), fiber_bundle::fiber_bundles_namespace::make_tetra_nodes_prototype(), sheaf::sheaves_namespace::make_triangle(), fiber_bundle::fiber_bundles_namespace::make_triangle_complex_prototype(), fiber_bundle::fiber_bundles_namespace::make_triangle_nodes_prototype(), fields::field_factory::new_0d_point_base_space(), fields::field_factory::new_1d_structured_base_space(), fields::field_factory::new_1d_unstructured_base_space(), fields::field_factory::new_2d_structured_base_space(), fields::field_factory::new_2d_unstructured_base_space(), fields::field_factory::new_3d_structured_base_space(), fields::field_factory::new_3d_unstructured_base_space(), sheaf::schema_poset_member::new_jim_state(), sheaf::primitives_poset::primitive_members_attached(), fields::body_pusher::push_pa(), fiber_bundle::unstructured_block_builder::put_name_mode(), fiber_bundle::mesh_partition::put_part(), and fiber_bundle::binary_section_space_schema_member::standard_member().

◆ release_cover_id_space()

void sheaf::abstract_poset_member::release_cover_id_space ( index_space_handle xcover_id_space) const

Returns xcover_id_space to the pool of id spaces.

Precondition

Definition at line 2573 of file abstract_poset_member.cc.

References get_cover_id_space_iterator().

Referenced by get_cover_id_space().

◆ release_cover_id_space_iterator()

void sheaf::abstract_poset_member::release_cover_id_space_iterator ( index_space_iterator xcover_itr) const

Returns xcover_itr to the pool of id spaces.

Precondition

Definition at line 2605 of file abstract_poset_member.cc.

References cover_contains_iterator().

Referenced by get_cover_id_space_iterator().

◆ remove_cover_member() [1/3]

void sheaf::abstract_poset_member::remove_cover_member ( pod_index_type  xother_mbr_index,
bool  xlower 
)

Removes xother_mbr_index from the lower (xlower true) or upper (xlower false) cover set of this.

Precondition
Postcondition
  • -unexecutable( !cover_contains_member(xlower, xother_mbr_index) )

Definition at line 2792 of file abstract_poset_member.cc.

Referenced by insert_cover_member(), and remove_cover_member().

◆ remove_cover_member() [2/3]

void sheaf::abstract_poset_member::remove_cover_member ( const scoped_index xother_mbr_index,
bool  xlower 
)

Removes xother_mbr_index from the lower (xlower true) or upper (xlower false) cover set of this. If xitr is at the end, forces xitr.is_done(). Otherwise, increments xitr to the next position.

Precondition
Postcondition
  • -unexecutable( !cover_contains_member(xlower, xother_mbr_index) )

Definition at line 2813 of file abstract_poset_member.cc.

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

◆ remove_cover_member() [3/3]

void sheaf::abstract_poset_member::remove_cover_member ( index_space_iterator xitr,
bool  xlower 
)

Removes the current item of xitr from the lower (xlower true) or upper (xlower false) cover set of this.

Precondition
Postcondition
  • -unexecutable( !cover_contains_member(xlower, xother_mbr_index) )

Definition at line 2834 of file abstract_poset_member.cc.

References clear_cover(), and sheaf::index_space_iterator::pod().

◆ row_dof_ptr()

char * sheaf::abstract_poset_member::row_dof_ptr ( bool  xrequire_write_access = false)
protected

Pointer to the row dofs.

Precondition
Postcondition
  • result != 0

Definition at line 893 of file abstract_poset_member.cc.

References is_jim().

Referenced by table_dof_ptr().

◆ row_dofs() [1/4]

void * sheaf::abstract_poset_member::row_dofs ( )

The row dofs for this instance (mutable version).

Precondition

Definition at line 1568 of file abstract_poset_member.cc.

Referenced by fiber_bundle::sec_vd::operator=(), row_dofs(), and table_dofs().

◆ row_dofs() [2/4]

const void * sheaf::abstract_poset_member::row_dofs ( ) const

The row dofs for this instance (const version).

Precondition

Definition at line 1587 of file abstract_poset_member.cc.

References row_dofs().

◆ row_dofs() [3/4]

void * sheaf::abstract_poset_member::row_dofs ( bool  xauto_access)

The row dofs for this instance (mutable auto-access version).

Precondition
  • state_is_auto_read_write_accessible(xauto_access)

Definition at line 1606 of file abstract_poset_member.cc.

References row_dofs(), and sheaf::row_dofs().

◆ row_dofs() [4/4]

const void * sheaf::abstract_poset_member::row_dofs ( bool  xauto_access) const

The row dofs for this instance (const auto-access version).

Precondition
  • state_is_auto_read_accessible(xauto_access)

Definition at line 1635 of file abstract_poset_member.cc.

References dof(), and sheaf::row_dofs().

◆ same_schema()

bool sheaf::abstract_poset_member::same_schema ( const abstract_poset_member xother) const

True if xother has the same schema (column poset) as this.

Precondition
  • xother != 0

Definition at line 1178 of file abstract_poset_member.cc.

References is_restricted(), schema(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Referenced by schema_is().

◆ schema() [1/4]

◆ schema() [2/4]

const sheaf::schema_poset_member & sheaf::abstract_poset_member::schema ( ) const
virtual

The schema for this poset member (const version).

Precondition
Postcondition

Reimplemented in fiber_bundle::sec_rep_space_member, sheaf::partial_poset_member, and sheaf::total_poset_member.

Definition at line 1006 of file abstract_poset_member.cc.

References le(), and schema().

◆ schema() [3/4]

sheaf::schema_poset_member & sheaf::abstract_poset_member::schema ( bool  xauto_access)

The schema for this poset member, auto-accessible (mutable version).

Precondition
Postcondition
  • postcondition_of(schema())

Definition at line 1034 of file abstract_poset_member.cc.

References schema().

◆ schema() [4/4]

const sheaf::schema_poset_member & sheaf::abstract_poset_member::schema ( bool  xauto_access) const

The schema for this poset member, auto-accessible (const version).

Precondition
Postcondition
  • postcondition_of(schema())

Definition at line 1066 of file abstract_poset_member.cc.

References unrestricted_schema().

◆ schema_is()

bool sheaf::abstract_poset_member::schema_is ( const std::string &  xschema_name) const

True if the schema of this has name xname.

Precondition

Definition at line 1157 of file abstract_poset_member.cc.

References same_schema().

Referenced by unrestricted_schema().

◆ table_dof_ptr()

char * sheaf::abstract_poset_member::table_dof_ptr ( bool  xrequire_write_access = false) const
protected

Pointer to the table dofs.

Precondition
Hack:
can't call invariant because not const
Postcondition
  • result != 0

Definition at line 870 of file abstract_poset_member.cc.

References row_dof_ptr().

Referenced by attach_handle_data_members().

◆ table_dofs() [1/4]

void * sheaf::abstract_poset_member::table_dofs ( )

The table dofs for this instance (mutable version).

Precondition

Definition at line 1472 of file abstract_poset_member.cc.

Referenced by put_dof_tuple_id(), and table_dofs().

◆ table_dofs() [2/4]

const void * sheaf::abstract_poset_member::table_dofs ( ) const

The table dofs for this instance (const version).

Precondition

Definition at line 1491 of file abstract_poset_member.cc.

References table_dofs().

◆ table_dofs() [3/4]

void * sheaf::abstract_poset_member::table_dofs ( bool  xauto_access)

The table dofs for this instance (mutable auto-access version).

Precondition
  • state_is_auto_read_write_accessible(xauto_access)

Definition at line 1510 of file abstract_poset_member.cc.

References table_dofs(), and sheaf::table_dofs().

◆ table_dofs() [4/4]

const void * sheaf::abstract_poset_member::table_dofs ( bool  xauto_access) const

The table dofs for this instance (const auto-access version).

Precondition
  • state_is_auto_read_accessible(xauto_access)

Definition at line 1539 of file abstract_poset_member.cc.

References row_dofs(), and sheaf::table_dofs().

◆ to_stream()

void sheaf::abstract_poset_member::to_stream ( std::ostream &  xos = std::cout) const
virtual

◆ unrestricted_schema() [1/2]

◆ unrestricted_schema() [2/2]

const sheaf::schema_poset_member & sheaf::abstract_poset_member::unrestricted_schema ( ) const
virtual

The unrestricted schema for this poset member (const version).

Precondition
Issue:
what does the schema feature mean for a member that doesn't have a dof map?
Postcondition

Reimplemented in fiber_bundle::section_space_schema_member, fiber_bundle::section_space_schema_member, and fiber_bundle::sec_rep_space_member.

Definition at line 1127 of file abstract_poset_member.cc.

References leqv(), sheaf::total_poset_member::schema(), and schema_is().

◆ up()

sheaf::subposet * sheaf::abstract_poset_member::up ( ) const
virtual

The up set of this member, auto- and pre-allocated versions.

Precondition
Postcondition
  • result != 0
  • postcondition_of(up_pa)

Reimplemented in fiber_bundle::section_space_schema_member.

Definition at line 3401 of file abstract_poset_member.cc.

References up_pa().

Referenced by up_ct().

◆ up_ct() [1/3]

int sheaf::abstract_poset_member::up_ct ( ) const

The number of members in the up set of this member.

Postcondition
  • result > 0

Definition at line 3333 of file abstract_poset_member.cc.

References sheaf::WHOLE_INDEX.

Referenced by delete_down(), fiber_bundle::section_space_schema_member::down_pa(), fiber_bundle::section_space_schema_member::merge_jem(), and up_ct().

◆ up_ct() [2/3]

int sheaf::abstract_poset_member::up_ct ( pod_index_type  xfilter_index) const
virtual

The number of members in the up set of this member, filtered by the subposet in host() with index xfilter_index.

Postcondition
  • result > 0

Reimplemented in fiber_bundle::section_space_schema_member.

Definition at line 3352 of file abstract_poset_member.cc.

References sheaf::depth_first_itr< T >::is_done(), sheaf::depth_first_itr< T >::next(), sheaf::UP, and up_ct().

◆ up_ct() [3/3]

int sheaf::abstract_poset_member::up_ct ( const scoped_index xfilter_index) const

The number of members in the up set of this member, filtered by the subposet in host() with index xfilter_index.

Postcondition
  • result > 0

Definition at line 3380 of file abstract_poset_member.cc.

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

◆ up_pa()

void sheaf::abstract_poset_member::up_pa ( subposet result) const
virtual

The up set of this member, auto- and pre-allocated versions.

Todo:
implement this function

Not Implemented.

Postcondition
  • -unexecutable( result is up set of this )

Reimplemented in fiber_bundle::section_space_schema_member.

Definition at line 3427 of file abstract_poset_member.cc.

References sheaf::subposet::invariant(), and jim_ct().

Referenced by p_join_pa(), and up().


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