SheafSystem  0.0.0.0
sheaf::schema_poset_member Class Reference

A client handle for a poset member which has been prepared for use as a schema. More...

#include <schema_poset_member.h>

Inheritance diagram for sheaf::schema_poset_member:
sheaf::total_poset_member sheaf::abstract_poset_member sheaf::poset_component sheaf::read_write_monitor_handle sheaf::any fiber_bundle::section_space_schema_member fiber_bundle::section_space_schema_member fiber_bundle::binary_section_space_schema_member fiber_bundle::product_section_space_schema_member fiber_bundle::binary_section_space_schema_member fiber_bundle::product_section_space_schema_member

Friends

class array_poset_dof_map
 
class dof_tuple_record_set
 
SHEAF_DLL_SPEC size_t deep_size (const schema_poset_member &xp, bool xinclude_shallow)
 The deep size of the referenced object of type schema_poset_member. More...
 

HOST FACTORY FACET

static const poset_pathstandard_schema_path ()
 The path to the standard schema for this class. More...
 
static host_typenew_host (namespace_type &xns, const poset_path &xhost_path, const poset_path &xschema_path, bool xauto_access)
 Creates a new host table for members of this type. The poset is created in namespace xns with path xhost_path and schema specified by xschema_path. More...
 
static host_typestandard_host (namespace_type &xns, const poset_path &xhost_path, bool xauto_access)
 The host with path xhost_path.Returns the host if it already exists, otherwise, creates it in namespace xns with schema specified by standard_schema_path(). More...
 

SCHEMA_POSET_MEMBER FACET

scoped_index _table_dof_subposet_index
 The index within host of the table dofs subposet associated with this. More...
 
scoped_index _row_dof_subposet_index
 The index within host of the row dofs subposet associated with this. More...
 
scoped_index _table_cache_index
 The index with respect to which the cached table properties were evaluated. More...
 
int _table_cache_version
 The version with respect to which the cached table properties were evaluated. More...
 
scoped_index _row_cache_index
 The index with respect to which the cached row properties were evaluated. More...
 
int _row_cache_version
 The version with respect to which the cached row properties were evaluated. More...
 
size_type _table_dof_ct
 The number of table dofs defined by this schema. More...
 
size_type _row_dof_ct
 The number of row dofs defined by this schema. More...
 
size_type _table_dof_tuple_ub
 The size in bytes of the table dof tuple defined by this schema. More...
 
size_type _row_dof_tuple_ub
 The size in bytes of the row dof tuple defined by this schema. More...
 
dof_descriptor_array_table_dof_descriptors
 The dof_descriptors_array for the table dof tuple defined by this schema. More...
 
dof_descriptor_array_row_dof_descriptors
 The dof_descriptors_array for the row dof tuple defined by this schema. More...
 
static int dof_ct (const namespace_poset &xns, const poset_path &xpath, bool xis_table_dof, bool xauto_access=true)
 The number of table dofs (xis_table_dof true) or row dofs defined by the schema specified by xns and xpath. More...
 
static int table_dof_ct (const namespace_poset &xns, const poset_path &xpath, bool xauto_access=true)
 The number of tablr dofs defined by the schema specified by xns and xpath. Synonym for dof_ct(xns, xpath, true, xauto_access). More...
 
static int row_dof_ct (const namespace_poset &xns, const poset_path &xpath, bool xauto_access=true)
 The number of row dofs defined by the schema specified by xns and xpath. Synonym for dof_ct(xns, xpath, false, xauto_access). More...
 
static std::string dof_subposet_name (const std::string &xname, bool xis_table_dof)
 The standard name for the table (xis_table_dof true) or row (xis_table_dof false) dof subposet associated with the schema member with name xname. More...
 
static std::string table_dof_subposet_name (const std::string &xname)
 The standard name for the table dof subposet associated with the schema member with name xname. Synonym for dof_subposet_name(xname, true). More...
 
static std::string row_dof_subposet_name (const std::string &xname)
 The standard name for the row dof subposet associated with the schema member with name xname. Synonym for dof_subposet_name(xname, false). More...
 
static bool conforms_to (const namespace_poset &xns, const poset_path &xchild_path, const poset_path &xparent_path, bool xauto_access=true)
 True if the dofs defined by the schema specified by xchild_path agree in type and in order with the dofs defined by the schema member specified by path xparent_path. (Child schema may contain additional dofs as well.) More...
 
static bool conforms_to (const namespace_poset &xns, const poset_path &xchild_path, const poset_path &xparent_path, bool xis_table_dofs, bool xauto_access)
 True if the table dofs (xis_table_dofs true) or row dofs (xis_table_dofs false) defined by the schema specified by xchild_path agree in type and in order with the dofs defined by the schema member specified by path xparent_path. (Child schema may contain additional dofs as well.) More...
 
static bool table_conforms_to (const namespace_poset &xns, const poset_path &xchild_path, const poset_path &xparent_path, bool xauto_access=true)
 True if the table dofs defined by the schema specified by xchild_path agree in type and in order with the dofs defined by the schema member specified by path xparent_path. (Child schema may contain additional dofs as well.) Synonym for conforms_to(xns, xchild_path, xparent_path, true, xauto_access);. More...
 
static bool row_conforms_to (const namespace_poset &xns, const poset_path &xchild_path, const poset_path &xparent_path, bool xauto_access=true)
 True if the row dofs defined by the schema specified by xchild_path agree in type and in order with the dofs defined by the schema member specified by path xparent_path. (Child schema may contain additional dofs as well.) Synonym for conforms_to(xns, xchild_path, xparent_path, false, xauto_access);. More...
 
static poset_path make_schema (const namespace_poset &xns, const poset_path &xparent_path, const std::string &xname)
 Creates a schema member with name xname which is join-equivalent the schema with path xparent_path. Returns a path to the new member. More...
 
static void make_schema_no_jims (namespace_poset *xns, const std::string &xposet_name, const std::string &xmember_name, const std::string &xparent_name)
 
static poset_path make_schema (const namespace_poset &xns, const poset_path &xparent_path, const std::string &xname, const std::string xdof_names[], const primitive_type xdof_types[], const bool xis_table_dof[], size_type xdof_ct, bool xauto_access)
 
static poset_path make_row_schema (const namespace_poset &xns, const poset_path &xparent_path, const std::string &xname, const std::string xdof_names[], const primitive_type xdof_types[], size_type xdof_ct, bool xauto_access)
 
static poset_path make_homogeneous_row_schema (const namespace_poset &xns, const poset_path &xparent_path, const std::string &xname, const std::string xdof_names[], const primitive_type xdof_type, size_type xdof_ct, bool xauto_access)
 
static void make_row_dofs_schema (namespace_poset *xns, const std::string member_names[], const int num_members, const int member_dof_type, const std::string &schema_poset_name, const std::string &schema_member_name, const std::string &schema_inherits_name)
 
static void make_table_dofs_schema (namespace_poset *xns, const std::string member_names[], const int num_members, const int member_dof_type, const std::string &schema_poset_name, const std::string &schema_member_name, const std::string &schema_inherits_name)
 
 schema_poset_member ()
 Default constructor; creates a new, unattached schema_poset_member handle. More...
 
 schema_poset_member (const abstract_poset_member &xother, bool xnew_jem=false, bool xauto_access=true)
 Copy constructor; creates a new schema_poset_member handle. If xnew_jem is false the handle is attached to the same state as xother. If xnew_jem is true, the handle is attached to a new state which is a copy (i.e. is join equivalent to) the state of xother. More...
 
schema_poset_memberclone (bool xnew_state, bool xauto_access=true) const
 Make a new handle instance of current. Attach the new instance to a new state if xnew_state is true. Otherwise, attach the new instance to the current state. More...
 
virtual schema_poset_memberoperator= (const abstract_poset_member &xother)
 Assignment operator; attaches this to the same state as xother. More...
 
schema_poset_memberoperator= (const schema_poset_member &xother)
 Assignment operator. More...
 
virtual ~schema_poset_member ()
 Destructor; deletes a poset member and its attached state, if any. More...
 
 schema_poset_member (poset_state_handle *xhost, primitive_type xprimitive_type, bool xauto_access=true)
 Creates a new handle attached to a new jim (join-irreducible member) state in xhost with dof map a copy of the primitive of type xprimitive_type. More...
 
 schema_poset_member (poset_state_handle *xhost, primitives_poset_dof_map *xdof_map=0, bool xcopy_dof_map=false, bool xauto_access=true)
 Creates a new jim (join-irreducible member) attached to a new member state in xhost. ("explicit" prevents interpretation as implicit conversion from poset_state_handle* to schema_poset_member&) More...
 
 schema_poset_member (poset_state_handle *xhost, const scoped_index *xexpansion, int xexpansion_ct, const tern &xnew_jem, bool xauto_access)
 Creates a new jrm (join reducible member) attached to a new member state in xhost. The jrm created is the join of the members with the indices given in xexpansion. More...
 
 schema_poset_member (const namespace_poset &xns, const std::string &xname, const poset_path &xparent_path, const wsv_block< schema_descriptor > &xdof_specs, bool xauto_access)
 Creates a new jim which conforms_to the schema with path xparent_path and has additional dofs with names, types, and roles specified by xdof_specs. More...
 
 schema_poset_member (poset_state_handle *xhost, pod_index_type xhub_id)
 Creates a new schema_poset_member handle attached to the member state with hub id xhub_id in xhost. More...
 
 schema_poset_member (poset_state_handle *xhost, const scoped_index &xid)
 Creates a new schema_poset_member handle attached to the member state with id xid in xhost. More...
 
 schema_poset_member (const poset_state_handle *xhost, const std::string &xname)
 Creates a new schema_poset_member handle attached to the member state with name xname in xhost. More...
 
 schema_poset_member (const namespace_poset *xnamespace, const poset_path &xpath, bool xauto_access=true)
 Creates a new schema_poset_member handle attached to the member state with path xpath in namespace xnamespace. More...
 
void new_jim_state (primitive_type xprimitive_type, bool xauto_access=true)
 Creates a new jim state in host() with dof map a copy of the primitive type specified by xprimitive_type. More...
 
void new_jim_state (poset_state_handle *xhost, primitive_type xprimitive_type, bool xauto_access=true)
 Creates a new jim state in host xhost with dof map a copy of the primitive type specified by xprimitive_type. More...
 
void new_jim_state (const namespace_poset &xns, const std::string &xname, const poset_path &xparent_path, const wsv_block< schema_descriptor > &xdof_specs, bool xauto_access)
 Creates a new jim with name xname which conforms_to the schema with path xparent_path in namespace xns and has additional dofs with names, types, and roles specified by xdof_specs. If a dof named in xdof_specs already exists, it is used and the type and role in the spec are ignored. Otherwise, a dof with the name, type, and role given in the spec is created. Warning: the jim created by the function will directly cover the parent and the members given in xdof_specs. The client must ensure that these cover links define a valid cover relation. In particular, if the join of some or all of the members in xdof_specs has been instantiated, it should appear in xdof_specs instead. More...
 
int dof_ct (bool xis_table_dof) const
 The number of table dofs (xis_table_dof true) or row dofs defined by this schema. More...
 
int table_dof_ct () const
 The number of table dofs defined by this schema. Synonym for dof_ct(true). More...
 
int row_dof_ct () const
 The number of row dofs defined by this schema. Synonym for dof_ct(false). More...
 
virtual int dof_ct () const
 The number of dofs in the dof tuple for jims of this poset;. More...
 
size_t dof_tuple_ub (bool xis_table_dof) const
 The size in bytes of the table dof tuple (xis_table_dof true) or the row dof tuple defined by this schema. More...
 
size_t table_dof_tuple_ub () const
 The size in bytes of the table dof tuple defined by this schema. Synonym for dof_tuple_ub(true). More...
 
size_t row_dof_tuple_ub () const
 The size in bytes of the row dof tuple defined by this schema. Synonym for dof_tuple_ub(false). More...
 
virtual primitive_type dof_tuple_type (bool xis_table_dof) const
 The type of table dofs (xis_table_dof == true) or row dofs (xis_table_dof == false) defined by this schema. Returns NOT_A_PRIMITIVE_TYPE if the dofs are not all the same type. More...
 
primitive_type table_dof_tuple_type () const
 The type of table dofs defined by this. Synonym for dof_tuple_type(true). More...
 
primitive_type row_dof_tuple_type () const
 The type of row dofs defined by this. Synonym for dof_tuple_type(false). More...
 
bool dof_tuple_is_homogeneous (bool xis_table_dof) const
 True if all the table dofs (xis_table_dof == true) or all the row dofs (xis_table_dof == false) defined by this have the same type. More...
 
bool table_dof_tuple_is_homogeneous () const
 True if all the table dofs have the same type. Synonym for dof_tuple_is_homogeneous(true);. More...
 
bool row_dof_tuple_is_homogeneous () const
 True if all the row dofs have the same type. Synonym for dof_tuple_is_homogeneous(false);. More...
 
std::string dof_subposet_name (bool xis_table_dof) const
 The standard name for the table (xis_table_dof true) or row (xis_table_dof false) dof subposet associated with this schema member. More...
 
std::string table_dof_subposet_name () const
 The standard name for the table dof subposet associated with this schema member. Synonym for dof_subposet_name(true). More...
 
std::string row_dof_subposet_name () const
 The standard name for the row dof subposet associated with this schema member. Synonym for dof_subposet_name(false). More...
 
const scoped_indextable_dof_subposet_index () const
 The index in host() of the subposet containing the the table dofs in the down set of this (const version). More...
 
const scoped_indexrow_dof_subposet_index () const
 The index in host() of the subposet containing the the row dofs in the down set of this (const version). More...
 
const scoped_indexdof_subposet_index (bool xis_table_dof) const
 The index in host() of the subposet containing the the table dofs (xis_table_dof true) or row dofs in the down set of this. More...
 
bool contains_dof (const schema_poset_member &xother, bool xin_table_dofs) const
 True if xother is a dof in the table dofs part (xin_table_dofs == true) or in the row dofs part (xin_table_dofs == false) of the schema defined by this. More...
 
bool contains_table_dof (const schema_poset_member &xother) const
 True if this is in the table dofs part of the schema defined by this. Synonym for contains_dof(xother, true). More...
 
bool contains_row_dof (const schema_poset_member &xother) const
 True if this is in the row dofs part of the schema defined by this. Synonym for contains_dof(xother, false). More...
 
bool contains_dof (pod_index_type xother_id, bool xin_table_dofs) const
 True if xother_id is the index of a dof in the table dofs part (xin_table_dofs == true) or in the row dofs part (xin_table_dofs == false) of the schema defined by this. More...
 
bool contains_dof (const scoped_index &xother_id, bool xin_table_dofs) const
 True if xother_id is the index of a dof in the table dofs part (xin_table_dofs == true) or in the row dofs part (xin_table_dofs == false) of the schema defined by this. More...
 
bool contains_dof (const std::string &xname, bool xin_table_dofs) const
 True if xname is the name of a dof in the table dofs part (xin_table_dofs == true) or in the row dofs part (xin_table_dofs == false) of the schema defined by this. More...
 
bool contains_table_dof (pod_index_type xother_id) const
 True if xother_id is the index of a dof in the table dofs part of the schema defined by this. Synonym for contains_dof(xother_id, true). More...
 
bool contains_table_dof (const scoped_index &xother_id) const
 True if xother_id is the index of a dof in the table dofs part of the schema defined by this. Synonym for contains_dof(xother_id, true). More...
 
bool contains_row_dof (pod_index_type xother_id) const
 True if xother_id is the index of a dof in the row dofs part of the schema defined by this. Synonym for contains_dof(xother_id, false). More...
 
bool contains_row_dof (const scoped_index &xother_id) const
 True if xother_id is the index of a dof in the row dofs part of the schema defined by this. Synonym for contains_dof(xother_id, false). More...
 
virtual bool is_dof (bool xin_table_dofs) const
 True if this is in the table dofs part (xin_table_dofs == true) or in the row dofs part (xin_table_dofs == false) of some schema. More...
 
bool is_table_dof () const
 True if this is in the table_dofs part of some schema. Synonym for is_dof(true). More...
 
bool is_row_dof () const
 True if this is in in the row_dofs part of some schema. Synonym for is_dof(false). More...
 
bool is_component () const
 True if this represents a component in the row dofs part of some schema. More...
 
bool is_component_of (const schema_poset_member &xother) const
 True if this represents a component in the row dofs part of schema xother. More...
 
bool is_factor () const
 True if this represents a factor in the row dofs part of some schema. More...
 
bool is_factor_of (const schema_poset_member &xother) const
 True if this represents a factor in the row dofs part of schema xother. More...
 
virtual size_t size () const
 The number of bytes in this dof. More...
 
virtual size_t alignment () const
 The alignment for this dof. More...
 
virtual primitive_type type () const
 The primitive type index of the dof defined by this. More...
 
virtual poset_dof_iteratordof_iterator (bool xis_table_dofs, int xversion=CURRENT_MEMBER_VERSION) const
 A postorder iterator over the table (xis_table_dofs == true) or row (xis_table_dofs == false) dofs defined by version version of this. More...
 
