SheafSystem  0.0.0.0
fiber_bundle::sec_at0 Class Reference

Antisymetric tensor of degree 0. As the degree is 0 there is nothing to be symmetric or antisymmetric with respect to. Thus, this could have equivalently been the symmetric tensor with degree=0. The convention is to choose antisymmetric. More...

#include <sec_at0.h>

Inheritance diagram for fiber_bundle::sec_at0:
fiber_bundle::sec_atp fiber_bundle::sec_tp fiber_bundle::sec_vd fiber_bundle::sec_tuple fiber_bundle::sec_rep_space_member sheaf::poset_member sheaf::partial_poset_member sheaf::abstract_poset_member sheaf::poset_component sheaf::read_write_monitor_handle sheaf::any

HOST FACTORY FACET OF CLASS SEC_AT0

typedef sec_at0_space host_type
 The type of host poset. More...
 
typedef at0 fiber_type
 The fiber type. 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...
 
static host_typestandard_host (namespace_type &xns, const poset_path &xbase_path, const poset_path &xrep_path, const std::string &xsection_suffix, const std::string &xfiber_suffix, bool xauto_access)
 The standard host for sections of this type with base space xbase_path, representation xrep_path, section suffix xsection_suffix, and fiber suffix xfiber_suffix. Creates the host and its prerequisites if necessary. More...
 

AT0 FACET OF CLASS SEC_AT0

 sec_at0 ()
 Default constructor. More...
 
 sec_at0 (const sec_rep_space *xhost, pod_index_type xhub_id)
 Creates a new sec_at0 handle attached to the member state with hub id xhub_id in xhost. More...
 
 sec_at0 (const sec_rep_space *xhost, const scoped_index &xid)
 Creates a new sec_at0 handle attached to the member state with id xid in* xhost. More...
 
 sec_at0 (const sec_rep_space *xhost, const std::string &xname)
 Creates a new sec_at0 handle attached to the member state with name xname in* xhost. More...
 
 sec_at0 (const namespace_poset *xnamespace, const poset_path &xpath, bool xauto_access=true)
 Creates a new handle attached to the member state with path xpath in namespace xnamespace. More...
 
 sec_at0 (const sec_at0 *xother)
 Creates a new sec_at0 handle attached to the same state as xother. More...
 
 sec_at0 (const sec_rep_space_member *xother, abstract_poset_member *xfiber_schema_jim)
 Creates a new sec_at0 handle attached to the component of xother identified by xfiber_schema_jim. More...
 
 sec_at0 (sec_rep_space *xhost, section_dof_map *xdof_map=0, bool xauto_access=true)
 New handle/new state constructor. More...
 
 sec_at0 (sec_rep_space *xhost, const abstract_poset_member &xbase_mbr, int xbase_version=CURRENT_HOST_VERSION, bool xauto_access=true)
 Creates a new handle attached to a new jim state which is a partial section defined only on the base space member with index xbase_mbr_index and version xbase_version. More...
 
 sec_at0 (sec_rep_space *xhost, const subposet &xbase_parts, bool xauto_sccess)
 Creates a new handle attached to a new jrm state which is a multi-section with a branch for each member of the base space contained in xbase_parts. More...
 
virtual sec_at0operator= (const abstract_poset_member &xother)
 Assignment operator; synonym for attach_to_state(&xother). More...
 
sec_at0operator= (const sec_at0 &xother)
 Assignment operator; synonym for attach_to_state(&xother). More...
 
sec_at0operator= (const at0 &xfiber)
 Assignment operator. More...
 
sec_at0operator= (const at0_lite &xfiber)
 Assignment operator. More...
 
 ~sec_at0 ()
 Destructor. More...
 
virtual const fiber_typefiber_prototype () const
 Virtual constructor for the associated fiber type. More...
 

ABSTRACT POSET MEMBER FACET OF CLASS SEC_AT0

static const std::string & static_class_name ()
 The name of this class. More...
 
virtual const std::string & class_name () const
 The name of this class. More...
 
virtual sec_at0clone () const
 Make a new handle, no state instance of current. More...
 
sec_at0clone (bool xnew_state, bool xauto_access=true) const
 Make a new handle instance of current. Attach the new instance to a new state if xnew_state is true. Otherwise, attach the new instance to the current state. More...
 

POSET_COMPONENT FACET

host_typehost () const
 The poset this is a member of. More...
 
virtual bool host_is_ancestor_of (const poset_state_handle *other) const
 True if other conforms to host. More...
 

ANY FACET OF CLASS SEC_AT0

bool fiber_is_ancestor_of (const any *xother) const
 True if xother conforms to an instance of the fiber of current. More...
 
bool is_ancestor_of (const any *xother) const
 True if xother conforms to current. More...
 
bool invariant () const
 Class invariant. More...
 
virtual void restrict_to (const abstract_poset_member *xschema)
 Restricts this section and its components to schema member xschema. More...
 
virtual void restrict_to (pod_index_type xbase_id, pod_index_type xfiber_schema_id)
 Restricts this section to base with hub id xbase_id and fiber schema with hub id xfiber_schema_id. More...
 
virtual void restrict_to (const abstract_poset_member *xbase, const abstract_poset_member *xfiber_schema)
 Restricts this section and its components to base xbase and fiber schema xfiber_schema. More...
 
virtual void restrict_to_same (const abstract_poset_member *xother)
 Restricts this handle and its components to the same restriction as xother. More...
 
void unrestrict ()
 Removes any restriction to this handle and its components; restores base and fiber to the base and fiber of host, respectively. More...
 

Additional Inherited Members

- Public Types inherited from fiber_bundle::sec_atp
typedef sec_atp_space host_type
 The type of host poset. More...
 
typedef atp fiber_type
 The fiber type. More...
 
- Public Types inherited from fiber_bundle::sec_tp
typedef sec_tp_space host_type
 The type of host poset. More...
 
typedef sec_at1 vector_space_type
 The type of the underlying vector space. More...
 
typedef tp fiber_type
 The fiber type. More...
 
- Public Types inherited from fiber_bundle::sec_vd
typedef sec_vd_space host_type
 Typedefs: More...
 
typedef vd fiber_type
 The fiber type. More...
 
typedef chart_point_coord_type coord_type
 The type of local coordinate; the scalar type for the local coordinate vector space. More...
 
typedef sec_vd_value_type value_type
 The type of component in the value; the scalar type in the fiber space. More...
 
typedef sec_vd_dof_type dof_type
 The type of degree of freedom. More...
 
typedef sec_at0 scalar_type
 The scalar type in the section space. More...
 
- Public Types inherited from fiber_bundle::sec_tuple
typedef fiber_bundles_namespace namespace_type
 The type of namespace for this type of member. More...
 
typedef sec_tuple_space host_type
 The type of host poset. More...
 
typedef tuple fiber_type
 The fiber type. More...
 
typedef sec_tuple scalar_type
 The scalar type definition. More...
 
- Public Types inherited from fiber_bundle::sec_rep_space_member
typedef binary_section_space_schema_member schema_type
 The schema type. More...
 
typedef binary_section_space_schema_poset schema_host_type
 The host type of the schema. More...
 
- Public Types inherited from sheaf::abstract_poset_member
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...
 
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...
 
