SheafSystem
0.0.0.0
|
A client handle for a base space member which represents a homgeneous collection of local cells. More...
#include <structured_block.h>
HOST FACTORY FACET | |
static host_type & | new_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_type & | new_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... | |
STRUCTURED_BLOCK FACET | |
index_space_handle * | _elements_id_space |
The client id space for the elements subposet. More... | |
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... | |
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... | |
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... | |
LOCAL_BASE_SPACE_MEMBER FACET | |
chart_point * | refine_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... | |
virtual void | refine_point_pa (const chart_point &xpt, chart_point &result) const =0 |
A chart 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 =0 |
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 * | unrefine_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 =0 |
The point in this which is the same as xpt in the direct refinement of this; pre-allocated version. More... | |
virtual void | refine ()=0 |
Inserts the standard refinement of this into its lower cover and changes this from a jim to a jrm. More... | |
virtual void | unrefine ()=0 |
Removes the standard refinement of this from its lower cover and changes this from a jrm to a jim. More... | |
virtual void | simplify ()=0 |
Inserts the standard simplex refinement of this into its lower cover and changes this from a jim to a jrm. More... | |
virtual void | unsimplify ()=0 |
Removes the standard simplex refinement of this from its lower cover and changes this from a jrm to a jim. More... | |
ABSTRACT_POSET_MEMBER FACET | |
virtual structured_block * | clone () const =0 |
Make a new handle, no state instance of current. More... | |
structured_block * | clone (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 * | greatest_jem () const |
The largest member which is join-equivalent to this. More... | |
structured_block * | least_jem () const |
The smallest member which is join-equivalent to this. More... | |
POSET ALGEBRA FACET | |
structured_block * | p_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 * | p_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 * | l_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 * | l_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 * | l_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 & | operator= (const abstract_poset_member &xother) |
Assignment operator; attaches this to the same state as xother. More... | |
structured_block & | operator= (const structured_block &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::homogeneous_block | |
virtual | ~homogeneous_block () |
Destructor; deletes a poset member and its attached state, if any. More... | |
const hub_index_space_handle & | hub_id_space () const |
The hub id space of this block. More... | |
const index_space_handle & | local_id_space () const |
The id space for the members of this block, including the block itself. More... | |
const pod_index_type & | local_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_type & | size () const |
The number of local cell instances in this block. More... | |
array_poset_dof_map * | new_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_handle & | get_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_iterator & | get_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_handle & | get_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_iterator & | get_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_handle & | get_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_handle & | get_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_iterator & | get_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_iterator & | get_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_handle & | get_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_handle & | get_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_iterator & | get_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_iterator & | get_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_block * | clone (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_block * | greatest_jem () const |
The largest member which is join-equivalent to this. More... | |
homogeneous_block * | least_jem () const |
The smallest member which is join-equivalent to this. More... | |
homogeneous_block * | p_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_block * | p_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_block * | l_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_block * | l_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_block * | l_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_block & | operator= (const homogeneous_block &xother) |
Assignment operator. More... | |
Public Member Functions inherited from fiber_bundle::base_space_member | |
virtual const poset_path & | schema_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_type * | row_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_type & | type_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_member * | c_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_member * | c_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_member * | clone (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_map & | dof_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_map & | dof_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_member * | greatest_jem () const |
The largest member which is join-equivalent to this. More... | |
base_space_member * | least_jem () const |
The smallest member which is join-equivalent to this. More... | |
base_space_member * | p_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_member * | p_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_member * | l_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_member * | l_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_member * | l_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... | |
poset * | host () 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_member & | operator= (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_member & | operator= (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_member * | clone (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_member & | schema () |
The schema for this member (mutable version). More... | |
virtual const schema_poset_member & | schema () 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_member * | greatest_jem () const |
The largest member which is join-equivalent to this. More... | |
total_poset_member * | least_jem () const |
The smallest member which is join-equivalent to this. More... | |
total_poset_member * | p_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_member * | p_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_member * | l_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_member * | l_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_member * | l_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_member * | clone (bool xnew_state, bool xauto_access=true) const |
Virtual constructor; makes a new handle of the same type as this, attached to a new state (xnew_state true) or attached to the same state as this (xnew_state false). 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_member & | schema (bool xauto_access) |
The schema for this poset member, auto-accessible (mutable version). More... | |
const schema_poset_member & | schema (bool xauto_access) const |
The schema for this poset member, auto-accessible (const version). More... | |
virtual schema_poset_member & | unrestricted_schema () |
The unrestricted schema for this poset member (mutable version). More... | |
virtual const schema_poset_member & | unrestricted_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_member * | greatest_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_member * | least_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_handle & | get_cover_id_space (bool xlower) const |
Allocates a handle for the lower (xlower true) or upper (xlower false) cover id space of this member from the pool of id spaces. 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_iterator & | get_cover_id_space_iterator (bool xlower) const |
Allocates an iterator for the lower (xlower true) or upper (xlower false) cover id space of this member from the pool of id space iterators. 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 subposet * | down () 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 subposet * | up () 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 subposet * | jims () |
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 subposet * | maximal_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 subposet * | atoms () 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_member * | p_join (abstract_poset_member *other) const |
poset join of this with other, auto-allocated the poset join is the least upper bound in the poset 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_member * | p_meet (abstract_poset_member *other) |
poset meet of this with other, auto-allocated the poset meet is the greatest lower bound in the poset 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_member * | l_join (abstract_poset_member *other, bool xnew_jem=true) |
lattice join of this with other, auto-allocated the lattice join is the least upper bound in the lattice generated by the jims in the poset 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_member * | l_meet (abstract_poset_member *other, bool xnew_jem=true) |
lattice meet of this with other, auto-allocated the lattice meet is the greatest lower bound in the lattice generated by the jims in the poset 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_member * | l_not (bool xnew_jem=true) const |
lattice pseudo-complement of this, auto-allocated The lattice pseudo-complement is the largest lattice member m for which this.l_meet(m) = 0 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_family & | id_spaces () const |
The id space family for this member. More... | |
virtual const scoped_index & | hub_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_index & | index () 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_handle * | host () 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_poset * | name_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::homogeneous_block | |
static host_type & | new_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_type & | new_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_index & | new_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_path & | standard_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_type & | new_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_type & | standard_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_map * | new_row_dof_map (const poset *xhost, const std::string &xprototype_name) |
static const scoped_index & | new_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_type & | new_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::homogeneous_block | |
homogeneous_block () | |
Default constructor; creates a new, unattached homogeneous_block handle. More... | |
virtual void | attach_handle_data_members () |
Initializes handle data members when attaching to a different member of the same host; intended to be redefined in derived classes. More... | |
virtual const homogeneous_block_crg_interval & | interval () const |
The implicit interval member for this block. 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_state * | state_obj () const |
The state this component handle is attached to. More... | |
poset_powerset_state * | powerset () const |
The set of subposets of host(). More... | |
poset_crg_state * | crg () const |
The cover relation graph of host(). More... | |
virtual subposet_state * | powerset_member (const scoped_index &xindex) const |
The hidden state of the subposet asocciated with index xindex. More... | |
poset_dof_map * | row_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... | |
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... | |
A client handle for a base space member which represents a homgeneous collection of local cells.
Definition at line 51 of file structured_block.h.
fiber_bundle::structured_block::structured_block | ( | ) |
Default constructor; creates a new, unattached structured_block handle.
Definition at line 128 of file structured_block.cc.
References ~structured_block().
Referenced by new_host().
|
virtual |
Destructor; deletes a poset member and its attached state, if any.
Definition at line 142 of file structured_block.cc.
References init_handle_data_members().
Referenced by structured_block().
|
pure virtual |
Make a new handle, no state instance of current.
Is Abstract.
Implements fiber_bundle::homogeneous_block.
Implemented in fiber_bundle::structured_block_3d, fiber_bundle::structured_block_2d, and fiber_bundle::structured_block_1d.
Definition at line 523 of file structured_block.cc.
References invariant().
Referenced by fiber_bundle::structured_block_1d::clone(), fiber_bundle::structured_block_2d::clone(), fiber_bundle::structured_block_3d::clone(), and unsimplify().
|
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 279 of file structured_block.h.
References fiber_bundle::homogeneous_block::clone().
|
inline |
The largest member which is join-equivalent to this.
Definition at line 301 of file structured_block.h.
References fiber_bundle::base_space_member::greatest_jem().
|
protectedvirtual |
Initializes handle data members when attaching to a different member in a different host.
Reimplemented from sheaf::poset_component.
Definition at line 158 of file structured_block.cc.
References sheaf::poset_component::detach_from_state(), sheaf::subposet::id_space(), and refine_coordinate().
Referenced by ~structured_block().
|
virtual |
Class invariant.
Reimplemented from fiber_bundle::homogeneous_block.
Reimplemented in fiber_bundle::structured_block_3d, fiber_bundle::structured_block_2d, and fiber_bundle::structured_block_1d.
Definition at line 555 of file structured_block.cc.
References is_ancestor_of().
Referenced by clone(), and fiber_bundle::structured_block_2d::invariant().
|
virtual |
True if other conforms to this.
Reimplemented from fiber_bundle::homogeneous_block.
Reimplemented in fiber_bundle::structured_block_3d, fiber_bundle::structured_block_2d, and fiber_bundle::structured_block_1d.
Definition at line 589 of file structured_block.cc.
References operator=().
Referenced by invariant().
|
inlinestaticprotected |
True if x2 is close enough to x1 to be considered equal.
Definition at line 134 of file structured_block.h.
References fiber_bundle::sec_at0_algebra::fabs().
|
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 365 of file structured_block.h.
References fiber_bundle::base_space_member::l_join().
|
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 375 of file structured_block.h.
References fiber_bundle::base_space_member::l_meet().
|
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 385 of file structured_block.h.
References fiber_bundle::base_space_member::l_not().
|
inline |
The smallest member which is join-equivalent to this.
Definition at line 309 of file structured_block.h.
References fiber_bundle::base_space_member::least_jem().
|
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.
Definition at line 44 of file structured_block.cc.
References 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(), sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible(), and sheaf::read_write_monitor_handle::state_is_not_read_accessible().
|
static |
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().
Definition at line 83 of file structured_block.cc.
References sheaf::namespace_poset::contains_path(), sheaf::poset_path::empty(), 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(), sheaf::read_write_monitor_handle::state_is_auto_read_write_accessible(), sheaf::read_write_monitor_handle::state_is_not_read_accessible(), and structured_block().
|
virtual |
Assignment operator; attaches this to the same state as xother.
Reimplemented from fiber_bundle::homogeneous_block.
Reimplemented in fiber_bundle::structured_block_3d, fiber_bundle::structured_block_2d, and fiber_bundle::structured_block_1d.
Definition at line 608 of file structured_block.cc.
Referenced by is_ancestor_of().
fiber_bundle::structured_block & fiber_bundle::structured_block::operator= | ( | const structured_block & | xother | ) |
Assignment operator.
Definition at line 627 of file structured_block.cc.
|
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 332 of file structured_block.h.
References fiber_bundle::base_space_member::p_join().
|
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 341 of file structured_block.h.
References fiber_bundle::base_space_member::p_meet().
|
pure virtual |
Inserts the standard refinement of this into its lower cover and changes this from a jim to a jrm.
Implemented in fiber_bundle::structured_block_3d, fiber_bundle::structured_block_2d, and fiber_bundle::structured_block_1d.
Definition at line 389 of file structured_block.cc.
References unrefine().
Referenced by unrefine_point_pa().
|
protected |
Transforms local coordinate xcoord from block local to zone local.
Definition at line 189 of file structured_block.cc.
References fiber_bundle::sec_at0_algebra::modf(), and refine_point().
Referenced by init_handle_data_members().
fiber_bundle::chart_point * fiber_bundle::structured_block::refine_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.
Definition at line 248 of file structured_block.cc.
References refine_point_pa().
Referenced by refine_coordinate(), fiber_bundle::structured_block_1d::refine_point(), fiber_bundle::structured_block_2d::refine_point(), fiber_bundle::structured_block_3d::refine_point(), fiber_bundle::structured_block_1d::unrefine_point(), and fiber_bundle::structured_block_3d::unrefine_point().
|
pure virtual |
A chart point in the direct refinement of this which is the same as xpt in this; pre-allocated version.
Implemented in fiber_bundle::structured_block_3d, fiber_bundle::structured_block_2d, and fiber_bundle::structured_block_1d.
Definition at line 272 of file structured_block.cc.
References fiber_bundle::chart_point::chart_id(), and fiber_bundle::chart_point::db().
Referenced by refine_point().
|
pure 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.
Implemented in fiber_bundle::structured_block_3d, fiber_bundle::structured_block_2d, and fiber_bundle::structured_block_1d.
Definition at line 302 of file structured_block.cc.
References fiber_bundle::chart_point::chart_id(), fiber_bundle::chart_point::db(), and unrefine_point().
|
pure virtual |
Inserts the standard simplex refinement of this into its lower cover and changes this from a jim to a jrm.
Implemented in fiber_bundle::structured_block_3d, fiber_bundle::structured_block_2d, and fiber_bundle::structured_block_1d.
Definition at line 434 of file structured_block.cc.
References unsimplify().
Referenced by unrefine().
|
pure virtual |
Removes the standard refinement of this from its lower cover and changes this from a jrm to a jim.
Implemented in fiber_bundle::structured_block_3d, fiber_bundle::structured_block_2d, and fiber_bundle::structured_block_1d.
Definition at line 412 of file structured_block.cc.
References simplify().
Referenced by refine().
fiber_bundle::chart_point * fiber_bundle::structured_block::unrefine_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.
Definition at line 330 of file structured_block.cc.
References unrefine_point_pa().
Referenced by refine_point_pa(), and fiber_bundle::structured_block_2d::unrefine_point().
|
pure virtual |
The point in this which is the same as xpt in the direct refinement of this; pre-allocated version.
Implemented in fiber_bundle::structured_block_3d, fiber_bundle::structured_block_2d, and fiber_bundle::structured_block_1d.
Definition at line 354 of file structured_block.cc.
References fiber_bundle::chart_point::chart_id(), fiber_bundle::chart_point::db(), and refine().
Referenced by fields::discretization_pusher::push(), and unrefine_point().
|
pure virtual |
Removes the standard simplex refinement of this from its lower cover and changes this from a jrm to a jim.
Implemented in fiber_bundle::structured_block_3d, fiber_bundle::structured_block_2d, and fiber_bundle::structured_block_1d.
Definition at line 457 of file structured_block.cc.
References clone().
Referenced by simplify().
|
protected |
The client id space for the elements subposet.
Definition at line 116 of file structured_block.h.