SheafSystem  0.0.0.0
fiber_bundle::section_space_schema_poset Class Referenceabstract

An abstract schema poset for a section space. A Cartesian product subspace of the tensor product of a base space lattice, a fiber schema lattice, and possibly a local schema lattice. More...

#include <section_space_schema_poset.h>

Inheritance diagram for fiber_bundle::section_space_schema_poset:
sheaf::poset sheaf::poset_state_handle sheaf::poset_state_handle sheaf::read_write_monitor_handle sheaf::read_write_monitor_handle sheaf::any sheaf::any fiber_bundle::binary_section_space_schema_poset fiber_bundle::product_section_space_schema_poset

Friends

class namespace_poset
 
class section_space_schema_member
 

SECTION_SPACE_SCHEMA_POSET FACET

typedef fiber_bundles_namespace namespace_type
 The type of namespace for this type of member. More...
 
typedef section_space_schema_member member_type
 The type of member associated with this space. More...
 
typedef section_space_schema_table_dofs_type table_dofs_type
 The table dofs type defined by the standard schema. More...
 
typedef section_space_schema_member member_type
 The type of member associated with this space. More...
 
typedef section_space_schema_table_dofs_type table_dofs_type
 The table dofs type defined by the standard schema. More...
 
sec_rep_descriptor _rep
 The representation for section spaces on this schema. More...
 
base_space_poset_base_space
 The base space for section spaces on this schema. More...
 
poset_fiber_space
 The fiber space for section spaces on this schema. More...
 
subposet _discretization
 The discretization subposet for section spaces on this schema. More...
 
subposet _multivalued
 The multivalued subposet for section spaces on this schema. More...
 
subposet _evaluation
 The evaluation subposet for section spaces on this schema. More...
 
ij_product_structure_product
 The Cartisian product subspace structure. More...
 
static const poset_pathstandard_schema_path ()
 The path to the standard schema for this class. More...
 
static bool rep_is_valid (const sec_rep_descriptor &xrep, const poset_state_handle &xbase_space)
 True if the discretization and evaluation subposets named in xrep are included in xbase_space and the discretization subposet has a non-empty id space. More...
 
static const std::string & standard_schema_poset_name ()
 The name of the standard schema poset for this class. More...
 
static const poset_pathstandard_schema_path ()
 The path to the standard schema for this class. More...
 
static void make_standard_schema (namespace_poset &xns)
 Creates the standard schema for this class in namespace xns. More...
 
static bool rep_is_valid (const sec_rep_descriptor &xrep, const poset_state_handle &xbase_space)
 True if the discretization and evaluation subposets named in xrep are included in xbase_space and the discretization subposet has a non-empty id space. More...
 
poset_path rep_path (bool xauto_access) const
 The path to the representation for section spaces on this schema.. More...
 
sec_rep_descriptorrep ()
 The representation for section spaces on this schema. More...
 
const sec_rep_descriptorrep () const
 The representation for section spaces on this schema; const version. More...
 
pod_index_type base_space_member_id_ub () const
 The upper bound of the member id of the base space for section spaces on this schema. More...
 
virtual pod_index_type get_base_space_id_from_index (pod_index_type xmbr_hub_id) const
 Computes the base space member id associated with hub id xmbr_hub_id. More...
 
void get_base_space_id_from_index (const scoped_index &xmbr_id, scoped_index &result) const
 Computes the base space member id associated with xindex. More...
 
int base_space_stride () const
 The increment in the member id when the id of the base space component is increased by one. More...
 
int db () const
 The dimension of the base space. More...
 
poset_path base_space_path (bool xauto_access) const
 The path to the base space for section spaces on this schema. More...
 
base_space_posetbase_space ()
 The base space for section spaces on this schema. More...
 
const base_space_posetbase_space () const
 The base space for section spaces on this schema, const version. More...
 
pod_index_type fiber_schema_member_id_ub () const
 The upper bound on the member id of the fiber schema for section spaces on this schema. More...
 
virtual pod_index_type get_fiber_schema_id_from_index (pod_index_type xmbr_hub_id) const
 Computes the fiber schema member id associated with hub id xmbr_hub_id. More...
 
void get_fiber_schema_id_from_index (const scoped_index &xmbr_id, scoped_index &result) const
 Computes the fiber schema member id associated with xindex. More...
 
int fiber_schema_stride () const
 The increment in the member id when the id of the fiber schema component is increased by one. More...
 
int df () const
 The dimension of the fiber space. More...
 
poset_state_handlefiber_schema ()
 The fiber schema for section spaces on this schema (mutable version). More...
 
const poset_state_handlefiber_schema () const
 The fiber schema for section spaces on this schema (const version). More...
 
poset_path fiber_space_path (bool xauto_access) const
 The path to the fiber space for section spaces on this schema. More...
 
posetfiber_space ()
 The fiber space for section spaces on this schema. More...
 
const posetfiber_space () const
 The fiber space for section spaces on this schema, const version. More...
 
subposetdiscretization ()
 The discretization subposet for section spaces on this schema. More...
 
const subposetdiscretization () const
 The discretization subposet for section spaces on this schema, const version. More...
 
bool is_multivalued () const
 Switch that tells the user if the multivalued subposet exists. More...
 
subposetmultivalued ()
 The multivalued subposet for section spaces on this schema. More...
 
const subposetmultivalued () const
 The multivalued subposet for section spaces on this schemam const ver. More...
 
subposetevaluation ()
 The evaluation subposet for section spaces on this schema. More...
 
const subposetevaluation () const
 The evaluation subposet for section spaces on this schema, const ver. More...
 
std::string evaluator_family_name () const
 The name of the evaluator family for section spaces on this schema. More...
 
const ij_product_structureproduct_structure () const
 The product structure of this schema. More...
 
virtual pod_index_type get_index_from_components (pod_index_type xbase_space_id, pod_index_type xfiber_schema_id) const =0
 Computes the index associated with component ids xbase_space_id and xfiber_schema_id. More...
 
void get_index_from_components (const scoped_index &xbase_space_id, const scoped_index &xfiber_schema_id, scoped_index &result) const
 Computes the index associated with component ids xbase_space_id and xfiber_schema_id. More...
 
void update_hub_id_space (bool xauto_access)
 Extends the hub id space to match extension of the base space. More...
 
sec_rep_descriptorrep ()
 The representation for section spaces on this schema. More...
 
const sec_rep_descriptorrep () const
 The representation for section spaces on this schema; const version. More...
 
bool rep_is_valid (const namespace_poset &xns, const arg_list &xaregs, bool xauto_access) const
 True if and only if the section representation specified in xargs is valid in the base space specified in xargs; that is, if the discretization and evaluation subposets named in xrep are included in xbase_space and the discretization subposet has a non-empty id space. More...
 
int db () const
 The dimension of the base space. More...
 
base_space_posetbase_space ()
 The base space for section spaces on this schema. More...
 
const base_space_posetbase_space () const
 The base space for section spaces on this schema, const version. More...
 
int df () const
 The dimension of the fiber space. More...
 
poset_state_handlefiber_schema ()
 The fiber schema for section spaces on this schema (mutable version). More...
 
const poset_state_handlefiber_schema () const
 The fiber schema for section spaces on this schema (const version). More...
 
posetfiber_space ()
 The fiber space for section spaces on this schema. More...
 
const posetfiber_space () const
 The fiber space for section spaces on this schema, const version. More...
 
subposetdiscretization ()
 The discretization subposet for section spaces on this schema. More...
 
const subposetdiscretization () const
 The discretization subposet for section spaces on this schema, const version. More...
 
subposetevaluation ()
 The evaluation subposet for section spaces on this schema. More...
 
const subposetevaluation () const
 The evaluation subposet for section spaces on this schema, const ver. More...
 
string evaluator_family_name () const
 The name of the evaluator family for section spaces on this schema. More...
 
void tuple (const scoped_index &xindex, scoped_index &xbase_space_id, scoped_index &xfiber_schema_id) const
 The tuple conversion from section space schema id xindex to the base space id xbase_space_id and fiber schema id xfiber_schema_id. More...
 
virtual void tuple (pod_index_type xindex, pod_index_type &xbase_space_id, pod_index_type &xfiber_schema_id) const =0
 The tuple conversion from section space schema id xindex to the base space id xbase_space_id and fiber schema id xfiber_schema_id. More...
 
void ordinal (const scoped_index &xbase_space_id, const scoped_index &xfiber_schema_id, scoped_index &xindex) const
 The ordinal conversion from base space id xbase_space_id and fiber schema id xfiber_schema_id to section space schema id xindex. More...
 
virtual void ordinal (pod_index_type xbase_space_id, pod_index_type xfiber_schema_id, pod_index_type &xindex) const =0
 The ordinal conversion from base space id xbase_space_id and fiber schema id xfiber_schema_id to section space schema id xindex. More...
 
bool is_homogeneous (const scoped_index &xindex) const
 True if xindex is in the homogeneous member id space. More...
 
virtual bool is_homogeneous (pod_index_type xindex) const =0
 True if xindex is in the homogeneous member id space. More...
 
bool contains_range_member (const scoped_index &xbase_space_id, const scoped_index &xfiber_schema_id, bool xauto_access) const
 True if this poset contains a member with base space id xbase_space_id and fiber schema id xfiber_schema_id. More...
 
virtual bool contains_range_member (pod_index_type xbase_space_id, pod_index_type xfiber_schema_id, bool xauto_access) const =0
 True if this poset contains a member with base space id xbase_space_id and fiber schema id xfiber_schema_id. More...
 
virtual void update_hub_id_space (bool xauto_access)=0
 Extends the hub id space to match extension of the base space. More...
 
 section_space_schema_poset ()
 Default constructor; disabled. More...
 
virtual ~section_space_schema_poset ()
 Destructor. More...
 
 section_space_schema_poset (section_space_schema_member *xtop, section_space_schema_member *xbottom)
 Covariant constructor. More...
 
virtual ~section_space_schema_poset ()
 Destructor. More...
 
 section_space_schema_poset (section_space_schema_member *xtop, section_space_schema_member *xbottom)
 Covariant constructor. More...
 
void initialize_table_dof_subposet ()
 Create the table dof members with the same ids as the table dofs in the fiber schema id space and initialize the table dof subposet to contains the members. More...
 

STATE FACET

virtual poset_type type_id () const
 Identifier for the type of this poset. More...
 
virtual const char * class_name () const
 The name of this class. More...
 
virtual void get_read_access () const
 Get read access to the state associated with this. More...
 
virtual void get_read_write_access (bool xrelease_read_only_access=false)
 Get read write access to the state associated with this. If release_read_only_access is requested, read only access will be released then read_write_access will be requested, finally the same level of read_access as before will be requested. More...
 
virtual void release_access (bool xall=false) const
 Release access. If xall is true, release all levels of access. Otherwise, release one level of access. More...
 
virtual poset_type type_id () const
 Identifier for the type of this poset. More...
 
virtual const char * class_name () const
 The name of this class. More...
 
virtual void get_read_access () const
 Get read access to the state associated with this. More...
 
virtual void get_read_write_access (bool xrelease_read_only_access=false)
 Get read write access to the state associated with this. If release_read_only_access is requested, read only access will be released then read_write_access will be requested, finally the same level of read_access as before will be requested. More...
 
virtual void release_access (bool xall=false) const
 Release access. If xall is true, release all levels of access. Otherwise, release one level of access. More...
 
virtual void initialize_handle_data_members (const namespace_poset &xns)
 Initializes the handle data members that depend on the table dofs and are required to get access when this handle is used to create a new state. Intended to be called only from new_state. More...
 
virtual void attach_handle_data_members ()
 Initializes the handle data members when this handle is attached to a state. More...
 
virtual void terminate_access ()
 Release all access to posets this depends on, then detach and delete the state. More...
 
virtual void initialize_handle_data_members (const namespace_poset &xns)
 Initializes the handle data members that depend on the table dofs and are required to get access when this handle is used to create a new state. Intended to be called only from new_state. More...
 
virtual void attach_handle_data_members ()
 Initializes the handle data members when this handle is attached to a state. More...
 
virtual void terminate_access ()
 Release all access to posets this depends on, then detach and delete the state. More...
 

SCHEMA FACET

table_dofs_typetable_dof_tuple_ptr ()
 OBSOLETE: use table_dofs(). Pointer to the storage for the table dofs. More...
 
const table_dofs_typetable_dof_tuple_ptr () const
 OBSOLETE: use table_dofs(). Pointer to the storage for the table dofs. More...
 

SCHEMATIZATION FACET

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

MEMBERSHIP FACET

section_space_schema_membertop ()
 The top of member of the lattice (mutable version) More...
 
const section_space_schema_membertop () const
 The top of member of the lattice (const version) More...
 
section_space_schema_memberbottom ()
 The bottom of member of the lattice (mutable version) More...
 
const section_space_schema_memberbottom () const
 The bottom of member of the lattice (const version) More...
 
virtual int member_ct () const
 The number of members of this poset. More...
 
virtual int standard_member_ct () const
 The number of standard members automatically allocated by the constructor. More...
 
virtual scoped_index member_index_ub () const
 The upper bound on the member_index;. More...
 
index_iterator member_iterator () const
 An iterator for members of this poset. More...
 
virtual bool contains_member (pod_index_type xmbr_hub_id, bool xauto_access=true) const
 True if some version of this poset contains poset member with hub id xmbr_hub_id. More...
 
virtual bool contains_member (pod_index_type xmbr_hub_id, int xversion, bool xauto_access=true) const
 True if version xversion of this poset contains poset member with hub id xmbr_hub_id. More...
 
virtual bool is_jim (pod_index_type xmbr_hub_id, bool xin_current_version=true) const
 True if the member with hub id xmbr_hub_id is a jim. More...
 
virtual bool is_atom (pod_index_type xmbr_hub_id) const
 True if the member with hub id xmbr_hub_id covers the bottom. More...
 
virtual pod_index_type new_member (bool xis_jim, const scoped_index &xdof_tuple_id)
 Create a disconnected member with is_jim == xis_jim and the dof tuple identified by xdof_tuple_id. WARNING: this routine leaves a disconnected member in the poset and hence leaves the poset in an invalid state. The client must properly link the member created by this routine using new_link in order to return the poset to a valid state. More...
 
virtual pod_index_type new_member (bool xis_jim, poset_dof_map *xdof_map=0, bool xcopy_dof_map=false)
 Create a disconnected member with is_jim == xis_jim. If xdof_map != 0, the new member uses it for dof storage, otherwise it creates an instance of array_poset_dof_map. WARNING: this routine leaves a disconnected member in the poset and hence leaves the poset in an invalid state. The client must properly link the member created by this routine using new_link in order to return the poset to a valid state. More...
 
virtual pod_index_type new_member_range (const std::string &xrange_type, size_type xsize, const block< scoped_index > &xdof_tuple_ids, const block< pod_index_type > &xdata)
 Create a disconnected member range of type xrange_type with size xsize, dof tuple ids xdof_tuple_ids, and range type specific private data xdata. WARNING: this routine leaves a disconnected member in the poset and hence leaves the poset in an invalid state. The client must properly link the member created by this routine using new_link in order to return the poset to a valid state. More...
 
section_space_schema_membertop ()
 The top of member of the lattice (mutable version) More...
 
const section_space_schema_membertop () const
 The top of member of the lattice (const version) More...
 
section_space_schema_memberbottom ()
 The bottom of member of the lattice (mutable version) More...
 