poset_dof_iteratortable_dof_iterator (int xversion=CURRENT_MEMBER_VERSION) const
 A postorder iterator over the table dofs defined by this. Synonym for dof_iterator(true). More...
 
poset_dof_iteratorrow_dof_iterator (int xversion=CURRENT_MEMBER_VERSION) const
 A postorder iterator over the row dofs defined by this. More...
 
bool conforms_to (const schema_poset_member &xother) const
 True if the dofs defined by this agree in type and in order with the dofs defined by xother. (This schema may contain additional dofs as well.) More...
 
virtual bool conforms_to (const schema_poset_member &xother, bool xis_table_dofs) const
 True if the table dofs (xis_table_dofs true) or row dofs (xis_is_table_dofs false) defined by this agree in type and in order with the dofs defined by xother. (This schema may contain additional dofs as well.) More...
 
bool conforms_to (const poset_path &xpath) const
 True if the dofs defined by this agree in type and in order with the dofs defined by the schema member specified by path xpath. (This schema may contain additional dofs as well.) More...
 
bool conforms_to (const poset_path &xpath, bool xis_table_dofs) const
 True if the table dofs (xis_table_dofs true) or row dofs (xis_is_table_dofs false) defined by this agree in type and in order with the dofs defined by the schema member specified by path xpath. (This schema may contain additional dofs as well.) More...
 
bool table_conforms_to (const schema_poset_member &xother) const
 True if the table dofs defined by this agree in type and in order with the dofs defined by xother. (This schema may contain additional dofs as well.) Synonym for conforms_to(xother, true). More...
 
bool table_conforms_to (const poset_path &xpath) const
 True if the table dofs defined by this agree in type and in order with the dofs defined by the schema member specified by path xpath. (This schema may contain additional dofs as well.) Synonym for conforms_to(xpath, true). More...
 
bool row_conforms_to (const schema_poset_member &xother) const
 True if the row dofs defined by this agree in type and in order with the dofs defined by xother. (This schema may contain additional dofs as well.) Synonym for conforms_to(xother, false). More...
 
bool row_conforms_to (const poset_path &xpath) const
 True if the row dofs defined by this agree in type and in order with the dofs defined by the schema member specified by path xpath. (This schema may contain additional dofs as well.) Synonym for conforms_to(xpath, false). More...
 
void force_cache_update ()
 Forces update of the attribute cache. More...
 
dof_descriptor_arraydof_descriptors (bool xis_table_dof) const
 The dof_descriptors_array for the table dof tuple (xis_table_dof true) or row dof tuple defined by this schema. The offsets in the descriptors are defined by post-ordered, contiguous, properly aligned allocation of the dofs. Note: although returned by pointer, the client must not delete the dof offsets array. More...
 
dof_descriptor_arraytable_dof_descriptors () const
 The dof_descriptors_array for the table dof tuple defined by this schema. Synonym for dof_descriptors(true). More...
 
dof_descriptor_arrayrow_dof_descriptors () const
 The dof_descriptors_array for the row dof tuple defined by this schema. Synonym for dof_descriptors(false). More...
 
virtual void attach_handle_data_members ()
 Initializes _table_dof_subset_index and _row_dof_subposet_index;. More...
 
subposet_statedof_subposet_state (bool xis_table_dof)
 The subposet_state for the table/row dof subposet. More...
 
bool table_cache_consistent () const
 True if cached table properties are consistent with index() and version(). More...
 
virtual void update_table_cache () const
 Updates cached table properties. More...
 
virtual bool initialize_table_dof_id_space () const
 Initialize table dof id space. Return true, if and only if the table dof id space was created. More...
 
virtual void update_table_dof_id_space () const
 Update the table dof id space. More...
 
virtual void update_table_dof_descriptors () const
 Update the table dof descriptors. More...
 
bool row_cache_consistent () const
 True if cached row properties are consistent with index() and version(). More...
 
virtual void update_row_cache (bool xupdate_id_space=false) const
 Updates cached row properties; if xupdate_id_space, force the update of the row dof id space. More...
 
virtual bool initialize_row_dof_id_space () const
 Initialize row dof id space. Return true, if and only if the row dof id space was created. More...
 
virtual void update_row_dof_id_space () const
 Update the row dof id space. More...
 
virtual void update_row_dof_descriptors () const
 Update the row dof descriptors. More...
 
bool initialize_dof_id_space (bool xis_table_dof) const
 Initializes the dof id space. If xis_table_dof, otherwise initialize table dof id space. Otherwise, initialize the row dof id space. Returns true if and only if the id space was created. More...
 
void update_dof_id_space (bool xis_table_dof) const
 Update the ids in the dof id space. If xis_table_dof, otherwise initialize table dof id space. Otherwise, initialize the row dof id space. More...
 
void update_dof_descriptors (bool xis_table_dof, dof_descriptor_array *&xdof_descriptors, size_type xdof_ct, size_type &xdof_tuple_ub) const
 Update the dof descriptors. If xis_table_dof, otherwise initialize table dof id space. Otherwise, initialize the row dof id space. More...
 

NEW DOF ACCESS FACET

index_space_handle_table_dof_id_space
 The table dof id space for the schema defined by this. More...
 
index_space_handle_row_dof_id_space
 The row dof id space for the schema defined by this. More...
 
const index_space_handledof_id_space (bool xis_table_dofs) const
 The table dof (xis_table_dof true) or row dof id space for the schema defined by this. More...
 
const index_space_handledof_id_space (bool xis_table_dofs, bool xauto_access) const
 The table dof (xis_table_dof true) or row dof id space for the schema defined by this. More...
 
const index_space_handletable_dof_id_space () const
 The table dof id space for the schema defined by this. More...
 
const index_space_handletable_dof_id_space (bool xauto_access) const
 The table dof id space for the schema defined by this. More...
 
const index_space_handlerow_dof_id_space () const
 The row dof id space for the schema defined by this. More...
 
const index_space_handlerow_dof_id_space (bool xauto_access) const
 The row dof id space for the schema defined by this. More...
 
std::string name (pod_index_type xdof_id, bool xis_table_dof) const
 The name of the table dof (xis_table_dof true) or row dof referred to by xdof_id in the schema defined by this. More...
 
std::string name (const scoped_index &xdof_id, bool xis_table_dof, bool xauto_access) const
 The name of the table dof (xis_table_dof true) or row dof referred to by xdof_id in the schema defined by this. More...
 
virtual size_type size (pod_index_type xdof_id, bool xis_table_dof) const
 The number of bytes in the table dof (xis_table_dof true) or row dof referred to by xdof_id in the schema defined by this. More...
 
size_type size (const scoped_index &xdof_id, bool xis_table_dof, bool xauto_access) const
 The number of bytes in the table dof (xis_table_dof true) or row dof referred to by xdof_id in the schema defined by this. More...
 
size_type size (const std::string &xname, bool xis_table_dof, bool xauto_access) const
 The number of bytes in the table dof (xis_table_dof true) or row dof with name xname in the schema defined by this. More...
 
virtual size_type alignment (pod_index_type xdof_id, bool xis_table_dof) const
 The alignment for the table dof (xis_table_dof true) or row dof referred to by xdof_id in the schema defined by this. More...
 
size_type alignment (const scoped_index &xdof_id, bool xis_table_dof, bool xauto_access) const
 The alignment for the table dof (xis_table_dof true) or row dof referred to by xdof_id in the schema defined by this. More...
 
size_type alignment (const std::string &xname, bool xis_table_dof, bool xauto_access) const
 The alignment for the table dof (xis_table_dof true) or row dof with name xname in the schema defined by this. More...
 
virtual primitive_type type (pod_index_type xdof_id, bool xis_table_dof) const
 The primitive type for the table dof (xis_table_dof true) or row dof referred to by xdof_id in the schema defined by this. More...
 
primitive_type type (const scoped_index &xdof_id, bool xis_table_dof, bool xauto_access) const
 The primitive type for the table dof (xis_table_dof true) or row dof referred to by xdof_id in the schema defined by this. More...
 
primitive_type type (const std::string &xname, bool xis_table_dof, bool xauto_access) const
 The primitive type for the table dof (xis_table_dof true) or row dof with name xname in the schema defined by this. More...
 
virtual size_type offset (pod_index_type xdof_id, bool xis_table_dof) const
 The offset for the table dof (xis_table_dof true) or row dof referred to by xdof_id in the schema defined by this. More...
 
size_type offset (const scoped_index &xdof_id, bool xis_table_dof, bool xauto_access) const
 The offset for the table dof (xis_table_dof true) or row dof referred to by xdof_id in the schema defined by this. More...
 
size_type offset (const std::string &xname, bool xis_table_dof, bool xauto_access) const
 The offset for the table dof (xis_table_dof true) or row dof with name xname in the schema defined by this. 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...
 
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...
 
virtual pod_index_type get_int_id (pod_index_type xext_id, const std::string &xid_space_name) const
 Gets the internal id corresponding to xext_id in the id space with name xid_space_name. More...
 
virtual pod_index_type get_ext_id (const std::string &xid_space_name) const
 Gets an external id corresponding to index() in the id space with name xid_space_name. More...
 
virtual void get_ext_ids (const std::string &xid_space_name, pod_index_type &xschema_poset_ext_id, 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) const
 Gets the external ids of this in the id space with name xid_space_name. More...
 
virtual schema_poset_memberext_data_type_schema ()
 The schema for the external data type associated with this schema. More...
 
virtual size_t ext_data_type_ct (bool xis_table_schema) const
 The number of instances of the external data type needed to represent this schema. More...
 

DEGREE OF FREEDOM (DOF) TUPLE FACET

virtual primitives_poset_dof_mapdof_map (bool xrequire_write_access=false)
 The map from schema member ids or client ids to dof values for this poset member (mutable version) More...
 
virtual const primitives_poset_dof_mapdof_map (bool xrequire_write_access=false) const
 The map from schema member ids or client ids to dof values for this poset member (const version) More...
 
virtual bool dof_map_is_ancestor_of (const poset_dof_map *xdof_map) const
 True if xdof_map conforms to (is derived from) the type of dof map required by this handle. More...
 

ORDERING RELATION FACET

schema_poset_membergreatest_jem () const
 The largest member which is join-equivalent to this. More...
 
schema_poset_memberleast_jem () const
 The smallest member which is join-equivalent to this. More...
 

POSET ALGEBRA FACET

schema_poset_memberp_join (abstract_poset_member *other) const
 poset join of this with other, auto-, pre-, and self-allocated versions the poset join is the least upper bound in the poset More...
 
schema_poset_memberp_meet (abstract_poset_member *other)
 poset meet of this with other, auto-, pre-, and self-allocated versions the poset meet is the greatest lower bound in the poset More...
 

LATTICE ALGEBRA FACET

schema_poset_memberl_join (abstract_poset_member *other, bool xnew_jem=true)
 lattice join of this with other, auto-, pre-, and self-allocated versions the lattice join is the least upper bound in the lattice generated by the jims in the poset More...
 
schema_poset_memberl_meet (abstract_poset_member *other, bool xnew_jem=true)
 lattice meet of this with other, auto-, pre-, and self-allocated versions the lattice meet is the greatest lower bound in the lattice generated by the jims in the poset More...
 
schema_poset_memberl_not (bool xnew_jem=true) const
 lattice pseudo-complement of this, auto-, pre- and self allocated versions The lattice pseudo-complement is the largest lattice member m for which this.l_meet(m) = 0 More...
 

STATE FACET

virtual void detach_from_state ()
 Detach this handle from its state, if any. More...
 

ANY FACET

virtual bool is_ancestor_of (const any *other) const
 True if other conforms to this. More...
 
virtual schema_poset_memberclone () const
 Make a new handle, no state instance of current. More...
 
virtual bool invariant () const
 Class invariant. More...
 

Additional Inherited Members

- Public Types inherited from sheaf::abstract_poset_member
typedef namespace_poset namespace_type
 The type of namespace for this type of member. More...
 
typedef poset host_type
 The type of host poset for this type of member. More...
 
typedef abstract_poset_member_table_dofs_type table_dofs_type
 The type of the table dofs. More...
 
typedef abstract_poset_member_row_dofs_type row_dofs_type
 The type of the row dofs. More...
 
- Public Member Functions inherited from sheaf::total_poset_member
 total_poset_member ()
 Default constructor; creates a new, unattached total_poset_member handle. More...
 
 total_poset_member (const abstract_poset_member &xother, bool xnew_jem=false)
 Copy constructor; creates a new total_poset_member handle. If xnew_jem is false the handle is attached to the same state as xother. If xnew_jem is true, the handle is attached to a new state which is a copy (i.e. is join equivalent to) the state of xother. More...
 
total_poset_memberoperator= (const total_poset_member &xother)
 Assignment operator; attaches this to the same state as xother. More...
 
virtual ~total_poset_member ()
 Destructor; deletes a poset member and its attached state, if any. More...
 
total_poset_memberclone (bool xnew_state, bool xauto_access=true) const
 Make a new handle instance of current. Attach the new instance to a new state if xnew_state is true. Otherwise, attach the new instance to the current state. More...
 
 total_poset_member (poset_state_handle *xhost, poset_dof_map *xdof_map=0, bool xcopy_dof_map=false, bool xauto_access=true)
 Creates a new jim (join-irreducible member) attached to a new member state in xhost. If xdof_map == 0 a new dof map is created. If xdof_map != 0 and xcopy_dof_map == false, xdof_map is used as the dof map. If xdof_map != 0 and xcopy_dof_map is true, a copy of xdof_map is used. More...
 
 total_poset_member (poset_state_handle *xhost, const scoped_index *xexpansion, int xexpansion_ct, const tern &xnew_jem, bool xauto_access)
 Creates a new jrm (join reducible member) attached to a new member state in xhost The jrm created is the join of the members with the indices given in xexpansion. More...
 
 total_poset_member (const poset_state_handle *xhost, pod_index_type xhub_id)
 Creates a new total_poset_member handle attached to the member state with hub id xhub_id in xhost. More...
 
 total_poset_member (const poset_state_handle *xhost, const scoped_index &xid)
 Creates a new total_poset_member handle attached to the member state with id xid in xhost. More...
 
 total_poset_member (const poset_state_handle *xhost, const std::string &xname)
 Creates a new total_poset_member handle attached to the member state with name xname in xhost. More...
 
 total_poset_member (const namespace_poset *xnamespace, const poset_path &xpath, bool xauto_access=true)
 Creates a new total_poset_member handle attached to the member state with name xmember_name in the poset with name xposet_name in the namespace xnamespace. More...
 
virtual schema_poset_memberschema ()
 The schema for this member (mutable version). More...
 
virtual const schema_poset_memberschema () const
 The schema for this member (const version). More...
 
virtual bool is_restricted () const
 True if handle is a restriction of the state, that is, if schema() is not the same as host()->schema(). More...
 
total_poset_membergreatest_jem () const
 The largest member which is join-equivalent to this. More...
 
total_poset_memberleast_jem () const
 The smallest member which is join-equivalent to this. More...
 
total_poset_memberp_join (abstract_poset_member *other) const
 poset join of this with other, auto-, pre-, and self-allocated versions the poset join is the least upper bound in the poset More...
 
total_poset_memberp_meet (abstract_poset_member *other)
 poset meet of this with other, auto-, pre-, and self-allocated versions the poset meet is the greatest lower bound in the poset More...
 
total_poset_memberl_join (abstract_poset_member *other, bool xnew_jem=true)
 lattice join of this with other, auto-, pre-, and self-allocated versions the lattice join is the least upper bound in the lattice generated by the jims in the poset More...
 
total_poset_memberl_meet (abstract_poset_member *other, bool xnew_jem=true)
 lattice meet of this with other, auto-, pre-, and self-allocated versions the lattice meet is the greatest lower bound in the lattice generated by the jims in the poset More...
 
total_poset_memberl_not (bool xnew_jem=true) const
 lattice pseudo-complement of this, auto-, pre- and self allocated versions The lattice pseudo-complement is the largest lattice member m for which this.l_meet(m) = 0 More...
 
- Public Member Functions inherited from sheaf::abstract_poset_member
virtual ~abstract_poset_member ()
 Destructor; deletes a poset member and its attached state, if any. More...
 
abstract_poset_memberclone (bool xnew_state, bool xauto_access=true) const
 Virtual constructor; makes a new handle of the same type as this, attached to a new state (xnew_state true) or attached to the same state as this (xnew_state false). More...
 
virtual void new_jim_state (poset_dof_map *xdof_map=0, bool xcopy_dof_map=false, bool xauto_access=true)
 Creates a new jim (join-irreducible member) state in host() and attaches this to it. If xdof_map == 0 a new dof map is created. If xdof_map != 0 and xcopy_dof_map == false, xdof_map is used as the dof map. If xdof_map != 0 and xcopy_dof_map is true, a copy of xdof_map is used. More...
 
virtual void new_jim_state (pod_index_type xtuple_id, bool xauto_access=true)
 Creates a new jim (join-irreducible member) state in host() and attaches this to it. The existing dof map with index xtuple_id is used as the dof map. More...
 
void new_jim_state (const scoped_index &xtuple_id, bool xauto_access=true)
 Creates a new jim (join-irreducible member) state in host() and attaches this to it. The existing dof map with index xtuple_id is used as the dof map. More...
 