- Public Member Functions inherited from fiber_bundle::sec_atp
sec_atpclone (bool xnew_state, bool xauto_access=true) const
 Make a new handle instance of current. Attach the new instance to a new state if xnew_state is true. Otherwise, attach the new instance to the current state. More...
 
 sec_atp ()
 Default constructor. More...
 
 sec_atp (const sec_rep_space *xhost, pod_index_type xhub_id)
 Creates a new sec_atp handle attached to the member state with hub id xhub_id in* xhost. More...
 
 sec_atp (const sec_rep_space *xhost, const scoped_index &xid)
 Creates a new sec_atp handle attached to the member state with id xid in* xhost. More...
 
 sec_atp (const sec_rep_space *xhost, const std::string &xname)
 Creates a new sec_atp handle attached to the member state with name xname in* xhost. More...
 
 sec_atp (const namespace_poset *xnamespace, const poset_path &xpath, bool xauto_access=true)
 Creates a new handle attached to the member state with path xpath in namespace xnamespace. More...
 
 sec_atp (const sec_rep_space_member *xother)
 Creates a new sec_atp handle attached to the same state as xother. More...
 
 sec_atp (sec_rep_space *xhost, section_dof_map *xdof_map=0, bool xauto_access=true)
 New handle/new state constructor. More...
 
 sec_atp (sec_rep_space *xhost, abstract_poset_member &xbase_mbr, int xbase_version=CURRENT_HOST_VERSION, bool xauto_access=true)
 Creates a new handle attached to a new jim state which is a partial section defined only on the base space member with index xbase_mbr_index and version xbase_version. More...
 
sec_atpoperator= (const sec_atp &xother)
 Assignment operator; synonym for attach_to_state(&xother). More...
 
sec_atpoperator= (const atp &xfiber)
 Assignment operator. More...
 
sec_atpoperator= (const atp_lite &xfiber)
 Assignment operator. More...
 
 ~sec_atp ()
 Destructor. More...
 
bool is_p_form (bool xauto_access) const
 True if this is a p-form. More...
 
void put_is_p_form (bool xauto_access)
 Sets is_p_form to true. More...
 
bool is_p_vector (bool xauto_access) const
 True if this is a p-vector. More...
 
void put_is_p_vector (bool xauto_access)
 Sets is_p_vector to true. More...
 
host_typehost () const
 The poset this is a member of. More...
 
bool fiber_is_ancestor_of (const any *xother) const
 True if xother conforms to an instance of the fiber of current. More...
 
bool is_ancestor_of (const any *other) const
 true if other conforms to current More...
 
bool invariant () const
 class invariant More...
 
- Public Member Functions inherited from fiber_bundle::sec_tp
 sec_tp ()
 Default constructor. More...
 
 sec_tp (const sec_rep_space *xhost, pod_index_type xhub_id)
 Creates a new sec_tp handle attached to the member state with hub id xhub_id in xhost. More...
 
 sec_tp (const sec_rep_space *xhost, const scoped_index &xid)
 Creates a new sec_tp handle attached to the member state with id xid in xhost. More...
 
 sec_tp (const sec_rep_space *xhost, const std::string &xname)
 Creates a new sec_tp handle attached to the member state with name xname in xhost. More...
 
 sec_tp (const namespace_poset *xnamespace, const poset_path &xpath, bool xauto_access=true)
 Creates a new handle attached to the member state with path xpath in namespace xnamespace. More...
 
 sec_tp (sec_rep_space_member *xother)
 Creates a new sec_tp handle attached to the same state as xother. More...
 
 sec_tp (sec_rep_space *xhost, section_dof_map *xdof_map=0, bool xauto_access=true)
 New handle/new state constructor. More...
 
 sec_tp (sec_rep_space *xhost, abstract_poset_member &xbase_mbr, int xbase_version=CURRENT_HOST_VERSION, bool xauto_access=true)
 Creates a new handle attached to a new jim state which is a partial section defined only on the base space member with index xbase_mbr_index and version xbase_version. More...
 
sec_tpoperator= (const sec_tp &xother)
 Assignment operator; synonym for attach_to_state(&xother). More...
 
sec_tpoperator= (const tp &xfiber)
 Assignment operator. More...
 
sec_tpoperator= (const tp_lite &xfiber)
 Assignment operator. More...
 
 ~sec_tp ()
 Destructor. More...
 
virtual int p () const
 The degree of the tensors in host(); the sum of the contravariant and covariant degrees. More...
 
int p (bool xauto_access) const
 The degree of the tensors in host() (auto-access version). More...
 
virtual int dd () const
 Dimension of the underlying vector space. More...
 
virtual int dd (bool xauto_access) const
 Dimension of the underlying vector space (auto-access version). More...
 
poset_path vector_space_path () const
 The path of the underlying vector space. More...
 
poset_path vector_space_path (bool xauto_access) const
 The path of the underlying vector space, auto access version. More...
 
virtual sec_tp_spacevector_space () const
 The underlying vector space. More...
 
virtual sec_tp_spacevector_space (bool xauto_access) const
 The underlying vector space, auto access version. More...
 
virtual tensor_variance variance (bool xauto_access) const
 The variance. More...
 
virtual bool variance (int xi, bool xauto_access) const
 The variance of the xi-th tensor index position; true if covariant, false if contravariant. More...
 
void put_variance (const tensor_variance &xvariance, bool xauto_access)
 Sets the variance to xvariance. More...
 
void put_variance (int xi, bool xvariance, bool xauto_access)
 Sets the variance of the xi-th index to xvariance. More...
 
virtual bool is_covariant (bool xauto_access) const
 True if and only if all tensor index positions are covariant. More...
 
virtual bool is_covariant (int xi, bool xauto_access) const
 True if and only if the xi-th tensor index position is covariant. More...
 
virtual void put_is_covariant (bool xauto_access)
 Sets all tensor index positions to covariant. More...
 
void put_is_covariant (int xi, bool xauto_access)
 Sets the variance of the xi-th tensor index position to covariant. More...
 
virtual bool is_contravariant (bool xauto_access) const
 True if and only if all tensor index positions are contravariant. More...
 
virtual bool is_contravariant (int xi, bool xauto_access) const
 True if and only if the xi-th tensor index position is contravariant. More...
 
virtual void put_is_contravariant (bool xauto_access)
 Sets all tensor index positions to contravariant. More...
 
void put_is_contravariant (int xi, bool xauto_access)
 Sets the variance of the xi-th tensor index position to contravariant. More...
 
sec_tpclone (bool xnew_state, bool xauto_access=true) const
 Make a new handle instance of current. Attach the new instance to a new state if xnew_state is true. Otherwise, attach the new instance to the current state. More...
 
host_typehost () const
 The poset this is a member of. More...
 
bool fiber_is_ancestor_of (const any *xother) const
 True if xother conforms to an instance of the fiber of current. More...
 
bool is_ancestor_of (const any *xother) const
 True if xother conforms to current. More...
 
bool invariant () const
 Class invariant. More...
 
- Public Member Functions inherited from fiber_bundle::sec_vd
sec_vdclone (bool xnew_state, bool xauto_access=true) const
 Make a new handle instance of current. Attach the new instance to a new state if xnew_state is true. Otherwise, attach the new instance to the current state. More...
 
 sec_vd ()
 Default constructor. More...
 
 sec_vd (const sec_rep_space *xhost, pod_index_type xhub_id)
 Creates a new sec_vd handle attached to the member state with hub id xhub_id in xhost. More...
 
 sec_vd (const sec_rep_space *xhost, const scoped_index &xid)
 Creates a new sec_vd handle attached to the member state with id xid in xhost. More...
 
 sec_vd (const sec_rep_space *xhost, const std::string &xname)
 Creates a new sec_vd handle attached to the member state with name xname in* xhost. More...
 
 sec_vd (const namespace_poset *xnamespace, const poset_path &xpath, bool xauto_access=true)
 Creates a new handle attached to the member state with path xpath in namespace xnamespace. More...
 
 sec_vd (sec_rep_space_member *xother)
 Creates a new sec_vd handle attached to the same state as xother. More...
 
 sec_vd (sec_rep_space *xhost, section_dof_map *xdof_map=0, bool xauto_access=true)
 New handle/new state constructor. More...
 
 sec_vd (sec_rep_space *xhost, abstract_poset_member &xbase_mbr, int xbase_version=CURRENT_HOST_VERSION, bool xauto_access=true)
 Creates a new sec_vd handle attached to a new jim state which is a partial section defined only on the base space member with index xbase_mbr_index and version xbase_version. More...
 
