SheafSystem  0.0.0.0
fiber_bundle::structured_block_1d Class Reference

A homogeneous collection of connected segments arranged in an i_size() array. More...

#include <structured_block_1d.h>

Inheritance diagram for fiber_bundle::structured_block_1d:
fiber_bundle::structured_block fiber_bundle::homogeneous_block fiber_bundle::base_space_member sheaf::total_poset_member sheaf::abstract_poset_member sheaf::poset_component sheaf::read_write_monitor_handle sheaf::any

Friends

class structured_block_1d_crg_interval
 

HOST FACTORY FACET

static const poset_pathstatic_prototype_path ()
 The path of the prototype required by 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 poset 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() and standard paths for prerequisites, which are also created if needed. More...
 

STRUCTURED_BLOCK_1D FACET

enum  static_const_int { DB = 1 }
 The dimension of this block; static const version. More...
 
 structured_block_1d ()
 Default constructor; creates a new, unattached structured_block_1d handle. More...
 
 structured_block_1d (const abstract_poset_member &xother, bool xnew_jem=false)
 Copy constructor; creates a new structured_block_1d 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...
 
virtual ~structured_block_1d ()
 Destructor; deletes a poset member and its attached state, if any. More...
 
 structured_block_1d (poset *xhost, const size_type &xi_size, bool xauto_access)
 Creates a new handle attached to a new state in xhost with i_size() == xi_size. More...
 
 structured_block_1d (const poset *xhost, pod_index_type xhub_id)
 Creates a new structured_block_1d handle attached to the member state with hub id xhub_id in xhost. More...
 
 structured_block_1d (const poset *xhost, const scoped_index &xid)
 Creates a new structured_block_1d handle attached to the member state with id xid in xhost. More...
 
 structured_block_1d (const poset *xhost, const std::string &xname)
 Creates a new structured_block_1d handle attached to the member state with name xname in xhost. More...
 
 structured_block_1d (const namespace_poset *xnamespace, const poset_path &xpath, bool xauto_access=true)
 Creates a new structured_block_1d handle attached to the member state specified by xpath in namespace xnamespace. More...
 
 structured_block_1d (const namespace_poset *xnamespace, pod_index_type xposet_id, pod_index_type xmember_id)
 Creates a new structured_block_1d handle attached to the member state with specified by xposet_id, xmember_id in namespace xnamespace. More...
 
 structured_block_1d (const namespace_poset *xnamespace, const scoped_index &xposet_id, const scoped_index &xmember_id)
 Creates a new structured_block_1d handle attached to the member state with specified by xposet_id, xmember_id in namespace xnamespace. More...
 
void new_state (const size_type &xi_size, bool xauto_access=true)
 Creates a new structured_block_1d state in host() with i_size() == xi_size and attaches this to it. Synonym for new_state(host(), xi_size). More...
 
void new_state (poset *xhost, const size_type &xi_size, bool xauto_access=true)
 Creates a new structured_block_1d state in xhost with i_size() == xi_size and attaches this to it. More...
 
size_type i_size () const
 The number of local cells (zones) in the i direction. The number of vertices in the i direction is i_size() + 1. More...
 
virtual void attach_handle_data_members ()
 Initializes handle data members when attaching to a different member of the same host. More...
 
static scoped_index new_row_dof_map (poset_state_handle &xhost, size_type xi_size, bool xauto_access)
 Creates a new row dof map and initializes it. More...
 

LOCAL_BASE_SPACE_MEMBER FACET

chart_point_1drefine_point (const chart_point &xpt) const
 The point in the direct refinement of this which is the same as xpt in this; auto-allocated version. More...
 
virtual void refine_point_pa (const chart_point &xpt, chart_point &result) const
 The point in the direct refinement of this which is the same as xpt in this; pre-allocated version. More...
 
virtual void refine_point_pa (const chart_point &xpt, block< chart_point_3d > &result) const
 All chart points in the direct refinement of this which are the same as xpt in this; pre-allocated version. Note that if xpt lies on a zone boundary in the direct refinement, it lies in more than one zone. More...
 
chart_point_1dunrefine_point (const chart_point &xpt) const
 The point in this which is the same as xpt in the direct refinement of this; auto-allocated version. More...
 
virtual void unrefine_point_pa (const chart_point &xpt, chart_point &result) const
 The point in this which is the same as xpt in the direct refinement of this; pre-allocated version. More...
 
virtual void refine ()
 Inserts the standard refinement of this into its lower cover and changes this from a jim to a jrm. More...
 
virtual void unrefine ()
 Removes the standard refinement of this from its lower cover and changes this from a jrm to a jim. More...
 
virtual void simplify ()
 Inserts the standard simplex refinement of this into its lower cover and changes this from a jim to a jrm. More...
 
virtual void unsimplify ()
 Removes the standard simplex refinement of this from its lower cover and changes this from a jrm to a jim. More...
 

HOMOGENEOUS_BLOCK FACET

static const poset_pathstatic_local_cell_prototype_path ()
 The path of the local cell prototype required by this class. More...
 
virtual const structured_block_1d_crg_intervalinterval () const
 The implicit interval member for this block. More...
 

ABSTRACT_POSET_MEMBER FACET

virtual structured_block_1dclone () const
 Make a new handle, no state instance of current. More...
 