virtual void new_jim_state (poset_state_handle *xhost, poset_dof_map *xdof_map=0, bool xcopy_dof_map=false, bool xauto_access=true)
 Creates a new jim (join-irreducible member) state in xhost and attaches this to it. More...
 
virtual void new_jim_state (poset_state_handle *xhost, pod_index_type xtuple_id, bool xauto_access=true)
 Creates a new jim (join-irreducible member) state in xhost and attaches this to it. The existing dof map with index xtuple_id is used as the dof map. More...
 
void new_jim_state (poset_state_handle *xhost, const scoped_index &xtuple_id, bool xauto_access=true)
 Creates a new jim (join-irreducible member) state in xhost and attaches this to it. The existing dof map with index xtuple_id is used as the dof map. More...
 
virtual void new_jrm_state (bool xauto_access=true)
 Creates a new jrm (join-reducible member) state in host() and attaches this to it. More...
 
virtual void new_jrm_state (poset_state_handle *xhost, bool xauto_access=true)
 Creates a new jrm (join-reducible member) state in xhost and attaches this to it. More...
 
virtual void new_jrm_state (const scoped_index *xexpansion, int xexpansion_ct, const tern &xgreatest, bool xauto_access=true)
 Computes the join of the members with the indices given in xexpansion. If the join already exists and xgreatest_jem: is_true(), creates a new greatest jem of the existing join and attaches to it; is_false(), creates a new least jem of the existing join and attaches to it; is_neither(), attaches to the existing join;. More...
 
virtual void new_jrm_state (poset_state_handle *xhost, const scoped_index *xexpansion, int xexpansion_ct, const tern &xgreatest, bool xauto_access=true)
 Computes the join of the members with the indices given in xexpansion. If the join already exists and xgreatest_jem: is_true(), creates a new greatest jem of the existing join and attaches to it; is_false(), creates a new least jem of the existing join and attaches to it; is_neither(), attaches to the existing join;. More...
 
virtual void new_jem_state (abstract_poset_member *xother, bool xgreatest, bool xauto_access)
 Creates a new jrm state in host() which is the greatest jem (xgreatest true) or least jem (xgreatest false) of xother and attaches this to it. More...
 
virtual void new_jem_state (poset_state_handle *xhost, pod_index_type xhub_id, bool xgreatest, bool xauto_access)
 Creates a new jrm state in xhost which is the greatest jem (xgreatest true) or least jem (xgreatest false) of hub id xhub_id and attaches this to it. More...
 
void new_jem_state (poset_state_handle *xhost, const scoped_index &xid, bool xgreatest, bool xauto_access)
 Creates a new jrm state in xhost which is the greatest jem (xgreatest true) or least jem (xgreatest false) of id xid and attaches this to it. More...
 
virtual bool is_jim (bool xin_current_version=true) const
 True if this member is join irreducible in the current version of the host (xin_current_version == true) or in some version of the host (xin_current_version == false). More...
 
virtual bool is_atom () const
 True if this member covers the bottom. More...
 
schema_poset_memberschema (bool xauto_access)
 The schema for this poset member, auto-accessible (mutable version). More...
 
const schema_poset_memberschema (bool xauto_access) const
 The schema for this poset member, auto-accessible (const version). More...
 
virtual schema_poset_memberunrestricted_schema ()
 The unrestricted schema for this poset member (mutable version). More...
 
virtual const schema_poset_memberunrestricted_schema () const
 The unrestricted schema for this poset member (const version). More...
 
bool schema_is (const std::string &xschema_name) const
 True if the schema of this has name xname. More...
 
bool same_schema (const abstract_poset_member *xother) const
 True if xother has the same schema (column poset) as this. More...
 
virtual bool is_same_restriction (const abstract_poset_member *xother) const
 True if this is the same restriction as xother, that is, if schema().is_same_state(xother.schema()). More...
 
void dof_tuple (const void *xbuf, size_t xbuflen) const
 Copies the entire dof tuple between xbuf and internal storage. More...
 
void put_dof_tuple (const void *xbuf, size_t xbuflen)
 Copies the entire dof tuple between xbuf and internal storage. More...
 
pod_index_type dof_tuple_id (bool xauto_access) const
 The dof tuple index of this member. More...
 
void dof_tuple_id (scoped_index &result, bool xauto_access) const
 The dof tuple index of this member. More...
 
void put_dof_tuple_id (pod_index_type xtuple_index, bool xauto_access)
 Sets dof tuple index to xtuple_index. More...
 
void put_dof_tuple_id (const scoped_index &xtuple_index, bool xauto_access)
 Sets dof tuple index to xtuple_index. More...
 
void * table_dofs ()
 The table dofs for this instance (mutable version). More...
 
const void * table_dofs () const
 The table dofs for this instance (const version). More...
 
void * table_dofs (bool xauto_access)
 The table dofs for this instance (mutable auto-access version). More...
 
const void * table_dofs (bool xauto_access) const
 The table dofs for this instance (const auto-access version). More...
 
void * row_dofs ()
 The row dofs for this instance (mutable version). More...
 
const void * row_dofs () const
 The row dofs for this instance (const version). More...
 
void * row_dofs (bool xauto_access)
 The row dofs for this instance (mutable auto-access version). More...
 
const void * row_dofs (bool xauto_access) const
 The row dofs for this instance (const auto-access version). More...
 
primitive_value dof (pod_index_type xdof_id) const
 The dof referred to by xdof_id. More...
 
primitive_value dof (const scoped_index &xdof_id, bool xauto_access) const
 The dof referred to by xdof_id. More...
 
void put_dof (pod_index_type xdof_id, const primitive_value &xdof)
 Sets the dof referred to by xdof_id to xdof. More...
 
void put_dof (const scoped_index &xdof_id, const primitive_value &xdof, bool xauto_access)
 Sets the dof referred to by xdof_id to xdof. More...
 
void get_dof (pod_index_type xdof_id, void *xdof, size_type xdof_size) const
 Copies the dof referred to by xdof_id into xdof. More...
 
void get_dof (const scoped_index &xdof_id, void *xdof, size_type xdof_size, bool xauto_access) const
 Copies the dof referred to by xdof_id into xdof. More...
 
void put_dof (pod_index_type xdof_id, const void *xdof, size_type xdof_size)
 Sets the dof referred to by xdof_id to the value at xdof. More...
 
void put_dof (const scoped_index &xdof_id, const void *xdof, size_type xdof_size, bool xauto_access)
 Sets the dof referred to by xdof_id to the value at xdof. More...
 
bool le (pod_index_type xother_index) const
 True if this is less than or equal to the member with index xother_index. More...
 
bool le (const scoped_index &xother_index) const
 True if this is less than or equal to the member with index xother_index. More...
 
bool le (const abstract_poset_member *other) const
 True if this is less than or equal to other. More...
 
bool leqv (pod_index_type xother_index) const
 True if this is less than or equivalent to the member with index xother_index. More...
 
bool leqv (const scoped_index &xother_index) const
 True if this is less than or equivalent to the member with index xother_index. More...
 
bool lt (pod_index_type xother_index) const
 True if this is strictly less than the member with index xother_index. More...
 
bool lt (const scoped_index &xother_index) const
 True if this is strictly less than the member with index xother_index. More...
 
bool lt (const abstract_poset_member *other) const
 true if this is strictly less than other More...
 
bool ge (pod_index_type xother_index) const
 True if this is greater than or equal to the member with index xother_index. More...
 
bool ge (const scoped_index &xother_index) const
 True if this is greater than or equal to the member with index xother_index. More...
 
bool ge (const abstract_poset_member *other) const
 true if this is greater than or equal to other More...
 
bool geqv (pod_index_type xother_index) const
 True if this is greater than or equivalent to the member with index xother_index. More...
 
bool geqv (const scoped_index &xother_index) const
 True if this is greater than or equivalent to the member with index xother_index. More...
 
bool gt (pod_index_type xother_index) const
 True if this is strictly greater than the member with index xother_index. More...
 
bool gt (const scoped_index &xother_index) const
 True if this is strictly greater than the member with index xother_index. More...
 
bool gt (const abstract_poset_member *other) const
 True if this is strictly greater than other. More...
 
bool is_jem (const abstract_poset_member *xother) const
 True if xother is join equivalent to this. More...
 
abstract_poset_membergreatest_jem () const
 The largest member which is join-equivalent to this. More...
 
void greatest_jem_pa (abstract_poset_member *result) const
 The largest member which is join-equivalent to this. More...
 
abstract_poset_memberleast_jem () const
 The smallest member which is join-equivalent to this. More...
 
void least_jem_pa (abstract_poset_member *result) const
 The smallest member which is join-equivalent to this. More...
 
virtual void merge_jem (const abstract_poset_member *xjem)
 Merge the join-equivalence class of xjem under the join equivalence class of this. More...
 
bool covers (const abstract_poset_member *xother) const
 True if this covers other. More...
 
bool covers (pod_index_type xhub_id) const
 True if this covers the member with hub id xhub_id. More...
 
bool covers (const scoped_index &xid) const
 True if this covers the member with id xid. More...
 
virtual void create_cover_link (abstract_poset_member *xlesser)
 Insert a link from this to lesser; make lesser <= this. More...
 
virtual void delete_cover_link (abstract_poset_member *lesser)
 Delete the link from this to lesser; make lesser incomparable to this. More...
 
index_space_handleget_cover_id_space (bool xlower) const
 Allocates a handle for the lower (xlower true) or upper (xlower false) cover id space of this member from the pool of id spaces. More...
 
void release_cover_id_space (index_space_handle &xcover_id_space) const
 Returns xcover_id_space to the pool of id spaces. More...
 
index_space_iteratorget_cover_id_space_iterator (bool xlower) const
 Allocates an iterator for the lower (xlower true) or upper (xlower false) cover id space of this member from the pool of id space iterators. More...
 
void release_cover_id_space_iterator (index_space_iterator &xcover_itr) const
 Returns xcover_itr to the pool of id spaces. More...
 
bool cover_contains_iterator (bool xlower, const index_space_iterator &xitr) const
 True if and only if the lower (xlower true) or upper (xlower false) cover id space of this is the domain of iterator xitr. More...
 
bool cover_is_empty (bool xlower) const
 True if and only if the lower (xlower true) or upper (xlower false) cover this is empty. More...
 
bool cover_is_singleton (bool xlower) const
 True if and only if the lower (xlower true) or upper (xlower false) cover set of this contains exactly one member. More...
 
virtual size_type cover_ct (bool lower) const
 The number of members in the lower cover (xlower true) or upper cover (xlower false) of this. More...
 
bool cover_contains_member (bool xlower, pod_index_type xother_mbr_index) const
 True if and only if the lower (xlower true) or upper (xlower false) cover set of this contains xother_mbr_index. More...
 
bool cover_contains_member (bool xlower, const scoped_index &xother_mbr_index) const
 True if and only if the lower (xlower true) or upper (xlower false) cover set of this contains xother_mbr_index. More...
 
bool cover_is_equal (bool xlower, pod_index_type xother_mbr_index) const
 True if and only if the lower (xlower true) or upper (xlower false) cover of this contains the same members as the lower or upper cover, respectively, of the member with index xother_mbr_index. More...
 
bool cover_is_equal (bool xlower, const scoped_index &xother_mbr_index) const
 True if and only if the lower (xlower true) or upper (xlower false) cover of this contains the same members as the lower or upper cover, respectively, of the member with index xother_mbr_index. More...
 
pod_index_type first_cover_member (bool xlower) const
 The first member of the lower (xlower true) or upper (xlower false) cover of this. More...
 
void first_cover_member (bool xlower, scoped_index &result) const
 The first member of the lower (xlower true) or upper (xlower false) cover of this. More...
 
void insert_cover_member (pod_index_type xother_mbr_index, bool xlower)
 Inserts xother_mbr_index in the lower (xlower true) or upper (xlower false) cover set of this. More...
 
void insert_cover_member (const scoped_index &xother_mbr_index, bool xlower)
 Inserts xother_mbr_index in the lower (xlower true) or upper (xlower false) cover set of this. More...
 
void remove_cover_member (pod_index_type xother_mbr_index, bool xlower)
 Removes xother_mbr_index from the lower (xlower true) or upper (xlower false) cover set of this. More...
 
void remove_cover_member (const scoped_index &xother_mbr_index, bool xlower)
 Removes xother_mbr_index from the lower (xlower true) or upper (xlower false) cover set of this. If xitr is at the end, forces xitr.is_done(). Otherwise, increments xitr to the next position. More...
 
void remove_cover_member (index_space_iterator &xitr, bool xlower)
 Removes the current item of xitr from the lower (xlower true) or upper (xlower false) cover set of this. More...
 
void clear_cover (bool xlower)
 Clears the lower (xlower true) or upper (xlower false) cover set of this. More...
 
void copy_cover (bool xlower, pod_index_type xother_mbr_index)
 Copies the lower (xlower true) or upper (xlower false) cover of this to the member with index xother_mbr_index. More...
 
void copy_cover (bool xlower, const scoped_index &xother_mbr_index)
 Copies the lower (xlower true) or upper (xlower false) cover of this to the member with index xother_mbr_index. More...
 
int down_ct () const
 The number of members in the down set of this member. More...
 
virtual int down_ct (pod_index_type xfilter_index) const
 The number of members in the down set of this member, filtered by the subposet in host() with index xfilter_index. More...
 
int down_ct (const scoped_index &xfilter_index) const
 The number of members in the down set of this member, filtered by the subposet in host() with index xfilter_index. More...
 
virtual subposetdown () const
 The down set of this, auto-allocated version. More...
 
virtual void down_pa (subposet *result) const
 The down set of this, pre-allocated version. More...
 
void delete_down (bool xdelete_exterior=false, bool xenter_jim_edit_mode=true)
 Delete the strict down set of this, except for the external boundary. If xdelete_exterior, delete the external boundary as well. More...
 
int up_ct () const
 The number of members in the up set of this member. More...
 
virtual int up_ct (pod_index_type xfilter_index) const
 The number of members in the up set of this member, filtered by the subposet in host() with index xfilter_index. More...
 
int up_ct (const scoped_index &xfilter_index) const
 The number of members in the up set of this member, filtered by the subposet in host() with index xfilter_index. More...
 
virtual subposetup () const
 The up set of this member, auto- and pre-allocated versions. More...
 
virtual void up_pa (subposet *result) const
 The up set of this member, auto- and pre-allocated versions. More...
 
virtual int jim_ct () const
 The number of members in the set of jims contained in the down set of this member. More...
 
virtual subposetjims ()
 The set of jims contained in the down set of this member, auto-allocated. More...
 
virtual void jims_pa (subposet *result)
 The set of jims contained in the down set of this member, pre-allocated. More...
 
virtual int maximal_jim_ct () const
 The number of maximal members in the set of jims contained in the down set of this member. More...
 
virtual subposetmaximal_jims ()
 The maximal members of the set of jims contained in this member, auto-allocated. More...
 
virtual void maximal_jims_pa (subposet *result) const
 The maximal members of the set of jims contained in this member, pre-allocated. More...
 
virtual int atom_ct () const
 The number of members in the set of atoms contained in the down set of this member. More...
 
virtual subposetatoms () const
 The set of atomss contained in the down set of this member, auto-allocated. More...
 
virtual void atoms_pa (subposet *result) const
 The set of atomss contained in the down set of this member, pre-allocated. More...
 
abstract_poset_memberp_join (abstract_poset_member *other) const
 poset join of this with other, auto-allocated
the poset join is the least upper bound in the poset More...
 
virtual void p_join_pa (abstract_poset_member *other, abstract_poset_member *result) const
 poset join of this with other, pre-allocated
the poset join is the least upper bound in the poset More...
 
void p_join_sa (abstract_poset_member *other)
 poset join of this with other, self-allocated
the poset join is the least upper bound in the poset More...
 
abstract_poset_memberp_meet (abstract_poset_member *other)
 poset meet of this with other, auto-allocated
the poset meet is the greatest lower bound in the poset More...
 
virtual void p_meet_pa (abstract_poset_member *other, abstract_poset_member *result)
 poset meet of this with other, pre-allocated
the poset meet is the greatest lower bound in the poset More...
 
void p_meet_sa (abstract_poset_member *other)
 poset meet of this with other, self-allocated
the poset meet is the greatest lower bound in the poset More...
 
abstract_poset_memberl_join (abstract_poset_member *other, bool xnew_jem=true)
 lattice join of this with other, auto-allocated
the lattice join is the least upper bound in the lattice generated by the jims in the poset More...
 
void l_join_pa (abstract_poset_member *other, abstract_poset_member *result, bool xnew_jem=true)
 lattice join of this with other, pre-allocated
the lattice join is the least upper bound in the lattice generated by the jims in the poset More...
 
void l_join_sa (abstract_poset_member *other, bool xnew_jem=true)
 lattice join of this with other, self-allocated
the lattice join is the least upper bound in the lattice generated by the jims in the poset More...
 
abstract_poset_memberl_meet (abstract_poset_member *other, bool xnew_jem=true)
 lattice meet of this with other, auto-allocated
the lattice meet is the greatest lower bound in the lattice generated by the jims in the poset More...
 