const section_space_schema_memberbottom () const
 The bottom of member of the lattice (const version) More...
 
pod_index_type member_id (const std::string &xbase_space_name, const std::string &xfiber_schema_name) const
 The member id for base space member with name xbase_space_namd, and fiber schema member with name xfiber_schema_name. More...
 
void member_id (const std::string &xbase_space_name, const std::string &xfiber_schema_name, scoped_index &result) const
 The member id for base space member with name xbase_space_namd, and fiber schema member with name xfiber_schema_name. More...
 
bool is_new_member_available () const
 True if and only if a member can be created. More...
 
virtual void initialize_standard_members ()
 Creates the members common to every poset (i.e. _top and _bottom). More...
 
void new_standard_member_hack (standard_member_index xindex)
 Create a new bottom or top member. More...
 
virtual pod_index_type new_member (bool xis_jim, pod_index_type xdof_tuple_id)
 Create a disconnected member with is_jim == xis_jim. Redefined here only to trap attempts to make a new member, as an aid to debugging. More...
 
virtual pod_index_type new_member (bool xis_jim, poset_dof_map *xdof_map=0, bool xcopy_dof_map=false)
 Create a disconnected member with is_jim == xis_jim. Redefined here only to trap attempts to make a new member, as an aid to debugging. More...
 
virtual void delete_member (pod_index_type xmbr_hub_id)
 Delete the member with hub id xmbr_hub_id. Redefined here only to trap attempts to make a new member, as an aid to debugging. More...
 

COVER RELATION FACET

virtual void new_link (pod_index_type xgreater, pod_index_type xlesser)
 Insert a link from lesser to greater (i.e. lesser <= greater). Redefined here only to trap attempts to make a new link, as an aid to debugging. More...
 
virtual void delete_link (pod_index_type xgreater, pod_index_type xlesser)
 Delete the link with between xgreater and xlesser Redefined here only to trap attempts to delete a link, as an aid to debugging. More...
 

SUBPOSET FACET

virtual pod_index_type new_subposet (const block< pod_index_type > &xmembers)
 Creates a new subposet. If xinitialize, set the membership to include the members with indices in xmambers; otherwise, leave the subposet empty. More...
 
virtual void delete_subposet (pod_index_type xsubposet_hub_id)
 Deletes the subposet with hub id xsubposet_hub_id. More...
 
virtual int version_ct () const
 The number of versions. More...
 
virtual int version () const
 The current version. More...
 
virtual pod_index_type version_index (int xversion) const
 The subposet index of the whole() subposet for version xversion. More...
 
virtual pod_index_type version_jims_index (int xversion) const
 The subposet index of the jims() subposet for version xversion. More...
 

I/O SUPPORT FACET

virtual index_iteratorget_decomposition (pod_index_type xindex) const
 An iterator over the members of the decomposition identified by xindex. More...
 
virtual bool is_valid_int_id (pod_index_type xint_id, const std::string &xid_space_name, bool xauto_access) const
 True if xint_id can be translated to an external id using the equivalence map with name xid_space_name. More...
 
virtual pod_index_type get_ext_id (pod_index_type xint_id, const std::string &xid_space_name, bool xauto_access) const
 Translates xint_id to an external id using the equivalence map with name xid_space_name. More...
 
virtual pod_index_type prereq_id (int xi) const
 The id of the xi-th prerequisite poset for this. More...
 
virtual index_iteratorget_decomposition (pod_index_type xindex) const
 An iterator over the members of the decomposition identified by xindex. More...
 
virtual pod_index_type prereq_id (int xi) const
 The id of the xi-th prerequisite poset for this. More...
 

ANY FACET

virtual bool is_ancestor_of (const any *other) const
 True if other conforms to this. More...
 
virtual bool invariant () const
 Class invariant. More...
 
virtual bool is_ancestor_of (const any *other) const
 True if other conforms to this. More...
 
virtual bool invariant () const
 Class invariant. More...
 
virtual section_space_schema_posetclone () const =0
 Virtual constructor; creates a new handle of the same actual type as this, attached to the same state as this. More...
 
section_space_schema_posetoperator= (const poset_state_handle &xother)
 Assignment operator; disabled. More...
 
virtual section_space_schema_posetclone () const =0
 Virtual constructor; creates a new handle of the same actual type as this, attached to the same state as this. More...
 
section_space_schema_posetoperator= (const poset_state_handle &xother)
 Assignment operator; attaches this to the same state as xother. More...
 

Additional Inherited Members

- Public Types inherited from sheaf::poset
typedef namespace_poset namespace_type
 The type of namespace for this type of member. More...
 
- Public Types inherited from sheaf::poset_state_handle
typedef schema_poset_member schema_type
 The type of schema member for this class. More...
 
- Public Member Functions inherited from sheaf::poset
virtual void begin_jim_edit_mode (bool xauto_access=true)
 Allow editing of jims and jim order relation. More...
 
virtual void end_jim_edit_mode (bool xensure_lattice_invariant=true, bool xauto_access=true)
 Prevent editing of jims and jim order relation. More...
 
- Public Member Functions inherited from sheaf::poset_state_handle
poset_path member_path (pod_index_type xmbr_hub_id, bool xauto_access) const
 A path for the member with hub id xmbr_hub_id. More...
 
virtual std::string member_name (pod_index_type xmbr_hub_id, bool xauto_access=false) const
 A name for the member with hub id xmbr_hub_id. More...
 
std::string member_name (const scoped_index &xmbr_id, bool xauto_access=false) const
 A name for the member with id xmbr_id. More...
 
void all_member_names (pod_index_type xmbr_hub_id, block< std::string > &xresult, bool xauto_access=false) const
 All the names for the member with hub id xmbr_hub_id. More...
 
void all_member_names (const scoped_index &xmbr_id, block< std::string > &xresult, bool xauto_access=false) const
 All the names for the member with id xmbr_id. More...
 
size_type member_name_ct (pod_index_type xmbr_hub_id, bool xauto_access) const
 The number of names for the member with hub id xmbr_hub_id. More...
 
size_type member_name_ct (const scoped_index &xmbr_id, bool xauto_access) const
 The number of names for the member with id xmbr_id. More...
 
bool member_has_name (pod_index_type xmbr_hub_id, const std::string &xname, bool xauto_access=false) const
 True if xname is a name for the member with hub id xmbr_hub_id. More...
 
bool member_has_name (const scoped_index &xmbr_hub_id, const std::string &xname, bool xauto_access=false) const
 True if xname is a name for the member with id xmbr_id. More...
 
virtual void put_member_name (pod_index_type xmbr_hub_id, const std::string &xname, bool xunique, bool xauto_access=false)
 Make xname a name for the member with hub id xmbr_hub_id. if xunique, make xname the only name. More...
 
void put_member_name (const scoped_index &xmbr_id, const std::string &xname, bool xunique, bool xauto_access=false)
 Make xname a name for the member with id xmbr_id. if xunique, make xname the only name. More...
 
void delete_member_name (const std::string &xname, bool xauto_access=false)
 Make xname not a name for any member. More...
 
void delete_all_member_names (pod_index_type xmbr_hub_id, bool xauto_access=false)
 Delete all names for the member with hub id xmbr_hub_id. More...
 
void delete_all_member_names (const scoped_index &xmbr_id, bool xauto_access=false)
 Delete all names for the member with id xmbr_id. More...
 
virtual schema_poset_memberschema ()
 The schema for this poset (mutable version). More...
 
virtual const schema_poset_memberschema () const
 The schema for this poset (const version). More...
 
schema_poset_memberschema (bool xauto_access)
 The schema for this poset, auto_accessible (mutable version). More...
 
const schema_poset_memberschema (bool xauto_access) const
 The schema for this poset, auto_accessible (const version). More...
 
virtual bool schema_is_ancestor_of (const schema_poset_member *xother_schema) const
 True if xother_schema conforms to the type of schema required by this. More...
 
bool schema_is (const std::string &xschema_name) const
 True if the schema of this has name xname. More...
 
bool same_schema (const poset_state_handle *xother) const
 True if other has the same schema as this. More...
 
bool same_schema (const abstract_poset_member *xother) const
 True if other has the same schema as this. More...
 
bool in_jim_edit_mode () const
 True if editing jims and jim order relation is allowed. More...
 
int jim_edit_depth (bool xauto_access) const
 Number of times begin_jim edit_mode has been called without matching end_jim_edit_mode. More...
 
bool is_external () const
 True if this has a corresponding member in a name space, but is not yet attached to a state. (This condition implies the name space has been imported from some external source, but the poset has not yet been imported.) More...
 
virtual bool is_attached () const
 True if this is attached to a state. More...
 
bool is_same_state (const poset_state_handle *xother) const
 True if this is attached to the same state as xother. More...
 
namespace_posethost () const
 The namespace this poset resides in. Obsolete; use name_space() instead. More...
 
namespace_posetname_space () const
 The namespace this poset resides in. More...
 
const scoped_indexindex () const
 The member index of this poset within the namespace host() More...
 
virtual const primitives_posetprimitives () const
 The set of primitives used by this poset. More...
 
virtual std::string name () const
 The name of this poset. More...
 
virtual std::string name (bool xauto_access) const
 The name of this poset. More...
 
virtual poset_path path (bool xauto_access=true) const
 The path of this poset. More...
 
void new_member (bool xis_jim, const scoped_index &xtuple_id, scoped_index &result)
 Create a disconnected member with is_jim == xis_jim and the dof tuple identified by id xtuple_id. WARNING: this routine leaves a disconnected member in the poset and hence leaves the poset in an invalid state. The client must properly link the member created by this routine using new_link in order to return the poset to a valid state. More...
 
void new_member (bool xis_jim, poset_dof_map *xdof_map, bool xcopy_dof_map, scoped_index &result)
 Create a disconnected member with is_jim == xis_jim. If xdof_map != 0, the new member uses it for dof storage, otherwise it creates an instance of array_poset_dof_map. WARNING: this routine leaves a disconnected member in the poset and hence leaves the poset in an invalid state. The client must properly link the member created by this routine using new_link in order to return the poset to a valid state. More...
 
virtual pod_index_type new_member_interval (const std::string &xinterval_type, size_type xsize, const block< pod_index_type > &xtuple_hub_ids, const block< pod_index_type > &xdata)
 Create a disconnected member interval of type xinterval_type with size xsize, dof tuple ids xtuple_hub_ids, and interval type specific private data xdata. WARNING: this routine leaves a disconnected member in the poset and hence leaves the poset in an invalid state. The client must properly link the member created by this routine using new_link in order to return the poset to a valid state. More...
 
void new_member_interval (const std::string &xinterval_type, size_type xsize, const block< pod_index_type > &xtuple_hub_ids, const block< pod_index_type > &xdata, scoped_index &result)
 Create a disconnected member interval of type xinterval_type with size xsize, dof tuple hub ids xtuple_hub_ids, and interval type specific private data xdata. WARNING: this routine leaves a disconnected member in the poset and hence leaves the poset in an invalid state. The client must properly link the member created by this routine using new_link in order to return the poset to a valid state. More...
 
void delete_member (const scoped_index &xmbr_id)
 Delete the member with id xmbr_id. Warning: this routine does not delete links; it will leave any links to this member dangling. Use abstract_poset_member::delete_state unless you know what you are doing. More...
 
bool has_standard_member_ct () const
 True if poset is in its initial state, that is, it contains just the standard members. More...
 
index_iterator member_iterator () const
 
bool contains_member (const scoped_index &xmbr_id, bool xauto_access=true) const
 True if some version of this poset contains poset member with id xmbr_id. More...
 
bool contains_member (const scoped_index &xmbr_id, int xversion, bool xauto_access=true) const
 True if version xversion of this poset contains poset member with id xmbr_id. More...
 
virtual bool contains_member (const std::string &xname, bool xauto_access=true) const
 True if this poset contains a member with name xname. More...
 
bool contains_member (const abstract_poset_member *xmbr, bool xauto_access=true) const
 True if this poset contains xmbr. More...
 
bool contains_members (const scoped_index *xmbrs, int xmbrs_ct, bool xauto_access=true) const
 True if this poset contains poset member(s) with indices in xmbrs. More...
 
bool contains_members (pod_index_type *xmbrs, int xmbrs_ct, bool xauto_access=true) const
 True if this poset contains poset member(s) with indices in xmbrs. More...
 
bool contains_members (const std::string *xnames, int xnames_ct, bool xauto_access=true) const
 True if this poset contains poset member(s) with names in xnames. More...
 
bool contains_members (const block< pod_index_type > &p, bool xauto_access=true) const
 True if this poset contains poset members with indices in p. More...
 
bool contains_members (const block< scoped_index > &p, bool xauto_access=true) const
 True if this poset contains poset members with indices in p. More...
 
bool contains_members (const block< std::string > &p, bool xauto_access=true) const
 True if this poset contains poset members with names in p. More...
 
bool is_empty () const
 True if this poset is empty. More...
 
bool is_jim (const scoped_index &xmbr_id, bool xin_current_version=true) const
 True if the member with id xmbr_id is a jim in the current version (xin_current_version == true) or in some version (xin_current_version == false). More...
 
bool is_jim (const std::string &xname, bool xin_current_version=true) const
 True if the member with name xname is a jim in the current version (xin_current_version == true) or in some version (xin_current_version == false). More...
 
bool is_atom (const scoped_index &xmbr_id) const
 True if the member with id xmbr_id covers the bottom. More...
 
abstract_poset_membertop ()
 The top member of the poset (mutable version) More...
 
const abstract_poset_membertop () const
 The top member of the poset (const version) More...
 
abstract_poset_memberbottom ()
 The bottom member of the poset (mutable version) More...
 
const abstract_poset_memberbottom () const
 The bottom member of the poset (const version) More...
 
virtual size_type subposet_ct () const
 The number of subposets of this poset. More...
 
virtual int standard_subposet_ct () const
 The number of standard subposets automatically allocated by the constructor. More...
 
bool has_standard_subposet_ct () const
 True if poset is in its initial state, that is, it contains just the standard subposets. More...
 
virtual scoped_index subposet_index_ub () const
 The upper bound on the subposet index;. More...
 
virtual pod_index_type subposet_id (const std::string &xname) const
 The hub id of the subposet with name xname. More...
 
virtual void subposet_id (const std::string &xname, scoped_index &result) const
 The id of the subposet with name xname. More...
 
virtual index_space_iteratorget_subposet_id_space_iterator () const
 Allocates an id space iterator over the subposet ids from the iterator pool. More...
 
virtual void release_subposet_id_space_iterator (index_space_iterator &xitr) const
 Returns the id space iterator xitr to the subposet iterator pool. More...
 
virtual bool includes_subposet (pod_index_type xsubposet_hub_id, bool xauto_access=true) const
 True if this poset includes subposet with hub id xsubposet_hub_id. More...
 
bool includes_subposet (const scoped_index &xsubposet_id, bool xauto_access=true) const
 True if this poset includes subposet with id xsubposet_id. More...
 
bool includes_subposet (const std::string &xname, bool xauto_access=true) const
 True if this poset includes subposet with name xname. More...
 
bool includes_subposet (const subposet *xs, bool xauto_access=true) const
 True if this poset includes xs. More...
 
bool includes_subposets (const block< pod_index_type > &xhub_ids, bool xauto_access=true) const
 True if this poset includes subposets with hub ids xhub_ids. More...
 
bool includes_subposets (const block< scoped_index > &xids, bool xauto_access=true) const
 True if this poset includes subposets with ids xids. More...
 