sec_vdoperator= (const sec_vd &xother)
 Assignment operator; synonym for attach_to_state(&xother). More...
 
sec_vdoperator= (const vd &xfiber)
 Assignment operator. More...
 
sec_vdoperator= (const vd_lite &xfiber)
 Assignment operator. More...
 
 ~sec_vd ()
 Destructor. More...
 
bool fiber_is_ancestor_of (const any *xother) const
 True if xother conforms to an instance of the fiber of current. More...
 
virtual int d () const
 The fiber dimension. More...
 
virtual int d (bool xauto_access) const
 The fiber dimension; auto-access version. More...
 
poset_path scalar_space_path () const
 The path of the underlying scalar space. More...
 
poset_path scalar_space_path (bool xauto_access) const
 The path of the underlying scalar space; auto-access version. More...
 
virtual bool is_vector (bool xauto_access) const
 True if and only if this is a vector (as opposed to a covector). More...
 
virtual void put_is_vector (bool xauto_access)
 Sets is_vector true. More...
 
virtual bool is_covector (bool xauto_access) const
 True if and only if this is a covector. More...
 
virtual void put_is_covector (bool xauto_access)
 Sets is_covector true. More...
 
scalar_typecomp (int i) const
 Ith component of section. More...
 
void set_comp (int i, scalar_type *xcomponent)
 Sets ith component of section. More...
 
vdvalue_at_point (const chart_point &xpt, bool xauto_access=true) const
 Value of the field at xpt, auto-allocated version. More...
 
virtual void value_at_point_pa (const chart_point &xpt, vd &xresult, bool xauto_access=true) const
 Value of the field at xpt, pre-allocated version. More...
 
virtual void value_at_point_ua (const chart_point &xpt, value_type *xresult, size_type xresult_ub, bool xauto_access=true) const
 Value of the field at xpt, unattached version. More...
 
virtual int dof_packet_ub ()
 
void dof_tuple (dof_type *xbuf, int xbuflen) const
 Copies the entire dof tuple into xbuf. More...
 
sec_vddeep_copy (bool xauto_access)
 Virtual constructor; makes a new handle of the same type as this, attached to a copy of the state of this. More...
 
void deep_copy (sec_vd &xother, bool xauto_access)
 Copies the dofs of this to xother. More...
 
void get_fiber (pod_index_type xdisc_id, vd_lite &xfiber) const
 Sets xfiber to the fiber referred to by discretization id xdisc_id. More...
 
void get_fiber (const scoped_index &xdisc_id, vd_lite &xfiber, bool xauto_access) const
 Sets xfiber to the fiber referred to by discretization id xdisc_id. More...
 
void put_fiber (pod_index_type xdisc_id, const vd_lite &xfiber)
 Sets the fiber referred to by discretization id xdisc_id to xfiber. More...
 
void put_fiber (const scoped_index &xdisc_id, const vd_lite &xfiber, bool xauto_access)
 Sets the fiber referred to by discretization id xdisc_id to xfiber. More...
 
void force_fiber (pod_index_type xdisc_id, const vd_lite &xfiber)
 Sets the fiber referred to by discretization id xdisc_id to xfiber. More...
 
void force_fiber (const scoped_index &xdisc_id, const vd_lite &xfiber, bool xauto_access)
 Sets the fiber referred to by discretization id xdisc_id to xfiber. More...
 
host_typehost () const
 The poset this is a member of. More...
 
bool is_ancestor_of (const any *xother) const
 True if xother conforms to current. More...
 
bool invariant () const
 Clsss invariant. More...
 
- Public Member Functions inherited from fiber_bundle::sec_tuple
template<typename S >
sheaf::poset_path standard_host_path (const poset_path &xbase_path, const poset_path &xrep_path, const std::string &xsection_suffix, const std::string &xfiber_suffix)
 
sec_tupleclone (bool xnew_state, bool xauto_access=true) const
 Make a new handle instance of current. Attach the new instance to a new state if xnew_state is true. Otherwise, attach the new instance to the current state. More...
 
 sec_tuple ()
 Default constructor. More...
 
 sec_tuple (const sec_rep_space *xhost, pod_index_type xhub_id)
 Creates a new sec_tuple handle attached to the member state with hub id xhub_id in xhost. More...
 
 sec_tuple (const sec_rep_space *xhost, const scoped_index &xid)
 Creates a new sec_tuple handle attached to the member state with id xid in xhost. More...
 
 sec_tuple (const sec_rep_space *xhost, const std::string &xname)
 Creates a new sec_tuple handle attached to the member state with name xname in* xhost. More...
 
 sec_tuple (const namespace_poset *xnamespace, const poset_path &xpath, bool xauto_access=true)
 Creates a new handle attached to the member state with path xpath in namespace xnamespace. More...
 
 sec_tuple (sec_rep_space_member *xother)
 Creates a new sec_tuple handle attached to the same state as xother. More...
 
 sec_tuple (sec_rep_space *xhost, section_dof_map *xdof_map=0, bool xauto_access=true)
 New handle/new state constructor. More...
 
 sec_tuple (sec_rep_space *xhost, abstract_poset_member &xbase_mbr, int xbase_version=CURRENT_HOST_VERSION, bool xauto_access=true)
 Creates a new handle attached to a new jim state which is a partial section defined only on the base space member with index xbase_mbr_index and version xbase_version. More...
 
sec_tupleoperator= (const sec_tuple &xother)
 Assignment operator; synonym for attach_to_state(&xother). More...
 
 ~sec_tuple ()
 Destructor. More...
 
virtual int factor_ct () const
 Number of factors (components) in tuple. More...
 
int factor_ct (bool xauto_access) const
 Number of factors (components) in tuple. More...
 
host_typehost () const
 The poset this is a member of. More...
 
bool fiber_is_ancestor_of (const any *xother) const
 
void unrestrict ()
 Removes any restriction to this handle and its components; restores base and fiber to the base and fiber of host, respectively. More...
 
scalar_typecomp (int i) const
 The ith component of section. More...
 
void set_comp (int i, scalar_type *component)
 Sets ith comp of section. More...
 
void detach_from_state ()
 Detaches field from state it is currently attached to. More...
 
- Public Member Functions inherited from fiber_bundle::sec_rep_space_member
 sec_rep_space_member ()
 Default constructor; creates an unattached handle. More...
 
 sec_rep_space_member (const sec_rep_space_member &xother, bool xnew_jem=false)
 Copy constructor; creates new sec_rep_space_member handle If xnew_jem is false the handle is attached to the same state as xother. If xnew_jem is true, the handle is attached to a new state which is a copy (i.e. is join equivalent to) the state of xother. More...
 
sec_rep_space_memberoperator= (const sec_rep_space_member &xother)
 Assignment operator; synonym for attach_to_state(xother). More...
 
 ~sec_rep_space_member ()
 Destructor. More...
 