void l_meet_pa (abstract_poset_member *other, abstract_poset_member *result, bool xnew_jem=true)
 lattice meet of this with other, pre-allocated
the lattice meet is the greatest lower bound in the lattice generated by the jims in the poset More...
 
void l_meet_sa (abstract_poset_member *other, bool xnew_jem=true)
 lattice meet of this with other, self-allocated
the lattice meet is the greatest lower bound in the lattice generated by the jims in the poset More...
 
abstract_poset_memberl_not (bool xnew_jem=true) const
 lattice pseudo-complement of this, auto-allocated
The lattice pseudo-complement is the largest lattice member m for which this.l_meet(m) = 0 More...
 
void l_not_pa (abstract_poset_member *result, bool xnew_jem=true) const
 lattice pseudo-complement of this, pre-allocated
The lattice pseudo-complement is the largest lattice member m for which this.l_meet(m) = 0 More...
 
void l_not_sa (bool xnew_jem=true) const
 lattice pseudo-complement of this, self-allocated
The lattice pseudo-complement is the largest lattice member m for which this.l_meet(m) = 0 More...
 
virtual bool is_valid_index (const poset_state_handle *xhost, pod_index_type xhub_id, int xversion=CURRENT_HOST_VERSION) const
 True if there exists a component of the same type as this with hub id xhub_id in version xversion of xhost. More...
 
bool is_valid_index (const poset_state_handle *xhost, const scoped_index &xid, int xversion=CURRENT_HOST_VERSION) const
 True if there exists a component of the same type as this with id xid in version xversion of xhost. More...
 
const index_space_familyid_spaces () const
 The id space family for this member. More...
 
virtual const hub_index_space_handlehub_id_space () const
 The hub id space; const version. More...
 
virtual const scoped_indexhub_id () const
 A id in the hub id space for components of this type; intended for copying to initialize ids to the hub id space. More...
 
virtual scoped_index hub_id (pod_index_type xid) const
 An id in the member hub id space with pod xid. More...
 
virtual pod_index_type get_index_from_name (const poset_state_handle *xhost, const std::string &xname) const
 Gets the index of the component in xhost with name xname. More...
 
virtual void get_index_from_name (const poset_state_handle *xhost, const std::string &xname, scoped_index &result) const
 Gets the index of the component in xhost with name xname. More...
 
std::string name () const
 A name for this. More...
 
virtual std::string name (bool xauto_access) const
 A name for this. More...
 
virtual void all_names (block< std::string > &xresult, bool xauto_access=false) const
 All the names for this. More...
 
virtual size_type name_ct (bool xauto_access) const
 The number of names for this. More...
 
virtual bool has_name (const std::string &xname, bool xauto_access=false) const
 True if xname is a name for this. More...
 
virtual void put_name (const std::string &xname, bool xunique, bool xauto_access)
 Make xname a name for this; if xunique, make xname the only name. More...
 
virtual void delete_name (const std::string &xname, bool xauto_access=false)
 Delete all names for this. More...
 
virtual void delete_all_names (bool xauto_access=false)
 Delete all the names for this. More...
 
void attach_to_state (const namespace_poset *xns, const poset_path &xpath, bool xauto_access=true)
 Attach to the state specified by path xpath in the namespace xns. More...
 
void attach_to_state (const namespace_poset *xnamespace, pod_index_type xposet_index, pod_index_type xmember_index, bool xauto_access=true)
 Attach to the state with name xmember_index in the poset with name xposet_index in the namespace xnamespace. More...
 
void attach_to_state (const namespace_poset *xnamespace, const scoped_index &xposet_index, const scoped_index &xmember_index, bool xauto_access=true)
 Attach to the state with name xmember_index in the poset with name xposet_index in the namespace xnamespace. More...
 
virtual void delete_state (bool xauto_access=false)
 Detachs this from its state and then deletes the state. More...
 
virtual void to_stream (std::ostream &xos=std::cout) const
 Virtual stream insertion. More...
 
- Public Member Functions inherited from sheaf::poset_component
virtual ~poset_component ()
 Destructor. More...
 
const scoped_indexindex () const
 The index of the component state this handle is attached to. More...
 
bool is_valid_index (const poset_state_handle *xhost, const scoped_index &xid, int xversion=CURRENT_HOST_VERSION) const
 True if there exists a component of the same type as this with id xid in version xversion of xhost. More...
 
int version (bool xunalias=true) const
 The (possibly aliased) version of this component. The version of the host used when evaluating properties of this component. If unalias == true, return actual version alias refers to. More...
 
virtual void put_version (int xversion, bool xunalias=false)
 Sets version to (possibly aliased) xversion. If unalias == true, set version to the actual version alias refers to. More...
 
int unaliased_version (int xversion) const
 The actual version associated with (possibly aliased) version xversion in this. More...
 
pod_index_type version_index () const
 The subposet index for the filter associated with version(). More...
 
void version_index (scoped_index &result) const
 The subposet index for the filter associated with version(). More...
 
std::string version_name () const
 The subposet name for the filter associated with version(). More...
 
bool has_version (int xversion) const
 True if xversion is a valid version for this. More...
 
std::string name () const
 OBSOLETE: use name(bool xauto_access). A name for this. More...
 
bool is_valid_name (const poset_state_handle *xhost, const std::string &xname) const
 True if there exists a component as the same type as this in xhost with name xname. More...
 
poset_path path (bool xauto_access=true) const
 A path to this component. More...
 
bool has_path (const poset_path &xpath, bool xauto_access) const
 True if and only if xpath refers to this component. More...
 
poset_state_handlehost () const
 The poset which this is a handle to a component of. More...
 
virtual bool host_is_ancestor_of (const poset_state_handle *xther) const
 True if xother conforms to host. More...
 
bool has_same_host (const poset_component *xother) const
 True if xother is attached to the same host as this or if both are unattached. More...
 
bool in_same_space (const poset_component *xother) const
 Synonym for has_same_host(xother) More...
 
virtual namespace_posetname_space () const
 The namespace of host() More...
 
virtual bool namespace_is_ancestor_of (const namespace_poset *xother) const
 True if xother conforms to name_space(). More...
 
bool same_namespace (const poset_component *xother) const
 True if the host of xother resides in the same namespace as this or if both are unattached. More...
 
bool same_namespace (const poset_state_handle *xother) const
 True if xother resides in the same namespace as the host of this or if both are unattached. More...
 
void attach_to_state (const poset_state_handle *xhost, pod_index_type xhub_id)
 Attach this handle to the state with hub id xhub_id in the current version of host xhost. More...
 
void attach_to_state (const poset_state_handle *xhost, const scoped_index &xid)
 Attach this handle to the state with id xid in the current version of host xhost. More...
 
void attach_to_state (const poset_state_handle *xhost, const std::string &xname)
 Attach to the member state with name xname in the current version of host xhost. More...
 
void attach_to_state (const namespace_poset *xhost, const std::string &xname)
 
void attach_to_state (const std::string &)
 Attach to the state with name xname in version version() of host host(). More...
 
void attach_to_state (pod_index_type xhub_id)
 Attach to the state with hub id xhub_id in version version() of host host(). More...
 
void attach_to_state (const scoped_index &xid)
 Attach to the state with id xid in version version() of host host(). More...
 
void attach_to_state (const poset_component *xother)
 Attach to the same state as xother. More...
 
void attach_to_state (const poset_component *xother, bool xauto_access)
 Attach to the same state as xother, auto-accessible version. More...
 
virtual bool is_attached () const
 True if this handle is attached to a non-void state. More...
 
bool is_same_state (const poset_state_handle *xhost, pod_index_type xhub_id) const
 True is this is attached to state with hub id xhub_id in host xhost. More...
 
bool is_same_state (const poset_state_handle *xhost, const scoped_index &xid) const
 True is this is attached to state with id xid in host xhost. More...
 
bool is_same_state (const poset_component *xother) const
 True if xother is attached to the same host and same state as this or if both are unattached. More...
 
virtual void get_read_access () const
 Get read access to the state associated with this. More...
 
virtual void get_read_write_access (bool xrelease_read_only_access=false)
 Get read write access to the state associated with this. If release_read_only_access is requested, read only access will be released then read_write_access will be requested, finally the same level of read_access as before will be requested. More...
 
virtual void release_access (bool xall=false) const
 Release access. If xall is true, release all levels of access. Otherwise, release one level of access. More...
 
- Public Member Functions inherited from sheaf::read_write_monitor_handle
virtual ~read_write_monitor_handle ()
 Descturctor. More...
 
bool state_is_read_only_accessible () const
 True if this is attached and the state is accessible for read access but not for write. More...
 
bool state_is_not_read_only_accessible () const
 True if this is attached and the state is not accessible for read only access. More...
 
bool state_is_read_accessible () const
 True if this is attached and if the state is accessible for read or access control is disabled. More...
 
bool state_is_not_read_accessible () const
 True if this is attached and if the state is accessible for read or if access control is disabled. More...
 
bool state_is_auto_read_accessible (bool xauto_access) const
 True if the state is auto accessible for read, that is, if the state is already accessible for read or if this is attached and xuto_access is true. More...
 
bool state_is_read_write_accessible () const
 True if this is attached and if the state is accessible for read and write or access control is disabled. More...
 
bool state_is_not_read_write_accessible () const
 True if state is attached and if not accessible for read and write or access control is disabled. More...
 
bool state_is_auto_read_write_accessible (bool xauto_access) const
 True if state is auto accessible for read and write, that is, if the state is already accessible for read and write or if this is attached and xuto_access is true. or if this is attached and access control is disabled. More...
 
int access_request_depth () const
 The number of times access has been requested and granted without being released. More...
 
bool state_is_mode_locked () const
 Obsolete. More...
 
int mode_lock_ct () const
 Obsolete. More...
 
void get_mode_lock () const
 Obsolete. More...
 
void release_mode_lock ()
 Obsolete. More...
 
bool state_is_modified () const
 True if write access has been granted and released since the last call to clear_state_is_modified(). More...
 
void clear_state_is_modified ()
 Sets the state_is_modified floag to false. More...
 
- Public Member Functions inherited from sheaf::any
bool is_same_type (const any *other) const
 True if other is the same type as this. More...
 
virtual ~any ()
 Destructor. More...
 
bool invariant_check () const
 True if invariant checking is enabled. More...
 
void enable_invariant_check () const
 Enable invariant checking. More...
 
void disable_invariant_check () const
 Disable invariant check. Intended for preventing recursive calls to invariant and for suppressing invariant checking during multi-phase initialization. More...
 
int disable_invariance_check_request_depth () const
 Number of times disable_invariant_check has been called without matching call to enable_invariant_check. More...
 
- Static Public Member Functions inherited from sheaf::abstract_poset_member
static host_typenew_host (namespace_type &xns, const poset_path &xhost_path, const poset_path &xschema_path, bool xauto_access)
 Creates a new host table for members of this type. The poset is created in namespace xns with path xhost_path and schema specified by xschema_path. More...
 
- Static Public Member Functions inherited from sheaf::read_write_monitor_handle
static bool access_control_disabled ()
 True if access control mechanism is disabled. Default value is enabled (false) and access is controlled by the per-thread access control functions. Disabled (true) is equivalent to having read-write access at all times, irrespective of any access control requests. Synonym for read_write_monitor::access_control_disabled(). More...
 
static void enable_access_control ()
 Enables access control. Synonym for read_write_monitor::enable_access_control(). Should only be invoked once at beginning of a program, before any other SheafSystem calls. Once enabled, access control can not be disabled. More...
 
- Protected Member Functions inherited from sheaf::abstract_poset_member
 abstract_poset_member ()
 Default constructor; creates a new, unattached abstract_poset_member handle. More...
 
char * table_dof_ptr (bool xrequire_write_access=false) const
 Pointer to the table dofs. More...
 
char * row_dof_ptr (bool xrequire_write_access=false)
 Pointer to the row dofs. More...
 
- Protected Member Functions inherited from sheaf::poset_component
 poset_component ()
 Default constructor. More...
 
poset_statestate_obj () const
 The state this component handle is attached to. More...
 
poset_powerset_statepowerset () const
 The set of subposets of host(). More...
 
poset_crg_statecrg () const
 The cover relation graph of host(). More...
 
virtual subposet_statepowerset_member (const scoped_index &xindex) const
 The hidden state of the subposet asocciated with index xindex. More...
 
poset_dof_maprow_dof_tuple (const scoped_index &xindex) const
 The row dof tuple associated with xindex. More...
 
virtual void init_handle_data_members ()
 Initializes handle data members when attaching to a different member in a different host; intended to be redefined in derived classes. More...
 
- Protected Member Functions inherited from sheaf::read_write_monitor_handle
bool access_guards_disabled () const
 True if thread of control is still in constructor. More...
 
void disable_access_guards ()
 Disables access guards; intended for use only within constructors of monitored objects, where no other client can possibly have access (yet). More...
 
void enable_access_guards ()
 Re-enables access guards. More...
 
- Protected Member Functions inherited from sheaf::any
 any ()
 default constructor More...
 
- Protected Attributes inherited from sheaf::poset_component
poset_state_handle_host
 The host poset for this component. More...
 
scoped_index _index
 The index for this component within the host. More...
 
int _version
 The version of this component. The version of the host used when evaluating properties of this component. More...
 

Detailed Description

A client handle for a poset member which has been prepared for use as a schema.

Definition at line 75 of file schema_poset_member.h.

Constructor & Destructor Documentation

◆ schema_poset_member() [1/10]

sheaf::schema_poset_member::schema_poset_member ( )

Default constructor; creates a new, unattached schema_poset_member handle.

Postcondition
  • !is_attached()

Definition at line 174 of file schema_poset_member.cc.

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

Referenced by clone(), schema_poset_member(), standard_host(), and ~schema_poset_member().

◆ schema_poset_member() [2/10]

sheaf::schema_poset_member::schema_poset_member ( const abstract_poset_member xother,
bool  xnew_jem = false,
bool  xauto_access = true 
)
explicit

Copy constructor; creates a new schema_poset_member handle. If xnew_jem is false the handle is attached to the same state as xother. If xnew_jem is true, the handle is attached to a new state which is a copy (i.e. is join equivalent to) the state of xother.

Precondition
  • xnew_jem ? xother.state_is_auto_read_write_accessible(xauto_access) : true
Postcondition

Definition at line 193 of file schema_poset_member.cc.

References sheaf::abstract_poset_member::attach_to_state(), invariant(), sheaf::poset_component::is_attached(), sheaf::abstract_poset_member::new_jem_state(), operator=(), and sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible().

◆ ~schema_poset_member()

sheaf::schema_poset_member::~schema_poset_member ( )
virtual

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

Definition at line 273 of file schema_poset_member.cc.

References _row_dof_descriptors, _table_dof_descriptors, sheaf::dof_descriptor_array::remove_reference(), and schema_poset_member().

Referenced by operator=().

◆ schema_poset_member() [3/10]

sheaf::schema_poset_member::schema_poset_member ( poset_state_handle xhost,
primitive_type  xprimitive_type,
bool  xauto_access = true 
)

Creates a new handle attached to a new jim (join-irreducible member) state in xhost with dof map a copy of the primitive of type xprimitive_type.

Precondition
  • precondition_of(schema_poset_member::new_jim_state(same args))
Postcondition
  • postcondition_of(schema_poset_member::new_jim_state(same args))

Definition at line 299 of file schema_poset_member.cc.

References invariant(), new_jim_state(), and schema_poset_member().

◆ schema_poset_member() [4/10]

sheaf::schema_poset_member::schema_poset_member ( poset_state_handle xhost,
primitives_poset_dof_map xdof_map = 0,
bool  xcopy_dof_map = false,
bool  xauto_access = true 
)
explicit

Creates a new jim (join-irreducible member) attached to a new member state in xhost. ("explicit" prevents interpretation as implicit conversion from poset_state_handle* to schema_poset_member&)

Precondition
  • precondition_of(schema_poset_member::new_jim_state(same args))
Postcondition
  • postcondition_of(schema_poset_member::new_jim_state(same args))

Definition at line 329 of file schema_poset_member.cc.

References new_jim_state(), and schema_poset_member().

◆ schema_poset_member() [5/10]

sheaf::schema_poset_member::schema_poset_member ( poset_state_handle xhost,
const scoped_index xexpansion,
int  xexpansion_ct,
const tern xnew_jem,
bool  xauto_access 
)

Creates a new jrm (join reducible member) attached to a new member state in xhost. The jrm created is the join of the members with the indices given in xexpansion.

Precondition
  • precondition_of(schema_poset_member::new_jrm_state(same args))
Postcondition
  • postcondition_of(schema_poset_member::new_jrm_state(same args))

Definition at line 355 of file schema_poset_member.cc.

References invariant(), sheaf::abstract_poset_member::new_jrm_state(), and schema_poset_member().

◆ schema_poset_member() [6/10]

sheaf::schema_poset_member::schema_poset_member ( const namespace_poset xns,
const std::string &  xname,
const poset_path xparent_path,
const wsv_block< schema_descriptor > &  xdof_specs,
bool  xauto_access 
)

Creates a new jim which conforms_to the schema with path xparent_path and has additional dofs with names, types, and roles specified by xdof_specs.

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