virtual pod_index_type new_subposet (bool xinitialize=true)
 Creates a new subposet. If xinitialize, make the subposet empty,. More...
 
void new_subposet (bool xinitialize, scoped_index &result)
 Creates a new subposet. If xinitialize, make the subposet empty,. More...
 
virtual void new_subposet (const block< scoped_index > &xmembers, scoped_index &result)
 Creates a new subposet. Set the membership to the members with indices in xmambers. More...
 
void delete_subposet (const scoped_index &xsubposet_id)
 Deletes the subposet with id xsubposet_id. More...
 
virtual const subposetwhole () const
 The "improper" subset containing all members of this poset. More...
 
virtual subposetjims ()
 The subset of all jims (mutable version) More...
 
virtual const subposetjims () const
 The subset of all jims (const version) More...
 
subposettable_dof_subposet ()
 The table dof subposet when this poset is used as a schema (mutable version). More...
 
const subposettable_dof_subposet () const
 The table dof subposet when this poset is used as a schema (const version). More...
 
subposetrow_dof_subposet ()
 The row dof subposet when this poset is used as a schema (mutable version). More...
 
const subposetrow_dof_subposet () const
 The row dof subposet when this poset is used as a schema (const version). More...
 
void version_index (int xversion, scoped_index &result) const
 The subposet id of the whole() subposet for version xversion. More...
 
void version_jims_index (int xversion, scoped_index &result) const
 The subposet id of the jims() subposet for version xversion. More...
 
bool has_version (int xversion) const
 True if xversion is a valid version. More...
 
bool is_version () const
 True if this poset is a version. More...
 
const index_space_familymember_id_spaces (bool xauto_access) const
 Collection of member id spaces for this (const version). More...
 
index_space_familymember_id_spaces (bool xauto_access)
 Collection of member id spaces for this (mutable version). More...
 
const hub_index_space_handlemember_hub_id_space (bool xauto_access) const
 The member hub id space. More...
 
virtual const scoped_indexmember_id (bool xauto_access) const
 An id in the member hub id space; intended for copying to initialize ids to the member id space. More...
 
scoped_index member_id (pod_index_type xid, bool xauto_access) const
 An id in the member hub id space with pod xid. More...
 
virtual pod_index_type member_id (const std::string &xname, bool xauto_access) const
 The hub id of the member with name xname. More...
 
void member_id (const std::string &xname, scoped_index &result, bool xauto_access) const
 The index of the member with name xname. More...
 
void new_link (const scoped_index &xgreater, const scoped_index &xlesser)
 Insert a cover link from greater to lesser (that is, id xgreater covers id xlesser). WARNING: this routine does not ensure that the link is a cover link, that is, it does not remove redundant or conflicting links. Improper use of this routine can produce inconsistent poset states. More...
 
void delete_link (const scoped_index &xgreater, const scoped_index &xlesser)
 Delete the cover link between id xgreater and id xlesser. More...
 
virtual bool contains_link (pod_index_type xgreater, pod_index_type xlesser) const
 True if there is a cover link between hub id xgreater and hub id xlesser. More...
 
bool contains_link (const scoped_index &xgreater, const scoped_index &xlesser) const
 True if there is a cover link between id xgreater and id xlesser. More...
 
pod_index_type cover_id_space_id (bool xlower, pod_index_type xmbr_hub_id) const
 The id for the lower (xlower true) or upper (xlower false) cover id space of the member with hub id xmbr_hub_id. More...
 
pod_index_type cover_id_space_id (bool xlower, const scoped_index &xmbr_id) const
 The id for the lower (xlower true) or upper (xlower false) cover id space of the member with id xmbr_id. More...
 
index_space_handleget_cover_id_space (bool xlower, pod_index_type xmbr_hub_id) const
 Allocates a handle for the lower (xlower true) or upper (xlower false) cover id space of the member with hub id xmbr_hub_id from the pool of id spaces. More...
 
index_space_handleget_cover_id_space (bool xlower, const scoped_index &xmbr_id) const
 Allocates a handle for the lower (xlower true) or upper (xlower false) cover id space of the member with id xmbr_id from the pool of id spaces. More...
 
template<typename handle_type >
handle_type & get_cover_id_space (bool xlower, pod_index_type xmbr_index) const
 Allocates an handle of type handle_type for the lower (xlower true) or upper (xlower false) cover of member with index xmbr_index from the pool of id spaces. More...
 
template<typename handle_type >
bool cover_id_space_handle_conforms_to (bool xlower, pod_index_type xmbr_index) const
 True if a handle for the lower (xlower true) or upper (xlower false) cover id space of the member with hub id xmbr_index conforms to a handle of type handle_type. More...
 
void release_cover_id_space (index_space_handle &xcover_id_space) const
 Returns xcover_id_space to the pool of id spaces. More...
 
index_space_iteratorget_cover_id_space_iterator (bool xlower, pod_index_type xmbr_hub_id) const
 Allocates an iterator for the lower (xlower true) or upper (xlower false) cover id space of the member with hub id xmbr_hub_id from the pool of id space iterators. More...
 
index_space_iteratorget_cover_id_space_iterator (bool xlower, const scoped_index &xmbr_id) const
 Allocates an iterator for the lower (xlower true) or upper (xlower false) cover id space of the member with id xmbr_id from the pool of id space iterators. More...
 
void release_cover_id_space_iterator (index_space_iterator &xcover_itr) const
 Returns xcover_itr to the pool of id space iterators. More...
 
bool cover_contains_iterator (bool xlower, pod_index_type xmbr_hub_id, const index_space_iterator &xitr) const
 True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id is the domain of iterator xitr. More...
 
bool cover_contains_iterator (bool xlower, const scoped_index &xmbr_id, const index_space_iterator &xitr) const
 True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id is the domain of iterator xitr. More...
 
bool cover_is_empty (bool xlower, pod_index_type xmbr_hub_id) const
 True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id is empty. More...
 
bool cover_is_empty (bool xlower, const scoped_index &xmbr_id) const
 True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id is empty. More...
 
bool cover_is_singleton (bool xlower, pod_index_type xmbr_hub_id) const
 True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id contains exactly one member. More...
 
bool cover_is_singleton (bool xlower, const scoped_index &xmbr_id) const
 True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id contains exactly one member. More...
 
virtual size_type cover_ct (bool xlower, pod_index_type xmbr_hub_id) const
 The number of members in the lower cover (xlower true) or upper cover (xlower false) of the member with hub id xmbr_hub_id. More...
 
size_type cover_ct (bool xlower, const scoped_index &xmbr_id) const
 The number of members in the lower cover (xlower true) or upper cover (xlower false) of the member with id xmbr_id. More...
 
bool cover_contains_member (bool xlower, pod_index_type xmbr_hub_id, pod_index_type xother_mbr_hub_id) const
 True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id contains member with hub id xother_mbr_hub_id. More...
 
bool cover_contains_member (bool xlower, const scoped_index &xmbr_id, const scoped_index &xother_mbr_id) const
 True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id contains member with id xother_mbr_id. More...
 
bool cover_is_equal (bool xlower, pod_index_type xmbr_hub_id, pod_index_type xother_mbr_hub_id) const
 True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id contains the same members as the lower or upper cover set, respectively, of the member with hub id xother_mbr_hub_id. More...
 
bool cover_is_equal (bool xlower, const scoped_index &xmbr_id, const scoped_index &xother_mbr_id) const
 True if and only if the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id contains the same members as the lower or upper cover set, respectively, of the member with id xother_mbr_id. More...
 
pod_index_type first_cover_member (bool xlower, pod_index_type xmbr_hub_id) const
 Hub id of the first member of the lower (xlower true) or upper (xlower false) cover of the member with hub id xmbr_hub_id. More...
 
void first_cover_member (bool xlower, const scoped_index &xmbr_id, scoped_index &result) const
 Id of the first member of the lower (xlower true) or upper (xlower false) cover of the member with id xmbr_id. More...
 
void insert_cover_member (pod_index_type xother_mbr_hub_id, bool xlower, pod_index_type xmbr_hub_id)
 Inserts hub id xother_mbr_hub id in the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id. More...
 
void insert_cover_member (const scoped_index &xother_mbr_id, bool xlower, const scoped_index &xmbr_id)
 Inserts id xother_mbr_id in the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id. More...
 
void insert_cover_member (pod_index_type xother_mbr_hub_id, bool xlower, pod_index_type xmbr_hub_id, index_space_iterator &xitr)
 Inserts hub id xother_mbr_hub_id in the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id, at a position just before xitr. Increments xitr to the position after the inserted entry. More...
 
void insert_cover_member (const scoped_index &xother_mbr_id, bool xlower, const scoped_index &xmbr_id, index_space_iterator &xitr)
 Inserts id xother_mbr_index in the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id, at a position just before xitr. Increments xitr to the position after the inserted entry. More...
 
void remove_cover_member (pod_index_type xother_mbr_hub_id, bool xlower, pod_index_type xmbr_hub_id)
 Removes hub id xother_mbr_hub_id from the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id. More...
 
void remove_cover_member (const scoped_index &xother_mbr_id, bool xlower, const scoped_index &xmbr_id)
 Removes id xother_mbr_id from the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id. More...
 
void remove_cover_member (index_space_iterator &xitr, bool xlower, pod_index_type xmbr_hub_id)
 Removes the current item of xitr from the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id; If xitr is at the end, forces xitr.is_done(). Otherwise, increments xitr to the next position. More...
 
void remove_cover_member (index_space_iterator &xitr, bool xlower, const scoped_index &xmbr_id)
 Removes the current item of xitr from the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id; If xitr is at the end, forces xitr.is_done(). Otherwise, increments xitr to the next position. More...
 
template<typename filter_type >
void remove_cover_members (const filter_type &xfilter, bool xlower, pod_index_type xmbr_hub_id)
 Removes all members for which functor xfilter(xmbr.index().hub_pod()) is true from the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id. More...
 
template<typename filter_type >
void remove_cover_members (const filter_type &xfilter, bool xlower, const scoped_index &xmbr_id)
 Removes all members for which functor xfilter(xmbr.index().hub_pod()) is true from the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id. More...
 
void replace_cover_member (const scoped_index &xold_other_mbr_hub_id, const scoped_index &xnew_other_mbr_hub_id, bool xlower, const scoped_index &xmbr_hub_id)
 Replaces hub id xold_other_mbr_hub_id with hub id xnew_other_mbr_hub_id in the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id. More...
 
void replace_cover_member (pod_index_type xold_other_mbr_id, pod_index_type xnew_other_mbr_id, bool xlower, pod_index_type xmbr_id)
 Replaces id xold_other_mbr_id with id xnew_other_mbr_id in the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id. More...
 
void clear_cover (bool xlower, pod_index_type xmbr_hub_id)
 Clears the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id. More...
 
void clear_cover (bool xlower, const scoped_index &xmbr_id)
 Clears the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id. More...
 
void copy_cover (bool xlower, pod_index_type xmbr_hub_id, pod_index_type xother_mbr_hub_id)
 Copies the lower (xlower true) or upper (xlower false) cover set of the member with hub id xmbr_hub_id to the member with hub id xother_mbr_hub_id. More...
 
void copy_cover (bool xlower, const scoped_index &xmbr_id, const scoped_index &xother_mbr_id)
 Copies the lower (xlower true) or upper (xlower false) cover set of the member with id xmbr_id to the member with id xother_mbr_id. More...
 
void append_upper_cover_of_bottom (pod_index_type xmbr_hub_begin, pod_index_type xmbr_hub_end)
 Appends the interval of hub ids [xmbr_hub_begin, xmbr_hub_end) to the upper cover of bottom. This function is intended to use by block members that store there vertices in a gathered id space. More...
 
void append_upper_cover_of_bottom (const scoped_index &xmbr_begin, const scoped_index &xmbr_end)
 Appends the interval of ids [xbegin, xend) to the upper cover of bottom. This function is intended to use by block members that store there vertices in a gathered id space. More...
 
virtual bool table_dof_map_conforms (const poset_dof_map *xdof_map) const
 True if xdof_map conforms to (is derived from) the type of table dof map required by this poset state and handle. More...
 
virtual bool row_dof_map_conforms (const poset_dof_map *xdof_map) const
 True if xdof_map conforms to (is derived from) the type of row dof map required by this poset state and handle. More...
 
virtual array_poset_dof_maptable_dof_map (bool xrequire_write_access=false)
 The map from table dof client_ids to table dof values for this poset (mutable version) More...
 
virtual const array_poset_dof_maptable_dof_map (bool xrequire_write_access=false) const
 The map from table dof client_ids to table dof values for this poset (const version) More...
 
void table_dof_tuple (void *xbuf, size_t xbuflen) const
 OBSOLETE: use table_dofs(). Copies the entire table dof tuple from internal storage to xbuf. More...
 
void * table_dofs ()
 The table dofs for this instance (mutable version). More...
 
const void * table_dofs () const
 The table dofs for this instance (const version). More...
 
void * table_dofs (bool xauto_access)
 The table dofs for this instance (mutable auto-access version). More...
 
const void * table_dofs (bool xauto_access) const
 The table dofs for this instance (const auto-access version). More...
 
virtual bool le (pod_index_type xgreater, pod_index_type xlesser) const
 True if hub id xlesser is less than or equal to hub id xgreater. More...
 
bool le (const scoped_index &xgreater, const scoped_index &xlesser) const
 True if id xlesser is less than or equal to id xgreater. More...
 
virtual bool leqv (pod_index_type xgreater, pod_index_type xlesser) const
 True if hub id xlesser is less than or equivalent to hub id xgreater. More...
 
bool leqv (const scoped_index &xgreater, const scoped_index &xlesser) const
 True if id xlesser is less than or equivalent to id xgreater. More...
 
virtual bool is_jem (pod_index_type xmbr_hub_id, pod_index_type xother_hub_id) const
 True if hub id xother_hub_id is join equivalent to hub id xmbr_hub_id. More...
 
bool is_jem (const scoped_index &xmbr_id, const scoped_index &xother_id) const
 True if id xother_id is join equivalent to id xmbr_id. More...
 
virtual pod_index_type greatest_jem (pod_index_type xmbr_hub_id) const
 The hub id of the largest member which is join-equivalent to hub id xmbr_hub_id. More...
 
void greatest_jem (const scoped_index &xmbr_id, scoped_index &result) const
 The id of the largest member which is join-equivalent to id xmbr_id. More...
 
virtual pod_index_type least_jem (pod_index_type xmbr_hub_id) const
 The hub id of the smallest member which is join-equivalent to hub id xmbr_hub_id. More...
 
void least_jem (const scoped_index &xmbr_id, scoped_index &result) const
 The id of the smallest member which is join-equivalent to id xmbr_id. More...
 
void link_greatest_jem (pod_index_type xjem1, pod_index_type xjem2)
 Makes hub id xjem1 the greatest jem of hub id xjem2, unless the current greatest jem of xjem2 is top, in which case it makes top the greatest jem of xjem1. More...
 
void link_greatest_jem (const scoped_index &xjem1, const scoped_index &xjem2)
 Makes id xjem1 the greatest jem of id xjem2, unless the current greatest jem of xjem2 is top, in which case it makes top the greatest jem of xjem1. More...
 
void link_least_jem (pod_index_type xjem1, pod_index_type xjem2)
 Makes hub id xjem1 the least jem of hub id xjem2, unless the current least jem of xjem2 is bottom, in which case it makes bottom the least jem of xjem1. More...
 