structured_block_1dclone (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...
 

ORDERING RELATION FACET

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

POSET ALGEBRA FACET

structured_block_1dp_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...
 
structured_block_1dp_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

structured_block_1dl_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...
 
structured_block_1dl_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...
 
structured_block_1dl_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...
 

ANY FACET

virtual bool invariant () const
 Class invariant. More...
 
virtual bool is_ancestor_of (const any *other) const
 True if other conforms to this. More...
 
virtual structured_block_1doperator= (const abstract_poset_member &xother)
 Assignment operator; attaches this to the same state as xother. More...
 
structured_block_1doperator= (const structured_block_1d &xother)
 Assignment operator. More...
 

Additional Inherited Members

- Public Types inherited from fiber_bundle::base_space_member
typedef fiber_bundles_namespace namespace_type
 The type of namespace for this type of member. More...
 
typedef base_space_poset host_type
 The type of host poset for this type of member. More...
 
typedef base_space_member_row_dof_tuple_type row_dof_tuple_type
 The type of rowe dof tuple for this. More...
 
- Public Types inherited from sheaf::abstract_poset_member
typedef namespace_poset namespace_type
 The type of namespace for this type of member. More...
 
typedef poset host_type
 The type of host poset for this type of member. More...
 
typedef abstract_poset_member_table_dofs_type table_dofs_type
 The type of the table dofs. More...
 
typedef abstract_poset_member_row_dofs_type row_dofs_type
 The type of the row dofs. More...
 
- Public Member Functions inherited from fiber_bundle::structured_block
 structured_block ()
 Default constructor; creates a new, unattached structured_block handle. More...
 
virtual ~structured_block ()
 Destructor; deletes a poset member and its attached state, if any. More...
 
chart_pointrefine_point (const chart_point &xpt) const
 A chart point in the direct refinement of this which is the same as xpt in this; auto-allocated version. More...
 
chart_pointunrefine_point (const chart_point &xpt) const
 The point in this which is the same as xpt in the direct refinement of this; auto-allocated version. More...
 
structured_blockclone (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...
 
structured_blockgreatest_jem () const
 The largest member which is join-equivalent to this. More...
 
structured_blockleast_jem () const
 The smallest member which is join-equivalent to this. More...
 
structured_blockp_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...
 
structured_blockp_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...
 
structured_blockl_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...
 
structured_blockl_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...
 
structured_blockl_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...
 
structured_blockoperator= (const structured_block &xother)
 Assignment operator. More...
 
- Public Member Functions inherited from fiber_bundle::homogeneous_block
virtual ~homogeneous_block ()
 Destructor; deletes a poset member and its attached state, if any. More...
 
const hub_index_space_handlehub_id_space () const
 The hub id space of this block. More...
 
const index_space_handlelocal_id_space () const
 The id space for the members of this block, including the block itself. More...
 
const pod_index_typelocal_cell_type_id () const
 The type id of the prototype for the local cell; the id of the local cell prototype in the id space "cell_types" in the prototypes poset. More...
 
const char * local_cell_type_name () const
 The type name of the prototype for the local cell. More...
 
virtual const size_typesize () const
 The number of local cell instances in this block. More...
 
array_poset_dof_mapnew_row_dof_map (const poset *xhost, const std::string &xprototype_name, const std::string &xlocal_cell_name, size_type xsize)
 OBSOLETE: use scoped_index new_row_dof_map(poset_state_handle& ...) Creates a new row dof map and initializes it from the prototypes with names xprototype_name and xlocal_cell_name. More...
 
bool contains_zone_id_space (bool xauto_access) const
 True if and only if this block contains a zone id space. More...
 
index_space_handleget_zone_id_space (bool xauto_access) const
 Allocates a handle from the pool of handles for the id space of zones in this block. More...
 
void release_zone_id_space (index_space_handle &xid_space, bool xauto_access) const
 Returns the zone id space xid_space to the pool of handles. More...
 
index_space_iteratorget_zone_id_space_iterator (bool xauto_access) const
 Allocates a zone id space iterator from the pool of iterators. More...
 
void release_zone_id_space_iterator (index_space_iterator &xitr, bool xauto_access) const
 Returns the zone id space iterator xitr to the pool of iterators. More...
 
bool contains_vertex_id_space (bool xauto_access) const
 True if and only if this block contains a vertex id space. More...
 
index_space_handleget_vertex_id_space (bool xauto_access) const
 Allocates a handle from the pool of handles for the id space of vertices in this block. More...
 
void release_vertex_id_space (index_space_handle &xid_space, bool xauto_access) const
 Returns the vertex id space handle xid_space to the pool of handles. More...
 
index_space_iteratorget_vertex_id_space_iterator (bool xauto_access) const
 Allocates a vertex id space iterator from the pool of iterators. More...
 
void release_vertex_id_space_iterator (index_space_iterator &xitr, bool xauto_access) const
 Returns the vertex id space iterator xitr to the pool of iterators. More...
 
bool contains_connectivity_id_space (pod_index_type xzone_id, bool xauto_access) const
 True if this block contains the connectivity for a zone with id xzone_id. More...
 
bool contains_connectivity_id_space (const scoped_index &xzone_id, bool xauto_access) const
 True if this block contains the connectivity for a zone with id xzone_id. synonym for contains_connectivity(xzone_id.hub_pod(), xauto_access). More...
 
index_space_handleget_connectivity_id_space (pod_index_type xzone_id, bool xauto_access) const
 Allocates an id space handle from the connectivity handle pool attached to the connectivity id space state for zone with id xzone_id. More...
 
index_space_handleget_connectivity_id_space (const scoped_index &xzone_id, bool xauto_access) const
 Allocates an id space handle from the connectivity handle pool attached to the connectivity id space state for zone with id xzone_id. synonym for get_connectivity_id_space(zone_id_space().pod(xzone_id)). More...
 
void release_connectivity_id_space (index_space_handle &xid_space, bool xauto_access) const
 Returns the id space handle xid_space to the connectivity handle pool. More...
 
index_space_iteratorget_connectivity_id_space_iterator (pod_index_type xzone_id, bool xauto_access) const
 Allocates an id space iterator from the connectivity iterator pool attached to the connectivity id space state for zone with id xzone_id. More...
 
index_space_iteratorget_connectivity_id_space_iterator (const scoped_index &xzone_id, bool xauto_access) const
 Allocates an id space iterator from the connectivity iterator pool attached to the connectivity id space state for zone with id xzone_id. synonym for get_connecitivity_iterator(zone_id_space().pod(xzone_id)). More...
 
void release_connectivity_id_space_iterator (index_space_iterator &xid_space, bool xauto_access) const
 Returns the id space iterator xid_space to the connectivity iterator pool. More...
 
bool contains_adjacency_id_space (pod_index_type xvertex_id, bool xauto_access) const
 True if this block contains the adjacency for a vertex with id xvertex_id. More...
 
bool contains_adjacency_id_space (const scoped_index &xvertex_id, bool xauto_access) const
 True if this block contains the adjacency for a vertex with id xvertex_id. synonym for contains_adjacency(xvertex_id.hub_pod(), xauto_access). More...
 
index_space_handleget_adjacency_id_space (pod_index_type xvertex_id, bool xauto_access) const
 Allocates an id space handle from the adjacency handle pool attached to the adjacency id space state for vertex with id xvertex_id. More...
 
index_space_handleget_adjacency_id_space (const scoped_index &xvertex_id, bool xauto_access) const
 Allocates an id space handle from the adjacency handle pool attached to the adjacency id space state for vertex with id xvertex_id. synonym for get_adjacency_id_space(vertex_id_space().pod(xvertex_id)). More...
 
void release_adjacency_id_space (index_space_handle &xid_space, bool xauto_access) const
 Returns the id space handle xid_space to the adjacency handle pool. More...
 
index_space_iteratorget_adjacency_id_space_iterator (pod_index_type xvertex_id, bool xauto_access) const
 Allocates an id space iterator from the adjacency iterator pool attached to the adjacency id space state for vertex with id xvertex_id. More...
 
index_space_iteratorget_adjacency_id_space_iterator (const scoped_index &xvertex_id, bool xauto_access) const
 Allocates an id space iterator from the adjacency iterator pool attached to the adjacency id space state for vertex with id xvertex_id. synonym for get_connecitivity_iterator(vertex_id_space().pod(xvertex_id)). More...
 
void release_adjacency_id_space_iterator (index_space_iterator &xid_space, bool xauto_access) const
 Returns the id space iterator xid_space to the adjacency iterator pool. More...
 
homogeneous_blockclone (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...
 
homogeneous_blockgreatest_jem () const
 The largest member which is join-equivalent to this. More...
 
homogeneous_blockleast_jem () const
 The smallest member which is join-equivalent to this. More...
 
homogeneous_blockp_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...
 
homogeneous_blockp_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...
 
homogeneous_blockl_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...
 
homogeneous_blockl_meet (abstract_poset_member *other, bool xnew_jem=true)
 lattice meet of thisposet 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...
 
homogeneous_blockl_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...
 
homogeneous_blockoperator= (const homogeneous_block &xother)
 Assignment operator. More...
 
- Public Member Functions inherited from fiber_bundle::base_space_member
virtual const poset_pathschema_path () const
 The path of the schema required by this. More...
 
 base_space_member ()
 Default constructor; creates a new, unattached base_space_member handle. More...
 
 base_space_member (const abstract_poset_member &xother, bool xnew_jem=false, bool xauto_access=true)
 Copy constructor; creates a new base_space_member handle. If xnew_jem is false the handle is attached to the same state as xother. If xnew_jem is true, the handle is attached to a new state which is a copy (i.e. is join equivalent to) the state of xother. More...
 
virtual ~base_space_member ()
 Destructor; deletes a poset member and its attached state, if any. More...
 
 base_space_member (poset *xhost, array_poset_dof_map *xdof_map=0, bool xcopy_dof_map=false, bool xauto_access=true)
 Creates a new handle attached to a new jim (join-irreducible member) state in xhost. ("explicit" prevents interpretation as implicit conversion from poset* to base_space_member&) More...
 
 base_space_member (base_space_poset *xhost, const std::string &xprototype_name, bool xcopy_dof_map, bool xauto_access)
 Creates a new handle attached to a new jim state in xhost using the prototype with name xprototype_name. If xcopy_dof_map or if xhost does not already contain a copy of the prototype dof map, create a copy of the dof map, otherwise just refer to an existing copy. More...
 
 base_space_member (base_space_poset *xhost, const std::string &xtype_name, int xdb, const std::string &xlocal_cell_name, bool xauto_access)
 Creates a new handle attached to a new jim state in xhost and initializes it for use as a prototype with type_name xtype_name, dimension xdb, and local cell prototype xlocal_cell_name. More...
 
 base_space_member (poset *xhost, scoped_index *xexpansion, int xexpansion_ct, const tern &xnew_jem, bool xauto_access)
 Creates a new jrm (join reducible member) attached to a new member state in xhost The jrm created is the join of the members with the indices given in xexpansion. More...
 
 base_space_member (const poset *xhost, pod_index_type xhub_id)
 Creates a new base_space_member handle attached to the member state with hub id xhub_id in xhost. More...
 
 base_space_member (const poset *xhost, const scoped_index &xid)
 Creates a new base_space_member handle attached to the member state with id xid in xhost. More...
 
 base_space_member (const poset *xhost, const std::string &xname)
 Creates a new base_space_member handle attached to the member state with name xname in xhost. More...
 
 base_space_member (const namespace_poset *xnamespace, const poset_path &xpath, bool xauto_access)
 Creates a new base_space_member handle attached to the member state with specified by xpath in namespace xnamespace. More...
 
 base_space_member (const namespace_poset *xnamespace, const pod_index_type xposet_id, const pod_index_type xmember_id)
 Creates a new base_space_member handle attached to the member state with specified by xposet_id, xmember_id in namespace xnamespace. More...
 
 base_space_member (const namespace_poset *xnamespace, const scoped_index &xposet_id, const scoped_index &xmember_id)
 Creates a new base_space_member handle attached to the member state with specified by xposet_id, xmember_id in namespace xnamespace. More...
 
poset_path prototype_path () const
 The path of the prototype for this. More...
 
row_dof_tuple_typerow_dof_tuple (bool xrequire_write_access=false)
 The row dof tuple for this. More...
 
int db () const
 The base space dimension. More...
 
const pod_index_typetype_id () const
 The cell type id of this. The id of the prototype of this in the "cell_types" id space of the prototypes poset. More...
 
const char * type_name () const
 The cell type name. More...
 
int refinement_depth () const
 The refinement depth. More...
 
void put_refinement_depth (int xdepth)
 Sets the refinement depth to xdepth. More...
 
pod_index_type local_cell_type_id () const
 The local cell type id. More...
 
const char * local_cell_type_name () const
 The local cell type name. More...
 
void d_cells_ct (block< size_type > &xresult, bool xauto_access) const
 The number of cells (jims) of each dimension in the down set of this. More...
 
base_space_memberc_not (bool xauto_access)
 The cellular space psuedo-complement of this, auto-allocated. The cellular space psuedo-complement is the smallest lattice member m for which this->l_join(m) == 1. It is also the lattice member equivalent to the closure of the complement of the member of the underlying topological space equivalent to this. Note that the lattice psuedo-complement satisfies this.l_meet(m) == 0 but does not satisfy this.l_join(m) == 1, while the cellular psuedo-complement satisfies this.l_join(m) == 1 but does not satisfy this.l_meet(m) == 0. (This and m meet at their boundary.) More...
 
void c_not_pa (base_space_member &result, bool xauto_access)
 The cellular space psuedo-complement of this, pre-allocated. More...
 
base_space_memberc_minus (base_space_member &xother, bool xnew_jem, bool xauto_access)
 The cellular space difference of this and xother, auto-allocated. The cellular space difference is defined to be the smallest lattice member m for which xother.l_join(m) == this. Note that xother.l_meet(m) != 0 because m and xother meet at their boundary. More...
 
void c_minus (base_space_member &xother, base_space_member &result, bool xnew_jem, bool xauto_access)
 The cellular space difference of this and xother, pre-allocated. More...
 
base_space_memberclone (bool xnew_state, bool xauto_access=true) const
 Make a new handle instance of current. Attach the new instance to a new state if xnew_state is true. Otherwise, attach the new instance to the current state. More...
 
virtual array_poset_dof_mapdof_map (bool xrequire_write_access=false)
 The map from client_ids to dof values for this poset member (mutable version) More...
 
virtual const array_poset_dof_mapdof_map (bool xrequire_write_access=false) const
 The map from client_ids to dof values for this poset member (const version) More...
 
virtual bool dof_map_is_ancestor_of (const poset_dof_map *xdof_map) const
 True if xdof_map conforms to (is derived from) the type of dof map required by this handle. More...
 
base_space_membergreatest_jem () const
 The largest member which is join-equivalent to this. More...
 
base_space_memberleast_jem () const
 The smallest member which is join-equivalent to this. More...
 
base_space_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...
 
base_space_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...
 
base_space_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...
 
base_space_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...
 
base_space_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...
 
posethost () const
 The poset which this is a handle to a member of. More...
 
virtual bool host_is_ancestor_of (const poset_state_handle *other) const
 True if other conforms to host. More...
 
base_space_memberoperator= (const base_space_member &xother)
 Assignment operator; attaches this to the same state as xother. 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...
 
virtual int dof_ct () const
 The number of dofs in the dof tuple for jims of this poset;. 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 scoped_indexhub_id () const
 A id in the hub id space for components of this type; intended for copying to initialize ids to the hub id space. More...
 
virtual scoped_index hub_id (pod_index_type xid) const
 An id in the member hub id space with pod xid. More...
 
virtual pod_index_type get_index_from_name (const poset_state_handle *xhost, const std::string &xname) const
 Gets the index of the component in xhost with name xname. More...
 
virtual void get_index_from_name (const poset_state_handle *xhost, const std::string &xname, scoped_index &result) const
 Gets the index of the component in xhost with name xname. More...
 
std::string name () const
 A name for this. More...
 
virtual std::string name (bool xauto_access) const
 A name for this. More...
 
virtual void all_names (block< std::string > &xresult, bool xauto_access=false) const
 All the names for this. More...
 
virtual size_type name_ct (bool xauto_access) const
 The number of names for this. More...
 
virtual bool has_name (const std::string &xname, bool xauto_access=false) const
 True if xname is a name for this. More...
 
virtual void put_name (const std::string &xname, bool xunique, bool xauto_access)
 Make xname a name for this; if xunique, make xname the only name. More...
 
virtual void delete_name (const std::string &xname, bool xauto_access=false)
 Delete all names for this. More...
 
virtual void delete_all_names (bool xauto_access=false)
 Delete all the names for this. More...
 
void attach_to_state (const namespace_poset *xns, const poset_path &xpath, bool xauto_access=true)
 Attach to the state specified by path xpath in the namespace xns. More...
 
void attach_to_state (const namespace_poset *xnamespace, pod_index_type xposet_index, pod_index_type xmember_index, bool xauto_access=true)
 Attach to the state with name xmember_index in the poset with name xposet_index in the namespace xnamespace. More...
 
void attach_to_state (const namespace_poset *xnamespace, const scoped_index &xposet_index, const scoped_index &xmember_index, bool xauto_access=true)
 Attach to the state with name xmember_index in the poset with name xposet_index in the namespace xnamespace. More...
 
virtual void delete_state (bool xauto_access=false)
 Detachs this from its state and then deletes the state. More...
 
virtual void to_stream (std::ostream &xos=std::cout) const
 Virtual stream insertion. More...
 
- Public Member Functions inherited from sheaf::poset_component
virtual ~poset_component ()
 Destructor. More...
 
const scoped_indexindex () const
 The index of the component state this handle is attached to. More...
 
bool is_valid_index (const poset_state_handle *xhost, const scoped_index &xid, int xversion=CURRENT_HOST_VERSION) const
 True if there exists a component of the same type as this with id xid in version xversion of xhost. More...
 
int version (bool xunalias=true) const
 The (possibly aliased) version of this component. The version of the host used when evaluating properties of this component. If unalias == true, return actual version alias refers to. More...
 
virtual void put_version (int xversion, bool xunalias=false)
 Sets version to (possibly aliased) xversion. If unalias == true, set version to the actual version alias refers to. More...
 
int unaliased_version (int xversion) const
 The actual version associated with (possibly aliased) version xversion in this. More...
 
pod_index_type version_index () const
 The subposet index for the filter associated with version(). More...
 
void version_index (scoped_index &result) const
 The subposet index for the filter associated with version(). More...
 
std::string version_name () const
 The subposet name for the filter associated with version(). More...
 
bool has_version (int xversion) const
 True if xversion is a valid version for this. More...
 
std::string name () const
 OBSOLETE: use name(bool xauto_access). A name for this. More...
 
bool is_valid_name (const poset_state_handle *xhost, const std::string &xname) const
 True if there exists a component as the same type as this in xhost with name xname. More...
 
poset_path path (bool xauto_access=true) const
 A path to this component. More...
 
bool has_path (const poset_path &xpath, bool xauto_access) const
 True if and only if xpath refers to this component. More...
 
poset_state_handlehost () const
 The poset which this is a handle to a component of. More...
 
bool has_same_host (const poset_component *xother) const
 True if xother is attached to the same host as this or if both are unattached. More...
 
bool in_same_space (const poset_component *xother) const
 Synonym for has_same_host(xother) More...
 
virtual namespace_posetname_space () const
 The namespace of host() More...
 
virtual bool namespace_is_ancestor_of (const namespace_poset *xother) const
 True if xother conforms to name_space(). More...
 
bool same_namespace (const poset_component *xother) const
 True if the host of xother resides in the same namespace as this or if both are unattached. More...
 
bool same_namespace (const poset_state_handle *xother) const
 True if xother resides in the same namespace as the host of this or if both are unattached. More...
 
void attach_to_state (const poset_state_handle *xhost, pod_index_type xhub_id)
 Attach this handle to the state with hub id xhub_id in the current version of host xhost. More...
 
void attach_to_state (const poset_state_handle *xhost, const scoped_index &xid)
 Attach this handle to the state with id xid in the current version of host xhost. More...
 
void attach_to_state (const poset_state_handle *xhost, const std::string &xname)
 Attach to the member state with name xname in the current version of host xhost. More...
 
void attach_to_state (const namespace_poset *xhost, const std::string &xname)
 
void attach_to_state (const std::string &)
 Attach to the state with name xname in version version() of host host(). More...
 
void attach_to_state (pod_index_type xhub_id)
 Attach to the state with hub id xhub_id in version version() of host host(). More...
 
void attach_to_state (const scoped_index &xid)
 Attach to the state with id xid in version version() of host host(). More...
 
void attach_to_state (const poset_component *xother)
 Attach to the same state as xother. More...
 
void attach_to_state (const poset_component *xother, bool xauto_access)
 Attach to the same state as xother, auto-accessible version. More...
 
virtual void detach_from_state ()
 Detach this handle from its state, if any. More...
 
virtual bool is_attached () const
 True if this handle is attached to a non-void state. More...
 
bool is_same_state (const poset_state_handle *xhost, pod_index_type xhub_id) const
 True is this is attached to state with hub id xhub_id in host xhost. More...
 
bool is_same_state (const poset_state_handle *xhost, const scoped_index &xid) const
 True is this is attached to state with id xid in host xhost. More...
 
bool is_same_state (const poset_component *xother) const
 True if xother is attached to the same host and same state as this or if both are unattached. More...
 
virtual void get_read_access () const
 Get read access to the state associated with this. More...
 
virtual void get_read_write_access (bool xrelease_read_only_access=false)
 Get read write access to the state associated with this. If release_read_only_access is requested, read only access will be released then read_write_access will be requested, finally the same level of read_access as before will be requested. More...
 
virtual void release_access (bool xall=false) const
 Release access. If xall is true, release all levels of access. Otherwise, release one level of access. More...
 
- Public Member Functions inherited from sheaf::read_write_monitor_handle
virtual ~read_write_monitor_handle ()
 Descturctor. More...
 
bool state_is_read_only_accessible () const
 True if this is attached and the state is accessible for read access but not for write. More...
 
bool state_is_not_read_only_accessible () const
 True if this is attached and the state is not accessible for read only access. More...
 
bool state_is_read_accessible () const
 True if this is attached and if the state is accessible for read or access control is disabled. More...
 
bool state_is_not_read_accessible () const
 True if this is attached and if the state is accessible for read or if access control is disabled. More...
 
bool state_is_auto_read_accessible (bool xauto_access) const
 True if the state is auto accessible for read, that is, if the state is already accessible for read or if this is attached and xuto_access is true. More...
 
bool state_is_read_write_accessible () const
 True if this is attached and if the state is accessible for read and write or access control is disabled. More...
 
bool state_is_not_read_write_accessible () const
 True if state is attached and if not accessible for read and write or access control is disabled. More...
 
bool state_is_auto_read_write_accessible (bool xauto_access) const
 True if state is auto accessible for read and write, that is, if the state is already accessible for read and write or if this is attached and xuto_access is true. or if this is attached and access control is disabled. More...
 
int access_request_depth () const
 The number of times access has been requested and granted without being released. More...
 
bool state_is_mode_locked () const
 Obsolete. More...
 
int mode_lock_ct () const
 Obsolete. More...
 
void get_mode_lock () const
 Obsolete. More...
 
void release_mode_lock ()
 Obsolete. More...
 
bool state_is_modified () const
 True if write access has been granted and released since the last call to clear_state_is_modified(). More...
 
void clear_state_is_modified ()
 Sets the state_is_modified floag to false. More...
 
- Public Member Functions inherited from sheaf::any
bool is_same_type (const any *other) const
 True if other is the same type as this. More...
 
virtual ~any ()
 Destructor. More...
 
bool invariant_check () const
 True if invariant checking is enabled. More...
 
void enable_invariant_check () const
 Enable invariant checking. More...
 
void disable_invariant_check () const
 Disable invariant check. Intended for preventing recursive calls to invariant and for suppressing invariant checking during multi-phase initialization. More...
 
int disable_invariance_check_request_depth () const
 Number of times disable_invariant_check has been called without matching call to enable_invariant_check. More...
 
- Static Public Member Functions inherited from fiber_bundle::structured_block
static host_typenew_host (namespace_type &xns, const poset_path &xhost_path, const poset_path &xschema_path, int xmax_db, bool xauto_access)
 Creates a new host poset 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_typenew_host (namespace_type &xns, const poset_path &xhost_path, int xmax_db, bool xauto_access)
 Auto, deep factory method; creates a new host poset and any prerequisite posets for members of this type. The poset is created in namespace xns with path xhost_path and schema specified by standard_schema_path(). More...
 
- Static Public Member Functions inherited from fiber_bundle::homogeneous_block
static host_typenew_host (namespace_type &xns, const poset_path &xhost_path, const poset_path &xschema_path, int xmax_db, bool xauto_access)
 Creates a new host poset 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_typenew_host (namespace_type &xns, const poset_path &xhost_path, int xmax_db, bool xauto_access)
 Auto, deep factory method; creates a new host poset and any prerequisite posets for members of this type. The poset is created in namespace xns with path xhost_path and schema specified by standard_schema_path(). More...
 
static const scoped_indexnew_row_dof_map (poset_state_handle &xhost, const std::string &xprototype_name, const std::string &xlocal_cell_name, size_type xsize, bool xauto_access)
 Creates a new row dof map and initializes it from the prototypes with names xprototype_name and xlocal_cell_name, and size xsize. More...
 
- Static Public Member Functions inherited from fiber_bundle::base_space_member
static const poset_pathstandard_schema_path ()
 The path of the schema required by this class. More...
 
static void make_standard_schema (namespace_poset &xns)
 Creates the standard schema for this class in namespace xns. More...
 
static const std::string & prototypes_poset_name ()
 The name of the prototypes poset. More...
 
template<typename F >
static SHEAF_DLL_SPEC bool standard_host_is_available (namespace_type &xns, const std::string &xhost_path, bool xauto_access)
 True, if xhost_path does not exist or is a path to a poset of type F::host_type. More...
 
static host_typenew_host (namespace_type &xns, const poset_path &xhost_path, const poset_path &xschema_path, int xmax_db, bool xauto_access)
 Creates a new host poset 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, int xmax_db, 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() and standard paths for prerequisites, which are also created if needed. More...
 
static poset_path prototype_path (const namespace_poset *xnamespace, const namespace_relative_member_index &xid)
 The path of the prototype with id xid in namespace xnamespace. A convenience function for looking up prototype names. More...
 
static bool prototype_exists (const std::string &xname, bool xauto_access)
 True if base space member prototypes poset in the current name space contains a member with name xname. More...
 
static array_poset_dof_mapnew_row_dof_map (const poset *xhost, const std::string &xprototype_name)
 
static const scoped_indexnew_row_dof_map (poset_state_handle &xhost, const std::string &xprototype_name, bool xauto_access=true)
 Creates a new row dof map and initializes it from the prototype with name xprototype_name. More...
 
- Static Public Member Functions inherited from sheaf::abstract_poset_member
static host_typenew_host (namespace_type &xns, const poset_path &xhost_path, const poset_path &xschema_path, bool xauto_access)
 Creates a new host table for members of this type. The poset is created in namespace xns with path xhost_path and schema specified by xschema_path. More...
 
- Static Public Member Functions inherited from sheaf::read_write_monitor_handle
static bool access_control_disabled ()
 True if access control mechanism is disabled. Default value is enabled (false) and access is controlled by the per-thread access control functions. Disabled (true) is equivalent to having read-write access at all times, irrespective of any access control requests. Synonym for read_write_monitor::access_control_disabled(). More...
 
static void enable_access_control ()
 Enables access control. Synonym for read_write_monitor::enable_access_control(). Should only be invoked once at beginning of a program, before any other SheafSystem calls. Once enabled, access control can not be disabled. More...
 
- Protected Member Functions inherited from fiber_bundle::structured_block
virtual void init_handle_data_members ()
 Initializes handle data members when attaching to a different member in a different host. More...
 
void refine_coordinate (chart_point_coord_type &xcoord, scoped_index::pod_type &xchart_id, size_type xchart_id_ub) const
 Transforms local coordinate xcoord from block local to zone local. More...
 
- Protected Member Functions inherited from fiber_bundle::homogeneous_block
 homogeneous_block ()
 Default constructor; creates a new, unattached homogeneous_block handle. More...
 
void put_size (const size_type &xsize)
 Sets the number of local cell instances in this block. More...
 
- Protected Member Functions inherited from sheaf::abstract_poset_member
 abstract_poset_member ()
 Default constructor; creates a new, unattached abstract_poset_member handle. More...
 
char * table_dof_ptr (bool xrequire_write_access=false) const
 Pointer to the table dofs. More...
 
char * row_dof_ptr (bool xrequire_write_access=false)
 Pointer to the row dofs. More...
 
- Protected Member Functions inherited from sheaf::poset_component
 poset_component ()
 Default constructor. More...
 
poset_statestate_obj () const
 The state this component handle is attached to. More...
 
poset_powerset_statepowerset () const
 The set of subposets of host(). More...
 
poset_crg_statecrg () const
 The cover relation graph of host(). More...
 
virtual subposet_statepowerset_member (const scoped_index &xindex) const
 The hidden state of the subposet asocciated with index xindex. More...
 
poset_dof_maprow_dof_tuple (const scoped_index &xindex) const
 The row dof tuple associated with xindex. More...
 
- Protected Member Functions inherited from sheaf::read_write_monitor_handle
bool access_guards_disabled () const
 True if thread of control is still in constructor. More...
 
void disable_access_guards ()
 Disables access guards; intended for use only within constructors of monitored objects, where no other client can possibly have access (yet). More...
 
void enable_access_guards ()
 Re-enables access guards. More...
 
- Protected Member Functions inherited from sheaf::any
 any ()
 default constructor More...
 
- Static Protected Member Functions inherited from fiber_bundle::structured_block
static double TOLERANCE ()
 
static bool is_close_enough (double x1, double x2)
 True if x2 is close enough to x1 to be considered equal. More...
 
- Protected Attributes inherited from fiber_bundle::structured_block
index_space_handle_elements_id_space
 The client id space for the elements subposet. More...
 
- Protected Attributes inherited from fiber_bundle::homogeneous_block
homogeneous_block_crg_interval_interval
 The implicit interval posetmember for this block. 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 homogeneous collection of connected segments arranged in an i_size() array.

Definition at line 49 of file structured_block_1d.h.

Member Enumeration Documentation

◆ static_const_int

The dimension of this block; static const version.

Hack:
Inline initialization of static const integral data members causes link error in MSC++; use enum instead.

Definition at line 193 of file structured_block_1d.h.

Constructor & Destructor Documentation

◆ structured_block_1d() [1/9]

fiber_bundle::structured_block_1d::structured_block_1d ( )

Default constructor; creates a new, unattached structured_block_1d handle.

Postcondition

Definition at line 159 of file structured_block_1d.cc.

Referenced by standard_host(), structured_block_1d(), and ~structured_block_1d().

◆ structured_block_1d() [2/9]

fiber_bundle::structured_block_1d::structured_block_1d ( const abstract_poset_member xother,
bool  xnew_jem = false 
)
explicit

Copy constructor; creates a new structured_block_1d 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.is_attached() : true
Postcondition

Definition at line 175 of file structured_block_1d.cc.

References sheaf::poset_component::is_attached(), and ~structured_block_1d().

◆ ~structured_block_1d()

fiber_bundle::structured_block_1d::~structured_block_1d ( )
virtual

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

Definition at line 199 of file structured_block_1d.cc.

References structured_block_1d().

Referenced by structured_block_1d().

◆ structured_block_1d() [3/9]

fiber_bundle::structured_block_1d::structured_block_1d ( poset xhost,
const size_type xi_size,
bool  xauto_access 
)

Creates a new handle attached to a new state in xhost with i_size() == xi_size.

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

Definition at line 214 of file structured_block_1d.cc.

References structured_block_1d().

◆ structured_block_1d() [4/9]

fiber_bundle::structured_block_1d::structured_block_1d ( const poset xhost,
pod_index_type  xhub_id 
)

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

Precondition
  • precondition_of(attach_to_state(xhost, xhub_id))
Postcondition
  • postcondition_of(attach_to_state(xhost, xhub_id))

Definition at line 236 of file structured_block_1d.cc.

References structured_block_1d().

◆ structured_block_1d() [5/9]

fiber_bundle::structured_block_1d::structured_block_1d ( const poset xhost,
const scoped_index xid 
)

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

Precondition
  • precondition_of(attach_to_state(xhost, xid))
Postcondition
  • postcondition_of(attach_to_state(xhost, xid))

Definition at line 252 of file structured_block_1d.cc.

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

◆ structured_block_1d() [6/9]

fiber_bundle::structured_block_1d::structured_block_1d ( const poset xhost,
const std::string &  xname 
)

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

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

Definition at line 269 of file structured_block_1d.cc.

References structured_block_1d().

◆ structured_block_1d() [7/9]

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

Creates a new structured_block_1d handle attached to the member state specified by xpath in namespace xnamespace.

Error:
how do we require that the host schema conforms to SCHEMA_PATH?
Precondition
  • precondition_of(attach_to_state(same args))
Postcondition
  • postcondition_of(attach_to_state(same args))

Definition at line 286 of file structured_block_1d.cc.

References structured_block_1d().

◆ structured_block_1d() [8/9]

fiber_bundle::structured_block_1d::structured_block_1d ( const namespace_poset xnamespace,
pod_index_type  xposet_id,
pod_index_type  xmember_id 
)

Creates a new structured_block_1d handle attached to the member state with specified by xposet_id, xmember_id in namespace xnamespace.

Error:
how do we require that the host schema conforms to SCHEMA_PATH?
Precondition
  • precondition_of(attach_to_state(same args))
Postcondition
  • postcondition_of(attach_to_state(same args))

Definition at line 310 of file structured_block_1d.cc.

References structured_block_1d().

◆ structured_block_1d() [9/9]

fiber_bundle::structured_block_1d::structured_block_1d ( const namespace_poset xnamespace,
const scoped_index xposet_id,
const scoped_index xmember_id 
)

Creates a new structured_block_1d handle attached to the member state with specified by xposet_id, xmember_id in namespace xnamespace.

Error:
how do we require that the host schema conforms to SCHEMA_PATH?
Precondition
  • precondition_of(attach_to_state(same args))
Postcondition
  • postcondition_of(attach_to_state(same args))

Definition at line 334 of file structured_block_1d.cc.

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

Member Function Documentation

◆ attach_handle_data_members()

void fiber_bundle::structured_block_1d::attach_handle_data_members ( )
protectedvirtual

Initializes handle data members when attaching to a different member of the same host.

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

Reimplemented from fiber_bundle::homogeneous_block.

Definition at line 498 of file structured_block_1d.cc.

References new_row_dof_map().

Referenced by i_size().

◆ clone() [1/2]

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

Make a new handle, no state instance of current.

Postcondition
  • result != 0

Implements fiber_bundle::structured_block.

Definition at line 927 of file structured_block_1d.cc.

References invariant().

Referenced by static_local_cell_prototype_path().

◆ clone() [2/2]

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

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

Definition at line 423 of file structured_block_1d.h.

References fiber_bundle::structured_block::clone().

◆ greatest_jem()

structured_block_1d* fiber_bundle::structured_block_1d::greatest_jem ( ) const
inline

The largest member which is join-equivalent to this.

Definition at line 445 of file structured_block_1d.h.

References fiber_bundle::base_space_member::greatest_jem().

◆ i_size()

sheaf::size_type fiber_bundle::structured_block_1d::i_size ( ) const

The number of local cells (zones) in the i direction. The number of vertices in the i direction is i_size() + 1.

Precondition

Definition at line 475 of file structured_block_1d.cc.

References attach_handle_data_members().

Referenced by new_state().

◆ interval()

const fiber_bundle::structured_block_1d_crg_interval & fiber_bundle::structured_block_1d::interval ( ) const
virtual

The implicit interval member for this block.

Reimplemented from fiber_bundle::homogeneous_block.

Definition at line 863 of file structured_block_1d.cc.

References static_local_cell_prototype_path().

Referenced by unsimplify().

◆ invariant()

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

Class invariant.

Invariant

Reimplemented from fiber_bundle::structured_block.

Definition at line 962 of file structured_block_1d.cc.

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

Referenced by clone().

◆ is_ancestor_of()

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

True if other conforms to this.

Reimplemented from fiber_bundle::structured_block.

Definition at line 997 of file structured_block_1d.cc.

References operator=().

Referenced by invariant().

◆ l_join()

structured_block_1d* fiber_bundle::structured_block_1d::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 509 of file structured_block_1d.h.

References fiber_bundle::base_space_member::l_join().

◆ l_meet()

structured_block_1d* fiber_bundle::structured_block_1d::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 519 of file structured_block_1d.h.

References fiber_bundle::base_space_member::l_meet().

◆ l_not()

structured_block_1d* fiber_bundle::structured_block_1d::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 529 of file structured_block_1d.h.

References fiber_bundle::base_space_member::l_not().

◆ least_jem()

structured_block_1d* fiber_bundle::structured_block_1d::least_jem ( ) const
inline

The smallest member which is join-equivalent to this.

Definition at line 453 of file structured_block_1d.h.

References fiber_bundle::base_space_member::least_jem().

◆ new_host()

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

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

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

Definition at line 68 of file structured_block_1d.cc.

References sheaf::schema_poset_member::conforms_to(), sheaf::namespace_poset::contains_path(), sheaf::poset_path::empty(), sheaf::poset_path::full(), fiber_bundle::base_space_poset::max_db(), sheaf::namespace_poset::owns(), sheaf::poset_component::path(), sheaf::poset_state_handle::path(), sheaf::namespace_poset::path_is_auto_read_accessible(), sheaf::poset_state_handle::schema(), 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 static_prototype_path().

◆ new_row_dof_map()

sheaf::scoped_index fiber_bundle::structured_block_1d::new_row_dof_map ( poset_state_handle xhost,
size_type  xi_size,
bool  xauto_access 
)
staticprotected

Creates a new row dof map and initializes it.

Precondition
  • xhost.state_is_auto_read_write_accessible(xauto_access)
  • xauto_access || xhost.name_space()->poset_state_is_read_accessible(static_prototype_path())
  • xhost.name_space()->contains_poset_member(static_prototype_path())
  • xhost.name_space()->contains_poset_member(static_local_cell_prototype_path())
Postcondition
  • xhost.row_dof_tuple_ct() == old_xhost_row_dof_tuple_ct + 1

Definition at line 526 of file structured_block_1d.cc.

References sheaf::namespace_poset::contains_poset_member(), fiber_bundle::base_space_member_row_dof_tuple_type::db, sheaf::poset_dof_map::dof_tuple(), sheaf::poset_state_handle::get_read_write_access(), fiber_bundle::base_space_member_row_dof_tuple_type::i_size, fiber_bundle::base_space_member_row_dof_tuple_type::local_cell_type_id, fiber_bundle::base_space_member_row_dof_tuple_type::local_cell_type_name, sheaf::poset_state_handle::name_space(), sheaf::poset_state_handle::new_row_dof_map(), sheaf::namespace_poset::poset_state_is_read_accessible(), refine_point_pa(), fiber_bundle::base_space_member_row_dof_tuple_type::refinement_depth, sheaf::poset_state_handle::release_access(), sheaf::poset_state_handle::row_dof_map(), sheaf::poset_state_handle::row_dof_tuple_ct(), fiber_bundle::base_space_member_row_dof_tuple_type::size, sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible(), fiber_bundle::base_space_member_row_dof_tuple_type::type_id, and fiber_bundle::base_space_member_row_dof_tuple_type::type_name.

Referenced by attach_handle_data_members().

◆ new_state() [1/2]

void fiber_bundle::structured_block_1d::new_state ( const size_type xi_size,
bool  xauto_access = true 
)

Creates a new structured_block_1d state in host() with i_size() == xi_size and attaches this to it. Synonym for new_state(host(), xi_size).

Precondition
  • precondition_of(new_state(host(), xi_size, xauto_access))
Postcondition
  • postcondition_of(new_state(host(), xi_size, xauto_access))

Definition at line 361 of file structured_block_1d.cc.

Referenced by fields::make_base_space(), and structured_block_1d().

◆ new_state() [2/2]

void fiber_bundle::structured_block_1d::new_state ( poset xhost,
const size_type xi_size,
bool  xauto_access = true 
)

Creates a new structured_block_1d state in xhost with i_size() == xi_size and attaches this to it.

Precondition
  • xhost != 0
  • xauto_access ? xhost->is_attached() : xhost->in_jim_edit_mode()
  • xhost->name_space()->contains_poset_member(static_prototype_path(), true)
  • xhost->schema().row_conforms_to(standard_schema_path())
Hack:
a step in the direction of redeclaring host to base_space_poset
Precondition
  • dynamic_cast<base_space_poset*>(xhost) != 0
Postcondition

Definition at line 382 of file structured_block_1d.cc.

References sheaf::poset::begin_jim_edit_mode(), sheaf::namespace_poset::contains_poset_member(), sheaf::abstract_poset_member::create_cover_link(), sheaf::poset::end_jim_edit_mode(), fiber_bundle::structured_block_1d_crg_interval::get_dof_tuple_ids(), fiber_bundle::structured_block_1d_crg_interval::get_private_data(), sheaf::poset_state_handle::get_read_access(), sheaf::namespace_poset::get_read_access(), fiber_bundle::structured_block_1d_crg_interval::get_size(), i_size(), sheaf::poset_state_handle::in_jim_edit_mode(), sheaf::poset_state_handle::is_attached(), sheaf::namespace_poset::member_poset(), sheaf::poset_state_handle::name_space(), sheaf::refinable_poset::new_member_interval(), sheaf::poset_state_handle::release_access(), sheaf::namespace_poset::release_access(), sheaf::schema_poset_member::row_conforms_to(), sheaf::poset_state_handle::schema(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and sheaf::poset_state_handle::top().

◆ operator=() [1/2]

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

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

Postcondition
  • is_same_state(&xother)

Reimplemented from fiber_bundle::structured_block.

Definition at line 1016 of file structured_block_1d.cc.

Referenced by is_ancestor_of().

◆ operator=() [2/2]

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

Assignment operator.

Precondition
  • is_ancestor_of(&xother)
Not Implemented.
Postcondition

Definition at line 1035 of file structured_block_1d.cc.

◆ p_join()

structured_block_1d* fiber_bundle::structured_block_1d::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 476 of file structured_block_1d.h.

References fiber_bundle::base_space_member::p_join().

◆ p_meet()

structured_block_1d* fiber_bundle::structured_block_1d::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 485 of file structured_block_1d.h.

References fiber_bundle::base_space_member::p_meet().

◆ refine()

void fiber_bundle::structured_block_1d::refine ( )
virtual

Inserts the standard refinement of this into its lower cover and changes this from a jim to a jrm.

Precondition
Not Implemented.
Postcondition
  • !is_jim()

Implements fiber_bundle::structured_block.

Definition at line 762 of file structured_block_1d.cc.

References unrefine().

Referenced by unrefine_point_pa().

◆ refine_point()

chart_point_1d* fiber_bundle::structured_block_1d::refine_point ( const chart_point xpt) const
inline

The point in the direct refinement of this which is the same as xpt in this; auto-allocated version.

Definition at line 302 of file structured_block_1d.h.

References fiber_bundle::structured_block::refine_point().

◆ refine_point_pa() [1/2]

void fiber_bundle::structured_block_1d::refine_point_pa ( const chart_point xpt,
chart_point result 
) const
virtual

The point in the direct refinement of this which is the same as xpt in this; pre-allocated version.

Precondition
  • result.db() >= db()
Todo:
make the following executable.
Precondition
  • -unexecutable( "chart_pt is in standard domain" )

Implements fiber_bundle::structured_block.

Definition at line 610 of file structured_block_1d.cc.

References fiber_bundle::chart_point::chart_id(), fiber_bundle::chart_point::db(), fiber_bundle::chart_point::local_coords(), fiber_bundle::chart_point::put_chart_id(), and fiber_bundle::chart_point::put_local_coord().

Referenced by new_row_dof_map().

◆ refine_point_pa() [2/2]

void fiber_bundle::structured_block_1d::refine_point_pa ( const chart_point xpt,
block< chart_point_3d > &  result 
) const
virtual

All chart points in the direct refinement of this which are the same as xpt in this; pre-allocated version. Note that if xpt lies on a zone boundary in the direct refinement, it lies in more than one zone.

Precondition
Todo:
make the following executable.
Precondition
  • -unexecutable( "chart_pt is in standard domain" )

Implements fiber_bundle::structured_block.

Definition at line 657 of file structured_block_1d.cc.

References fiber_bundle::chart_point::chart_id(), fiber_bundle::chart_point::db(), fiber_bundle::chart_point::local_coords(), sheaf::auto_block< T, un_block_initialization_policy< T > >::push_back(), fiber_bundle::chart_point_3d::put(), and unrefine_point_pa().

◆ simplify()

void fiber_bundle::structured_block_1d::simplify ( )
virtual

Inserts the standard simplex refinement of this into its lower cover and changes this from a jim to a jrm.

Precondition
Not Implemented.
Postcondition
  • !is_jim()

Implements fiber_bundle::structured_block.

Definition at line 807 of file structured_block_1d.cc.

References unsimplify().

Referenced by unrefine().

◆ standard_host()

fiber_bundle::structured_block_1d::host_type & fiber_bundle::structured_block_1d::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() and standard paths for prerequisites, which are also created if needed.

Precondition
  • xns.state_is_auto_read_write_accessible(xauto_access)
  • xns.path_is_auto_read_write_available<host_type>(xhost_path.poset_name(), xauto_access)
  • xns.path_is_auto_read_accessible(standard_schema_path(), xauto_access)
Postcondition
  • xns.owns(result, xauto_access)
  • result.path(true) == xhost_path
  • result.state_is_not_read_accessible()
  • result.max_db() == 1

Definition at line 105 of file structured_block_1d.cc.

References sheaf::namespace_poset::contains_path(), sheaf::poset_path::is_valid_name(), fiber_bundle::base_space_poset::max_db(), 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_auto_read_write_available(), sheaf::poset_path::poset_name(), sheaf::poset_state_handle::schema(), sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible(), sheaf::read_write_monitor_handle::state_is_not_read_accessible(), and structured_block_1d().

Referenced by fields::make_base_space(), and new_host().

◆ static_local_cell_prototype_path()

const sheaf::poset_path & fiber_bundle::structured_block_1d::static_local_cell_prototype_path ( )
static

The path of the local cell prototype required by this class.

Postcondition
  • result.member_name() == "segment_complex"

Definition at line 870 of file structured_block_1d.cc.

References clone(), sheaf::poset_path::member_name(), sheaf::poset_path::poset_name(), and fiber_bundle::base_space_member::prototypes_poset_name().

Referenced by interval(), and fiber_bundle::fiber_bundles_namespace::make_structured_block_1d_prototype().

◆ static_prototype_path()

const sheaf::poset_path & fiber_bundle::structured_block_1d::static_prototype_path ( )
static

The path of the prototype required by this class.

Postcondition
  • result.member_name() == "structured_block_1d"

Definition at line 44 of file structured_block_1d.cc.

References sheaf::poset_path::member_name(), new_host(), sheaf::poset_path::poset_name(), and fiber_bundle::base_space_member::prototypes_poset_name().

Referenced by fiber_bundle::fiber_bundles_namespace::make_structured_block_1d_prototype().

◆ unrefine()

void fiber_bundle::structured_block_1d::unrefine ( )
virtual

Removes the standard refinement of this from its lower cover and changes this from a jrm to a jim.

Precondition
  • !is_jim()
Not Implemented.
Postcondition

Implements fiber_bundle::structured_block.

Definition at line 785 of file structured_block_1d.cc.

References simplify().

Referenced by refine().

◆ unrefine_point()

chart_point_1d* fiber_bundle::structured_block_1d::unrefine_point ( const chart_point xpt) const
inline

The point in this which is the same as xpt in the direct refinement of this; auto-allocated version.

Definition at line 326 of file structured_block_1d.h.

References fiber_bundle::structured_block::refine_point().

◆ unrefine_point_pa()

void fiber_bundle::structured_block_1d::unrefine_point_pa ( const chart_point xpt,
chart_point result 
) const
virtual

The point in this which is the same as xpt in the direct refinement of this; pre-allocated version.

Precondition
  • result.db() >= db()
  • host()->contains_member(xpt.chart_id())
Todo:
precompute 2.0/i_size() and store it some where.
Postcondition
  • result.chart_id() == index().pod()

Implements fiber_bundle::structured_block.

Definition at line 711 of file structured_block_1d.cc.

References fiber_bundle::chart_point::chart_id(), fiber_bundle::chart_point::db(), fiber_bundle::chart_point::local_coord(), fiber_bundle::chart_point::put_chart_id(), fiber_bundle::chart_point::put_local_coord(), and refine().

Referenced by refine_point_pa().

◆ unsimplify()

void fiber_bundle::structured_block_1d::unsimplify ( )
virtual

Removes the standard simplex refinement of this from its lower cover and changes this from a jrm to a jim.

Precondition
  • !is_jim()
Not Implemented.
Postcondition

Implements fiber_bundle::structured_block.

Definition at line 830 of file structured_block_1d.cc.

References interval().

Referenced by simplify().


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