Definition at line 383 of file schema_poset_member.cc.

References new_jim_state(), sheaf::abstract_poset_member::new_jrm_state(), and schema_poset_member().

◆ schema_poset_member() [7/10]

sheaf::schema_poset_member::schema_poset_member ( poset_state_handle xhost,
pod_index_type  xhub_id 
)

◆ schema_poset_member() [8/10]

sheaf::schema_poset_member::schema_poset_member ( poset_state_handle xhost,
const scoped_index xid 
)

◆ schema_poset_member() [9/10]

sheaf::schema_poset_member::schema_poset_member ( const poset_state_handle xhost,
const std::string &  xname 
)

◆ schema_poset_member() [10/10]

sheaf::schema_poset_member::schema_poset_member ( const namespace_poset xnamespace,
const poset_path xpath,
bool  xauto_access = true 
)

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

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

Definition at line 496 of file schema_poset_member.cc.

References sheaf::abstract_poset_member::attach_to_state(), and new_jim_state().

Member Function Documentation

◆ alignment() [1/4]

◆ alignment() [2/4]

sheaf::size_type sheaf::schema_poset_member::alignment ( pod_index_type  xdof_id,
bool  xis_table_dof 
) const
virtual

The alignment for the table dof (xis_table_dof true) or row dof referred to by xdof_id in the schema defined by this.

Precondition
  • dof_id_space(xis_table_dof).contains(xdof_id)

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

Definition at line 3205 of file schema_poset_member.cc.