void link_least_jem (const scoped_index &xjem1, const scoped_index &xjem2)
 Makes id xjem1 the least jem of id xjem2, unless the current least jem of xjem2 is bottom, in which case it makes bottom the least jem of xjem1. More...
 
virtual void merge_jems (pod_index_type xjem1, pod_index_type xjem2)
 Merge the join-equivalence class of hub id xjem2 under that of hub id xjem1. More...
 
void merge_jems (const scoped_index &xjem1, const scoped_index &xjem2)
 Merge the join-equivalence class of id xjem2 under that of id xjem1. More...
 
virtual std::string subposet_name (pod_index_type xsubposet_hub_id, bool xauto_access=false) const
 A name for the subposet with hub id xsubposet_hub_id. More...
 
std::string subposet_name (const scoped_index &xsubposet_id, bool xauto_access=false) const
 A name for the subposet with id xsubposet_id. More...
 
void all_subposet_names (pod_index_type xsubposet_hub_id, block< std::string > &xresult, bool xauto_access=false) const
 All the names for the subposet with hub id xsubposet_hub_id. More...
 
void all_subposet_names (const scoped_index &xsubposet_id, block< std::string > &xresult, bool xauto_access=false) const
 All the names for the subposet with id xsubposet_id. More...
 
size_type subposet_name_ct (pod_index_type xsubposet_hub_id, bool xauto_access) const
 The number of names for the subposet with hub id xsubposet_hub_id. More...
 
size_type subposet_name_ct (const scoped_index &xsubposet_id, bool xauto_access) const
 The number of names for the subposet with id xsubposet_id. More...
 
bool subposet_has_name (pod_index_type xsubposet_hub_id, const std::string &xname, bool xauto_access=false) const
 True if xname is a name for the subposet with hub id xsubposet_hub_id. More...
 
bool subposet_has_name (const scoped_index &xsubposet_id, const std::string &xname, bool xauto_access=false) const
 True if xname is a name for the subposet with id xsubposet_id. More...
 
virtual void put_subposet_name (pod_index_type xsubposet_hub_id, const std::string &xname, bool xunique, bool xauto_access)
 Make xname a name for the subposet with hub id xsubposet_hub_id; if xunique, make xname the only name. More...
 
void put_subposet_name (const scoped_index &xsubposet_id, const std::string &xname, bool xunique, bool xauto_access)
 Make xname a name for the subposet with id xsubposet_id; if xunique, make xname the only name. More...
 
void delete_subposet_name (const std::string &xname, bool xauto_access=false)
 Make xname not a name for any subposet. More...
 
void delete_all_subposet_names (pod_index_type xsubposet_hub_id, bool xauto_access=false)
 Delete all names for the subposet with hub id xsubposet_hub_id;. More...
 
void delete_all_subposet_names (const scoped_index &xsubposet_id, bool xauto_access=false)
 Delete all names for the subposet with id xsubposet_id;. More...
 
const index_space_familysubposet_id_spaces (bool xauto_access) const
 Collection of subposet id spaces for this (const version). More...
 
index_space_familysubposet_id_spaces (bool xauto_access)
 Collection of subposet id spaces for this (mutable version). More...
 
const hub_index_space_handlesubposet_hub_id_space (bool xauto_access) const
 The subposet hub id space. More...
 
virtual const scoped_indexsubposet_id (bool xauto_access) const
 An id in the subposet hub id space; intended for copying to initialize ids to the subposet id space. More...
 
scoped_index subposet_id (pod_index_type xid, bool xauto_access) const
 An id in the subposet hub id space with pod xid. More...
 
virtual poset_dof_maprow_dof_map (pod_index_type xtuple_hub_id, bool xrequire_write_access=false) const
 The map from row dof client_ids to row dof values for dof tuple hub id xtuple_hub_id. More...
 
poset_dof_maprow_dof_map (const scoped_index &xtuple_id, bool xrequire_write_access=false) const
 The map from row dof client_ids to row dof values for dof tuple id xtuple_id. More...
 
virtual const scoped_indexnew_row_dof_map ()
 Creates a new row dof map. More...
 
virtual const scoped_indexclone_row_dof_map (const poset_dof_map &xprototype)
 Creates a new row dof map which is a clone of xprototype. More...
 
poset_dof_mapmember_dof_map (pod_index_type xmbr_hub_id, bool xrequire_write_access=false)
 The dof map associated with the member identified by hub id xmbr_hub_id (mutable version). More...
 
poset_dof_mapmember_dof_map (const scoped_index &xmbr_id, bool xrequire_write_access=false)
 The dof map associated with the member identified by xmbr_index (mutable version). More...
 
const poset_dof_mapmember_dof_map (pod_index_type xmbr_hub_id, bool xrequire_write_access=false) const
 The dof map associated with the member identified by hub id xmbr_hub_id (const version). More...
 
const poset_dof_mapmember_dof_map (const scoped_index &xmbr_id, bool xrequire_write_access=false) const
 The dof map associated with the member identified by xmbr_index (const version). More...
 
void member_dof_tuple (pod_index_type xmbr_hub_id, void *xbuf, size_t xbuf_len, bool xauto_access) const
 Copies the dof tuple of the member with hub id xmbr_hub_id into the buffer xbuf of length xbuf_len bytes. More...
 
void put_member_dof_tuple (pod_index_type xmbr_hub_id, void *xbuf, size_t xbuf_len, bool xauto_access)
 Copies the contents of the buffer xbuf of len xbuf_len into the dof tuple of the member with hub id xmbr_hub_id. More...
 
pod_index_type member_dof_tuple_id (pod_index_type xmbr_hub_id, bool xauto_access) const
 The dof tuple hub id of the member with hub id xmbr_hub_id. More...
 
void member_dof_tuple_id (const scoped_index &xmbr_id, scoped_index &result, bool xauto_access) const
 The dof tuple index of the member with id xmbr_id. More...
 
void put_member_dof_tuple_id (pod_index_type xmbr_hub_id, pod_index_type xtuple_hub_id, bool xauto_access)
 Sets the dof tuple hub id of the member with hub id xmbr_hub_id to xtuple_hub_id. More...
 
void put_member_dof_tuple_id (const scoped_index &xmbr_id, const scoped_index &xtuple_id, bool xauto_access)
 Sets the dof tuple id of the member with id xmbr_id to xtuple_id. More...
 
bool contains_row_dof_tuple (pod_index_type xtuple_hub_id) const
 True if this contains a tuple with hub id xtuple_hub_id. More...
 
bool contains_row_dof_tuple (const scoped_index &xtuple_id) const
 True if this contains a tuple with id xtuple_id. More...
 
size_type row_dof_tuple_ct () const
 The number of row_dof_tuples of this poset. More...
 
int standard_row_dof_tuple_ct () const
 The number of standard row_dof_tuples automatically allocated by the constructor. More...
 
bool has_standard_row_dof_tuple_ct () const
 True if poset is in its initial state, that is, it contains just the standard row_dof_tuples. More...
 
const index_space_familydof_tuple_id_spaces (bool xauto_access) const
 Collection of dof tuple id spaces for this (const version). More...
 
index_space_familydof_tuple_id_spaces (bool xauto_access)
 Collection of dof tuple id spaces for this (mutable version). More...
 
const hub_index_space_handledof_tuple_hub_id_space (bool xauto_access) const
 The dof tuple hub id space. More...
 
virtual const scoped_indexdof_tuple_id (bool xauto_access) const
 An id in the dof tuple hub id space; intended for copying to initialize ids to the dof tuple id space. More...
 
scoped_index dof_tuple_id (pod_index_type xid, bool xauto_access) const
 An id in the dof tuple hub id space with pod xid. More...
 
virtual schema_poset_membernew_schema_handle (const std::string &xid_space_name, pod_index_type xschema_member_ext_id, pod_index_type xbase_space_ext_id, pod_index_type xfiber_schema_ext_id, pod_index_type xlocal_schema_ext_id)
 Creates a member handle of the type appropriate for members of this when used as a schema. Intended for use only by the i/o subsystem. /. More...
 
index_iteratorbound_iterator (const poset_bounds &xbnd_id, bool xis_ub) const
 An iterator for the upper bound (xis_ub == true) or the lower bound (xis_ub == false) for xbounds. More...
 
bool bound_contains_member (const poset_bounds &xbounds, bool xis_ub, const scoped_index &xindex) const
 True if the upper bound id (xis_ub == true) or the lower bound (xis_ub == false) of xbounds contains the member specified by xindex. More...
 
pod_index_type get_int_id (pod_index_type xext_id, const std::string &xid_space_name, bool xauto_access) const
 Translates xext_id to an internal id using the equivalence map with name xid_space_name. More...
 
bool is_valid_int_id (const scoped_index &xint_id, const std::string &xid_space_name, bool xauto_access) const
 True if xint_id can be translated to an external id using the equivalence map with name xid_space_name. More...
 
pod_index_type get_ext_id (const scoped_index &xint_id, const std::string &xid_space_name, bool xauto_access) const
 Translates xint_id to an external id using the equivalence map with name xid_space_name. More...
 
void to_stream (std::ostream &xos=std::cout)
 Write instance information to an ostream (default = stdout). More...
 
std::string to_string ()
 Get instance information as a string. More...
 
- Public Member Functions inherited from sheaf::read_write_monitor_handle
virtual ~read_write_monitor_handle ()
 Descturctor. More...
 
bool state_is_read_only_accessible () const
 True if this is attached and the state is accessible for read access but not for write. More...
 
bool state_is_not_read_only_accessible () const
 True if this is attached and the state is not accessible for read only access. More...
 
bool state_is_read_accessible () const
 True if this is attached and if the state is accessible for read or access control is disabled. More...
 
bool state_is_not_read_accessible () const
 True if this is attached and if the state is accessible for read or if access control is disabled. More...
 
bool state_is_auto_read_accessible (bool xauto_access) const
 True if the state is auto accessible for read, that is, if the state is already accessible for read or if this is attached and xuto_access is true. More...
 
bool state_is_read_write_accessible () const
 True if this is attached and if the state is accessible for read and write or access control is disabled. More...
 
bool state_is_not_read_write_accessible () const
 True if state is attached and if not accessible for read and write or access control is disabled. More...
 
bool state_is_auto_read_write_accessible (bool xauto_access) const
 True if state is auto accessible for read and write, that is, if the state is already accessible for read and write or if this is attached and xuto_access is true. or if this is attached and access control is disabled. More...
 
int access_request_depth () const
 The number of times access has been requested and granted without being released. More...
 
bool state_is_mode_locked () const
 Obsolete. More...
 
int mode_lock_ct () const
 Obsolete. More...
 
void get_mode_lock () const
 Obsolete. More...
 
void release_mode_lock ()
 Obsolete. More...
 
bool state_is_modified () const
 True if write access has been granted and released since the last call to clear_state_is_modified(). More...
 
void clear_state_is_modified ()
 Sets the state_is_modified floag to false. More...
 
- Public Member Functions inherited from sheaf::any
bool is_same_type (const any *other) const
 True if other is the same type as this. More...
 
virtual ~any ()
 Destructor. More...
 
bool invariant_check () const
 True if invariant checking is enabled. More...
 
void enable_invariant_check () const
 Enable invariant checking. More...
 
void disable_invariant_check () const
 Disable invariant check. Intended for preventing recursive calls to invariant and for suppressing invariant checking during multi-phase initialization. More...
 
int disable_invariance_check_request_depth () const
 Number of times disable_invariant_check has been called without matching call to enable_invariant_check. More...
 
- Static Public Member Functions inherited from sheaf::poset
static posetnew_table (namespace_type &xhost, const poset_path &xpath, const poset_path &xschema_path, bool xauto_access)
 Creates a new poset in namespace xns with path xpath and schema specified by xschema_path. More...
 
- Static Public Member Functions inherited from sheaf::poset_state_handle
static const std::string & coarsest_common_refinement_name ()
 The name of the coarsest common refinement subposet. 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 Types inherited from sheaf::poset_state_handle
typedef poset_crg_state::member_name_map_type member_name_map_type
 The type of the member name map. More...
 
- Protected Member Functions inherited from sheaf::poset
 poset ()
 Default constructor; creates a new poset handle not attached to any state. More...
 
virtual ~poset ()
 Destructor. More...
 
 poset (abstract_poset_member *xtop, abstract_poset_member *xbottom)
 Covariant constructor. More...
 
 poset (const poset &xother)
 Copy constructor; disabled. More...
 
posetoperator= (const poset_state_handle &xother)
 Assignment operator; disabled. More...
 
virtual void new_state (const poset_path &xpath, const schema_poset_member &xschema, array_poset_dof_map &xdof_map)
 Creates a new poset state with path xpath, schema xschema and table dof map xdof_map, attaches this to the state. More...
 
- Protected Member Functions inherited from sheaf::poset_state_handle
member_name_map_typemember_name_map (bool xrequire_write_access=false)
 The bidirectional map between member indices and names. More...
 
virtual poset_statestate_obj () const
 State object for this poset. More...
 
void attach_to_state (const poset_state_handle *xother)
 Attach this handle to the same state as xother. More...
 
virtual void attach_to_state (const namespace_poset *xhost, pod_index_type xindex)
 Attach this handle to the state associated with the member with index xindex in name space xhost. More...
 
void attach_to_state (const namespace_poset *xhost, const scoped_index &xindex)
 Attach this handle to the state associated with the member with index xindex in name space xhost. More...
 
virtual void attach_to_state (const namespace_poset *xhost, const std::string &xname)
 Attach this handle to the state associated with the member with name xname in name space xhost. More...
 
virtual void attach_to_state (const abstract_poset_member *xmbr)
 Attach this handle to the state with associated with namespace member xmbr. More...
 
virtual void detach_from_state ()
 Detach this handle from its state. More...
 
void new_state (namespace_poset &xns, const poset_path &xpath, const schema_poset_member &xschema, array_poset_dof_map &xdof_map)
 Creates a new poset state with schema xschema and table dof map xdof_map, attaches this to the state and creates and initializes the associated namespace member. Intended for use by new_table factory methods. More...
 
void ensure_lattice_invariant ()
 Restores the lattice invariant after editing jims. More...
 
virtual void initialize_namespace (namespace_poset &xns, const std::string &xposet_name, bool xauto_link=true)
 Installs this as a member of xns. If xauto_link, automatically links the member into an appropriate group. More...
 
poset_crg_statecrg () const
 The cover relation graph. More...
 
void put_standard_member_ct (int xct)
 Sets the number of standard members automatically allocated by the constructor. More...
 
void put_standard_row_dof_tuple_ct (int xct)
 Sets the number of standard row dof tuples automatically allocated by the constructor. More...
 
bool index_in_bounds (const scoped_index &xmbr_id) const
 True if 0 <= xmbr_id < state_obj()->member_index_ub(). More...
 
bool index_in_bounds (const block< scoped_index > &indices) const
 True if for all i: 0 <= indices[i] < state_obj()->member_index_ub(). More...
 
virtual void new_member (pod_index_type xmbr_hub_id, bool xis_jim, const scoped_index &xdof_tuple_id)
 Create a disconnected member with hub id xmbr_hub_id, is_jim == xis_jim and the dof tuple identified by xdof_tuple_id. WARNING: this routine leaves a disconnected member in the poset and hence leaves the poset in an invalid state. The client must properly link the member created by this routine using new_link in order to return the poset to a valid state. More...
 