sec_rep_space_memberclone (bool xnew_state, bool xauto_access=true) const
 Make a new handle instance of current. Attach the new instance to a new state if xnew_state is true. Otherwise, attach the new instance to the current state. More...
 
 sec_rep_space_member (sec_rep_space *xhost, section_dof_map *xdof_map=0, bool xauto_access=true)
 Creates a new section handle attached to a new jim state ("explicit prevents interpretation as implicit conversion from sec_rep_space* to sec_rep_space_member&) More...
 
 sec_rep_space_member (sec_rep_space *xhost, abstract_poset_member &xbase_mbr, int xbase_version=CURRENT_HOST_VERSION, bool xauto_access=true)
 Creates a new section handle attached to a new jim state, a partial section defined only on version xbase_version of base space member xbase_mbr. More...
 
 sec_rep_space_member (sec_rep_space *xhost, const subposet &xbase_parts, bool xauto_access)
 Creates a new handle attached to a new jrm state which is a multi-section with a branch for each member of the base space contained in xbase_parts. More...
 
 sec_rep_space_member (sec_rep_space *xhost, scoped_index *xexpansion, int xexpansion_ct, const tern &xnew_jem, bool xauto_access)
 creates a new jrm (join reducible member) attached to a new member state in xhost. The jrm created is the join of the jims with the indices given in xjims_indices. More...
 
 sec_rep_space_member (const sec_rep_space *xhost, pod_index_type xindex)
 Creates a new sec_rep_space_member handle attached to the member state with index xindex in xhost. More...
 
 sec_rep_space_member (const sec_rep_space *xhost, const scoped_index &xindex)
 Creates a new sec_rep_space_member handle attached to the member state with index xindex in xhost. More...
 
 sec_rep_space_member (const sec_rep_space *xhost, const std::string &xname)
 Creates a new sec_rep_space_member handle attached to the member state with name xname in xhost. More...
 
 sec_rep_space_member (const namespace_poset *xnamespace, const poset_path &xpath, bool xauto_access=true)
 Creates a new sec_rep_space_member handle attached to the member state with path xpath in the namespace xnamespace. More...
 
 sec_rep_space_member (const namespace_poset *xnamespace, pod_index_type xposet_index, pod_index_type xmember_index)
 Creates a new sec_rep_space_member handle attached to the member state with index xmember_index in the poset with index xposet_index in the namespace xnamespace. More...
 
 sec_rep_space_member (const namespace_poset *xnamespace, const scoped_index &xposet_index, const scoped_index &xmember_index)
 Creates a new sec_rep_space_member handle attached to the member state with index xmember_index in the poset with index xposet_index in the namespace xnamespace. More...
 
 sec_rep_space_member (const sec_rep_space_member *xother)
 Creates a new sec_rep_space_member handle attached to the same state as xother. ("explicit" prevents interpretation as implicit conversion from sec_rep_space_member* to sec_rep_space_member&) More...
 
void new_jim_state (abstract_poset_member &xbase_mbr, int xbase_version=CURRENT_HOST_VERSION, bool xauto_access=true)
 Creates a new jim state in host() and attaches this handle to the state. The state is a partial section defined only on version xbase_version of base space member xbase_mbr. More...
 
void new_jim_state (sec_rep_space *xhost, const abstract_poset_member &xbase_mbr, int xbase_version=CURRENT_HOST_VERSION, bool xauto_access=true)
 Creates a new jim state in host xhost and attaches this handle to the state. The state is a partial section defined only on version xbase_version of base space member xbase_mbr. More...
 
void new_jrm_state (sec_rep_space *xhost, const subposet &xbase_parts, bool xauto_access)
 Multisection constructor; creates a new jrm state which is a multi-section with a branch for each member of the base space contained in xbase_parts and attaches this to it. More...
 
bool is_multisection (bool xauto_access) const
 True if this is a multisection. More...
 
bool has_branch_id_space (bool xauto_access) const
 True if this is a multisection and it has a branch sequence id space. More...
 
scattered_insertion_index_space_handleget_branch_id_space (bool xauto_access)
 Allocate an id space handle from the handle pool attached to the branch id space for this member. More...
 
void release_branch_id_space (index_space_handle &xid_space, bool xauto_access) const
 Returns the id space handle xid_space to the handle pool. More...
 
bool allocated_branch_handle (index_space_handle &xid_space, bool xauto_access) const
 True if the handle pool allocated xid_space. More...
 
index_space_iteratorget_branch_id_space_iterator (bool xauto_access) const
 Allocates an iterator from the iterator pool attached to the branch id space for this member. More...
 
void release_branch_id_space_iterator (index_space_iterator &xitr, bool xauto_access) const
 Returns the iterator xitr to the iterator pool. More...
 
bool allocated_branch_iterator (index_space_iterator &xitr, bool xauto_access) const
 True if the id space iterator xitr was allocated by the iterator pool. More...
 
virtual section_space_schema_memberschema ()
 The restricted schema for this (mutable version). More...
 
virtual const section_space_schema_memberschema () const
 The restricted schema for this (const version). More...
 
section_space_schema_memberschema (bool xauto_access)
 The schema for this, auto-accessible (mutable version). More...
 
const section_space_schema_memberschema (bool xauto_access) const
 The schema for this, auto-accessible (const version). More...
 
virtual section_space_schema_memberunrestricted_schema ()
 The unrestricted schema for this poset membe (mutable version). More...
 
virtual const section_space_schema_memberunrestricted_schema () const
 The unrestricted schema for this poset member (const version). More...
 
abstract_poset_memberbase ()
 The restricted base of this section space member (mutable version) More...
 
const abstract_poset_memberbase () const
 The restricted base of this section space member (const version) More...
 
bool same_base (const sec_rep_space_member *xother) const
 True if this has the same base as xother. More...
 
virtual int db () const
 The dimension of the restricted base. More...
 
bool same_rep (const sec_rep_space_member *xother) const
 True if this has the same rep and same base as xother. /. More...
 
int discretization_ct () const
 The number of members of the discretization subposet contained in the down set of the restricted base. More...
 
int discretization_ct (bool xaxto_access) const
 The number of members of the discretization subposet contained in the down set of the restricted base. More...
 
int evaluation_ct () const
 The number of members of the evaluation subposet contained in the down set of the restricted base. More...
 
schema_poset_memberfiber_schema ()
 The schema of the restricted fiber of this section space member (mutable version) More...
 
const schema_poset_memberfiber_schema () const
 The schema of the restricted fiber of this section space member (const version) More...
 
posetfiber ()
 The unrestricted fiber of host() (mutable version). More...
 
const posetfiber () const
 The unrestricted fiber of host() (const version). More...
 
int df () const
 The dimension of the restricted fiber. More...
 
void restrict_to (const scoped_index &xbase_id, const scoped_index &xfiber_schema_id)
 Restricts this section to base with index xbase_id and fiber schema with index xfiber_schema_id. More...
 
bool base_is_restricted () const
 True if base() is not the same as host()->base();. More...
 
bool fiber_schema_is_restricted () const
 True if fiber_schema() is not the same as host()->fiber_schema(). More...
 
int version () const
 The base space version this section is defined on. More...
 
virtual void get_dof (pod_index_type xdisc_id, pod_index_type xfiber_dof_id, void *xdof, size_type xdof_size) const
 Copies the dof referred to by xdisc_id, xfiber_dof_id into xdof. More...
 
void get_dof (const scoped_index &xdisc_id, const scoped_index &xfiber_dof_id, void *xdof, size_type xdof_size, bool xauto_access) const
 Copies the dof referred to by xdisc_id, xfiber_dof_id into xdof. More...
 
virtual void put_dof (pod_index_type xdisc_id, pod_index_type xfiber_dof_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 &xdisc_id, const scoped_index &xfiber_dof_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...
 
void get_fiber (pod_index_type xdisc_id, void *xfiber, size_type xfiber_size) const
 Sets xfiber to the fiber referred to by discretization id xdisc_id. More...
 
void get_fiber (const scoped_index &xdisc_id, void *xfiber, size_type xfiber_size, bool xauto_access) const
 Sets xfiber to the fiber referred to by discretization id xdisc_id. More...
 
void put_fiber (pod_index_type xdisc_id, const void *xfiber, size_type xfiber_size)
 Sets the fiber referred to by discretization id xdisc_id to xfiber. More...
 
void put_fiber (const scoped_index &xdisc_id, const void *xfiber, size_type xfiber_size, bool xauto_access)
 Sets the fiber referred to by discretization id xdisc_id to xfiber. More...
 
void force_fiber (pod_index_type xdisc_id, const void *xfiber, size_type xfiber_size)
 Sets the fiber referred to by discretization id xdisc_id to xfiber; reallocates dof map memory if necessary. More...
 
void force_fiber (const scoped_index &xdisc_id, const void *xfiber, size_type xfiber_size, bool xauto_access)
 Sets the fiber referred to by discretization id xdisc_id to xfiber; reallocates dof map memory if necessary. More...
 
void get_component (pod_index_type xfiber_dof_id, void *xcomponent, size_type xcomponent_size) const
 Sets xcomponent to the component referred to by fiber id xfiber_dof_id. More...
 
void get_component (const scoped_index &xfiber_dof_id, void *xcomponent, size_type xcomponent_size, bool xauto_access) const
 Sets xcomponent to the component referred to by fiber id xfiber_dof_id. More...
 
void put_component (pod_index_type xfiber_dof_id, const void *xcomponent, size_type xcomponent_size)
 Sets the xcomponent referred to by fiber id xfiber_dof_id to xcomponent. More...
 
void put_component (const scoped_index &xfiber_dof_id, const void *xcomponent, size_type xcomponent_size, bool xauto_access)
 Sets the component referred to by fiber id xfiber_dof_id to xcomponent. More...
 
size_t dof_tuple_size ()
 Get the size in bytes of the restricted dof tuple for this member. More...
 
size_t fiber_size ()
 Get the size in bytes of the restricted fiber for this member. More...
 
virtual section_dof_mapdof_map (bool xrequire_write_access=false)
 The map from client_ids to dof values for this poset member (mutable version) More...
 
virtual const section_dof_mapdof_map (bool xrequire_write_access=false) const
 The map from 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...
 
sec_rep_spacehost () const
 The section representation space this is a member of. More...
 
- Public Member Functions inherited from sheaf::poset_member
 poset_member ()
 Default constructor; creates a new, unattached poset_member handle. More...
 
 poset_member (const abstract_poset_member &xother, bool xnew_jem=false)
 Copy constructor; creates a new poset_member handle. If xnew_jem is false the handle is attached to the same state as xother. If xnew_jem is true, the handle is attached to a new state which is a copy (i.e. is join equivalent to) the state of xother. More...
 
poset_memberoperator= (const poset_member &xother)
 Assignment operator; synonym for attach_to_state(xother). More...
 
virtual ~poset_member ()
 Destructor; deletes a poset member and its attached state, if any. More...
 
poset_memberclone (bool xnew_state, bool xauto_access=true) const
 Make a new handle instance of current. Attach the new instance to a new state if xnew_state is true. Otherwise, attach the new instance to the current state. More...
 
 poset_member (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) attached to a new member state in xhost. ("explicit" prevents interpretation as implicit conversion from poset_state_handle* to poset_member&) More...
 
 poset_member (poset_state_handle *xhost, const scoped_index *xexpansion, int xexpansion_ct, const tern &xnew_jem, bool xauto_access)
 Creates a new jrm (join reducible member) attached to a new member state in xhost. The jrm created is the join of the members with the indices given in xexpansion. More...
 
 poset_member (const poset_state_handle *xhost, pod_index_type xhub_id)
 Creates a new poset_member handle attached to the member state with hub id xhub_id in xhost. More...
 
 poset_member (const poset_state_handle *xhost, const scoped_index &xid)
 Creates a new poset_member handle attached to the member state with id xid in xhost. More...
 
 poset_member (const poset_state_handle *xhost, const std::string &xname)
 Creates a new poset_member handle attached to the member state with name xname in xhost. More...
 
 poset_member (const namespace_poset *xnamespace, const poset_path &xpath, bool xauto_access=true)
 Creates a new poset_member handle attached to the member state with path xpath in the namespace xnamespace. More...
 
poset_membergreatest_jem () const
 The largest member which is join-equivalent to this. More...
 
poset_memberleast_jem () const
 The smallest member which is join-equivalent to this. More...
 
poset_memberp_join (poset_member *other) const
 poset join of this with other, auto-allocated
the poset join is the least upper bound in the poset More...
 
poset_memberp_meet (poset_member *other)
 poset meet of this with other, auto-allocated
the poset meet is the greatest lower bound in the poset More...
 
poset_memberl_join (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...
 
poset_memberl_meet (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...
 
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...
 
- Public Member Functions inherited from sheaf::partial_poset_member
 partial_poset_member ()
 Default constructor; creates a new, unattached partial_poset_member handle. More...
 
 partial_poset_member (const abstract_poset_member &xother, bool xnew_jem=false)
 Copy constructor; creates a new partial_poset_member handle. If xnew_jem is false the handle is attached to the same state as xother. If xnew_jem is true, the handle is attached to a new state which is a copy (i.e. is join equivalent to) the state of xother. More...
 
partial_poset_memberoperator= (const partial_poset_member &xother)
 Assignment operator; attaches this to the same state as xother. More...
 
virtual ~partial_poset_member ()
 Destructor; deletes a poset member and its attached state, if any. More...
 
partial_poset_memberclone (bool xnew_state, bool xauto_access=true) const
 Make a new handle instance of current. Attach the new instance to a new state if xnew_state is true. Otherwise, attach the new instance to the current state. More...
 
 partial_poset_member (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) attached to a new member state in xhost. ("explicit" prevents interpretation as implicit conversion from poset_state_handle* to partial_poset_member&) More...
 
 partial_poset_member (poset_state_handle *xhost, const scoped_index *xexpansion, int xexpansion_ct, const tern &xnew_jem, bool xauto_access)
 creates a new jrm (join reducible member) attached to a new member state in xhost The jrm created is the join of the members with the indices given in xexpansion. More...
 
 partial_poset_member (const poset_state_handle *xhost, pod_index_type xhub_id)
 Creates a new partial_poset_member handle attached to the member state with hub id xhub_id in xhost. More...
 
 partial_poset_member (const poset_state_handle *xhost, const scoped_index &xid)
 Creates a new partial_poset_member handle attached to the member state with id xid in xhost. More...
 
 partial_poset_member (const poset_state_handle *xhost, const std::string &xname)
 Creates a new partial_poset_member handle attached to the member state with name xname in xhost. More...
 
 partial_poset_member (const namespace_poset *xnamespace, const poset_path &xpath, bool xauto_access=true)
 Creates a new partial_poset_member handle attached to the member state with path xpoath in the namespace xnamespace. More...
 
 partial_poset_member (schema_poset_member *xschema)
 Covariant constructor. More...
 
virtual int dof_ct () const
 The number of dofs in restricted schema of this poset member. More...
 
partial_poset_membergreatest_jem () const
 The largest member which is join-equivalent to this. More...
 
partial_poset_memberleast_jem () const
 The smallest member which is join-equivalent to this. More...
 
partial_poset_memberp_join (partial_poset_member *other) const
 poset join of this with other, auto-, pre-, and self-allocated versions the poset join is the least upper bound in the poset More...
 
partial_poset_memberp_meet (partial_poset_member *other)
 poset meet of this with other, auto-, pre-, and self-allocated versions the poset meet is the greatest lower bound in the poset More...
 
partial_poset_memberl_join (partial_poset_member *other, bool xnew_jem=true)
 lattice join of this with other, auto-, pre-, and self-allocated versions the lattice join is the least upper bound in the lattice generated by the jims in the poset More...
 
partial_poset_memberl_meet (partial_poset_member *other, bool xnew_jem=true)
 lattice meet of this with other, auto-, pre-, and self-allocated versions the lattice meet is the greatest lower bound in the lattice generated by the jims in the poset More...
 
partial_poset_memberl_not (bool xnew_jem=true) const
 lattice pseudo-complement of this, auto-, pre- and self allocated versions The lattice pseudo-complement is the largest lattice member m for which this.l_meet(m) = 0 More...
 
- Public Member Functions inherited from sheaf::abstract_poset_member
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...
 
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_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...
 
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...
 
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...
 
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...
 
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...
 
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...
 
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...
 
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...
 
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...
 
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...
 
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...
 
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...
 
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...
 
virtual void to_stream (std::ostream &xos=std::cout) const
 Virtual stream insertion. More...
 
- 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...
 
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 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 fiber_bundle::sec_atp
static host_typenew_host (namespace_type &xns, const poset_path &xhost_path, const poset_path &xschema_path, const poset_path &xvector_space_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, schema specified by xschema_path, and table attribute vector_space_path specified by xvector_space_path. More...
 
static const std::string & static_class_name ()
 The name of this class. More...
 
- Static Public Member Functions inherited from fiber_bundle::sec_tp
static host_typenew_host (namespace_type &xns, const poset_path &xhost_path, const poset_path &xschema_path, const poset_path &xvector_space_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, schema specified by xschema_path, and table attribute vector_space_path specified by xvector_space_path. More...
 
static const std::string create_tensor_space_name (const std::string &xvector_space_name, const std::string &xname)
 Create a standard tensor space name. More...
 
static const std::string & static_class_name ()
 The name of this class. More...
 
- Static Public Member Functions inherited from fiber_bundle::sec_vd
static host_typenew_host (namespace_type &xns, const poset_path &xhost_path, const poset_path &xschema_path, const poset_path &xscalar_space_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, schema specified by xschema_path, and table attribute scalar_space_path specified by xscalar_space_path. More...
 
static const std::string & static_class_name ()
 The name of this class. More...
 
- Static Public Member Functions inherited from fiber_bundle::sec_tuple
static const poset_pathstandard_rep_path ()
 The path to the standard rep for sections of this type. More...
 
template<typename S >
static poset_path standard_host_path (const poset_path &xbase_path, const poset_path &xrep_path, const std::string &xsection_suffix, const std::string &xfiber_suffix)
 The standard host path for section type S with base path xbase_path, representation path xrep_path, and section and fiber suffixes xsection_suffix and xfiber_suffix, respectively. More...
 
template<typename S >
static bool standard_host_is_available (const namespace_poset &xns, const poset_path &xbase_path, const poset_path &xrep_path, const std::string &xsection_suffix, const std::string &xfiber_suffix, bool xauto_access)
 True if and only if the host with path standard_host_path<S>(xbase_path, xrep_path, xsection_suffix, xfiber_suffix) does not exist in namespace xns, or if it exists, conforms to S::host_type. 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...
 
static const std::string & static_class_name ()
 The name of this class. More...
 
- Static Public Member Functions inherited from fiber_bundle::sec_rep_space_member
static const std::string & static_class_name ()
 The name of this class. More...
 
static std::string standard_schema_poset_name (const std::string &xschema_member_name)
 The standard name for the section_space_schema_poset constructed for the schema member with name xschema_member_name. /. More...
 
static std::string standard_fiber_space_name (const poset_path &xschema_path)
 The standard name for the fiber space constructed for the schema member with path xschema_path. More...
 
static std::string standard_section_space_name (const std::string &xfiber_space_name, const std::string &xbase_space_name)
 The standard name for the section space with fiber space poset name xfiber_space_name and base space poset name xbase_space_name. More...
 
- Static Public Member Functions inherited from sheaf::abstract_poset_member
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...
 
- 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 fiber_bundle::sec_vd
virtual sec_tuple::scalar_typenew_comp ()
 Creates a new component for attach_handle_data_members. A "virtual constructor" for components. More...
 
- Protected Member Functions inherited from fiber_bundle::sec_tuple
void attach_handle_data_members ()
 Initializes data members introduced by this handle. More...
 
- Protected Member Functions inherited from sheaf::partial_poset_member
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::abstract_poset_member
 abstract_poset_member ()
 Default constructor; creates a new, unattached abstract_poset_member handle. 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...
 
- 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...
 
- 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...
 
- Static Protected Member Functions inherited from fiber_bundle::sec_tuple
static std::string create_fiber_name (const std::string &xname)
 Creates a fiber space name for sec class with name xname. Convenience method used by derived class "new_host" methods. More...
 
- Protected Attributes inherited from sheaf::partial_poset_member
schema_poset_member_schema
 The restricted schema of this member. 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

Antisymetric tensor of degree 0. As the degree is 0 there is nothing to be symmetric or antisymmetric with respect to. Thus, this could have equivalently been the symmetric tensor with degree=0. The convention is to choose antisymmetric.

Definition at line 51 of file sec_at0.h.

Member Typedef Documentation

◆ fiber_type

The fiber type.

Definition at line 71 of file sec_at0.h.

◆ host_type

The type of host poset.

Definition at line 66 of file sec_at0.h.

Constructor & Destructor Documentation

◆ sec_at0() [1/10]

fiber_bundle::sec_at0::sec_at0 ( )

Default constructor.

Postcondition

Definition at line 196 of file sec_at0.cc.

Referenced by sec_at0(), and standard_host().

◆ sec_at0() [2/10]

fiber_bundle::sec_at0::sec_at0 ( const sec_rep_space xhost,
pod_index_type  xhub_id 
)

Creates a new sec_at0 handle attached to the member state with hub id xhub_id in xhost.

Precondition
  • xhost != 0
  • xhost->contains_member(xhub_id)
Postcondition
  • !is_restricted()

Definition at line 208 of file sec_at0.cc.

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

◆ sec_at0() [3/10]

fiber_bundle::sec_at0::sec_at0 ( const sec_rep_space xhost,
const scoped_index xid 
)

Creates a new sec_at0 handle attached to the member state with id xid in* xhost.

Precondition
  • xhost != 0
  • xhost->contains_member(xid)
Postcondition
  • !is_restricted()

Definition at line 230 of file sec_at0.cc.

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

◆ sec_at0() [4/10]

fiber_bundle::sec_at0::sec_at0 ( const sec_rep_space xhost,
const std::string &  xname 
)

Creates a new sec_at0 handle attached to the member state with name xname in* xhost.

Precondition
  • xhost != 0
  • !xname.empty()
  • xhost->contains_member(xname)
Postcondition
  • !is_restricted()

Definition at line 252 of file sec_at0.cc.

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

◆ sec_at0() [5/10]

fiber_bundle::sec_at0::sec_at0 ( const namespace_poset xnamespace,
const poset_path xpath,
bool  xauto_access = true 
)

Creates a new handle attached to the member state with path xpath in namespace xnamespace.

Precondition
  • precondition_of(attach_to_state(same args))
Postcondition
  • postcondition_of(attach_to_state(same args))

Definition at line 276 of file sec_at0.cc.

References sec_at0().

◆ sec_at0() [6/10]

fiber_bundle::sec_at0::sec_at0 ( const sec_at0 xother)
explicit

Creates a new sec_at0 handle attached to the same state as xother.

Precondition
  • xother != 0
Postcondition
  • is_same_state(xother)
  • is_same_restriction(xother)

Definition at line 298 of file sec_at0.cc.

References sec_at0().

◆ sec_at0() [7/10]

fiber_bundle::sec_at0::sec_at0 ( const sec_rep_space_member xother,
abstract_poset_member xfiber_schema_jim 
)
explicit

Creates a new sec_at0 handle attached to the component of xother identified by xfiber_schema_jim.

Precondition
  • xother != 0
  • xfiber_schema_jim != 0
Postcondition
  • is_same_state(xother)

Definition at line 320 of file sec_at0.cc.

References fiber_bundle::sec_rep_space_member::base(), fiber_bundle::sec_rep_space_member::fiber_schema(), sheaf::abstract_poset_member::is_jim(), sheaf::abstract_poset_member::le(), sec_at0(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

◆ sec_at0() [8/10]

fiber_bundle::sec_at0::sec_at0 ( sec_rep_space xhost,
section_dof_map xdof_map = 0,
bool  xauto_access = true 
)

New handle/new state constructor.

Precondition
  • precondition_of(new_jim_state(xhost, xdof_map, false, xauto_access))
Postcondition
  • postcondition_of(new_jim_state(xhost, xdof_map, false, xauto_access))

Definition at line 345 of file sec_at0.cc.

References sec_at0().

◆ sec_at0() [9/10]

fiber_bundle::sec_at0::sec_at0 ( sec_rep_space xhost,
const abstract_poset_member xbase_mbr,
int  xbase_version = CURRENT_HOST_VERSION,
bool  xauto_access = true 
)

Creates a new handle attached to a new jim state which is a partial section defined only on the base space member with index xbase_mbr_index and version xbase_version.

Precondition
  • precondition_of(\ new_jim_state(xhost, xbase_mbr, xbase_version, xauto_access))
Postcondition
  • postcondition_of(\ new_jim_state(xhost, xbase_mbr, xbase_version, xauto_access))

Definition at line 367 of file sec_at0.cc.

References sec_at0().

◆ sec_at0() [10/10]

fiber_bundle::sec_at0::sec_at0 ( sec_rep_space xhost,
const subposet xbase_parts,
bool  xauto_sccess 
)

Creates a new handle attached to a new jrm state which is a multi-section with a branch for each member of the base space contained in xbase_parts.

Precondition
  • precondition_of(new_jim_state(xhost, xbase_parts, xauto_access))
  • postcondition_of(new_jim_state(xhost, xbase_parts, xauto_access))

Definition at line 392 of file sec_at0.cc.

References operator=().

◆ ~sec_at0()

fiber_bundle::sec_at0::~sec_at0 ( )

Destructor.

Definition at line 497 of file sec_at0.cc.

References fiber_prototype().

Referenced by operator=().

Member Function Documentation

◆ class_name()

const std::string & fiber_bundle::sec_at0::class_name ( ) const
virtual

The name of this class.

Postcondition
  • !result.empty()

Reimplemented from fiber_bundle::sec_atp.

Definition at line 580 of file sec_at0.cc.

References static_class_name().

Referenced by fiber_prototype().

◆ clone() [1/2]

fiber_bundle::sec_at0 * fiber_bundle::sec_at0::clone ( ) const
virtual

Make a new handle, no state instance of current.

Postcondition
  • result != 0

Reimplemented from fiber_bundle::sec_atp.

Definition at line 618 of file sec_at0.cc.

Referenced by static_class_name().

◆ clone() [2/2]

sec_at0* fiber_bundle::sec_at0::clone ( bool  xnew_state,
bool  xauto_access = true 
) const
inline

Make a new handle instance of current. Attach the new instance to a new state if xnew_state is true. Otherwise, attach the new instance to the current state.

Definition at line 297 of file sec_at0.h.

References fiber_bundle::sec_atp::clone(), and fiber_bundle::sec_tuple::restrict_to().

◆ fiber_is_ancestor_of()

bool fiber_bundle::sec_at0::fiber_is_ancestor_of ( const any xother) const

True if xother conforms to an instance of the fiber of current.

Precondition
  • xother != 0
Postcondition

Definition at line 678 of file sec_at0.cc.

References sheaf::any::invariant(), and is_ancestor_of().

Referenced by host_is_ancestor_of().

◆ fiber_prototype()

const fiber_bundle::sec_at0::fiber_type & fiber_bundle::sec_at0::fiber_prototype ( ) const
virtual

Virtual constructor for the associated fiber type.

Reimplemented from fiber_bundle::sec_atp.

Definition at line 508 of file sec_at0.cc.

References class_name().

Referenced by ~sec_at0().

◆ host()

fiber_bundle::sec_at0::host_type * fiber_bundle::sec_at0::host ( ) const

The poset this is a member of.

Definition at line 653 of file sec_at0.cc.

References host_is_ancestor_of().

◆ host_is_ancestor_of()

bool fiber_bundle::sec_at0::host_is_ancestor_of ( const poset_state_handle other) const
virtual

True if other conforms to host.

Reimplemented from fiber_bundle::sec_atp.

Definition at line 660 of file sec_at0.cc.

References fiber_is_ancestor_of().

Referenced by host().

◆ invariant()

bool fiber_bundle::sec_at0::invariant ( ) const
virtual

Class invariant.

Todo:
reimplement sec_at0::u(), v(), p(), etc
Postcondition
  • is_derived_query

Reimplemented from sheaf::poset_member.

Definition at line 727 of file sec_at0.cc.

References restrict_to().

Referenced by fiber_bundle::sec_jcb::comp2(), and is_ancestor_of().

◆ is_ancestor_of()

bool fiber_bundle::sec_at0::is_ancestor_of ( const any xother) const
virtual

True if xother conforms to current.

Precondition
  • xother != 0

Reimplemented from fiber_bundle::sec_rep_space_member.

Definition at line 703 of file sec_at0.cc.

References invariant().

Referenced by fiber_is_ancestor_of().

◆ new_host()

fiber_bundle::sec_at0::host_type & fiber_bundle::sec_at0::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<schema_type::host_type>(xschema_path, xauto_access)
  • host_type::fiber_space_conforms<fiber_type::host_type>(xns, 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
  • result.factor_ct(true) == result.schema(true).fiber_space<fiber_type::host_type>().factor_ct(xauto_access)
  • result.d(true) == result.schema(true).fiber_space<fiber_type::host_type>().d(xauto_access)
  • result.d(true) == result.dd(true)
  • result.d(true) == 1
  • result.scalar_space_path(true) == xhost_path
  • result.p(true) == result.schema(true).fiber_space<fiber_type::host_type>().p(xauto_access)
  • result.p(true) == 0
  • result.dd(true) == result.schema(true).fiber_space<fiber_type::host_type>().dd(xauto_access)
  • result.dd(true) == 1
  • result.vector_space_path(true) == xhost_path

Definition at line 53 of file sec_at0.cc.

References sheaf::namespace_poset::contains_path(), fiber_bundle::sec_atp_space::d(), fiber_bundle::sec_tp_space::dd(), sheaf::poset_path::empty(), fiber_bundle::sec_vd_space::factor_ct(), fiber_bundle::section_space_schema_member::fiber_space(), sheaf::poset_path::full(), sheaf::namespace_poset::owns(), fiber_bundle::sec_tp_space::p(), sheaf::poset_component::path(), sheaf::poset_state_handle::path(), sheaf::namespace_poset::path_is_auto_read_accessible(), fiber_bundle::sec_vd_space::scalar_space_path(), fiber_bundle::sec_rep_space::schema(), standard_host(), sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible(), sheaf::read_write_monitor_handle::state_is_not_read_accessible(), and fiber_bundle::sec_tp_space::vector_space_path().

◆ operator=() [1/4]

fiber_bundle::sec_at0 & fiber_bundle::sec_at0::operator= ( const abstract_poset_member xother)
virtual

Assignment operator; synonym for attach_to_state(&xother).

Precondition
  • is_ancestor_of(&xother)
  • precondition_of(attach_to_state(&xother))
Postcondition
  • postcondition_of(attach_to_state(&xother))

Reimplemented from fiber_bundle::sec_atp.

Definition at line 413 of file sec_at0.cc.

Referenced by operator=(), and sec_at0().

◆ operator=() [2/4]

fiber_bundle::sec_at0 & fiber_bundle::sec_at0::operator= ( const sec_at0 xother)

Assignment operator; synonym for attach_to_state(&xother).

Precondition
  • precondition_of(attach_to_state(&xother))
Postcondition
  • postcondition_of(attach_to_state(&xother))

Definition at line 435 of file sec_at0.cc.

References operator=().

◆ operator=() [3/4]

fiber_bundle::sec_at0 & fiber_bundle::sec_at0::operator= ( const at0 xfiber)

Assignment operator.

Precondition
  • precondition_of(sec_vd::operator=(xfiber))
Postcondition
  • postcondition_of(sec_vd::operator=(xfiber))

Definition at line 456 of file sec_at0.cc.

References operator=().

◆ operator=() [4/4]

fiber_bundle::sec_at0 & fiber_bundle::sec_at0::operator= ( const at0_lite xfiber)

Assignment operator.

Precondition
  • precondition_of(sec_vd::operator=(xfiber))
Postcondition
  • postcondition_of(sec_vd::operator=(xfiber))

Definition at line 477 of file sec_at0.cc.

References ~sec_at0().

◆ restrict_to() [1/3]

void fiber_bundle::sec_at0::restrict_to ( const abstract_poset_member xschema)
virtual

Restricts this section and its components to schema member xschema.

Precondition
  • xschema != 0
Postcondition
  • -unexecutable( base().is_same_state(old base()) )

Reimplemented from fiber_bundle::sec_tuple.

Definition at line 764 of file sec_at0.cc.

References sheaf::abstract_poset_member::leqv().

Referenced by invariant(), and restrict_to().

◆ restrict_to() [2/3]

void fiber_bundle::sec_at0::restrict_to ( pod_index_type  xbase_id,
pod_index_type  xfiber_schema_id 
)
virtual

Restricts this section to base with hub id xbase_id and fiber schema with hub id xfiber_schema_id.

Precondition
Todo:
implement preconditions equivalent to the following: require(xbase != 0); require(xbase->le(&(host()->base()))); require(xfiber_schema != 0); require(xfiber_schema->le(&(host()->fiber_schema())));

Reimplemented from fiber_bundle::sec_tuple.

Definition at line 790 of file sec_at0.cc.

References restrict_to().

◆ restrict_to() [3/3]

void fiber_bundle::sec_at0::restrict_to ( const abstract_poset_member xbase,
const abstract_poset_member xfiber_schema 
)
virtual

Restricts this section and its components to base xbase and fiber schema xfiber_schema.

Precondition
  • xbase != 0
  • xfiber_schema != 0
Postcondition

Reimplemented from fiber_bundle::sec_tuple.

Definition at line 819 of file sec_at0.cc.

References sheaf::abstract_poset_member::le(), and restrict_to_same().

◆ restrict_to_same()

void fiber_bundle::sec_at0::restrict_to_same ( const abstract_poset_member xother)
virtual

Restricts this handle and its components to the same restriction as xother.

Precondition
  • xother != 0
  • is_ancestor_of(xother)
  • has_same_host(xother)
Postcondition
  • is_same_restriction(xother)

Reimplemented from fiber_bundle::sec_tuple.

Definition at line 846 of file sec_at0.cc.

References sheaf::read_write_monitor_handle::state_is_read_accessible(), and unrestrict().

Referenced by restrict_to().

◆ standard_host()

fiber_bundle::sec_at0::host_type & fiber_bundle::sec_at0::standard_host ( namespace_type xns,
const poset_path xbase_path,
const poset_path xrep_path,
const std::string &  xsection_suffix,
const std::string &  xfiber_suffix,
bool  xauto_access 
)
static

The standard host for sections of this type with base space xbase_path, representation xrep_path, section suffix xsection_suffix, and fiber suffix xfiber_suffix. Creates the host and its prerequisites if necessary.

Precondition
  • xns.state_is_auto_read_write_accessible(xauto_access)
  • xbase_path.full()
  • xns.path_is_auto_read_accessible<base_space_poset>(xbase_path, xauto_access)
  • xrep_path.empty() || xrep_path.full()
  • xrep_path.empty() || xns.path_is_auto_read_accessible<sec_rep_descriptor_poset>(xrep_path, xauto_access)
  • xsection_suffix.empty() || poset_path::is_valid_name(xsection_suffix)
  • xfiber_suffix.empty() || poset_path::is_valid_name(xfiber_suffix)
  • standard_host_is_available<sec_at0>(xns, xbase_path, xrep_path, xsection_suffix, xfiber_suffix, xauto_access)
  • fiber_type::standard_host_is_available<fiber_type>(xns, xfiber_suffix, xauto_access)
  • schema_type::standard_host_is_available<sec_at0>(xns, xbase_path, xrep_path, xfiber_suffix, xauto_access)
Postcondition
  • xns.owns(result, xauto_access)
  • result.path(true) == standard_host_path<sec_at0>(xbase_path, xrep_path, xsection_suffix, xfiber_suffix)
  • result.state_is_not_read_accessible()
  • result.schema(true).path(xauto_access) == schema_type::standard_member_path<sec_at0>(xbase_path, xrep_path, xfiber_suffix)
  • result.factor_ct(true) == result.schema(true).fiber_space<fiber_type::host_type>().factor_ct(xauto_access)
  • result.d(true) == result.schema(true).fiber_space<fiber_type::host_type>().d(xauto_access)
  • result.d(true) == result.dd(true)
  • result.d(true) == 1
  • result.scalar_space_path(true) == result.path(true)
  • result.p(true) == result.schema(true).fiber_space<fiber_type::host_type>().p(xauto_access)
  • result.p(true) == 0
  • result.dd(true) == result.schema(true).fiber_space<fiber_type::host_type>().dd(xauto_access)
  • result.dd(true) == 1
  • result.vector_space_path(true) == result.path(true)

Definition at line 101 of file sec_at0.cc.

References sheaf::namespace_poset::contains_path(), fiber_bundle::sec_atp_space::d(), fiber_bundle::sec_tp_space::dd(), sheaf::poset_path::empty(), fiber_bundle::sec_vd_space::factor_ct(), fiber_bundle::section_space_schema_member::fiber_space(), sheaf::poset_path::full(), sheaf::namespace_poset::member_poset(), sheaf::namespace_poset::owns(), fiber_bundle::sec_tp_space::p(), sheaf::poset_component::path(), sheaf::poset_state_handle::path(), sheaf::namespace_poset::path_is_auto_read_accessible(), fiber_bundle::sec_vd_space::scalar_space_path(), fiber_bundle::sec_rep_space::schema(), sec_at0(), sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible(), sheaf::read_write_monitor_handle::state_is_not_read_accessible(), and fiber_bundle::sec_tp_space::vector_space_path().

Referenced by new_host().

◆ static_class_name()

const std::string & fiber_bundle::sec_at0::static_class_name ( )
static

The name of this class.

Postcondition
  • !result.empty()

Definition at line 599 of file sec_at0.cc.

References clone().

Referenced by class_name().

◆ unrestrict()

void fiber_bundle::sec_at0::unrestrict ( )
virtual

Removes any restriction to this handle and its components; restores base and fiber to the base and fiber of host, respectively.

Precondition
Postcondition
  • !is_restricted()

Reimplemented from sheaf::poset_member.

Definition at line 872 of file sec_at0.cc.

Referenced by restrict_to_same().


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