References alignment(), dof_descriptors(), dof_id_space(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

◆ alignment() [3/4]

sheaf::size_type sheaf::schema_poset_member::alignment ( const scoped_index xdof_id,
bool  xis_table_dof,
bool  xauto_access 
) const

The alignment for the table dof (xis_table_dof true) or row dof referred to by xdof_id in the schema defined by this.

Precondition
  • state_is_auto_read_accessible(xauto_access)
  • dof_id_space(xis_table_dof, xauto_access).contains(xdof_id)

Definition at line 3225 of file schema_poset_member.cc.

References alignment(), dof_id_space(), sheaf::poset_component::get_read_access(), sheaf::index_space_handle::pod(), sheaf::poset_component::release_access(), and sheaf::read_write_monitor_handle::state_is_auto_read_accessible().

◆ alignment() [4/4]

sheaf::size_type sheaf::schema_poset_member::alignment ( const std::string &  xname,
bool  xis_table_dof,
bool  xauto_access 
) const

The alignment for the table dof (xis_table_dof true) or row dof with name xname in the schema defined by this.

Precondition
  • state_is_auto_read_accessible(xauto_access)
  • contains_dof(xname, xis_table_dof)

Definition at line 3256 of file schema_poset_member.cc.

References alignment(), contains_dof(), dof_id_space(), sheaf::poset_component::get_read_access(), sheaf::poset_component::host(), sheaf::poset_state_handle::member_id(), sheaf::index_space_handle::pod(), sheaf::poset_component::release_access(), sheaf::read_write_monitor_handle::state_is_auto_read_accessible(), and type().

◆ attach_handle_data_members()

◆ bound_iterator()

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

◆ clone() [1/2]

◆ clone() [2/2]

◆ conforms_to() [1/6]

bool sheaf::schema_poset_member::conforms_to ( const schema_poset_member xother) const

True if the dofs defined by this agree in type and in order with the dofs defined by xother. (This schema may contain additional dofs as well.)

Precondition

Definition at line 1497 of file schema_poset_member.cc.

References sheaf::abstract_poset_member::ge(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Referenced by tool::vtk_abstract_grid_builder::build(), tool::vtk_poly_data_builder::build(), tool::vtk_poly_data_builder::build_file(), tool::vtk_poly_data_builder::build_pa(), tool::vtk_unstructured_grid_builder::build_pa(), sheaf::poset_path::conforms_to(), conforms_to(), sheaf::arg_list::conforms_to_extension(), dof_iterator(), fiber_bundle::sec_tuple_space::fiber_schema_conforms(), fields::field_eval_iterator::field_eval_iterator(), fields::property_disc_iterator::initialize_iteration(), tool::vtk_unstructured_grid_builder::is_scalar(), tool::vtk_unstructured_grid_builder::is_tensor(), tool::vtk_unstructured_grid_builder::is_vector(), fiber_bundle::fiber_bundles_namespace::link_poset(), fiber_bundle::eval_family::member(), fiber_bundle::homogeneous_block::new_host(), fiber_bundle::unstructured_block::new_host(), fiber_bundle::point_block_2d::new_host(), fiber_bundle::point_block_3d::new_host(), fiber_bundle::zone_nodes_block::new_host(), fiber_bundle::point_block_1d::new_host(), fiber_bundle::structured_block_3d::new_host(), fiber_bundle::structured_block_2d::new_host(), fiber_bundle::structured_block_1d::new_host(), fiber_bundle::st3_e3::new_host(), fiber_bundle::at3_e3::new_host(), fiber_bundle::st4_e2::new_host(), fiber_bundle::t4_e2::new_host(), fiber_bundle::st4_e3::new_host(), fiber_bundle::met_e1::new_host(), fiber_bundle::t3_e3::new_host(), fiber_bundle::at2_e2::new_host(), fiber_bundle::jcb_e23::new_host(), fiber_bundle::at2_e3::new_host(), fiber_bundle::st2_e2::new_host(), fiber_bundle::jcb_e13::new_host(), fiber_bundle::st2_e3::new_host(), fiber_bundle::jcb_e33::new_host(), fiber_bundle::t4_e3::new_host(), fiber_bundle::t2_e2::new_host(), fiber_bundle::met_e2::new_host(), fiber_bundle::t2_e3::new_host(), fiber_bundle::met_e3::new_host(), new_jim_state(), fields::property_disc_iterator_1_1::property_disc_iterator_1_1(), fields::property_disc_iterator_1_2::property_disc_iterator_1_2(), fields::property_disc_iterator_1_3::property_disc_iterator_1_3(), fields::property_disc_iterator_4_2::property_disc_iterator_4_2(), fields::property_disc_iterator_4_3::property_disc_iterator_4_3(), fiber_bundle::eval_iterator::put_schema_anchor(), row_conforms_to(), table_conforms_to(), tool::visualization_iterator_4_2::visualization_iterator_4_2(), and tool::visualization_iterator_4_3::visualization_iterator_4_3().

◆ conforms_to() [2/6]

bool sheaf::schema_poset_member::conforms_to ( const schema_poset_member xother,
bool  xis_table_dofs 
) const
virtual

True if the table dofs (xis_table_dofs true) or row dofs (xis_is_table_dofs false) defined by this agree in type and in order with the dofs defined by xother. (This schema may contain additional dofs as well.)

Precondition
  • is_ancestor_of(&xother)
Issue:
the definition of conformance implemented here is stricter than theoretically necessary. Theoretically, conformance should just require that the set of dofs defined by this schema contains the set of dofs defined by xother. But all the schema traversal algorithms and the dof access mechanisms depend on the dofs being ordered, hence the definition used here.

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

Definition at line 1522 of file schema_poset_member.cc.

References conforms_to(), dof_iterator(), sheaf::poset_dof_iterator::force_is_done(), sheaf::poset_component::has_same_host(), is_ancestor_of(), sheaf::poset_dof_iterator::is_done(), sheaf::poset_dof_iterator::item(), sheaf::poset_dof_iterator::next(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and type().

◆ conforms_to() [3/6]

bool sheaf::schema_poset_member::conforms_to ( const poset_path xpath) const

True if the dofs defined by this agree in type and in order with the dofs defined by the schema member specified by path xpath. (This schema may contain additional dofs as well.)

Precondition
  • xpath.full()

Definition at line 1578 of file schema_poset_member.cc.

References sheaf::abstract_poset_member::attach_to_state(), clone(), conforms_to(), detach_from_state(), sheaf::poset_path::full(), sheaf::poset_component::name_space(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

◆ conforms_to() [4/6]

bool sheaf::schema_poset_member::conforms_to ( const poset_path xpath,
bool  xis_table_dofs 
) const

True if the table dofs (xis_table_dofs true) or row dofs (xis_is_table_dofs false) defined by this agree in type and in order with the dofs defined by the schema member specified by path xpath. (This schema may contain additional dofs as well.)

Precondition
  • xpath.full()

Definition at line 1617 of file schema_poset_member.cc.

References sheaf::abstract_poset_member::attach_to_state(), clone(), conforms_to(), detach_from_state(), sheaf::poset_path::full(), sheaf::poset_component::name_space(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and table_conforms_to().

◆ conforms_to() [5/6]

bool sheaf::schema_poset_member::conforms_to ( const namespace_poset xns,
const poset_path xchild_path,
const poset_path xparent_path,
bool  xauto_access = true 
)
static

True if the dofs defined by the schema specified by xchild_path agree in type and in order with the dofs defined by the schema member specified by path xparent_path. (Child schema may contain additional dofs as well.)

Precondition
  • xauto_access || xns.state_is_read_accessible()
  • xchild_path.full()
  • xparent_path.full()

Definition at line 1743 of file schema_poset_member.cc.

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

◆ conforms_to() [6/6]

bool sheaf::schema_poset_member::conforms_to ( const namespace_poset xns,
const poset_path xchild_path,
const poset_path xparent_path,
bool  xis_table_dofs,
bool  xauto_access 
)
static

True if the table dofs (xis_table_dofs true) or row dofs (xis_table_dofs false) defined by the schema specified by xchild_path agree in type and in order with the dofs defined by the schema member specified by path xparent_path. (Child schema may contain additional dofs as well.)

Precondition
  • !xauto_access ? xns.state_is_read_accessible() : true
  • xchild_path.full()
  • xparent_path.full()

Definition at line 1812 of file schema_poset_member.cc.

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

◆ contains_dof() [1/4]

bool sheaf::schema_poset_member::contains_dof ( const schema_poset_member xother,
bool  xin_table_dofs 
) const

True if xother is a dof in the table dofs part (xin_table_dofs == true) or in the row dofs part (xin_table_dofs == false) of the schema defined by this.

Precondition
  • xother.state_is_read_accessible()
  • host()->is_schematized(false)

Definition at line 1182 of file schema_poset_member.cc.

References sheaf::poset_component::host(), is_dof(), sheaf::abstract_poset_member::le(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Referenced by alignment(), contains_dof(), fiber_bundle::section_space_schema_member::contains_dof(), offset(), row_dof_subposet_index(), size(), and type().

◆ contains_dof() [2/4]

bool sheaf::schema_poset_member::contains_dof ( pod_index_type  xother_id,
bool  xin_table_dofs 
) const

True if xother_id is the index of a dof in the table dofs part (xin_table_dofs == true) or in the row dofs part (xin_table_dofs == false) of the schema defined by this.

Precondition
  • host()->is_schematized(false)

Definition at line 1206 of file schema_poset_member.cc.

References sheaf::abstract_poset_member::attach_to_state(), clone(), contains_dof(), detach_from_state(), sheaf::poset_component::host(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

◆ contains_dof() [3/4]

bool sheaf::schema_poset_member::contains_dof ( const scoped_index xother_id,
bool  xin_table_dofs 
) const

True if xother_id is the index of a dof in the table dofs part (xin_table_dofs == true) or in the row dofs part (xin_table_dofs == false) of the schema defined by this.

Precondition
  • host()->is_schematized(false)

Definition at line 1239 of file schema_poset_member.cc.

References contains_dof(), sheaf::poset_component::host(), sheaf::scoped_index::hub_pod(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

◆ contains_dof() [4/4]

bool sheaf::schema_poset_member::contains_dof ( const std::string &  xname,
bool  xin_table_dofs 
) const

True if xname is the name of a dof in the table dofs part (xin_table_dofs == true) or in the row dofs part (xin_table_dofs == false) of the schema defined by this.

Precondition
  • host()->is_schematized(false)
  • !xname.empty()

Definition at line 1256 of file schema_poset_member.cc.

References contains_dof(), sheaf::poset_component::host(), is_dof(), sheaf::is_valid(), sheaf::poset_state_handle::member_id(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

◆ contains_row_dof() [1/3]

bool sheaf::schema_poset_member::contains_row_dof ( const schema_poset_member xother) const
inline

True if this is in the row dofs part of the schema defined by this. Synonym for contains_dof(xother, false).

Definition at line 502 of file schema_poset_member.h.

◆ contains_row_dof() [2/3]

bool sheaf::schema_poset_member::contains_row_dof ( pod_index_type  xother_id) const
inline

True if xother_id is the index of a dof in the row dofs part of the schema defined by this. Synonym for contains_dof(xother_id, false).

Definition at line 556 of file schema_poset_member.h.

◆ contains_row_dof() [3/3]

bool sheaf::schema_poset_member::contains_row_dof ( const scoped_index xother_id) const
inline

True if xother_id is the index of a dof in the row dofs part of the schema defined by this. Synonym for contains_dof(xother_id, false).

Definition at line 566 of file schema_poset_member.h.

References sheaf::scoped_index::hub_pod().

◆ contains_table_dof() [1/3]

bool sheaf::schema_poset_member::contains_table_dof ( const schema_poset_member xother) const
inline

True if this is in the table dofs part of the schema defined by this. Synonym for contains_dof(xother, true).

Definition at line 493 of file schema_poset_member.h.

◆ contains_table_dof() [2/3]

bool sheaf::schema_poset_member::contains_table_dof ( pod_index_type  xother_id) const
inline

True if xother_id is the index of a dof in the table dofs part of the schema defined by this. Synonym for contains_dof(xother_id, true).

Definition at line 536 of file schema_poset_member.h.

◆ contains_table_dof() [3/3]

bool sheaf::schema_poset_member::contains_table_dof ( const scoped_index xother_id) const
inline

True if xother_id is the index of a dof in the table dofs part of the schema defined by this. Synonym for contains_dof(xother_id, true).

Definition at line 546 of file schema_poset_member.h.

References sheaf::scoped_index::hub_pod().

◆ detach_from_state()

void sheaf::schema_poset_member::detach_from_state ( )
virtual

Detach this handle from its state, if any.

Postcondition
  • !is_attached()

Reimplemented from sheaf::poset_component.

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

Definition at line 3753 of file schema_poset_member.cc.

References _row_dof_id_space, _table_dof_id_space, sheaf::poset_component::detach_from_state(), invariant(), is_ancestor_of(), sheaf::poset_component::is_attached(), and sheaf::index_space_handle::release_id_space().

Referenced by sheaf::poset_path::conforms_to(), conforms_to(), sheaf::arg_list::conforms_to_extension(), contains_dof(), sheaf::partial_poset_member::detach_from_state(), dof_map_is_ancestor_of(), sheaf::partial_poset_member::init_handle_data_members(), sheaf::poset_table_state::invariant(), make_schema(), fiber_bundle::sec_rep_descriptor::make_standard_schema(), fiber_bundle::section_space_schema_member::make_standard_schema(), fiber_bundle::section_space_schema_poset::make_standard_schema(), fiber_bundle::base_space_member::make_standard_schema(), fiber_bundle::tuple::make_standard_schema(), fiber_bundle::jcb::make_standard_schema(), fiber_bundle::tp::make_standard_schema(), fiber_bundle::gln::make_standard_schema(), fiber_bundle::vd::make_standard_schema(), fiber_bundle::st3_e3::make_standard_schema(), fiber_bundle::at3_e3::make_standard_schema(), fiber_bundle::st4_e2::make_standard_schema(), fiber_bundle::t4_e2::make_standard_schema(), fiber_bundle::st4_e3::make_standard_schema(), fiber_bundle::met_e1::make_standard_schema(), fiber_bundle::e1::make_standard_schema(), fiber_bundle::t3_e3::make_standard_schema(), fiber_bundle::e2::make_standard_schema(), fiber_bundle::e4::make_standard_schema(), fiber_bundle::at2_e2::make_standard_schema(), fiber_bundle::jcb_e23::make_standard_schema(), fiber_bundle::at2_e3::make_standard_schema(), fiber_bundle::at0::make_standard_schema(), fiber_bundle::st2_e2::make_standard_schema(), fiber_bundle::jcb_e13::make_standard_schema(), fiber_bundle::jcb_e33::make_standard_schema(), fiber_bundle::st2_e3::make_standard_schema(), fiber_bundle::t4_e3::make_standard_schema(), fiber_bundle::t2_e2::make_standard_schema(), fiber_bundle::met_e2::make_standard_schema(), fiber_bundle::gl2::make_standard_schema(), fiber_bundle::t2_e3::make_standard_schema(), fiber_bundle::met_e3::make_standard_schema(), fiber_bundle::e3::make_standard_schema(), fiber_bundle::gl3::make_standard_schema(), new_jim_state(), fiber_bundle::product_section_space_schema_poset::new_state(), update_dof_descriptors(), sheaf::namespace_poset::~namespace_poset(), and sheaf::poset_scaffold::~poset_scaffold().

◆ dof_ct() [1/3]

int sheaf::schema_poset_member::dof_ct ( const namespace_poset xns,
const poset_path xpath,
bool  xis_table_dof,
bool  xauto_access = true 
)
static

The number of table dofs (xis_table_dof true) or row dofs defined by the schema specified by xns and xpath.

Precondition
  • !xauto_access ? xns.state_is_read_accessible() : true
  • xpath.full()
Postcondition
  • result >= 0

Definition at line 770 of file schema_poset_member.cc.

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

Referenced by sheaf::array_poset_dof_map::array_poset_dof_map(), dof_ct(), fiber_bundle::sec_rep_space::dof_ct(), and fiber_bundle::section_dof_map::section_dof_map().

◆ dof_ct() [2/3]

int sheaf::schema_poset_member::dof_ct ( bool  xis_table_dof) const

The number of table dofs (xis_table_dof true) or row dofs defined by this schema.

Precondition
Postcondition
  • result >= 0

Definition at line 876 of file schema_poset_member.cc.

References row_dof_ct(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and table_dof_ct().

◆ dof_ct() [3/3]

virtual int sheaf::schema_poset_member::dof_ct ( ) const
inlinevirtual

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

Reimplemented from sheaf::total_poset_member.

Definition at line 324 of file schema_poset_member.h.

References sheaf::total_poset_member::dof_ct().

Referenced by new_jim_state(), row_dof_ct(), and table_dof_ct().

◆ dof_descriptors()

sheaf::dof_descriptor_array * sheaf::schema_poset_member::dof_descriptors ( bool  xis_table_dof) const

The dof_descriptors_array for the table dof tuple (xis_table_dof true) or row dof tuple defined by this schema. The offsets in the descriptors are defined by post-ordered, contiguous, properly aligned allocation of the dofs. Note: although returned by pointer, the client must not delete the dof offsets array.

Precondition
Postcondition
  • -unexecutable( result != 0 implies it points to a buffer of length table_dof_ct()+1 )

Definition at line 2345 of file schema_poset_member.cc.

References fiber_bundle::ed_algebra::length(), row_dof_descriptors(), sheaf::read_write_monitor_handle::state_is_read_accessible(), table_dof_ct(), and table_dof_descriptors().

Referenced by alignment(), sheaf::array_poset_dof_map::allocate_dofs(), sheaf::array_poset_dof_map::array_poset_dof_map(), sheaf::dof_tuple_record_set::create_int_data_type(), fiber_bundle::product_section_space_schema_member::dof_descriptors(), fiber_bundle::binary_section_space_schema_member::dof_descriptors(), sheaf::dof_tuple_record_set::externalize_all_dofs(), force_cache_update(), sheaf::dof_tuple_record_set::internalize_all_dofs(), offset(), size(), and type().

◆ dof_id_space() [1/2]

const sheaf::index_space_handle & sheaf::schema_poset_member::dof_id_space ( bool  xis_table_dofs) const

◆ dof_id_space() [2/2]

const sheaf::index_space_handle & sheaf::schema_poset_member::dof_id_space ( bool  xis_table_dofs,
bool  xauto_access 
) const

The table dof (xis_table_dof true) or row dof id space for the schema defined by this.

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

Definition at line 2932 of file schema_poset_member.cc.

References dof_id_space(), sheaf::poset_component::get_read_access(), sheaf::index_space_handle::is_attached(), sheaf::poset_component::release_access(), sheaf::read_write_monitor_handle::state_is_auto_read_accessible(), and table_dof_id_space().

◆ dof_iterator()

sheaf::poset_dof_iterator * sheaf::schema_poset_member::dof_iterator ( bool  xis_table_dofs,
int  xversion = CURRENT_MEMBER_VERSION 
) const
virtual

◆ dof_map() [1/2]

sheaf::primitives_poset_dof_map & sheaf::schema_poset_member::dof_map ( bool  xrequire_write_access = false)
virtual

◆ dof_map() [2/2]

const sheaf::primitives_poset_dof_map & sheaf::schema_poset_member::dof_map ( bool  xrequire_write_access = false) const
virtual

The map from schema member ids or client ids to dof values for this poset member (const version)

Precondition
  • is_jim(false)
Error:
above invariant is not yet implemented in poset_state_handle and apparently not enforced by preconditions either.

Reimplemented from sheaf::abstract_poset_member.

Reimplemented in fiber_bundle::product_section_space_schema_member, and fiber_bundle::binary_section_space_schema_member.

Definition at line 3694 of file schema_poset_member.cc.

References sheaf::abstract_poset_member::dof_map(), dof_map_is_ancestor_of(), sheaf::abstract_poset_member::is_jim(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

◆ dof_map_is_ancestor_of()

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

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

Precondition
  • xdof_map != 0

Reimplemented from sheaf::abstract_poset_member.

Definition at line 3721 of file schema_poset_member.cc.

References detach_from_state().

Referenced by dof_map().

◆ dof_subposet_index()

const scoped_index& sheaf::schema_poset_member::dof_subposet_index ( bool  xis_table_dof) const
inline

The index in host() of the subposet containing the the table dofs (xis_table_dof true) or row dofs in the down set of this.

Definition at line 478 of file schema_poset_member.h.

Referenced by dof_subposet_state().

◆ dof_subposet_name() [1/2]

std::string sheaf::schema_poset_member::dof_subposet_name ( const std::string &  xname,
bool  xis_table_dof 
)
static

The standard name for the table (xis_table_dof true) or row (xis_table_dof false) dof subposet associated with the schema member with name xname.

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

Definition at line 1089 of file schema_poset_member.cc.

References sheaf::poset_path::reserved_prefix().

Referenced by dof_subposet_name(), dof_tuple_is_homogeneous(), initialize_dof_id_space(), is_dof(), and update_dof_id_space().

◆ dof_subposet_name() [2/2]

std::string sheaf::schema_poset_member::dof_subposet_name ( bool  xis_table_dof) const

The standard name for the table (xis_table_dof true) or row (xis_table_dof false) dof subposet associated with this schema member.

Precondition
Postcondition
  • !result.empty()

Definition at line 1115 of file schema_poset_member.cc.

References dof_subposet_name(), sheaf::abstract_poset_member::name(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and table_dof_subposet_index().

◆ dof_subposet_state()

sheaf::subposet_state * sheaf::schema_poset_member::dof_subposet_state ( bool  xis_table_dof)
protected

The subposet_state for the table/row dof subposet.

Definition at line 2426 of file schema_poset_member.cc.

References attach_handle_data_members(), dof_subposet_index(), and sheaf::poset_component::powerset_member().

Referenced by row_dof_descriptors().

◆ dof_tuple_is_homogeneous()

bool sheaf::schema_poset_member::dof_tuple_is_homogeneous ( bool  xis_table_dof) const

True if all the table dofs (xis_table_dof == true) or all the row dofs (xis_table_dof == false) defined by this have the same type.

Precondition
Postcondition
  • result == is_primitive_index(dof_tuple_type(xis_table_dof))

Definition at line 1066 of file schema_poset_member.cc.

References dof_subposet_name(), dof_tuple_type(), sheaf::is_primitive_index(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Referenced by dof_tuple_type().

◆ dof_tuple_type()

sheaf::primitive_type sheaf::schema_poset_member::dof_tuple_type ( bool  xis_table_dof) const
virtual

◆ dof_tuple_ub()

size_t sheaf::schema_poset_member::dof_tuple_ub ( bool  xis_table_dof) const

◆ ext_data_type_ct()

size_t sheaf::schema_poset_member::ext_data_type_ct ( bool  xis_table_schema) const
virtual

◆ ext_data_type_schema()

sheaf::schema_poset_member & sheaf::schema_poset_member::ext_data_type_schema ( )
virtual

◆ force_cache_update()

◆ get_decomposition()

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

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

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

Reimplemented in fiber_bundle::product_section_space_schema_member, and fiber_bundle::binary_section_space_schema_member.

Definition at line 3472 of file schema_poset_member.cc.

References bound_iterator(), sheaf::poset_state_handle::get_decomposition(), sheaf::poset_component::host(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Referenced by bound_iterator(), and offset().

◆ get_ext_id()

sheaf::pod_index_type sheaf::schema_poset_member::get_ext_id ( const std::string &  xid_space_name) const
virtual

◆ get_ext_ids()

void sheaf::schema_poset_member::get_ext_ids ( const std::string &  xid_space_name,
pod_index_type xschema_poset_ext_id,
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 
) const
virtual

◆ get_int_id()

sheaf::pod_index_type sheaf::schema_poset_member::get_int_id ( pod_index_type  xext_id,
const std::string &  xid_space_name 
) const
virtual

Gets the internal id corresponding to xext_id in the id space with name xid_space_name.

Hack:
the product subposet hack, version 2. This member exists only to encapsulate the hack.
Precondition
  • xext_id >= host()->standard_member_ct() ? host()->member_id_spaces(false).contains(xid_space_name) : true
  • xext_id >= host()->standard_member_ct() ? host()->member_id_spaces(false).contains(xid_space_name, xext_id) : true
Postcondition
  • host()->contains_member(result, false)

Reimplemented in fiber_bundle::binary_section_space_schema_member.

Definition at line 3541 of file schema_poset_member.cc.

References get_ext_id(), sheaf::poset_state_handle::get_int_id(), sheaf::poset_component::host(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Referenced by bound_iterator(), sheaf::poset_scaffold::dof_tuple_schema_int_id(), and sheaf::poset_scaffold::translate_dof_tuple_col_bounds().

◆ greatest_jem()

schema_poset_member* sheaf::schema_poset_member::greatest_jem ( ) const
inline

The largest member which is join-equivalent to this.

Definition at line 1332 of file schema_poset_member.h.

References sheaf::abstract_poset_member::greatest_jem().

◆ initialize_dof_id_space()

bool sheaf::schema_poset_member::initialize_dof_id_space ( bool  xis_table_dof) const
protected

◆ initialize_row_dof_id_space()

bool sheaf::schema_poset_member::initialize_row_dof_id_space ( ) const
protectedvirtual

Initialize row dof id space. Return true, if and only if the row dof id space was created.

Precondition

Definition at line 2653 of file schema_poset_member.cc.

References initialize_dof_id_space(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and update_row_dof_id_space().

Referenced by update_row_cache().

◆ initialize_table_dof_id_space()

bool sheaf::schema_poset_member::initialize_table_dof_id_space ( ) const
protectedvirtual

Initialize table dof id space. Return true, if and only if the table dof id space was created.

Precondition

Definition at line 2543 of file schema_poset_member.cc.

References initialize_dof_id_space(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and update_table_dof_id_space().

Referenced by update_table_cache().

◆ invariant()

◆ is_ancestor_of()

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

◆ is_component()

bool sheaf::schema_poset_member::is_component ( ) const

True if this represents a component in the row dofs part of some schema.

Precondition
  • host()->is_schematized(false)

Definition at line 1305 of file schema_poset_member.cc.

References sheaf::poset_component::host(), sheaf::abstract_poset_member::is_atom(), is_component_of(), is_row_dof(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Referenced by is_component_of(), and is_dof().

◆ is_component_of()

bool sheaf::schema_poset_member::is_component_of ( const schema_poset_member xother) const

True if this represents a component in the row dofs part of schema xother.

Precondition
  • host()->is_schematized(false)
  • is_ancestor_of(&xother)
  • xother.state_is_read_accessible()
  • xother.host()->is_schematized(false)

Definition at line 1329 of file schema_poset_member.cc.

References sheaf::poset_component::host(), is_ancestor_of(), is_component(), is_factor(), sheaf::poset_state_handle::is_schematized(), sheaf::abstract_poset_member::le(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Referenced by is_component().

◆ is_dof()

bool sheaf::schema_poset_member::is_dof ( bool  xin_table_dofs) const
virtual

True if this is in the table dofs part (xin_table_dofs == true) or in the row dofs part (xin_table_dofs == false) of some schema.

Precondition
  • host()->is_schematized(false)

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

Definition at line 1277 of file schema_poset_member.cc.

References sheaf::subposet::contains_member(), sheaf::poset_component::detach_from_state(), dof_subposet_name(), sheaf::poset_component::host(), sheaf::poset_component::index(), is_component(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Referenced by contains_dof(), and make_schema().

◆ is_factor()

bool sheaf::schema_poset_member::is_factor ( ) const

True if this represents a factor in the row dofs part of some schema.

Precondition
  • host()->is_schematized(false)

Definition at line 1357 of file schema_poset_member.cc.

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

Referenced by is_component_of().

◆ is_factor_of()

bool sheaf::schema_poset_member::is_factor_of ( const schema_poset_member xother) const

True if this represents a factor in the row dofs part of schema xother.

Precondition
  • host()->is_schematized(false)
  • is_ancestor_of(&xother)
  • xother.state_is_read_accessible()
  • xother.host()->is_schematized(false)

Definition at line 1382 of file schema_poset_member.cc.

References sheaf::abstract_poset_member::covers(), sheaf::poset_component::host(), is_ancestor_of(), sheaf::poset_state_handle::is_schematized(), is_table_dof(), size(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Referenced by is_factor().

◆ is_row_dof()

bool sheaf::schema_poset_member::is_row_dof ( ) const
inline

True if this is in in the row_dofs part of some schema. Synonym for is_dof(false).

Definition at line 590 of file schema_poset_member.h.

Referenced by is_component(), and fiber_bundle::binary_section_space_schema_member::is_dof().

◆ is_table_dof()

bool sheaf::schema_poset_member::is_table_dof ( ) const
inline

True if this is in the table_dofs part of some schema. Synonym for is_dof(true).

Definition at line 581 of file schema_poset_member.h.

Referenced by fiber_bundle::binary_section_space_schema_member::is_dof(), and is_factor_of().

◆ l_join()

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

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

Definition at line 1396 of file schema_poset_member.h.

References sheaf::abstract_poset_member::l_join().

◆ l_meet()

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

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

Definition at line 1406 of file schema_poset_member.h.

References sheaf::abstract_poset_member::l_meet().

◆ l_not()

schema_poset_member* sheaf::schema_poset_member::l_not ( bool  xnew_jem = true) const
inline

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

Definition at line 1416 of file schema_poset_member.h.

References sheaf::abstract_poset_member::l_not().

◆ least_jem()

schema_poset_member* sheaf::schema_poset_member::least_jem ( ) const
inline

The smallest member which is join-equivalent to this.

Definition at line 1340 of file schema_poset_member.h.

References sheaf::abstract_poset_member::least_jem().

◆ make_homogeneous_row_schema()

sheaf::poset_path sheaf::schema_poset_member::make_homogeneous_row_schema ( const namespace_poset xns,
const poset_path xparent_path,
const std::string &  xname,
const std::string  xdof_names[],
const primitive_type  xdof_type,
size_type  xdof_ct,
bool  xauto_access 
)
static
Deprecated:
Use schema_poset_member(namespace, name, parent_path, dof_specs ...). Creates a schema member with name xname which conforms_to the schema with path xparent_path and has additional row dofs with names specified by xdof_names and type xdofs_type.
Precondition
  • precondition_of(make_row_schema(xns, xparent_path, xname, xdof_names, xdof_type[], xdof_ct, xauto_access))
Postcondition
  • postcondition_of(make_row_schema(xns, xparent_path, xname, xdof_names, xdof_type[], xdof_ct, xauto_access))

Definition at line 2179 of file schema_poset_member.cc.

References make_row_dofs_schema(), and make_row_schema().

Referenced by make_row_schema().

◆ make_row_dofs_schema()

void sheaf::schema_poset_member::make_row_dofs_schema ( namespace_poset xns,
const std::string  member_names[],
const int  num_members,
const int  member_dof_type,
const std::string &  schema_poset_name,
const std::string &  schema_member_name,
const std::string &  schema_inherits_name 
)
static
Deprecated:
Use schema_poset_member(namespace, name, parent_path, dof_specs ...). Convenience method for creating schema with row dofs (Version with inheritance).

Definition at line 2222 of file schema_poset_member.cc.

References make_schema(), and make_table_dofs_schema().

Referenced by make_homogeneous_row_schema().

◆ make_row_schema()

sheaf::poset_path sheaf::schema_poset_member::make_row_schema ( const namespace_poset xns,
const poset_path xparent_path,
const std::string &  xname,
const std::string  xdof_names[],
const primitive_type  xdof_types[],
size_type  xdof_ct,
bool  xauto_access 
)
static
Deprecated:
Use schema_poset_member(namespace, name, parent_path, dof_specs ...). Creates a schema member with name xname which conforms_to the schema with path xparent_path and has additional row dofs with names and types specified by xdof_names and xdofs_types, respectively.
Precondition
  • precondition_of(make_schema(xns, xparent_path, xname, xdof_names, xdof_types, false{}, xdof_ct, xauto_access))
Postcondition
  • postcondition_of(make_schema(xns, xparent_path, xname, xdof_names, xdof_types, false[], xdof_ct, xauto_access))

Definition at line 2135 of file schema_poset_member.cc.

References make_homogeneous_row_schema(), and make_schema().

Referenced by make_homogeneous_row_schema(), and make_schema().

◆ make_schema() [1/2]

sheaf::poset_path sheaf::schema_poset_member::make_schema ( const namespace_poset xns,
const poset_path xparent_path,
const std::string &  xname 
)
static

Creates a schema member with name xname which is join-equivalent the schema with path xparent_path. Returns a path to the new member.

Precondition
  • !xname.empty()
  • xns.state_is_read_accessible()
  • xparent_path.full()
  • xns.contains_poset(xparent_path)
  • xns.member_poset(xparent_path).is_schematized(false)
  • xns.contains_poset_member(xparent_path)
  • !xns.contains_poset_member(xparent_path.poset_name()+"/"+xname)
Todo:
implement auto access for this routine.
Postcondition
  • xns.contains_poset_member(result)
  • result.poset_name() == xparent_path.poset_name()
  • result.member_name() == xname
  • -unexecutable( new member is join equivalent to parent member )

Definition at line 1938 of file schema_poset_member.cc.

References sheaf::namespace_poset::contains_poset(), sheaf::namespace_poset::contains_poset_member(), detach_from_state(), sheaf::poset_path::full(), sheaf::poset_state_handle::is_schematized(), make_schema_no_jims(), sheaf::namespace_poset::member_poset(), sheaf::poset_component::path(), sheaf::poset_path::poset_name(), sheaf::abstract_poset_member::put_name(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

Referenced by make_row_dofs_schema(), make_row_schema(), make_schema_no_jims(), make_table_dofs_schema(), and row_conforms_to().

◆ make_schema() [2/2]

sheaf::poset_path sheaf::schema_poset_member::make_schema ( const namespace_poset xns,
const poset_path xparent_path,
const std::string &  xname,
const std::string  xdof_names[],
const primitive_type  xdof_types[],
const bool  xis_table_dof[],
size_type  xdof_ct,
bool  xauto_access 
)
static
Deprecated:
Use schema_poset_member(namespace, name, parent_path, dof_specs ...). Creates a schema member with name xname which conforms_to the schema with path xparent_path and has additional dofs with names, types, and roles specified by xdof_names, xdofs_types, and xis_table_dof, respectively. Returns a path to the new schema member.
Precondition
  • !xauto_access ? xns.state_is_read_accessible() : true
  • xparent_path.full()
  • xns.contains_poset(xparent_path)
  • xns.member_poset(xparent_path).is_schematized(false)
  • xns.contains_poset_member(xparent_path)
  • !xname.empty()
  • !xns.member_poset(xparent_path).contains_member(xname)
  • for(int i = ( 0 ); i < ( xdof_ct ); ++ i ) !xdof_names[i].empty()
  • -unexecutable( "if xdof_names[i] already exists, must have type xdof_type[i]" )
  • -unexecutable( "if xdof_names[i] already exists, must have role xis_table_dof[i]" )
Postcondition
  • xns.contains_poset_member(xparent_path.poset_name()+"/"+xname)

Definition at line 2009 of file schema_poset_member.cc.

References sheaf::abstract_poset_member::attach_to_state(), sheaf::auto_block< T, S >::base(), sheaf::poset_state_handle::begin_jim_edit_mode(), sheaf::poset_state_handle::contains_member(), sheaf::namespace_poset::contains_poset(), sheaf::namespace_poset::contains_poset_member(), sheaf::auto_block< T, S >::ct(), sheaf::poset_component::detach_from_state(), detach_from_state(), sheaf::poset_state_handle::end_jim_edit_mode(), sheaf::poset_path::full(), sheaf::namespace_poset::get_read_access(), sheaf::poset_state_handle::get_read_write_access(), sheaf::poset_component::index(), sheaf::subposet::insert_member(), is_dof(), sheaf::poset_state_handle::is_schematized(), make_row_schema(), sheaf::poset_path::member_name(), sheaf::namespace_poset::member_poset(), new_jim_state(), sheaf::abstract_poset_member::new_jrm_state(), sheaf::poset_component::path(), sheaf::poset_path::poset_name(), sheaf::auto_block< T, S >::push_back(), sheaf::abstract_poset_member::put_name(), sheaf::poset_state_handle::release_access(), sheaf::namespace_poset::release_access(), row_dof_subposet_name(), sheaf::read_write_monitor_handle::state_is_read_accessible(), sheaf::read_write_monitor_handle::state_is_read_write_accessible(), and table_dof_subposet_name().

◆ make_schema_no_jims()

void sheaf::schema_poset_member::make_schema_no_jims ( namespace_poset xns,
const std::string &  xposet_name,
const std::string &  xmember_name,
const std::string &  xparent_name 
)
static
Deprecated:
Use schema_poset_member(namespace, name, parent_path, dof_specs ...).

Definition at line 1987 of file schema_poset_member.cc.

References make_schema().

Referenced by make_schema().

◆ make_table_dofs_schema()

void sheaf::schema_poset_member::make_table_dofs_schema ( namespace_poset xns,
const std::string  member_names[],
const int  num_members,
const int  member_dof_type,
const std::string &  schema_poset_name,
const std::string &  schema_member_name,
const std::string &  schema_inherits_name 
)
static
Deprecated:
Use schema_poset_member(namespace, name, parent_path, dof_specs ...). Convenience method for creating schema with row dofs (Version with inheritance).

Definition at line 2271 of file schema_poset_member.cc.

References force_cache_update(), and make_schema().

Referenced by make_row_dofs_schema().

◆ name() [1/2]

◆ name() [2/2]

std::string sheaf::schema_poset_member::name ( const scoped_index xdof_id,
bool  xis_table_dof,
bool  xauto_access 
) const

The name of the table dof (xis_table_dof true) or row dof referred to by xdof_id in the schema defined by this.

Precondition
  • state_is_auto_read_accessible(xauto_access)
  • dof_id_space(xis_table_dof, xauto_access).contains(xdof_id)

Definition at line 3099 of file schema_poset_member.cc.

References dof_id_space(), sheaf::poset_component::host(), size(), and sheaf::read_write_monitor_handle::state_is_auto_read_accessible().

◆ new_host()

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

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

Precondition
  • xns.state_is_auto_read_write_accessible(xauto_access)
  • !xhost_path.empty()
  • !xns.contains_poset(xhost_path, xauto_access)
  • xschema_path.full()
  • xns.path_is_auto_read_accessible(xschema_path, xauto_access)
  • schema_poset_member::conforms_to(xns, xschema_path, standard_schema_path())
Postcondition
  • xns.owns(result, xauto_access)
  • result.path(true).poset_name() == xhost_path.poset_name()
  • result.state_is_not_read_accessible()
  • result.schema(true).path(xauto_access) == xschema_path
  • result.is_schematized(true)

Definition at line 67 of file schema_poset_member.cc.

References sheaf::namespace_poset::contains_poset(), sheaf::poset_component::detach_from_state(), sheaf::poset_path::empty(), sheaf::poset_path::full(), sheaf::poset_state_handle::get_read_write_access(), sheaf::poset_state_handle::is_schematized(), sheaf::namespace_poset::owns(), sheaf::poset_component::path(), sheaf::poset_state_handle::path(), sheaf::namespace_poset::path_is_auto_read_accessible(), sheaf::poset_path::poset_name(), sheaf::poset_state_handle::release_access(), sheaf::poset_state_handle::schema(), sheaf::poset_state_handle::schematize(), standard_host(), sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible(), and sheaf::read_write_monitor_handle::state_is_not_read_accessible().

Referenced by standard_schema_path().

◆ new_jim_state() [1/3]

void sheaf::schema_poset_member::new_jim_state ( primitive_type  xprimitive_type,
bool  xauto_access = true 
)

Creates a new jim state in host() with dof map a copy of the primitive type specified by xprimitive_type.

Precondition
  • !xauto_access ? host()->in_jim_edit_mode() : true
Postcondition
  • !is_restricted()

Definition at line 528 of file schema_poset_member.cc.

References sheaf::poset_component::_host, sheaf::abstract_poset_member::attach_to_state(), sheaf::poset_state_handle::begin_jim_edit_mode(), conforms_to(), sheaf::poset_state_handle::end_jim_edit_mode(), sheaf::poset_component::host(), invariant(), sheaf::poset_component::is_attached(), sheaf::total_poset_member::is_restricted(), sheaf::poset_state_handle::new_member(), sheaf::total_poset_member::schema(), and type().

Referenced by make_schema(), new_jim_state(), and schema_poset_member().

◆ new_jim_state() [2/3]

void sheaf::schema_poset_member::new_jim_state ( poset_state_handle xhost,
primitive_type  xprimitive_type,
bool  xauto_access = true 
)

Creates a new jim state in host xhost with dof map a copy of the primitive type specified by xprimitive_type.

Precondition
  • xhost != 0
  • !xauto_access ? xhost->in_jim_edit_mode() : true
  • xhost->schema().conforms_to("primitives_schema/top")
Postcondition
  • !is_restricted()

Definition at line 573 of file schema_poset_member.cc.

References sheaf::abstract_poset_member::attach_to_state(), sheaf::poset_state_handle::begin_jim_edit_mode(), conforms_to(), sheaf::poset_state_handle::end_jim_edit_mode(), sheaf::poset_state_handle::in_jim_edit_mode(), invariant(), sheaf::poset_component::is_attached(), sheaf::total_poset_member::is_restricted(), new_jim_state(), sheaf::poset_state_handle::new_member(), sheaf::poset_state_handle::schema(), and type().

◆ new_jim_state() [3/3]

void sheaf::schema_poset_member::new_jim_state ( const namespace_poset xns,
const std::string &  xname,
const poset_path xparent_path,
const wsv_block< schema_descriptor > &  xdof_specs,
bool  xauto_access 
)

Creates a new jim with name xname which conforms_to the schema with path xparent_path in namespace xns and has additional dofs with names, types, and roles specified by xdof_specs. If a dof named in xdof_specs already exists, it is used and the type and role in the spec are ignored. Otherwise, a dof with the name, type, and role given in the spec is created. Warning: the jim created by the function will directly cover the parent and the members given in xdof_specs. The client must ensure that these cover links define a valid cover relation. In particular, if the join of some or all of the members in xdof_specs has been instantiated, it should appear in xdof_specs instead.

Precondition
  • xauto_access || xns.state_is_read_accessible()
  • !xname.empty()
  • !xparent_path.poset_name().empty()
  • !xns.contains_poset_member(xparent_path.poset_name()+"/"+xname)
  • xns.contains_poset(xparent_path)
  • xns.member_poset(xparent_path).is_schematized(false)
  • xns.contains_poset_member(xparent_path)
  • for(int i = ( 0 ); i < ( xdof_specs.ct() ); ++ i ) !xdof_specs[i].name.empty()
Hack:
have to create dof map with some primitive type.
Todo:
define a "primitive" type for this purpose.
Postcondition

Definition at line 621 of file schema_poset_member.cc.

References sheaf::abstract_poset_member::attach_to_state(), sheaf::namespace_poset::contains_poset(), sheaf::namespace_poset::contains_poset_member(), sheaf::abstract_poset_member::create_cover_link(), sheaf::auto_block< T, un_block_initialization_policy< T > >::ct(), sheaf::poset_component::detach_from_state(), detach_from_state(), dof_ct(), dof_map(), sheaf::namespace_poset::get_read_access(), sheaf::poset_state_handle::get_read_write_access(), sheaf::subposet::has_id_space(), sheaf::poset_component::host(), sheaf::subposet::id_space(), sheaf::poset_component::index(), sheaf::subposet::insert_member(), sheaf::poset_state_handle::is_schematized(), sheaf::poset_path::member_name(), sheaf::namespace_poset::member_poset(), sheaf::abstract_poset_member::name(), sheaf::subposet::new_id_space(), new_jim_state(), sheaf::poset_path::poset_name(), sheaf::gathered_insertion_index_space_handle::push_back(), sheaf::abstract_poset_member::put_name(), sheaf::primitives_poset_dof_map::put_type(), sheaf::namespace_poset::release_access(), row_dof_subposet_name(), sheaf::read_write_monitor_handle::state_is_read_accessible(), sheaf::read_write_monitor_handle::state_is_read_write_accessible(), table_dof_subposet_name(), and type().

◆ offset() [1/3]

sheaf::size_type sheaf::schema_poset_member::offset ( pod_index_type  xdof_id,
bool  xis_table_dof 
) const
virtual

◆ offset() [2/3]

sheaf::size_type sheaf::schema_poset_member::offset ( const scoped_index xdof_id,
bool  xis_table_dof,
bool  xauto_access 
) const

The offset for the table dof (xis_table_dof true) or row dof referred to by xdof_id in the schema defined by this.

Precondition
  • state_is_auto_read_accessible(xauto_access)
  • dof_id_space(xis_table_dof, xauto_access).contains(xdof_id)

Definition at line 3396 of file schema_poset_member.cc.

References dof_id_space(), sheaf::poset_component::get_read_access(), offset(), sheaf::index_space_handle::pod(), sheaf::poset_component::release_access(), and sheaf::read_write_monitor_handle::state_is_auto_read_accessible().

◆ offset() [3/3]

sheaf::size_type sheaf::schema_poset_member::offset ( const std::string &  xname,
bool  xis_table_dof,
bool  xauto_access 
) const

The offset for the table dof (xis_table_dof true) or row dof with name xname in the schema defined by this.

Precondition
  • state_is_auto_read_accessible(xauto_access)
  • contains_dof(xname, xis_table_dof)

Definition at line 3427 of file schema_poset_member.cc.

References contains_dof(), dof_id_space(), get_decomposition(), sheaf::poset_component::get_read_access(), sheaf::poset_component::host(), sheaf::poset_state_handle::member_id(), offset(), sheaf::index_space_handle::pod(), sheaf::poset_component::release_access(), and sheaf::read_write_monitor_handle::state_is_auto_read_accessible().

◆ operator=() [1/2]

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

◆ operator=() [2/2]

sheaf::schema_poset_member & sheaf::schema_poset_member::operator= ( const schema_poset_member xother)

Assignment operator.

Precondition
  • is_ancestor_of(&xother)
Not Implemented.
Postcondition

Definition at line 252 of file schema_poset_member.cc.

References invariant(), is_ancestor_of(), and ~schema_poset_member().

◆ p_join()

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

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

Definition at line 1363 of file schema_poset_member.h.

References sheaf::abstract_poset_member::p_join().

◆ p_meet()

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

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

Definition at line 1372 of file schema_poset_member.h.

References sheaf::abstract_poset_member::p_meet().

◆ row_cache_consistent()

◆ row_conforms_to() [1/3]

◆ row_conforms_to() [2/3]

bool sheaf::schema_poset_member::row_conforms_to ( const poset_path xpath) const

True if the row dofs defined by this agree in type and in order with the dofs defined by the schema member specified by path xpath. (This schema may contain additional dofs as well.) Synonym for conforms_to(xpath, false).

Precondition
  • xpath.full()

Definition at line 1720 of file schema_poset_member.cc.

References conforms_to(), sheaf::poset_path::full(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

◆ row_conforms_to() [3/3]

bool sheaf::schema_poset_member::row_conforms_to ( const namespace_poset xns,
const poset_path xchild_path,
const poset_path xparent_path,
bool  xauto_access = true 
)
static

True if the row dofs defined by the schema specified by xchild_path agree in type and in order with the dofs defined by the schema member specified by path xparent_path. (Child schema may contain additional dofs as well.) Synonym for conforms_to(xns, xchild_path, xparent_path, false, xauto_access);.

Precondition
  • precondition_of(conforms_to(xns, xchild_path, xparent_path, false, xauto_access))
Postcondition
  • postcondition_of(conforms_to(xns, xchild_path, xparent_path, false, xauto_access))

Definition at line 1911 of file schema_poset_member.cc.

References conforms_to(), and make_schema().

◆ row_dof_ct() [1/2]

◆ row_dof_ct() [2/2]

int sheaf::schema_poset_member::row_dof_ct ( ) const

The number of row dofs defined by this schema. Synonym for dof_ct(false).

Precondition
Postcondition
  • result >= 0

Definition at line 927 of file schema_poset_member.cc.

References _row_dof_ct, dof_tuple_ub(), row_cache_consistent(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and update_row_cache().

Referenced by dof_ct(), row_dof_descriptors(), and table_dof_ct().

◆ row_dof_descriptors()

sheaf::dof_descriptor_array * sheaf::schema_poset_member::row_dof_descriptors ( ) const

The dof_descriptors_array for the row dof tuple defined by this schema. Synonym for dof_descriptors(false).

Precondition
Postcondition
  • -unexecutable( result != 0 implies it points to a buffer of length row_dof_ct()+1 )

Definition at line 2396 of file schema_poset_member.cc.

References _row_dof_descriptors, dof_subposet_state(), fiber_bundle::ed_algebra::length(), row_cache_consistent(), row_dof_ct(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and update_row_cache().

Referenced by sheaf::deep_size(), dof_descriptors(), and table_dof_descriptors().

◆ row_dof_id_space() [1/2]

◆ row_dof_id_space() [2/2]

const sheaf::index_space_handle & sheaf::schema_poset_member::row_dof_id_space ( bool  xauto_access) const

The row dof id space for the schema defined by this.

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

Definition at line 3046 of file schema_poset_member.cc.

References sheaf::poset_component::get_read_access(), sheaf::index_space_handle::is_attached(), sheaf::abstract_poset_member::name(), sheaf::poset_component::release_access(), row_dof_id_space(), and sheaf::read_write_monitor_handle::state_is_auto_read_accessible().

◆ row_dof_iterator()

◆ row_dof_subposet_index()

const sheaf::scoped_index & sheaf::schema_poset_member::row_dof_subposet_index ( ) const

The index in host() of the subposet containing the the row dofs in the down set of this (const version).

Issue:
this precondition is only needed for the postcondition.
Precondition
Postcondition
  • result.is_valid() == host()->includes_subposet(result)

Definition at line 1159 of file schema_poset_member.cc.

References _row_dof_subposet_index, contains_dof(), sheaf::poset_component::host(), sheaf::poset_state_handle::includes_subposet(), sheaf::scoped_index::is_valid(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Referenced by table_dof_subposet_index().

◆ row_dof_subposet_name() [1/2]

static std::string sheaf::schema_poset_member::row_dof_subposet_name ( const std::string &  xname)
inlinestatic

The standard name for the row dof subposet associated with the schema member with name xname. Synonym for dof_subposet_name(xname, false).

Definition at line 424 of file schema_poset_member.h.

◆ row_dof_subposet_name() [2/2]

◆ row_dof_tuple_is_homogeneous()

bool sheaf::schema_poset_member::row_dof_tuple_is_homogeneous ( ) const
inline

True if all the row dofs have the same type. Synonym for dof_tuple_is_homogeneous(false);.

Definition at line 397 of file schema_poset_member.h.

◆ row_dof_tuple_type()

primitive_type sheaf::schema_poset_member::row_dof_tuple_type ( ) const
inline

◆ row_dof_tuple_ub()

◆ size() [1/4]

◆ size() [2/4]

sheaf::size_type sheaf::schema_poset_member::size ( pod_index_type  xdof_id,
bool  xis_table_dof 
) const
virtual

The number of bytes in the table dof (xis_table_dof true) or row dof referred to by xdof_id in the schema defined by this.

Precondition
  • dof_id_space(xis_table_dof).contains(xdof_id)

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

Definition at line 3119 of file schema_poset_member.cc.

References dof_descriptors(), dof_id_space(), size(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

◆ size() [3/4]

sheaf::size_type sheaf::schema_poset_member::size ( const scoped_index xdof_id,
bool  xis_table_dof,
bool  xauto_access 
) const

The number of bytes in the table dof (xis_table_dof true) or row dof referred to by xdof_id in the schema defined by this.

Precondition
  • state_is_auto_read_accessible(xauto_access)
  • dof_id_space(xis_table_dof, xauto_access).contains(xdof_id)

Definition at line 3139 of file schema_poset_member.cc.

References dof_id_space(), sheaf::poset_component::get_read_access(), sheaf::index_space_handle::pod(), sheaf::poset_component::release_access(), size(), and sheaf::read_write_monitor_handle::state_is_auto_read_accessible().

◆ size() [4/4]

sheaf::size_type sheaf::schema_poset_member::size ( const std::string &  xname,
bool  xis_table_dof,
bool  xauto_access 
) const

The number of bytes in the table dof (xis_table_dof true) or row dof with name xname in the schema defined by this.

Precondition
  • state_is_auto_read_accessible(xauto_access)
  • contains_dof(xname, xis_table_dof)

Definition at line 3170 of file schema_poset_member.cc.

References alignment(), contains_dof(), dof_id_space(), sheaf::poset_component::get_read_access(), sheaf::poset_component::host(), sheaf::poset_state_handle::member_id(), sheaf::index_space_handle::pod(), sheaf::poset_component::release_access(), size(), and sheaf::read_write_monitor_handle::state_is_auto_read_accessible().

◆ standard_host()

sheaf::schema_poset_member::host_type & sheaf::schema_poset_member::standard_host ( namespace_type xns,
const poset_path xhost_path,
bool  xauto_access 
)
static

The host with path xhost_path.Returns the host if it already exists, otherwise, creates it in namespace xns with schema specified by standard_schema_path().

Precondition
  • xns.state_is_auto_read_write_accessible(xauto_access)
  • !xhost_path.empty()
  • xns.path_is_available<host_type>(xhost_path, xauto_access)
  • xns.path_is_auto_read_accessible(standard_schema_path(), xauto_access)
Postcondition
  • xns.owns(result, xauto_access)
  • result.path(true).poset_name() == xhost_path.poset_name()
  • result.state_is_not_read_accessible()
  • result.is_schematized(true)

Definition at line 120 of file schema_poset_member.cc.

References sheaf::namespace_poset::contains_path(), sheaf::poset_path::empty(), sheaf::poset_state_handle::is_schematized(), sheaf::namespace_poset::member_poset(), sheaf::namespace_poset::owns(), sheaf::poset_component::path(), sheaf::poset_state_handle::path(), sheaf::namespace_poset::path_is_auto_read_accessible(), sheaf::namespace_poset::path_is_available(), sheaf::poset_path::poset_name(), sheaf::poset_state_handle::schema(), schema_poset_member(), sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible(), and sheaf::read_write_monitor_handle::state_is_not_read_accessible().

Referenced by new_host().

◆ standard_schema_path()

const sheaf::poset_path & sheaf::schema_poset_member::standard_schema_path ( )
static

The path to the standard schema for this class.

Postcondition
  • result.full()

Definition at line 47 of file schema_poset_member.cc.

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

◆ table_cache_consistent()

◆ table_conforms_to() [1/3]

bool sheaf::schema_poset_member::table_conforms_to ( const schema_poset_member xother) const

True if the table dofs defined by this agree in type and in order with the dofs defined by xother. (This schema may contain additional dofs as well.) Synonym for conforms_to(xother, true).

Precondition

Definition at line 1656 of file schema_poset_member.cc.

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

Referenced by conforms_to().

◆ table_conforms_to() [2/3]

bool sheaf::schema_poset_member::table_conforms_to ( const poset_path xpath) const

True if the table dofs defined by this agree in type and in order with the dofs defined by the schema member specified by path xpath. (This schema may contain additional dofs as well.) Synonym for conforms_to(xpath, true).

Precondition
  • xpath.full()

Definition at line 1677 of file schema_poset_member.cc.

References conforms_to(), sheaf::poset_path::full(), row_conforms_to(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

◆ table_conforms_to() [3/3]

bool sheaf::schema_poset_member::table_conforms_to ( const namespace_poset xns,
const poset_path xchild_path,
const poset_path xparent_path,
bool  xauto_access = true 
)
static

True if the table dofs defined by the schema specified by xchild_path agree in type and in order with the dofs defined by the schema member specified by path xparent_path. (Child schema may contain additional dofs as well.) Synonym for conforms_to(xns, xchild_path, xparent_path, true, xauto_access);.

Precondition
  • precondition_of(conforms_to(xns, xchild_path, xparent_path, true, xauto_access))
Postcondition
  • postcondition_of(conforms_to(xns, xchild_path, xparent_path, true, xauto_access))

Definition at line 1884 of file schema_poset_member.cc.

References conforms_to(), and row_conforms_to().

◆ table_dof_ct() [1/2]

int sheaf::schema_poset_member::table_dof_ct ( const namespace_poset xns,
const poset_path xpath,
bool  xauto_access = true 
)
static

The number of tablr dofs defined by the schema specified by xns and xpath. Synonym for dof_ct(xns, xpath, true, xauto_access).

Precondition
  • precondition_of(dof_ct(xns, xpath, true, xauto_access))
Postcondition
  • postcondition_of(dof_ct(xns, xpath, true, xauto_access))

Definition at line 824 of file schema_poset_member.cc.

References dof_ct(), and row_dof_ct().

Referenced by sheaf::poset_table_state::invariant().

◆ table_dof_ct() [2/2]

int sheaf::schema_poset_member::table_dof_ct ( ) const

◆ table_dof_descriptors()

sheaf::dof_descriptor_array * sheaf::schema_poset_member::table_dof_descriptors ( ) const

The dof_descriptors_array for the table dof tuple defined by this schema. Synonym for dof_descriptors(true).

Precondition
Postcondition
  • -unexecutable( result != 0 implies it points to a buffer of length table_dof_ct()+1 )

Definition at line 2368 of file schema_poset_member.cc.

References _table_dof_descriptors, fiber_bundle::ed_algebra::length(), row_dof_descriptors(), sheaf::read_write_monitor_handle::state_is_read_accessible(), table_cache_consistent(), table_dof_ct(), and update_table_cache().

Referenced by sheaf::deep_size(), and dof_descriptors().

◆ table_dof_id_space() [1/2]

const sheaf::index_space_handle & sheaf::schema_poset_member::table_dof_id_space ( ) const

◆ table_dof_id_space() [2/2]

const sheaf::index_space_handle & sheaf::schema_poset_member::table_dof_id_space ( bool  xauto_access) const

The table dof id space for the schema defined by this.

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

Definition at line 2989 of file schema_poset_member.cc.

References sheaf::poset_component::get_read_access(), sheaf::index_space_handle::is_attached(), sheaf::poset_component::release_access(), row_dof_id_space(), sheaf::read_write_monitor_handle::state_is_auto_read_accessible(), and table_dof_id_space().

◆ table_dof_iterator()

poset_dof_iterator* sheaf::schema_poset_member::table_dof_iterator ( int  xversion = CURRENT_MEMBER_VERSION) const
inline

A postorder iterator over the table dofs defined by this. Synonym for dof_iterator(true).

Definition at line 646 of file schema_poset_member.h.

Referenced by sheaf::poset_table_state::invariant().

◆ table_dof_subposet_index()

const sheaf::scoped_index & sheaf::schema_poset_member::table_dof_subposet_index ( ) const

The index in host() of the subposet containing the the table dofs in the down set of this (const version).

Todo:
schema_poset_member should not export the dof subposets.
Issue:
this precondition is only needed for the postcondition.
Precondition
Postcondition
  • result.is_valid() == host()->includes_subposet(result)

Definition at line 1136 of file schema_poset_member.cc.

References _table_dof_subposet_index, sheaf::poset_component::host(), sheaf::poset_state_handle::includes_subposet(), sheaf::scoped_index::is_valid(), row_dof_subposet_index(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Referenced by dof_subposet_name().

◆ table_dof_subposet_name() [1/2]

static std::string sheaf::schema_poset_member::table_dof_subposet_name ( const std::string &  xname)
inlinestatic

The standard name for the table dof subposet associated with the schema member with name xname. Synonym for dof_subposet_name(xname, true).

Definition at line 414 of file schema_poset_member.h.

◆ table_dof_subposet_name() [2/2]

◆ table_dof_tuple_is_homogeneous()

bool sheaf::schema_poset_member::table_dof_tuple_is_homogeneous ( ) const
inline

True if all the table dofs have the same type. Synonym for dof_tuple_is_homogeneous(true);.

Definition at line 388 of file schema_poset_member.h.

◆ table_dof_tuple_type()

primitive_type sheaf::schema_poset_member::table_dof_tuple_type ( ) const
inline

The type of table dofs defined by this. Synonym for dof_tuple_type(true).

Definition at line 361 of file schema_poset_member.h.

◆ table_dof_tuple_ub()

size_t sheaf::schema_poset_member::table_dof_tuple_ub ( ) const

The size in bytes of the table dof tuple defined by this schema. Synonym for dof_tuple_ub(true).

Precondition

Definition at line 976 of file schema_poset_member.cc.

References _table_dof_tuple_ub, row_dof_tuple_ub(), sheaf::read_write_monitor_handle::state_is_read_accessible(), table_cache_consistent(), and update_table_cache().

Referenced by dof_tuple_ub(), and sheaf::poset_table_state::invariant().

◆ type() [1/4]

◆ type() [2/4]

sheaf::primitive_type sheaf::schema_poset_member::type ( pod_index_type  xdof_id,
bool  xis_table_dof 
) const
virtual

The primitive type for the table dof (xis_table_dof true) or row dof referred to by xdof_id in the schema defined by this.

Precondition
  • dof_id_space(xis_table_dof).contains(xdof_id)

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

Definition at line 3290 of file schema_poset_member.cc.

References dof_descriptors(), dof_id_space(), sheaf::primitive_attributes::id(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and type().

◆ type() [3/4]

sheaf::primitive_type sheaf::schema_poset_member::type ( const scoped_index xdof_id,
bool  xis_table_dof,
bool  xauto_access 
) const

The primitive type for the table dof (xis_table_dof true) or row dof referred to by xdof_id in the schema defined by this.

Precondition
  • state_is_auto_read_accessible(xauto_access)
  • dof_id_space(xis_table_dof, xauto_access).contains(xdof_id)

Definition at line 3311 of file schema_poset_member.cc.

References dof_id_space(), sheaf::poset_component::get_read_access(), sheaf::index_space_handle::pod(), sheaf::poset_component::release_access(), sheaf::read_write_monitor_handle::state_is_auto_read_accessible(), and type().

◆ type() [4/4]

sheaf::primitive_type sheaf::schema_poset_member::type ( const std::string &  xname,
bool  xis_table_dof,
bool  xauto_access 
) const

The primitive type for the table dof (xis_table_dof true) or row dof with name xname in the schema defined by this.

Precondition
  • state_is_auto_read_accessible(xauto_access)
  • contains_dof(xname, xis_table_dof)

Definition at line 3342 of file schema_poset_member.cc.

References contains_dof(), dof_id_space(), sheaf::poset_component::get_read_access(), sheaf::poset_component::host(), sheaf::poset_state_handle::member_id(), offset(), sheaf::index_space_handle::pod(), sheaf::poset_component::release_access(), sheaf::read_write_monitor_handle::state_is_auto_read_accessible(), and type().

◆ update_dof_descriptors()

◆ update_dof_id_space()

◆ update_row_cache()

◆ update_row_dof_descriptors()

void sheaf::schema_poset_member::update_row_dof_descriptors ( ) const
protectedvirtual

◆ update_row_dof_id_space()

void sheaf::schema_poset_member::update_row_dof_id_space ( ) const
protectedvirtual

◆ update_table_cache()

◆ update_table_dof_descriptors()

void sheaf::schema_poset_member::update_table_dof_descriptors ( ) const
protectedvirtual

◆ update_table_dof_id_space()

void sheaf::schema_poset_member::update_table_dof_id_space ( ) const
protectedvirtual

Friends And Related Function Documentation

◆ deep_size

SHEAF_DLL_SPEC size_t deep_size ( const schema_poset_member xp,
bool  xinclude_shallow 
)
friend

The deep size of the referenced object of type schema_poset_member.

Referenced by sheaf::deep_size().

Member Data Documentation

◆ _row_cache_index

scoped_index sheaf::schema_poset_member::_row_cache_index
mutableprotected

◆ _row_cache_version

int sheaf::schema_poset_member::_row_cache_version
mutableprotected

◆ _row_dof_ct

size_type sheaf::schema_poset_member::_row_dof_ct
mutableprotected

◆ _row_dof_descriptors

dof_descriptor_array* sheaf::schema_poset_member::_row_dof_descriptors
mutableprotected

◆ _row_dof_id_space

◆ _row_dof_subposet_index

scoped_index sheaf::schema_poset_member::_row_dof_subposet_index
protected

The index within host of the row dofs subposet associated with this.

Definition at line 912 of file schema_poset_member.h.

Referenced by attach_handle_data_members(), and row_dof_subposet_index().

◆ _row_dof_tuple_ub

size_type sheaf::schema_poset_member::_row_dof_tuple_ub
mutableprotected

◆ _table_cache_index

scoped_index sheaf::schema_poset_member::_table_cache_index
mutableprotected

The index with respect to which the cached table properties were evaluated.

Definition at line 923 of file schema_poset_member.h.

Referenced by table_cache_consistent(), and update_table_cache().

◆ _table_cache_version

int sheaf::schema_poset_member::_table_cache_version
mutableprotected

The version with respect to which the cached table properties were evaluated.

Definition at line 929 of file schema_poset_member.h.

Referenced by table_cache_consistent(), and update_table_cache().

◆ _table_dof_ct

size_type sheaf::schema_poset_member::_table_dof_ct
mutableprotected

The number of table dofs defined by this schema.

Definition at line 1024 of file schema_poset_member.h.

Referenced by table_dof_ct(), update_table_cache(), and update_table_dof_descriptors().

◆ _table_dof_descriptors

dof_descriptor_array* sheaf::schema_poset_member::_table_dof_descriptors
mutableprotected

The dof_descriptors_array for the table dof tuple defined by this schema.

Definition at line 1044 of file schema_poset_member.h.

Referenced by table_dof_descriptors(), update_table_dof_descriptors(), and ~schema_poset_member().

◆ _table_dof_id_space

index_space_handle* sheaf::schema_poset_member::_table_dof_id_space
mutableprotected

◆ _table_dof_subposet_index

scoped_index sheaf::schema_poset_member::_table_dof_subposet_index
protected

The index within host of the table dofs subposet associated with this.

Definition at line 907 of file schema_poset_member.h.

Referenced by attach_handle_data_members(), and table_dof_subposet_index().

◆ _table_dof_tuple_ub

size_type sheaf::schema_poset_member::_table_dof_tuple_ub
mutableprotected

The size in bytes of the table dof tuple defined by this schema.

Definition at line 1034 of file schema_poset_member.h.

Referenced by table_dof_tuple_ub(), and update_table_dof_descriptors().


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