void new_member (pod_index_type xmbr_hub_id, bool xis_jim, poset_dof_map *xdof_map, bool xcopy_dof_map)
 Create a disconnected member with hub id xmbr_hub_id and is_jim == xis_jim. If xdof_map != 0, the new member uses it for dof storage, otherwise it creates an instance of array_poset_dof_map. WARNING: this routine leaves a disconnected member in the poset and hence leaves the poset in an invalid state. The client must properly link the member created by this routine using new_link in order to return the poset to a valid state. More...
 
virtual pod_index_type new_member_interval (const std::string &xinterval_type, size_type xsize)
 Create a disconnected member interval of type xinterval_type with size xsize. More...
 
virtual void new_member_interval (pod_index_type xmbr_hub_id, const std::string &xinterval_type, size_type xsize)
 Create a disconnected member interval beginning at hub id xmbr_hub_id, of type xinterval_type, and with size xsize. More...
 
virtual subposetresident ()
 The subset of all members with resident (in memory) dof tuples (mutable version). More...
 
virtual const subposetresident () const
 The subset of all members with resident (in memory) dof tuples (const version). More...
 
poset_powerset_statepowerset () const
 The set of subposets of this poset. More...
 
virtual void initialize_standard_subposets (const std::string &xname)
 Creates the subposets common to every poset (e.g. whole() and jims()). More...
 
void put_standard_subposet_ct (int xct)
 Sets the number of standard subposets automatically allocated by the constructor. More...
 
 poset_state_handle ()
 Default constructor. More...
 
virtual ~poset_state_handle ()
 Destructor. More...
 
 poset_state_handle (abstract_poset_member *xtop, abstract_poset_member *xbottom)
 Covariant constructor. More...
 
 poset_state_handle (const poset_state_handle &xother)
 Copy constructor; disabled. More...
 
poset_state_handleoperator= (const poset_state_handle &xother)
 Assignment operator; disabled. More...
 
bool is_version_name (const std::string &xname) const
 True if xname has the proper form for a version name. More...
 
std::string version_to_name (int xversion) const
 Creates the standard name for the level xversion whole subposet. More...
 
int version_from_name (const std::string &xname) const
 Extracts the version from the standard name. More...
 
void put_version (int xversion)
 Set the current level to xversion. More...
 
void update_standard_member_id_spaces ()
 Update the initially allocated id spaces. More...
 
void clear_member_id_spaces (bool xauto_access)
 Deletes all non-standard id spaces. More...
 
pod_index_type new_term (size_type xct, bool xauto_access)
 Creates a new term in the member hub id space with xct number of ids. Returns the index of the id space state created. More...
 
void extend_last_member_term (size_type xct, bool xauto_access)
 Extends the last term of the member hub id space to ct == xct. More...
 
void transfer_cover (pod_index_type xsrc, pod_index_type xdst, bool lower)
 Transfers the lower cover (lower == true) or the upper cover (lower == false) from the member with hub id xsrc to the member with hub id xdst. More...
 
poset_table_statetable () const
 The table of dof tuples of this poset. More...
 
void initialize_table_dofs (void *xtable_dofs, size_t xtable_dof_ub)
 Initializes the table dofs ("class variables") More...
 
void initialize_table_dof_tuple (array_poset_dof_map *xdof_tuple)
 Installs xdof_tuple as the table dof tuple. More...
 
void initialize_dof_id_space (subposet &xdof_subposet)
 Initialize the id space for the dof subposet, xdof_subposet. 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 sheaf::poset_state_handle
static poset_state_handlenew_poset_handle (const std::string &xclass_name, poset_type xsheaf_base_class_id)
 Creates an unattached handle of type xclass_name, if a prototype of that name exists, otherwise of type xsheaf_base_class_id. More...
 
static poset_handle_factoryfactory ()
 The poset handle factory. More...
 
static const std::string & VERSION_PREFIX ()
 The prefix which begins the name of every version subposet. More...
 
static int VERSION_PREFIX_LENGTH ()
 The length of _version_prefix. More...
 
- Protected Attributes inherited from sheaf::poset_state_handle
poset_state_state
 State object for this poset. More...
 
namespace_poset_name_space
 The namespace this poset resides in. More...
 
scoped_index _index
 The member index of this poset in the namespace. More...
 
abstract_poset_member_top
 Top member of poset. More...
 
abstract_poset_member_bottom
 Bottom members of poset. More...
 
subposet _resident
 The subposet of members with resident dof tuples. More...
 

Detailed Description

An abstract schema poset for a section space. A Cartesian product subspace of the tensor product of a base space lattice, a fiber schema lattice, and possibly a local schema lattice.

An abstract schema poset for a section space.

Definition at line 80 of file section_space_schema_poset.h.

Member Typedef Documentation

◆ member_type [1/2]

The type of member associated with this space.

Definition at line 87 of file section_space_schema_poset_2.h.

◆ member_type [2/2]

The type of member associated with this space.

Definition at line 101 of file section_space_schema_poset.h.

◆ namespace_type

The type of namespace for this type of member.

Definition at line 96 of file section_space_schema_poset.h.

◆ table_dofs_type [1/2]

The table dofs type defined by the standard schema.

Definition at line 92 of file section_space_schema_poset_2.h.

◆ table_dofs_type [2/2]

The table dofs type defined by the standard schema.

Definition at line 106 of file section_space_schema_poset.h.

Constructor & Destructor Documentation

◆ section_space_schema_poset() [1/3]

fiber_bundle::section_space_schema_poset::section_space_schema_poset ( )
inlineprotected

Default constructor; disabled.

Definition at line 348 of file section_space_schema_poset.h.

Referenced by contains_range_member(), and ~section_space_schema_poset().

◆ ~section_space_schema_poset() [1/2]

fiber_bundle::section_space_schema_poset::~section_space_schema_poset ( )
protectedvirtual

Destructor.

Definition at line 725 of file section_space_schema_poset.cc.

References section_space_schema_poset().

Referenced by contains_range_member(), and update_hub_id_space().

◆ section_space_schema_poset() [2/3]

fiber_bundle::section_space_schema_poset::section_space_schema_poset ( section_space_schema_member xtop,
section_space_schema_member xbottom 
)
protected

Covariant constructor.

Definition at line 739 of file section_space_schema_poset.cc.

References _base_space, _fiber_space, and type_id().

◆ ~section_space_schema_poset() [2/2]

virtual fiber_bundle::section_space_schema_poset::~section_space_schema_poset ( )
protectedvirtual

Destructor.

◆ section_space_schema_poset() [3/3]

fiber_bundle::section_space_schema_poset::section_space_schema_poset ( section_space_schema_member xtop,
section_space_schema_member xbottom 
)
protected

Covariant constructor.

Member Function Documentation

◆ attach_handle_data_members() [1/2]

virtual void fiber_bundle::section_space_schema_poset::attach_handle_data_members ( )
protectedvirtual

Initializes the handle data members when this handle is attached to a state.

Reimplemented from sheaf::poset_state_handle.

◆ attach_handle_data_members() [2/2]

void fiber_bundle::section_space_schema_poset::attach_handle_data_members ( )
protectedvirtual

◆ base_space() [1/4]

base_space_poset& fiber_bundle::section_space_schema_poset::base_space ( )

The base space for section spaces on this schema.

◆ base_space() [2/4]

const base_space_poset& fiber_bundle::section_space_schema_poset::base_space ( ) const

The base space for section spaces on this schema, const version.

◆ base_space() [3/4]

fiber_bundle::base_space_poset & fiber_bundle::section_space_schema_poset::base_space ( )

The base space for section spaces on this schema.

Definition at line 362 of file section_space_schema_poset.cc.

Referenced by attach_handle_data_members(), fiber_bundle::binary_section_space_schema_member::attach_to_state(), fiber_bundle::section_space_schema_member::attach_to_state(), fields::base_space_map::base_space_map(), base_space_path(), fields::body_pusher::body_pusher(), fiber_bundle::binary_section_space_schema_poset::contains_link(), contains_member(), fiber_bundle::binary_section_space_schema_poset::cover_ct(), get_ext_id(), fiber_bundle::binary_section_space_schema_member::get_ext_ids(), fiber_bundle::product_section_space_schema_member::get_ext_ids(), fiber_bundle::binary_section_space_schema_poset::get_index_from_components(), fiber_bundle::binary_section_space_schema_member::get_int_id(), get_read_access(), get_read_write_access(), fiber_bundle::product_section_space_schema_crg_range::get_size(), fiber_bundle::binary_section_space_schema_poset::greatest_jem(), fiber_bundle::section_iteration_state::initialize(), fields::field_eval_iterator::initialize_coordinate_schema(), initialize_handle_data_members(), fiber_bundle::product_section_space_schema_poset::initialize_row_dof_subposet(), fiber_bundle::eval_iterator::initialize_schema_anchor(), initialize_standard_members(), fiber_bundle::binary_section_space_schema_poset::invariant(), invariant(), is_atom(), geometry::array_cylindrical_point_locator::is_dlinear_quads(), geometry::array_cylindrical_point_locator::is_dlinear_triangles(), fiber_bundle::binary_section_space_schema_poset::is_jem(), fiber_bundle::product_section_space_schema_poset::is_jim(), is_jim(), tool::vtk_unstructured_grid_builder::is_tensor(), is_valid_int_id(), fiber_bundle::binary_section_space_schema_poset::le(), fiber_bundle::binary_section_space_schema_poset::least_jem(), fiber_bundle::binary_section_space_schema_poset::leqv(), member_ct(), member_index_ub(), fiber_bundle::product_section_space_schema_poset::member_name(), fiber_bundle::sec_rep_space_member::new_jrm_state(), fiber_bundle::binary_section_space_schema_poset::new_schema_handle(), fiber_bundle::product_section_space_schema_poset::new_schema_handle(), fiber_bundle::binary_section_space_schema_poset::new_state(), fiber_bundle::product_section_space_schema_poset::new_state(), fiber_bundle::section_dof_iterator::put_anchor(), fiber_bundle::eval_iterator::put_schema_anchor(), release_access(), rep_is_valid(), standard_member_ct(), terminate_access(), geometry::db0_point_locator< DC >::update(), fiber_bundle::product_section_space_schema_poset::update_hub_id_space(), fiber_bundle::product_section_space_schema_member::update_row_cache(), fiber_bundle::product_section_space_schema_member::update_row_cache_with_disc_id_space(), fiber_bundle::product_section_space_schema_member::update_row_cache_without_disc_id_space(), version(), version_ct(), version_index(), and version_jims_index().

◆ base_space() [4/4]

const fiber_bundle::base_space_poset & fiber_bundle::section_space_schema_poset::base_space ( ) const

The base space for section spaces on this schema, const version.

Definition at line 369 of file section_space_schema_poset.cc.

References fiber_schema_member_id_ub().

◆ base_space_member_id_ub()

sheaf::pod_index_type fiber_bundle::section_space_schema_poset::base_space_member_id_ub ( ) const

The upper bound of the member id of the base space for section spaces on this schema.

Precondition

Definition at line 225 of file section_space_schema_poset.cc.

References get_base_space_id_from_index().

Referenced by rep_is_valid().

◆ base_space_path()

sheaf::poset_path fiber_bundle::section_space_schema_poset::base_space_path ( bool  xauto_access) const

The path to the base space for section spaces on this schema.

Precondition
  • state_is_auto_read_accessible(xauto_access)

Definition at line 328 of file section_space_schema_poset.cc.

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

Referenced by db(), fiber_bundle::binary_section_space_schema_member::new_host(), and fiber_bundle::binary_section_space_schema_member::standard_host().

◆ base_space_stride()

int fiber_bundle::section_space_schema_poset::base_space_stride ( ) const

The increment in the member id when the id of the base space component is increased by one.

Postcondition
  • result > 0

Definition at line 286 of file section_space_schema_poset.cc.

References db().

Referenced by get_base_space_id_from_index(), fiber_bundle::binary_section_space_schema_poset::get_index_from_components(), and initialize_standard_members().

◆ bottom() [1/4]

section_space_schema_member& fiber_bundle::section_space_schema_poset::bottom ( )

The bottom of member of the lattice (mutable version)

◆ bottom() [2/4]

const section_space_schema_member& fiber_bundle::section_space_schema_poset::bottom ( ) const

The bottom of member of the lattice (const version)

◆ bottom() [3/4]

fiber_bundle::section_space_schema_member & fiber_bundle::section_space_schema_poset::bottom ( )

◆ bottom() [4/4]

const fiber_bundle::section_space_schema_member & fiber_bundle::section_space_schema_poset::bottom ( ) const

The bottom of member of the lattice (const version)

Definition at line 1496 of file section_space_schema_poset.cc.

References sheaf::poset_state_handle::_bottom, and initialize_standard_members().

◆ class_name() [1/2]

virtual const char* fiber_bundle::section_space_schema_poset::class_name ( ) const
virtual

◆ class_name() [2/2]

const char * fiber_bundle::section_space_schema_poset::class_name ( ) const
virtual

The name of this class.

Reimplemented from sheaf::poset.

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

Definition at line 774 of file section_space_schema_poset.cc.

References get_read_access().

Referenced by initialize_table_dof_subposet(), and type_id().

◆ clone() [1/2]

virtual section_space_schema_poset* fiber_bundle::section_space_schema_poset::clone ( ) const
protectedpure virtual

Virtual constructor; creates a new handle of the same actual type as this, attached to the same state as this.

Reimplemented from sheaf::poset.

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

◆ clone() [2/2]

virtual section_space_schema_poset* fiber_bundle::section_space_schema_poset::clone ( ) const
protectedpure virtual

Virtual constructor; creates a new handle of the same actual type as this, attached to the same state as this.

Reimplemented from sheaf::poset.

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

◆ contains_member() [1/2]

bool fiber_bundle::section_space_schema_poset::contains_member ( pod_index_type  xmbr_hub_id,
bool  xauto_access = true 
) const
virtual

◆ contains_member() [2/2]

bool fiber_bundle::section_space_schema_poset::contains_member ( pod_index_type  xmbr_hub_id,
int  xversion,
bool  xauto_access = true 
) const
virtual

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

Precondition

Reimplemented from sheaf::poset_state_handle.

Definition at line 1297 of file section_space_schema_poset.cc.

References base_space(), sheaf::poset_state_handle::contains_member(), fiber_schema(), get_base_space_id_from_index(), get_fiber_schema_id_from_index(), is_jim(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

◆ contains_range_member() [1/2]

bool fiber_bundle::section_space_schema_poset::contains_range_member ( const scoped_index xbase_space_id,
const scoped_index xfiber_schema_id,
bool  xauto_access 
) const

True if this poset contains a member with base space id xbase_space_id and fiber schema id xfiber_schema_id.

Precondition
  • state_is_auto_read_accessible(xauto_access)
Postcondition
  • is_basic_query

Definition at line 520 of file section_space_schema_poset_2.cc.

References sheaf::scoped_index::hub_pod().

Referenced by fiber_bundle::section_space_schema_member::attach_to_state(), is_homogeneous(), and fiber_bundle::section_space_schema_member::update_table_dof_descriptors().

◆ contains_range_member() [2/2]

bool fiber_bundle::section_space_schema_poset::contains_range_member ( pod_index_type  xbase_space_id,
pod_index_type  xfiber_schema_id,
bool  xauto_access 
) const
pure virtual

True if this poset contains a member with base space id xbase_space_id and fiber schema id xfiber_schema_id.

Precondition
  • state_is_auto_read_accessible(xauto_access)
Is Abstract.
Postcondition
  • is_basic_query

Implemented in fiber_bundle::product_section_space_schema_poset.

Definition at line 545 of file section_space_schema_poset_2.cc.

References initialize_table_dof_subposet(), section_space_schema_poset(), update_hub_id_space(), and ~section_space_schema_poset().

◆ db() [1/2]

int fiber_bundle::section_space_schema_poset::db ( ) const

The dimension of the base space.

◆ db() [2/2]

int fiber_bundle::section_space_schema_poset::db ( ) const

The dimension of the base space.

Precondition
Postcondition
  • result >= 0

Definition at line 305 of file section_space_schema_poset.cc.

References base_space_path().

Referenced by base_space_stride(), fiber_bundle::product_section_space_schema_poset::new_state(), and rep_is_valid().

◆ delete_link()

void fiber_bundle::section_space_schema_poset::delete_link ( pod_index_type  xgreater,
pod_index_type  xlesser 
)
virtual

Delete the link with between xgreater and xlesser Redefined here only to trap attempts to delete a link, as an aid to debugging.

Todo:
implement this routine

Reimplemented from sheaf::poset_state_handle.

Definition at line 1762 of file section_space_schema_poset.cc.

References sheaf::poset_state_handle::delete_link(), and new_subposet().

Referenced by new_link().

◆ delete_member()

void fiber_bundle::section_space_schema_poset::delete_member ( pod_index_type  xmbr_hub_id)
protectedvirtual

Delete the member with hub id xmbr_hub_id. Redefined here only to trap attempts to make a new member, as an aid to debugging.

Todo:
implement this routine

Reimplemented from sheaf::poset_state_handle.

Definition at line 1705 of file section_space_schema_poset.cc.

References sheaf::poset_state_handle::delete_member(), and new_link().

Referenced by new_member().

◆ delete_subposet()

void fiber_bundle::section_space_schema_poset::delete_subposet ( pod_index_type  xsubposet_hub_id)
virtual

Deletes the subposet with hub id xsubposet_hub_id.

Todo:
implement this routine

Reimplemented from sheaf::poset_state_handle.

Definition at line 1818 of file section_space_schema_poset.cc.

References sheaf::poset_state_handle::delete_subposet(), and version_ct().

Referenced by new_subposet().

◆ df() [1/2]

int fiber_bundle::section_space_schema_poset::df ( ) const

The dimension of the fiber space.

◆ df() [2/2]

int fiber_bundle::section_space_schema_poset::df ( ) const

The dimension of the fiber space.

Precondition
Hack:
The fibers don't really have a dimension at this level of abstraction, dimesion is a vector space notion. The closest we can come is the number of columns in the representation, that is, the row dof ct.
Postcondition
  • result >= 0

Definition at line 465 of file section_space_schema_poset.cc.

References fiber_schema().

Referenced by fiber_schema_stride(), fiber_bundle::product_section_space_schema_poset::new_state(), and rep_is_valid().

◆ discretization() [1/4]

subposet& fiber_bundle::section_space_schema_poset::discretization ( )

The discretization subposet for section spaces on this schema.

◆ discretization() [2/4]

const subposet& fiber_bundle::section_space_schema_poset::discretization ( ) const

The discretization subposet for section spaces on this schema, const version.

◆ discretization() [3/4]

sheaf::subposet & fiber_bundle::section_space_schema_poset::discretization ( )

◆ discretization() [4/4]

const sheaf::subposet & fiber_bundle::section_space_schema_poset::discretization ( ) const

The discretization subposet for section spaces on this schema, const version.

Definition at line 565 of file section_space_schema_poset.cc.

References multivalued().

◆ evaluation() [1/4]

subposet& fiber_bundle::section_space_schema_poset::evaluation ( )

The evaluation subposet for section spaces on this schema.

◆ evaluation() [2/4]

const subposet& fiber_bundle::section_space_schema_poset::evaluation ( ) const

The evaluation subposet for section spaces on this schema, const ver.

◆ evaluation() [3/4]

sheaf::subposet & fiber_bundle::section_space_schema_poset::evaluation ( )

The evaluation subposet for section spaces on this schema.

Definition at line 586 of file section_space_schema_poset.cc.

Referenced by attach_handle_data_members(), initialize_handle_data_members(), multivalued(), and rep_is_valid().

◆ evaluation() [4/4]

const sheaf::subposet & fiber_bundle::section_space_schema_poset::evaluation ( ) const

The evaluation subposet for section spaces on this schema, const ver.

Definition at line 593 of file section_space_schema_poset.cc.

References evaluator_family_name().

◆ evaluator_family_name() [1/2]

string fiber_bundle::section_space_schema_poset::evaluator_family_name ( ) const

The name of the evaluator family for section spaces on this schema.

◆ evaluator_family_name() [2/2]

string fiber_bundle::section_space_schema_poset::evaluator_family_name ( ) const

The name of the evaluator family for section spaces on this schema.

Precondition

Definition at line 600 of file section_space_schema_poset.cc.

References product_structure().

Referenced by evaluation(), and rep_is_valid().

◆ fiber_schema() [1/4]

poset_state_handle& fiber_bundle::section_space_schema_poset::fiber_schema ( )

The fiber schema for section spaces on this schema (mutable version).

◆ fiber_schema() [2/4]

const poset_state_handle& fiber_bundle::section_space_schema_poset::fiber_schema ( ) const

The fiber schema for section spaces on this schema (const version).

◆ fiber_schema() [3/4]

sheaf::poset_state_handle & fiber_bundle::section_space_schema_poset::fiber_schema ( )

The fiber schema for section spaces on this schema (mutable version).

Precondition

Definition at line 492 of file section_space_schema_poset.cc.

Referenced by fiber_bundle::binary_section_space_schema_member::attach_to_state(), fiber_bundle::section_space_schema_member::attach_to_state(), fiber_bundle::binary_section_space_schema_poset::contains_link(), contains_member(), fiber_bundle::binary_section_space_schema_poset::cover_ct(), df(), fiber_bundle::binary_section_space_schema_member::get_ext_ids(), fiber_bundle::product_section_space_schema_member::get_ext_ids(), fiber_bundle::binary_section_space_schema_poset::get_index_from_components(), fiber_bundle::section_space_schema_table_dof_crg_range::get_size(), fiber_bundle::product_section_space_schema_crg_range::get_size(), fiber_bundle::binary_section_space_schema_poset::greatest_jem(), fiber_bundle::product_section_space_schema_poset::initialize_row_dof_subposet(), is_atom(), fiber_bundle::binary_section_space_schema_poset::is_jem(), fiber_bundle::product_section_space_schema_poset::is_jim(), is_jim(), is_schematized(), fiber_bundle::binary_section_space_schema_poset::le(), fiber_bundle::binary_section_space_schema_poset::least_jem(), fiber_bundle::binary_section_space_schema_poset::leqv(), member_ct(), member_index_ub(), fiber_bundle::product_section_space_schema_poset::member_name(), fiber_bundle::binary_section_space_schema_poset::new_schema_handle(), fiber_bundle::product_section_space_schema_poset::new_schema_handle(), fiber_bundle::binary_section_space_schema_poset::new_state(), fiber_bundle::product_section_space_schema_poset::new_state(), rep_is_valid(), standard_member_ct(), and fiber_bundle::product_section_space_schema_poset::update_hub_id_space().

◆ fiber_schema() [4/4]

const sheaf::poset_state_handle & fiber_bundle::section_space_schema_poset::fiber_schema ( ) const

The fiber schema for section spaces on this schema (const version).

Precondition

Definition at line 501 of file section_space_schema_poset.cc.

References fiber_space_path().

◆ fiber_schema_member_id_ub()

sheaf::pod_index_type fiber_bundle::section_space_schema_poset::fiber_schema_member_id_ub ( ) const

The upper bound on the member id of the fiber schema for section spaces on this schema.

Precondition

Definition at line 376 of file section_space_schema_poset.cc.

References get_fiber_schema_id_from_index().

Referenced by base_space().

◆ fiber_schema_stride()

int fiber_bundle::section_space_schema_poset::fiber_schema_stride ( ) const

The increment in the member id when the id of the fiber schema component is increased by one.

Postcondition
  • result > 0

Definition at line 446 of file section_space_schema_poset.cc.

References df().

Referenced by get_fiber_schema_id_from_index(), and fiber_bundle::binary_section_space_schema_poset::get_index_from_components().

◆ fiber_space() [1/4]

poset& fiber_bundle::section_space_schema_poset::fiber_space ( )

The fiber space for section spaces on this schema.

◆ fiber_space() [2/4]

const poset& fiber_bundle::section_space_schema_poset::fiber_space ( ) const

The fiber space for section spaces on this schema, const version.

◆ fiber_space() [3/4]

◆ fiber_space() [4/4]

const sheaf::poset & fiber_bundle::section_space_schema_poset::fiber_space ( ) const

The fiber space for section spaces on this schema, const version.

Definition at line 551 of file section_space_schema_poset.cc.

References discretization().

◆ fiber_space_path()

sheaf::poset_path fiber_bundle::section_space_schema_poset::fiber_space_path ( bool  xauto_access) const

The path to the fiber space for section spaces on this schema.

Precondition
  • state_is_auto_read_accessible(xauto_access)

Definition at line 510 of file section_space_schema_poset.cc.

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

Referenced by fiber_schema(), fiber_bundle::binary_section_space_schema_member::new_host(), and fiber_bundle::binary_section_space_schema_member::standard_host().

◆ get_base_space_id_from_index() [1/2]

◆ get_base_space_id_from_index() [2/2]

void fiber_bundle::section_space_schema_poset::get_base_space_id_from_index ( const scoped_index xmbr_id,
scoped_index result 
) const

Computes the base space member id associated with xindex.

Precondition
  • xmbr_id.in_scope()
Postcondition
  • result.same_scope(_base_space->member_hub_id_space(false))

Definition at line 260 of file section_space_schema_poset.cc.

References base_space_stride(), sheaf::scoped_index::hub_pod(), sheaf::scoped_index::in_scope(), sheaf::scoped_index::pod(), sheaf::scoped_index::put(), and sheaf::scoped_index::same_scope().

◆ get_decomposition() [1/2]

virtual index_iterator* fiber_bundle::section_space_schema_poset::get_decomposition ( pod_index_type  xindex) const
virtual

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

Hack:
the product subposet hack, version 2. This member exists only to encapsulate the hack. Row decomposition i/o is not supported for section space schema in PSH2; this routine is not implemented and will issue a fatal error if called.

Reimplemented from sheaf::poset_state_handle.

◆ get_decomposition() [2/2]

sheaf::index_iterator * fiber_bundle::section_space_schema_poset::get_decomposition ( pod_index_type  xindex) const
virtual

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

Hack:
the product subposet hack, version 2. This member exists only to encapsulate the hack. Row decomposition i/o is not supported for section space schema in PSH2; this routine is not implemented and will issue a fatal error if called.
Todo:
Remove.
Hack:
the product subposet hack, version 2. This member exists only to encapsulate the hack.
Precondition

Reimplemented from sheaf::poset_state_handle.

Definition at line 1947 of file section_space_schema_poset.cc.

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

Referenced by is_new_member_available(), and version_jims_index().

◆ get_ext_id()

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

Translates xint_id to an external id using the equivalence map with name xid_space_name.

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

Reimplemented from sheaf::poset_state_handle.

Definition at line 2018 of file section_space_schema_poset.cc.

References base_space(), get_base_space_id_from_index(), sheaf::poset_state_handle::get_ext_id(), is_valid_int_id(), prereq_id(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Referenced by is_valid_int_id().

◆ get_fiber_schema_id_from_index() [1/2]

◆ get_fiber_schema_id_from_index() [2/2]

void fiber_bundle::section_space_schema_poset::get_fiber_schema_id_from_index ( const scoped_index xmbr_id,
scoped_index result 
) const

Computes the fiber schema member id associated with xindex.

Precondition
  • xmbr_id.in_scope()
Postcondition

Definition at line 419 of file section_space_schema_poset.cc.

References fiber_schema_stride(), sheaf::scoped_index::hub_pod(), sheaf::scoped_index::in_scope(), sheaf::scoped_index::pod(), sheaf::scoped_index::put(), and sheaf::scoped_index::same_scope().

◆ get_index_from_components() [1/2]

sheaf::pod_index_type fiber_bundle::section_space_schema_poset::get_index_from_components ( pod_index_type  xbase_space_id,
pod_index_type  xfiber_schema_id 
) const
pure virtual

◆ get_index_from_components() [2/2]

void fiber_bundle::section_space_schema_poset::get_index_from_components ( const scoped_index xbase_space_id,
const scoped_index xfiber_schema_id,
scoped_index result 
) const

Computes the index associated with component ids xbase_space_id and xfiber_schema_id.

Precondition
Postcondition
  • result.same_scope(member_hub_id_space(false))

Definition at line 662 of file section_space_schema_poset.cc.

References sheaf::scoped_index::hub_pod(), sheaf::scoped_index::put(), sheaf::scoped_index::same_scope(), and update_hub_id_space().

◆ get_read_access() [1/2]

virtual void fiber_bundle::section_space_schema_poset::get_read_access ( ) const
virtual

Get read access to the state associated with this.

Reimplemented from sheaf::poset_state_handle.

◆ get_read_access() [2/2]

◆ get_read_write_access() [1/2]

virtual void fiber_bundle::section_space_schema_poset::get_read_write_access ( bool  xrelease_read_only_access = false)
virtual

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

Reimplemented from sheaf::poset_state_handle.

◆ get_read_write_access() [2/2]

void fiber_bundle::section_space_schema_poset::get_read_write_access ( bool  xrelease_read_only_access = false)
virtual

◆ initialize_handle_data_members() [1/2]

virtual void fiber_bundle::section_space_schema_poset::initialize_handle_data_members ( const namespace_poset xns)
protectedvirtual

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

Reimplemented from sheaf::poset_state_handle.

◆ initialize_handle_data_members() [2/2]

void fiber_bundle::section_space_schema_poset::initialize_handle_data_members ( const namespace_poset xns)
protectedvirtual

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

Precondition
Error:
Attach_to_state requires access, but since this is not attached yet, we can't tell what we need access to, so we can't require it. This is really an error in attach_to_state - it shouldn't require access.
Postcondition

Reimplemented from sheaf::poset_state_handle.

Definition at line 896 of file section_space_schema_poset.cc.

References _base_space, _fiber_space, attach_handle_data_members(), sheaf::poset_component::attach_to_state(), sheaf::abstract_poset_member::attach_to_state(), base_space(), fiber_bundle::section_space_schema_table_dofs_type::base_space_path, discretization(), evaluation(), fiber_space(), fiber_bundle::section_space_schema_table_dofs_type::fiber_space_path, sheaf::poset_state_handle::get_read_access(), sheaf::poset_component::get_read_access(), sheaf::poset_state_handle::is_attached(), is_multivalued(), sheaf::namespace_poset::member_poset(), multivalued(), sheaf::poset_state_handle::release_access(), sheaf::poset_component::release_access(), rep(), fiber_bundle::section_space_schema_table_dofs_type::rep_path, sheaf::read_write_monitor_handle::state_is_read_accessible(), and sheaf::table_dofs().

Referenced by initialize_table_dof_subposet(), fiber_bundle::binary_section_space_schema_poset::new_state(), fiber_bundle::product_section_space_schema_poset::new_state(), and release_access().

◆ initialize_standard_members()

void fiber_bundle::section_space_schema_poset::initialize_standard_members ( )
protectedvirtual

Creates the members common to every poset (i.e. _top and _bottom).

Precondition
Hack:
Cartesian product subspace hack. Should be using product id space. There are no entries in the hub id space for the members of the Cartesian subspace of the general tensor product.Add an interval term to the hub id space which creates a general index space. Really should be a product index space and the factoring of the indices should use the tuple and ordinal functions of the index space. But since this class hierarchy is currently set up to do it's own factors with get_base_space_id_from_index, etc, we'll continue to do it that way, temporarily. The id space allocated here is in the interval [0, base_space().member_index_ub().pod()*base_space_stride()), which includes the ids reserved for bootom and top. This means bottom is the same as (base bottom, fiber_schema bottom), which is correct, and top is the same as (base bottom, fiber schema top), which is not correct. We can get away with it because we never refer to the (base bottom, fiber schema top).
Postcondition

Reimplemented from sheaf::poset_state_handle.

Reimplemented in fiber_bundle::product_section_space_schema_poset.

Definition at line 1513 of file section_space_schema_poset.cc.

References _product, fiber_bundle::section_space_schema_member::attach_to_state(), base_space(), base_space_stride(), bottom(), sheaf::poset_state::crg(), sheaf::poset_state_handle::crg(), sheaf::any::enable_invariant_check(), fiber_space(), get_index_from_components(), sheaf::index_space_handle::get_iterator(), sheaf::poset_state_handle::has_standard_row_dof_tuple_ct(), sheaf::poset_component::host(), sheaf::index_space_iterator::hub_pod(), sheaf::poset_state_handle::index(), invariant(), sheaf::poset_state_handle::is_attached(), sheaf::index_space_iterator::is_done(), sheaf::poset_state_handle::member_id_spaces(), member_index_ub(), sheaf::poset_state_handle::member_index_ub(), sheaf::poset_state_handle::member_name(), sheaf::explicit_index_space_handle::new_product_structure(), new_standard_member_hack(), sheaf::poset_state_handle::new_term(), sheaf::index_space_iterator::next(), sheaf::scoped_index::pod(), sheaf::explicit_index_space_handle::product_structure(), sheaf::poset_state_handle::put_member_name(), sheaf::poset_state_handle::put_standard_member_ct(), sheaf::poset_state_handle::put_standard_row_dof_tuple_ct(), sheaf::index_space_handle::release_iterator(), sheaf::poset_state_handle::row_dof_tuple_ct(), sheaf::poset_state_handle::schema(), sheaf::read_write_monitor_handle::state_is_read_write_accessible(), sheaf::poset_state_handle::state_obj(), sheaf::schema_poset_member::table_dof_id_space(), and top().

Referenced by bottom(), and fiber_bundle::binary_section_space_schema_poset::new_state().

◆ initialize_table_dof_subposet()

◆ invariant() [1/2]

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

◆ invariant() [2/2]

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

Class invariant.

Invariant
Hack:
Cartesian product subspace hack. Should be using product id space.
Invariant
Todo:
make the following executable.
Invariant
  • -unexecutable( "rep.evaluator_family_name is compatible with base_space" )
Todo:
finish section_space_schema_poset::invariant() const What is the invariant?

Reimplemented from sheaf::poset.

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

Definition at line 2111 of file section_space_schema_poset.cc.

References base_space(), sheaf::any::disable_invariant_check(), sheaf::any::enable_invariant_check(), fiber_space(), sheaf::poset_state_handle::host(), sheaf::poset_state_handle::invariant(), sheaf::any::invariant_check(), member_index_ub(), rep(), sheaf::poset_state_handle::schema(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Referenced by initialize_standard_members(), fiber_bundle::binary_section_space_schema_poset::invariant(), fiber_bundle::product_section_space_schema_poset::invariant(), is_ancestor_of(), is_new_member_available(), and new_standard_member_hack().

◆ is_ancestor_of() [1/2]

virtual bool fiber_bundle::section_space_schema_poset::is_ancestor_of ( const any other) const
virtual

True if other conforms to this.

Reimplemented from sheaf::poset.

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

◆ is_ancestor_of() [2/2]

bool fiber_bundle::section_space_schema_poset::is_ancestor_of ( const any other) const
virtual

True if other conforms to this.

Reimplemented from sheaf::poset.

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

Definition at line 2092 of file section_space_schema_poset.cc.

References invariant().

Referenced by is_new_member_available(), and prereq_id().

◆ is_atom()

bool fiber_bundle::section_space_schema_poset::is_atom ( pod_index_type  xmbr_hub_id) const
virtual

◆ is_homogeneous() [1/2]

bool fiber_bundle::section_space_schema_poset::is_homogeneous ( const scoped_index xindex) const

True if xindex is in the homogeneous member id space.

Postcondition
  • is_basic_query

Definition at line 482 of file section_space_schema_poset_2.cc.

References sheaf::scoped_index::hub_pod().

Referenced by ordinal().

◆ is_homogeneous() [2/2]

bool fiber_bundle::section_space_schema_poset::is_homogeneous ( pod_index_type  xindex) const
pure virtual

True if xindex is in the homogeneous member id space.

Is Abstract.

Postcondition
  • is_basic_query

Implemented in fiber_bundle::product_section_space_schema_poset.

Definition at line 499 of file section_space_schema_poset_2.cc.

References contains_range_member().

◆ is_jim()

bool fiber_bundle::section_space_schema_poset::is_jim ( pod_index_type  xmbr_hub_id,
bool  xin_current_version = true 
) const
virtual

◆ is_multivalued()

bool fiber_bundle::section_space_schema_poset::is_multivalued ( ) const

Switch that tells the user if the multivalued subposet exists.

Precondition

Definition at line 165 of file section_space_schema_poset.cc.

References rep_is_valid().

Referenced by attach_handle_data_members(), initialize_handle_data_members(), and rep().

◆ is_new_member_available()

bool fiber_bundle::section_space_schema_poset::is_new_member_available ( ) const

True if and only if a member can be created.

Hack:
This function is the precondition for the new_member functions and only exists because the homogeneous range needs to be dynamic. The number of members created can not exceed the size of the reserved id space.
Precondition
Postcondition
  • is_basic_query

Definition at line 1220 of file section_space_schema_poset_2.cc.

References get_decomposition(), sheaf::invalid_pod_index(), invariant(), is_ancestor_of(), operator=(), and prereq_id().

Referenced by member_id().

◆ is_schematized()

◆ is_valid_int_id()

bool fiber_bundle::section_space_schema_poset::is_valid_int_id ( pod_index_type  xint_id,
const std::string &  xid_space_name,
bool  xauto_access 
) const
virtual

◆ make_standard_schema()

void fiber_bundle::section_space_schema_poset::make_standard_schema ( namespace_poset xns)
static

Creates the standard schema for this class in namespace xns.

Precondition
  • xns.state_is_read_write_accessible()
  • xns.contains_poset(standard_schema_poset_name(), false)
  • !xns.contains_poset_member(standard_schema_path(), false)
Postcondition
  • xns.contains_poset_member(standard_schema_path())

Definition at line 96 of file section_space_schema_poset_2.cc.

References sheaf::namespace_poset::contains_poset(), sheaf::namespace_poset::contains_poset_member(), sheaf::schema_poset_member::detach_from_state(), fiber_bundle::sec_rep_descriptor::discretization_subposet_name(), fiber_bundle::sec_rep_descriptor::evaluation_subposet_name(), sheaf::subposet::has_id_space(), sheaf::poset_state_handle::includes_subposet(), sheaf::namespace_poset::member_poset(), rep(), rep_is_valid(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

Referenced by standard_schema_poset_name().

◆ member_ct()

int fiber_bundle::section_space_schema_poset::member_ct ( ) const
virtual

◆ member_id() [1/2]

sheaf::pod_index_type fiber_bundle::section_space_schema_poset::member_id ( const std::string &  xbase_space_name,
const std::string &  xfiber_schema_name 
) const

The member id for base space member with name xbase_space_namd, and fiber schema member with name xfiber_schema_name.

Precondition
Postcondition
  • contains_member(result, false)

Definition at line 1165 of file section_space_schema_poset_2.cc.

References sheaf::ordinal().

Referenced by new_member_range().

◆ member_id() [2/2]

void fiber_bundle::section_space_schema_poset::member_id ( const std::string &  xbase_space_name,
const std::string &  xfiber_schema_name,
scoped_index result 
) const

The member id for base space member with name xbase_space_namd, and fiber schema member with name xfiber_schema_name.

Precondition
Postcondition
  • contains_member(result, false)

Definition at line 1194 of file section_space_schema_poset_2.cc.

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

◆ member_index_ub()

◆ member_iterator()

sheaf::index_iterator fiber_bundle::section_space_schema_poset::member_iterator ( ) const

An iterator for members of this poset.

Precondition
Not Implemented.
Todo:
implement section_space_schema_poset::member_iterator()

Definition at line 1255 of file section_space_schema_poset.cc.

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

Referenced by member_index_ub().

◆ multivalued() [1/2]

sheaf::subposet & fiber_bundle::section_space_schema_poset::multivalued ( )

The multivalued subposet for section spaces on this schema.

Definition at line 572 of file section_space_schema_poset.cc.

Referenced by attach_handle_data_members(), discretization(), and initialize_handle_data_members().

◆ multivalued() [2/2]

const sheaf::subposet & fiber_bundle::section_space_schema_poset::multivalued ( ) const

The multivalued subposet for section spaces on this schemam const ver.

Definition at line 579 of file section_space_schema_poset.cc.

References evaluation().

◆ new_link()

void fiber_bundle::section_space_schema_poset::new_link ( pod_index_type  xgreater,
pod_index_type  xlesser 
)
virtual

Insert a link from lesser to greater (i.e. lesser <= greater). Redefined here only to trap attempts to make a new link, as an aid to debugging.

Todo:
implement this routine

Reimplemented from sheaf::poset_state_handle.

Definition at line 1739 of file section_space_schema_poset.cc.

References delete_link(), and sheaf::poset_state_handle::new_link().

Referenced by delete_member(), and fiber_bundle::product_section_space_schema_poset::initialize_standard_members().

◆ new_member() [1/4]

sheaf::pod_index_type fiber_bundle::section_space_schema_poset::new_member ( bool  xis_jim,
const scoped_index xdof_tuple_id 
)
virtual

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

Precondition
  • precondition_of(poset_state_handle::new_member(xis_jim, xdof_tuple_id))
Postcondition
  • postcondition_of(poset_state_handle::new_member(xis_jim, xdof_tuple_id))

Definition at line 1047 of file section_space_schema_poset_2.cc.

References new_member(), and new_member_range().

◆ new_member() [2/4]

virtual pod_index_type fiber_bundle::section_space_schema_poset::new_member ( bool  xis_jim,
poset_dof_map xdof_map = 0,
bool  xcopy_dof_map = false 
)
virtual

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

Reimplemented from sheaf::poset_state_handle.

◆ new_member() [3/4]

sheaf::pod_index_type fiber_bundle::section_space_schema_poset::new_member ( bool  xis_jim,
pod_index_type  xdof_tuple_id 
)
protectedvirtual

Create a disconnected member with is_jim == xis_jim. Redefined here only to trap attempts to make a new member, as an aid to debugging.

Todo:
implement this routine

Reimplemented from sheaf::poset_state_handle.

Definition at line 1659 of file section_space_schema_poset.cc.

References sheaf::poset_state_handle::new_member().

Referenced by fiber_bundle::product_section_space_schema_poset::initialize_standard_members(), initialize_table_dof_subposet(), new_member(), and new_standard_member_hack().

◆ new_member() [4/4]

sheaf::pod_index_type fiber_bundle::section_space_schema_poset::new_member ( bool  xis_jim,
poset_dof_map xdof_map = 0,
bool  xcopy_dof_map = false 
)
protectedvirtual

Create a disconnected member with is_jim == xis_jim. Redefined here only to trap attempts to make a new member, as an aid to debugging.

Todo:
implement this routine

Reimplemented from sheaf::poset_state_handle.

Definition at line 1682 of file section_space_schema_poset.cc.

References delete_member(), and sheaf::poset_state_handle::new_member().

◆ new_member_range()

sheaf::pod_index_type fiber_bundle::section_space_schema_poset::new_member_range ( const std::string &  xrange_type,
size_type  xsize,
const block< scoped_index > &  xdof_tuple_ids,
const block< pod_index_type > &  xdata 
)
virtual

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

Hack:
This function can not be available to the client.

Not Implemented.

Definition at line 1093 of file section_space_schema_poset_2.cc.

References bottom(), member_id(), and top().

Referenced by new_member().

◆ new_standard_member_hack()

void fiber_bundle::section_space_schema_poset::new_standard_member_hack ( standard_member_index  xindex)
protected

Create a new bottom or top member.

Hack:
Cartesian product subspace hack; intended only for use by section_space_schema_poset constructor.
Precondition
  • (xindex == BOTTOM_INDEX) || (xindex == TOP_INDEX)
Postcondition
  • contains_member(xindex)
  • cover_is_empty(LOWER, xindex)
  • cover_is_empty(UPPER, xindex)

Definition at line 1616 of file section_space_schema_poset.cc.

References contains_member(), sheaf::poset_state_handle::cover_is_empty(), sheaf::poset_state_handle::crg(), sheaf::subposet::insert_member(), invariant(), sheaf::LOWER, member_ct(), member_index_ub(), new_member(), sheaf::poset_crg_state::new_standard_member_hack(), sheaf::poset_state_handle::powerset(), sheaf::poset_powerset_state::put_subposet_member_index_ub(), sheaf::UPPER, and sheaf::poset_powerset_state::whole().

Referenced by initialize_standard_members().

◆ new_subposet()

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

Creates a new subposet. If xinitialize, set the membership to include the members with indices in xmambers; otherwise, leave the subposet empty.

Todo:
implement this routine

Reimplemented from sheaf::poset_state_handle.

Definition at line 1794 of file section_space_schema_poset.cc.

References delete_subposet(), and sheaf::poset_state_handle::new_subposet().

Referenced by delete_link().

◆ operator=() [1/2]

section_space_schema_poset& fiber_bundle::section_space_schema_poset::operator= ( const poset_state_handle xother)
protected

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

◆ operator=() [2/2]

fiber_bundle::section_space_schema_poset & fiber_bundle::section_space_schema_poset::operator= ( const poset_state_handle xother)
inlineprotected

Assignment operator; disabled.

Precondition
  • is_ancestor_of(&xother)
Postcondition
  • is_same_state(&xother)

Definition at line 781 of file section_space_schema_poset.h.

Referenced by is_new_member_available(), and fiber_bundle::product_section_space_schema_poset::operator=().

◆ ordinal() [1/2]

void fiber_bundle::section_space_schema_poset::ordinal ( const scoped_index xbase_space_id,
const scoped_index xfiber_schema_id,
scoped_index xindex 
) const

The ordinal conversion from base space id xbase_space_id and fiber schema id xfiber_schema_id to section space schema id xindex.

Precondition
  • contains_range_member(xbase_space_id, xfiber_schema_id, false)
Postcondition
  • is_homogeneous(xindex)

Definition at line 433 of file section_space_schema_poset_2.cc.

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

Referenced by tuple(), and fiber_bundle::section_space_schema_member::update_table_dof_descriptors().

◆ ordinal() [2/2]

void fiber_bundle::section_space_schema_poset::ordinal ( pod_index_type  xbase_space_id,
pod_index_type  xfiber_schema_id,
pod_index_type xindex 
) const
pure virtual

The ordinal conversion from base space id xbase_space_id and fiber schema id xfiber_schema_id to section space schema id xindex.

Precondition
  • contains_range_member(xbase_space_id, xfiber_schema_id, false)
Is Abstract.
Postcondition
  • is_homogeneous(xindex)

Implemented in fiber_bundle::product_section_space_schema_poset.

Definition at line 459 of file section_space_schema_poset_2.cc.

References is_homogeneous().

◆ prereq_id() [1/2]

virtual pod_index_type fiber_bundle::section_space_schema_poset::prereq_id ( int  xi) const
virtual

The id of the xi-th prerequisite poset for this.

Reimplemented from sheaf::poset_state_handle.

◆ prereq_id() [2/2]

sheaf::pod_index_type fiber_bundle::section_space_schema_poset::prereq_id ( int  xi) const
virtual

◆ product_structure()

const sheaf::ij_product_structure & fiber_bundle::section_space_schema_poset::product_structure ( ) const

The product structure of this schema.

Precondition

Definition at line 619 of file section_space_schema_poset.cc.

References get_index_from_components().

Referenced by evaluator_family_name().

◆ release_access() [1/2]

virtual void fiber_bundle::section_space_schema_poset::release_access ( bool  xall = false) const
virtual

Release access. If xall is true, release all levels of access. Otherwise, release one level of access.

Reimplemented from sheaf::poset_state_handle.

◆ release_access() [2/2]

◆ rep() [1/4]

sec_rep_descriptor& fiber_bundle::section_space_schema_poset::rep ( )

The representation for section spaces on this schema.

◆ rep() [2/4]

const sec_rep_descriptor& fiber_bundle::section_space_schema_poset::rep ( ) const

The representation for section spaces on this schema; const version.

◆ rep() [3/4]

◆ rep() [4/4]

const fiber_bundle::sec_rep_descriptor & fiber_bundle::section_space_schema_poset::rep ( ) const

The representation for section spaces on this schema; const version.

Definition at line 158 of file section_space_schema_poset.cc.

References is_multivalued().

◆ rep_is_valid() [1/3]

static bool fiber_bundle::section_space_schema_poset::rep_is_valid ( const sec_rep_descriptor xrep,
const poset_state_handle xbase_space 
)
static

True if the discretization and evaluation subposets named in xrep are included in xbase_space and the discretization subposet has a non-empty id space.

◆ rep_is_valid() [2/3]

bool fiber_bundle::section_space_schema_poset::rep_is_valid ( const namespace_poset xns,
const arg_list xaregs,
bool  xauto_access 
) const

True if and only if the section representation specified in xargs is valid in the base space specified in xargs; that is, if the discretization and evaluation subposets named in xrep are included in xbase_space and the discretization subposet has a non-empty id space.

Precondition
  • xargs.conforms_to(xns, standard_schema_path(), true, xauto_access)
  • xns.contains_poset_member(poset_path(xargs.value("rep_path")), xauto_access)
  • xns.member_poset(poset_path(xargs.value("rep_path")), xauto_access)->state_is_auto_read_accessible(xauto_access)
  • xns.contains_poset(poset_path(xargs.value("base_space_path")), xauto_access)
  • xns.member_poset(poset_path(xargs.value("base_space_path")), xauto_access)->state_is_auto_read_accessible(xauto_access)

Definition at line 194 of file section_space_schema_poset_2.cc.

References base_space(), sheaf::arg_list::conforms_to(), sheaf::namespace_poset::contains_poset(), sheaf::namespace_poset::contains_poset_member(), db(), df(), discretization(), evaluation(), evaluator_family_name(), fiber_schema(), fiber_space(), sheaf::poset_component::get_read_access(), sheaf::namespace_poset::member_poset(), sheaf::read_write_monitor_handle::state_is_auto_read_accessible(), tuple(), and sheaf::arg_list::value().

◆ rep_is_valid() [3/3]

bool fiber_bundle::section_space_schema_poset::rep_is_valid ( const sec_rep_descriptor xrep,
const poset_state_handle xbase_space 
)
static

True if the discretization and evaluation subposets named in xrep are included in xbase_space and the discretization subposet has a non-empty id space.

Precondition
  • xrep.state_is_read_accessible()
  • xbase_space.state_is_read_accessible()
Todo:
check for compatibility between base space and evaluator family. Just instantiate the evaluator family and see if it contains an entry for each dof tuple of the base space.

Definition at line 186 of file section_space_schema_poset.cc.

References base_space_member_id_ub(), fiber_bundle::sec_rep_descriptor::discretization_subposet_name(), fiber_bundle::sec_rep_descriptor::evaluation_subposet_name(), sheaf::subposet::has_id_space(), sheaf::poset_state_handle::includes_subposet(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Referenced by is_multivalued(), make_standard_schema(), and fiber_bundle::product_section_space_schema_poset::new_state().

◆ rep_path()

sheaf::poset_path fiber_bundle::section_space_schema_poset::rep_path ( bool  xauto_access) const

The path to the representation for section spaces on this schema..

Precondition
  • state_is_auto_read_accessible(xauto_access)

Definition at line 116 of file section_space_schema_poset.cc.

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

Referenced by fiber_bundle::binary_section_space_schema_member::new_host(), fiber_bundle::binary_section_space_schema_member::standard_host(), and standard_schema_path().

◆ schematize()

void fiber_bundle::section_space_schema_poset::schematize ( subposet xtable_dof_subposet,
subposet xrow_dof_subposet,
bool  xall_members = false 
)
virtual

Prepare this poset and its top member for use as a schema. If xall_members = true, schematize all other members as well.

Precondition
  • xtable_dof_subposet != 0
  • includes_subposet(xtable_dof_subposet)
  • xrow_dof_subposet != 0
  • includes_subposet(xrow_dof_subposet)
Not Implemented.
Error:
this poset is immutable and does not support this operation
Postcondition
  • is_schematized(false)

Reimplemented from sheaf::poset_state_handle.

Definition at line 1148 of file section_space_schema_poset.cc.

References sheaf::poset_state_handle::host(), sheaf::poset_state_handle::includes_subposet(), is_schematized(), member_ct(), sheaf::poset_state_handle::schema(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

Referenced by is_schematized().

◆ standard_member_ct()

int fiber_bundle::section_space_schema_poset::standard_member_ct ( ) const
virtual

The number of standard members automatically allocated by the constructor.

Precondition
Postcondition
  • result >= 0

Reimplemented from sheaf::poset_state_handle.

Definition at line 1210 of file section_space_schema_poset.cc.

References base_space(), fiber_schema(), member_index_ub(), sheaf::poset_state_handle::standard_member_ct(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Referenced by is_valid_int_id(), and member_ct().

◆ standard_schema_path() [1/2]

static const poset_path& fiber_bundle::section_space_schema_poset::standard_schema_path ( )
static

The path to the standard schema for this class.

◆ standard_schema_path() [2/2]

const sheaf::poset_path & fiber_bundle::section_space_schema_poset::standard_schema_path ( )
static

The path to the standard schema for this class.

Postcondition
  • result.full()

Definition at line 96 of file section_space_schema_poset.cc.

References sheaf::poset_path::full(), and rep_path().

Referenced by fiber_bundle::product_section_space_schema_poset::make_standard_schema(), and standard_schema_poset_name().

◆ standard_schema_poset_name()

const std::string & fiber_bundle::section_space_schema_poset::standard_schema_poset_name ( )
static

◆ table_dof_tuple_ptr() [1/2]

table_dofs_type* fiber_bundle::section_space_schema_poset::table_dof_tuple_ptr ( )
inlineprotected

OBSOLETE: use table_dofs(). Pointer to the storage for the table dofs.

Definition at line 441 of file section_space_schema_poset.h.

◆ table_dof_tuple_ptr() [2/2]

◆ terminate_access() [1/2]

virtual void fiber_bundle::section_space_schema_poset::terminate_access ( )
protectedvirtual

Release all access to posets this depends on, then detach and delete the state.

Reimplemented from sheaf::poset_state_handle.

◆ terminate_access() [2/2]

void fiber_bundle::section_space_schema_poset::terminate_access ( )
protectedvirtual

Release all access to posets this depends on, then detach and delete the state.

Precondition
Issue:
we should either prevent termination if other clients exist or have some mechanism for notifying them of termination. Currently we can't do either one.
Postcondition
  • !is_attached()
  • -unexecutable( "state has been deleted" )
  • rep_access_request_depth == (old_rep_access_request_depth - old_access_request_depth)
  • base_space_access_request_depth == (old_base_space_access_request_depth - old_access_request_depth)
  • fiber_space_access_request_depth == (old_fiber_space_access_request_depth - old_access_request_depth)

Reimplemented from sheaf::poset_state_handle.

Definition at line 1021 of file section_space_schema_poset.cc.

References sheaf::read_write_monitor_handle::access_request_depth(), base_space(), fiber_space(), sheaf::poset_state_handle::is_attached(), is_schematized(), sheaf::poset_state_handle::name(), sheaf::poset_state_handle::release_access(), sheaf::poset_component::release_access(), rep(), sheaf::read_write_monitor_handle::state_is_read_write_accessible(), and sheaf::poset_state_handle::terminate_access().

Referenced by attach_handle_data_members(), and initialize_table_dof_subposet().

◆ top() [1/4]

section_space_schema_member& fiber_bundle::section_space_schema_poset::top ( )

The top of member of the lattice (mutable version)

◆ top() [2/4]

const section_space_schema_member& fiber_bundle::section_space_schema_poset::top ( ) const

The top of member of the lattice (const version)

◆ top() [3/4]

fiber_bundle::section_space_schema_member & fiber_bundle::section_space_schema_poset::top ( )

◆ top() [4/4]

const fiber_bundle::section_space_schema_member & fiber_bundle::section_space_schema_poset::top ( ) const

The top of member of the lattice (const version)

Definition at line 1466 of file section_space_schema_poset.cc.

References sheaf::poset_state_handle::_top, and bottom().

◆ tuple() [1/2]

void fiber_bundle::section_space_schema_poset::tuple ( const scoped_index xindex,
scoped_index xbase_space_id,
scoped_index xfiber_schema_id 
) const

The tuple conversion from section space schema id xindex to the base space id xbase_space_id and fiber schema id xfiber_schema_id.

Precondition
  • is_homogeneous(xindex)
Postcondition
  • contains_range_member(xbase_space_id, xfiber_schema_id, false)

Definition at line 381 of file section_space_schema_poset_2.cc.

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

Referenced by rep_is_valid().

◆ tuple() [2/2]

void fiber_bundle::section_space_schema_poset::tuple ( pod_index_type  xindex,
pod_index_type xbase_space_id,
pod_index_type xfiber_schema_id 
) const
pure virtual

The tuple conversion from section space schema id xindex to the base space id xbase_space_id and fiber schema id xfiber_schema_id.

Precondition
  • is_homogeneous(xindex)
Is Abstract.
Postcondition
  • contains_range_member(xbase_space_id, xfiber_schema_id, false)

Implemented in fiber_bundle::product_section_space_schema_poset.

Definition at line 409 of file section_space_schema_poset_2.cc.

References ordinal().

◆ type_id() [1/2]

virtual poset_type fiber_bundle::section_space_schema_poset::type_id ( ) const
virtual

Identifier for the type of this poset.

Reimplemented from sheaf::poset.

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

◆ type_id() [2/2]

sheaf::poset_type fiber_bundle::section_space_schema_poset::type_id ( ) const
virtual

Identifier for the type of this poset.

Reimplemented from sheaf::poset.

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

Definition at line 767 of file section_space_schema_poset.cc.

References class_name().

Referenced by initialize_table_dof_subposet(), and section_space_schema_poset().

◆ update_hub_id_space() [1/2]

virtual void fiber_bundle::section_space_schema_poset::update_hub_id_space ( bool  xauto_access)
pure virtual

Extends the hub id space to match extension of the base space.

Implemented in fiber_bundle::product_section_space_schema_poset.

◆ update_hub_id_space() [2/2]

void fiber_bundle::section_space_schema_poset::update_hub_id_space ( bool  xauto_access)

Extends the hub id space to match extension of the base space.

Precondition
  • state_is_auto_read_write_accessible(xauto_access)

Definition at line 689 of file section_space_schema_poset.cc.

References ~section_space_schema_poset().

Referenced by contains_range_member(), and get_index_from_components().

◆ version()

int fiber_bundle::section_space_schema_poset::version ( ) const
virtual

The current version.

Precondition
Hack:
section_space_schema version hack: version of this is same as version of base space.
Postcondition
  • has_version(result)

Reimplemented from sheaf::poset_state_handle.

Definition at line 1863 of file section_space_schema_poset.cc.

References base_space(), sheaf::poset_state_handle::has_version(), sheaf::read_write_monitor_handle::state_is_read_accessible(), sheaf::poset_state_handle::version(), and version_index().

Referenced by version_ct().

◆ version_ct()

int fiber_bundle::section_space_schema_poset::version_ct ( ) const
virtual

◆ version_index()

sheaf::pod_index_type fiber_bundle::section_space_schema_poset::version_index ( int  xversion) const
virtual

◆ version_jims_index()

sheaf::pod_index_type fiber_bundle::section_space_schema_poset::version_jims_index ( int  xversion) const
virtual

Member Data Documentation

◆ _base_space

base_space_poset * fiber_bundle::section_space_schema_poset::_base_space
protected

The base space for section spaces on this schema.

Definition at line 307 of file section_space_schema_poset.h.

Referenced by attach_handle_data_members(), initialize_handle_data_members(), prereq_id(), and section_space_schema_poset().

◆ _discretization

subposet fiber_bundle::section_space_schema_poset::_discretization
protected

The discretization subposet for section spaces on this schema.

Definition at line 328 of file section_space_schema_poset.h.

◆ _evaluation

subposet fiber_bundle::section_space_schema_poset::_evaluation
protected

The evaluation subposet for section spaces on this schema.

Definition at line 338 of file section_space_schema_poset.h.

◆ _fiber_space

poset * fiber_bundle::section_space_schema_poset::_fiber_space
protected

The fiber space for section spaces on this schema.

Hack:
the "fiber space hack", the schema poset should not own the fiber space. The fiber space is instantiated on a specific fiber schema member and hence should belong either to that member or to a section space instantiated on that member. But we have no way currently to implement either of these associations.
Hack:
the "fiber space hack", the schema poset should not own the fiber space. The fiber space is instantiated on a specific fiber schema member and hence should belong either to that member or to a section space instantiated on that member. But we have no way currently to implement either of these associations.

Definition at line 323 of file section_space_schema_poset.h.

Referenced by attach_handle_data_members(), initialize_handle_data_members(), prereq_id(), and section_space_schema_poset().

◆ _multivalued

subposet fiber_bundle::section_space_schema_poset::_multivalued
protected

The multivalued subposet for section spaces on this schema.

Definition at line 333 of file section_space_schema_poset.h.

◆ _product

ij_product_structure* fiber_bundle::section_space_schema_poset::_product
protected

The Cartisian product subspace structure.

Definition at line 343 of file section_space_schema_poset.h.

Referenced by initialize_standard_members().

◆ _rep

sec_rep_descriptor fiber_bundle::section_space_schema_poset::_rep
protected

The representation for section spaces on this schema.

Definition at line 302 of file section_space_schema_poset.h.

Referenced by prereq_id().


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