SheafSystem
0.0.0.0
|
A general tensor of "degree" p and given "variance" over an abstract vector space. More...
#include <tp.h>
HOST FACTORY FACET OF CLASS TP | |
typedef tp_space | host_type |
The type of host poset. More... | |
typedef at1 | vector_space_type |
The type of the underlying vector space. More... | |
static const poset_path & | standard_schema_path () |
The path to the standard schema for this class. More... | |
static void | make_standard_schema (namespace_poset &xns) |
Creates the standard schema for this class in namespace xns. More... | |
static host_type & | new_host (namespace_type &xns, const poset_path &xhost_path, const poset_path &xschema_path, int xp, const poset_path &xvector_space_path, bool xauto_access) |
Creates a new host table for members of this type. The poset is created in namespace xns with path xhost_path, schema specified by xschema_path, and table attribute vector_space_path specified by xvector_space_path. More... | |
TENSOR ALGEBRA (TP) FACET OF CLASS TP | |
enum | static_const_int { P = -1 } |
The degree of this tensor space. More... | |
typedef tp_lite | volatile_type |
The associated volatile type. More... | |
typedef tp_table_dofs_type | table_dofs_type |
The type of the table dofs. More... | |
static const std::string | create_tensor_space_name (const std::string &xvector_space_name, const std::string &xname) |
Create a standard tensor space name. More... | |
tp () | |
Default constructor. More... | |
tp (const poset_state_handle *xhost, pod_index_type xhub_id) | |
Creates a new tp handle attached to the member state with hub id xhub_id in xhost. More... | |
tp (const poset_state_handle *xhost, const scoped_index &xid) | |
Creates a new tp handle attached to the member state with id xid in xhost. More... | |
tp (const poset_state_handle *xhost, const std::string &xname) | |
Creates a new tp handle attached to the member state with name xname in xhost. More... | |
tp (abstract_poset_member *xother) | |
Creates a new tp handle attached to the same state as xother. More... | |
tp (poset_state_handle *xhost, bool xauto_access=true) | |
New handle/new state constructor. More... | |
virtual tp & | operator= (const abstract_poset_member &xother) |
Assignment operator; synonym for attach_to_state(&xother). More... | |
tp & | operator= (const tp &xother) |
Assignment operator; synonym for attach_to_state(&xother). More... | |
virtual | ~tp () |
Destructor. More... | |
virtual int | p () const |
The degree of the tensors in host(); the sum of the contravariant and covariant degrees. More... | |
int | p (bool xauto_access) const |
The degree of the tensors in host() (auto-access version). More... | |
virtual int | dd () const |
Dimension of the underlying vector space. More... | |
virtual int | dd (bool xauto_access) const |
Dimension of the underlying vector space (auto-access version). More... | |
poset_path | vector_space_path () const |
The path of the underlying vector space. More... | |
poset_path | vector_space_path (bool xauto_access) const |
The path of the underlying vector space, auto access version. More... | |
virtual tp_space & | vector_space () const |
The underlying vector space. More... | |
virtual tp_space & | vector_space (bool xauto_access) const |
The underlying vector space, auto access version. More... | |
virtual const volatile_type & | lite_prototype () const |
Virtual constructor for the associated volatile type. More... | |
virtual volatile_type * | lite_type () const |
Virtual conversion to the associated volatile type. More... | |
virtual tensor_variance | variance (bool xauto_access) const |
The variance. More... | |
virtual bool | variance (int xi, bool xauto_access) const |
The variance of the xi-th tensor index position; true if covariant, false if contravariant. More... | |
void | put_variance (const tensor_variance &xvariance, bool xauto_access) |
Sets the variance to xvariance. More... | |
void | put_variance (int xi, bool xvariance, bool xauto_access) |
Sets the variance of the xi-th index to xvariance. More... | |
virtual bool | is_covariant (bool xauto_access) const |
True if and only if all tensor index positions are covariant. More... | |
virtual bool | is_covariant (int xi, bool xauto_access) const |
True if and only if the xi-th tensor index position is covariant. More... | |
virtual void | put_is_covariant (bool xauto_access) |
Sets all tensor index positions to covariant. More... | |
void | put_is_covariant (int xi, bool xauto_access) |
Sets the variance of the xi-th tensor index position to covariant. More... | |
virtual bool | is_contravariant (bool xauto_access) const |
True if and only if all tensor index positions are contravariant. More... | |
virtual bool | is_contravariant (int xi, bool xauto_access) const |
True if and only if the xi-th tensor index position is contravariant. More... | |
virtual void | put_is_contravariant (bool xauto_access) |
Sets all tensor index positions to contravariant. More... | |
void | put_is_contravariant (int xi, bool xauto_access) |
Sets the variance of the xi-th tensor index position to contravariant. More... | |
ABSTRACT POSET MEMBER FACET OF CLASS TP | |
static const std::string & | static_class_name () |
The name of this class. More... | |
virtual const std::string & | class_name () const |
The name of this class. More... | |
tp * | 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... | |
POSET_COMPONENT FACET | |
host_type * | host () const |
The poset this is a member of. More... | |
virtual bool | host_is_ancestor_of (const poset_state_handle *other) const |
True if other conforms to host. More... | |
ANY FACET OF CLASS TP | |
bool | is_ancestor_of (const any *other) const |
True if other conforms to current. More... | |
virtual tp * | clone () const |
Make a new handle, no state instance of current. More... | |
bool | invariant () const |
Class invariant. More... | |
Additional Inherited Members | |
Public Types inherited from fiber_bundle::vd | |
typedef vd_space | host_type |
The type of host poset. More... | |
typedef at0 | scalar_type |
The type of scalar. More... | |
typedef vd_table_dofs_type | table_dofs_type |
The type of the table dofs. More... | |
typedef vd_row_dofs_type< double > | row_dofs_type |
The type of the row dofs. More... | |
typedef vd_lite | volatile_type |
The associated volatile type. More... | |
typedef vd_value_type | value_type |
The POD ("plain old data") type of scalar in the vector space of this. More... | |
typedef vd_dof_type | dof_type |
The type of the degrees of freedom. Note that although dof_type == value_type in this implementation, in prinicple they are different roles and are not necessarily the. More... | |
Public Types inherited from fiber_bundle::tuple | |
enum | static_const_int { FACTOR_CT = 0 } |
Number of factors (components) in tuple. More... | |
typedef fiber_bundles_namespace | namespace_type |
The type of namespace for this type of member. More... | |
typedef tuple_space | host_type |
The type of host poset. More... | |
typedef tuple_table_dofs_type | table_dofs_type |
The type of the table dofs. More... | |
typedef tuple_lite | volatile_type |
The associated volatile type. 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::vd | |
vd () | |
The sheaf primitive type of the degrees of freedom. More... | |
vd & | operator= (const vd &xother) |
Assignment operator; synonym for attach_to_state(&xother). More... | |
virtual | ~vd () |
Destructor. More... | |
vd (poset_state_handle *xhost, bool xauto_access=true) | |
Constructs a new jim state in xhost and attaches this to it. More... | |
vd (const poset_state_handle *xhost, pod_index_type xhub_id) | |
Creates a new vd handle attached to the member state with hub id xhub_id in xhost. More... | |
vd (const poset_state_handle *xhost, const scoped_index &xid) | |
Creates a new vd handle attached to the member state with id xid in xhost. More... | |
vd (const poset_state_handle *xhost, const std::string &xname) | |
Creates a new vd handle attached to the member state with name xname in xhost. More... | |
vd (const abstract_poset_member *xother) | |
Creates a new vd handle attached to the same state as xother. More... | |
virtual int | d () const |
Dimension of this as a vector space. More... | |
virtual int | d (bool xauto_access) const |
Dimension of this as a vector space; auto-access version. More... | |
poset_path | scalar_space_path () const |
The path of the underlying scalar space. More... | |
poset_path | scalar_space_path (bool xauto_access) const |
The path of the underlying scalar space; auto-access version. More... | |
virtual value_type | component (int xindex) const |
The value of the xi-th component. More... | |
value_type | component (int xindex, bool xauto_access) const |
The value of the xindex-th component. More... | |
virtual void | put_component (int xindex, value_type xvalue) |
Sets the value of the xindex-th component to xvalue. More... | |
void | put_component (int xindex, value_type xvalue, bool xauto_access) |
Sets the value of the xindex-th component to xvalue. More... | |
void | components (dof_type comps[], int comps_dimension) const |
The values of all the components (pre-allocated version). More... | |
void | put_components (const dof_type comps[], int comps_dimension) |
Sets values of all the components to the values in comps. More... | |
dof_type & | operator[] (int xindex) |
The value of the row dof corresponding to xindex (non const version). More... | |
const dof_type & | operator[] (int xindex) const |
The value of the row dof corresponding to xindex. (const version) More... | |
virtual bool | is_vector (bool xauto_access) const |
True if and only if this is a vector (as opposed to a covector). More... | |
virtual void | put_is_vector (bool xauto_access) |
Sets is_vector true. More... | |
virtual bool | is_covector (bool xauto_access) const |
True if and only if this is a covector. More... | |
virtual void | put_is_covector (bool xauto_access) |
Sets is_covector true. More... | |
vd * | 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... | |
host_type * | host () const |
The poset this is a member of. More... | |
bool | is_ancestor_of (const any *other) const |
True if other conforms to current. More... | |
bool | invariant () const |
Class invariant. More... | |
Public Member Functions inherited from fiber_bundle::tuple | |
template<typename F > | |
sheaf::poset_path | standard_host_path (const std::string &xsuffix) |
template<typename F > | |
bool | standard_host_is_available (namespace_type &xns, const std::string &xsuffix, bool xauto_access) |
tuple () | |
Default constructor. More... | |
tuple (const poset_state_handle *xhost, pod_index_type xhub_id) | |
Creates a new tuple handle attached to the member state with hub id xhub_id in xhost. More... | |
tuple (const poset_state_handle *xhost, const scoped_index &xid) | |
Creates a new tuple handle attached to the member state with id xid in xhost. More... | |
tuple (const poset_state_handle *xhost, const std::string &xname) | |
Creates a new tuple handle attached to the member state with name xname in xhost. More... | |
tuple (const abstract_poset_member *xother) | |
Creates a new tuple handle attached to the same state as xother. More... | |
tuple (poset_state_handle *xhost, bool xauto_access=true) | |
New handle/new state constructor. More... | |
tuple & | operator= (const tuple &xother) |
Assignment operator; synonym for attach_to_state(&xother). More... | |
virtual | ~tuple () |
Destructor. More... | |
virtual int | factor_ct () const |
Number of factors (components) in tuple. More... | |
int | factor_ct (bool xauto_access) const |
Number of factors (components) in tuple. More... | |
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 mutable) 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... | |
tuple * | 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... | |
host_type * | host () const |
The poset this is a member of. 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 hub_index_space_handle & | hub_id_space () const |
The hub id space; const version. 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::vd | |
static const poset_path & | standard_schema_path () |
The path to the standard schema for this class. More... | |
static void | make_standard_schema (namespace_poset &xns) |
Creates the standard schema for this class in namespace xns. More... | |
static host_type & | new_host (namespace_type &xns, const poset_path &xhost_path, const poset_path &xschema_path, const poset_path &xscalar_space_path, bool xauto_access) |
Creates a new host table for members of this type. The poset is created in namespace xns with path xhost_path, schema specified by xschema_path, and table attribute scalar_space_path specified by xscalar_space_path. More... | |
static const std::string & | static_class_name () |
The name of this class. More... | |
Static Public Member Functions inherited from fiber_bundle::tuple | |
static const std::string & | standard_schema_poset_name () |
The name of the standard schema poset for this class. More... | |
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... | |
template<typename F > | |
static SHEAF_DLL_SPEC poset_path | standard_host_path (const std::string &xsuffix) |
The standard path with poset name suffix xsuffix for host spaces for type F. More... | |
template<typename F > | |
static SHEAF_DLL_SPEC bool | standard_host_is_available (namespace_type &xns, const std::string &xsuffix, bool xauto_access) |
True, if standard_host_path<F>(xsuffix) 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 xfactor_ct, bool xauto_access) |
Creates a new host table for members of this type. The poset is created in namespace xns with path xhost_path, schema specified by xschema_path, and table attribute factor_ct specified by xfactor_ct. More... | |
static const std::string & | static_class_name () |
The name of this class. 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 sheaf::abstract_poset_member | |
abstract_poset_member () | |
Default constructor; creates a new, unattached abstract_poset_member 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... | |
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... | |
virtual void | init_handle_data_members () |
Initializes handle data members when attaching to a different member in a different host; intended to be redefined in derived classes. More... | |
Protected Member Functions inherited from sheaf::read_write_monitor_handle | |
bool | access_guards_disabled () const |
True if thread of control is still in constructor. More... | |
void | disable_access_guards () |
Disables access guards; intended for use only within constructors of monitored objects, where no other client can possibly have access (yet). More... | |
void | enable_access_guards () |
Re-enables access guards. More... | |
Protected Member Functions inherited from sheaf::any | |
any () | |
default constructor More... | |
Protected Attributes inherited from sheaf::poset_component | |
poset_state_handle * | _host |
The host poset for this component. More... | |
scoped_index | _index |
The index for this component within the host. More... | |
int | _version |
The version of this component. The version of the host used when evaluating properties of this component. More... | |
A general tensor of "degree" p and given "variance" over an abstract vector space.
The notion of tensor "degree" and "variance" are not the standard properties described in most texts, although they are closely related to those properties. They are introduced in this and related classes because they more directly describe the software implementation than the standard terms.
We define the "degree" of the tensor as the sum of the contravariant degree and the covariant degree. Each tensor type forms a vector space, but the dimension of the vector space depends only on degree, not on the co- or contravariance of the indices. Hence all tensor types of a given degree form vector spaces of the same dimension. Since the computer representation depends on the vector space properties, it is convenient to represent all tensor types of a given degree with a single sheaf/C++ type and to let the tensor types coexist in a single poset using subposets to keep them sorted out. This minimizes storage requirements for both fibers and sections. It also simplifies the raising and lowering operators since they then work entirely within a single poset.
We define the "variance" of a tensor as an ordered specification of the co- or contra-variance of each index. See class tensor_variance for a full discussion.
typedef tp_space fiber_bundle::tp::host_type |
fiber_bundle::tp::tp | ( | ) |
Default constructor.
Definition at line 554 of file tp.cc.
Referenced by new_host(), and tp().
fiber_bundle::tp::tp | ( | const poset_state_handle * | xhost, |
pod_index_type | xhub_id | ||
) |
Creates a new tp handle attached to the member state with hub id xhub_id in xhost.
Definition at line 568 of file tp.cc.
References sheaf::poset_state_handle::contains_member(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and tp().
fiber_bundle::tp::tp | ( | const poset_state_handle * | xhost, |
const scoped_index & | xid | ||
) |
Creates a new tp handle attached to the member state with id xid in xhost.
Definition at line 589 of file tp.cc.
References sheaf::poset_state_handle::contains_member(), sheaf::scoped_index::hub_pod(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and tp().
fiber_bundle::tp::tp | ( | const poset_state_handle * | xhost, |
const std::string & | xname | ||
) |
Creates a new tp handle attached to the member state with name xname in xhost.
Definition at line 610 of file tp.cc.
References sheaf::poset_state_handle::contains_member(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and tp().
|
explicit |
fiber_bundle::tp::tp | ( | poset_state_handle * | xhost, |
bool | xauto_access = true |
||
) |
New handle/new state constructor.
Definition at line 658 of file tp.cc.
References operator=().
|
virtual |
|
virtual |
The name of this class.
Reimplemented from fiber_bundle::vd.
Reimplemented in fiber_bundle::e3, fiber_bundle::met_e3, fiber_bundle::met_e2, fiber_bundle::e4, fiber_bundle::e2, fiber_bundle::e1, fiber_bundle::st2_e3, fiber_bundle::t2_e3, fiber_bundle::at2_e3, fiber_bundle::st2_e2, fiber_bundle::t2_e2, fiber_bundle::t4_e3, fiber_bundle::at2_e2, fiber_bundle::met_e1, fiber_bundle::at0, fiber_bundle::t3_e3, fiber_bundle::st4_e3, fiber_bundle::st4_e2, fiber_bundle::at3_e3, fiber_bundle::st3_e3, fiber_bundle::t4_e2, fiber_bundle::at2, fiber_bundle::st2, fiber_bundle::st3, fiber_bundle::st4, fiber_bundle::at3, fiber_bundle::t2, fiber_bundle::t4, fiber_bundle::t3, fiber_bundle::met_ed, fiber_bundle::met, fiber_bundle::at1, fiber_bundle::ed, fiber_bundle::atp, and fiber_bundle::stp.
Definition at line 1265 of file tp.cc.
References static_class_name().
Referenced by put_is_contravariant().
|
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 547 of file tp.h.
References fiber_bundle::vd::clone().
|
virtual |
Make a new handle, no state instance of current.
Reimplemented from fiber_bundle::vd.
Reimplemented in fiber_bundle::e3, fiber_bundle::met_e3, fiber_bundle::met_e2, fiber_bundle::at0, fiber_bundle::e4, fiber_bundle::e2, fiber_bundle::e1, fiber_bundle::st2_e3, fiber_bundle::t2_e3, fiber_bundle::at2_e3, fiber_bundle::st2_e2, fiber_bundle::t2_e2, fiber_bundle::t4_e3, fiber_bundle::at2_e2, fiber_bundle::met_e1, fiber_bundle::t3_e3, fiber_bundle::st4_e3, fiber_bundle::st4_e2, fiber_bundle::at3_e3, fiber_bundle::st3_e3, fiber_bundle::t4_e2, fiber_bundle::at2, fiber_bundle::st2, fiber_bundle::st3, fiber_bundle::st4, fiber_bundle::at3, fiber_bundle::at1, fiber_bundle::t2, fiber_bundle::t4, fiber_bundle::t3, fiber_bundle::atp, fiber_bundle::met_ed, fiber_bundle::met, fiber_bundle::stp, and fiber_bundle::ed.
Definition at line 1363 of file tp.cc.
Referenced by fiber_bundle::stp::clone(), fiber_bundle::atp::clone(), fiber_bundle::t3::clone(), fiber_bundle::t4::clone(), fiber_bundle::t2::clone(), and is_ancestor_of().
|
static |
Create a standard tensor space name.
Definition at line 950 of file tp.cc.
References lite_prototype().
Referenced by vector_space().
|
virtual |
Dimension of the underlying vector space.
Definition at line 788 of file tp.cc.
References sheaf::table_dofs().
Referenced by fiber_bundle::tp_algebra::alt(), fiber_bundle::tp_algebra::contract(), fiber_bundle::met_algebra::lower(), p(), fiber_bundle::met_algebra::raise(), fiber_bundle::atp_algebra::star(), fiber_bundle::tp_algebra::sym(), fiber_bundle::tp_algebra::tensor(), fiber_bundle::st2_algebra::trace(), and fiber_bundle::atp_algebra::wedge().
|
virtual |
Dimension of the underlying vector space (auto-access version).
Definition at line 810 of file tp.cc.
References vector_space_path().
fiber_bundle::tp::host_type * fiber_bundle::tp::host | ( | ) | const |
The poset this is a member of.
Definition at line 1313 of file tp.cc.
References host_is_ancestor_of().
Referenced by static_class_name().
|
virtual |
True if other conforms to host.
Reimplemented from fiber_bundle::vd.
Reimplemented in fiber_bundle::at0, fiber_bundle::at1, fiber_bundle::atp, and fiber_bundle::stp.
Definition at line 1320 of file tp.cc.
References is_ancestor_of().
Referenced by host().
|
virtual |
Class invariant.
Reimplemented from fiber_bundle::tuple.
Definition at line 1389 of file tp.cc.
References fiber_bundle::operator<<().
|
virtual |
True if other conforms to current.
Reimplemented from sheaf::total_poset_member.
Definition at line 1338 of file tp.cc.
References clone().
Referenced by host_is_ancestor_of().
|
virtual |
True if and only if all tensor index positions are contravariant.
Definition at line 1160 of file tp.cc.
Referenced by fiber_bundle::tp_algebra::contract(), fiber_bundle::met_algebra::lower(), fiber_bundle::jcb_algebra::push(), put_is_covariant(), and fiber_bundle::met_algebra::raise().
|
virtual |
True if and only if the xi-th tensor index position is contravariant.
Definition at line 1181 of file tp.cc.
References put_is_contravariant().
|
virtual |
True if and only if all tensor index positions are covariant.
Definition at line 1078 of file tp.cc.
Referenced by fiber_bundle::met_algebra::lower(), fiber_bundle::jcb_algebra::pull(), put_variance(), and fiber_bundle::met_algebra::raise().
|
virtual |
True if and only if the xi-th tensor index position is covariant.
Definition at line 1097 of file tp.cc.
References put_is_covariant().
|
virtual |
Virtual constructor for the associated volatile type.
Reimplemented from fiber_bundle::vd.
Reimplemented in fiber_bundle::e3, fiber_bundle::met_e3, fiber_bundle::st2_e2, fiber_bundle::met_e2, fiber_bundle::st2_e3, fiber_bundle::at2_e3, fiber_bundle::at0, fiber_bundle::t2_e3, fiber_bundle::at2_e2, fiber_bundle::e4, fiber_bundle::t2_e2, fiber_bundle::e2, fiber_bundle::t4_e3, fiber_bundle::e1, fiber_bundle::met_e1, fiber_bundle::st4_e3, fiber_bundle::st4_e2, fiber_bundle::at3_e3, fiber_bundle::st3_e3, fiber_bundle::t3_e3, fiber_bundle::t4_e2, fiber_bundle::at2, fiber_bundle::st2, fiber_bundle::st3, fiber_bundle::st4, fiber_bundle::at3, fiber_bundle::at1, fiber_bundle::met_ed, fiber_bundle::met, fiber_bundle::t2, fiber_bundle::ed, fiber_bundle::t4, fiber_bundle::t3, fiber_bundle::stp, and fiber_bundle::atp.
Definition at line 967 of file tp.cc.
References lite_type().
Referenced by create_tensor_space_name().
|
virtual |
Virtual conversion to the associated volatile type.
Reimplemented from fiber_bundle::vd.
Reimplemented in fiber_bundle::e3, fiber_bundle::met_e3, fiber_bundle::st2_e2, fiber_bundle::met_e2, fiber_bundle::st2_e3, fiber_bundle::at2_e3, fiber_bundle::at0, fiber_bundle::t2_e3, fiber_bundle::at2_e2, fiber_bundle::e4, fiber_bundle::t2_e2, fiber_bundle::e2, fiber_bundle::t4_e3, fiber_bundle::e1, fiber_bundle::met_e1, fiber_bundle::st4_e3, fiber_bundle::st4_e2, fiber_bundle::at3_e3, fiber_bundle::st3_e3, fiber_bundle::t3_e3, fiber_bundle::t4_e2, fiber_bundle::at2, fiber_bundle::st2, fiber_bundle::st3, fiber_bundle::st4, fiber_bundle::at3, fiber_bundle::at1, fiber_bundle::met_ed, fiber_bundle::met, fiber_bundle::t2, fiber_bundle::ed, fiber_bundle::t4, fiber_bundle::t3, fiber_bundle::stp, and fiber_bundle::atp.
Definition at line 984 of file tp.cc.
References sheaf::row_dofs(), and variance().
Referenced by lite_prototype().
|
static |
Creates the standard schema for this class in namespace xns.
Definition at line 456 of file tp.cc.
References sheaf::namespace_poset::contains_poset(), sheaf::namespace_poset::contains_poset_member(), sheaf::schema_poset_member::detach_from_state(), new_host(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().
Referenced by fiber_bundle::fiber_bundles_namespace::make_fiber_space_schema_members(), and standard_schema_path().
|
static |
Creates a new host table for members of this type. The poset is created in namespace xns with path xhost_path, schema specified by xschema_path, and table attribute vector_space_path specified by xvector_space_path.
Definition at line 489 of file tp.cc.
References sheaf::namespace_poset::contains_path(), sheaf::namespace_poset::contains_poset(), fiber_bundle::tp_space::d(), fiber_bundle::tp_space::dd(), sheaf::poset_path::empty(), fiber_bundle::vd_space::factor_ct(), sheaf::poset_path::full(), sheaf::namespace_poset::member_poset(), sheaf::namespace_poset::owns(), fiber_bundle::tp_space::p(), sheaf::poset_component::path(), sheaf::poset_state_handle::path(), sheaf::namespace_poset::path_is_auto_read_accessible(), fiber_bundle::vd_space::scalar_space_path(), 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(), tp(), and fiber_bundle::tp_space::vector_space_path().
Referenced by make_standard_schema().
|
virtual |
Assignment operator; synonym for attach_to_state(&xother).
Reimplemented from fiber_bundle::vd.
Reimplemented in fiber_bundle::e3, fiber_bundle::met_e3, fiber_bundle::st2_e2, fiber_bundle::met_e2, fiber_bundle::st2_e3, fiber_bundle::at2_e3, fiber_bundle::at0, fiber_bundle::t2_e3, fiber_bundle::at2_e2, fiber_bundle::e4, fiber_bundle::t2_e2, fiber_bundle::e2, fiber_bundle::t4_e3, fiber_bundle::e1, fiber_bundle::met_e1, fiber_bundle::st4_e3, fiber_bundle::st4_e2, fiber_bundle::at3_e3, fiber_bundle::st3_e3, fiber_bundle::t3_e3, fiber_bundle::t4_e2, fiber_bundle::at2, fiber_bundle::st2, fiber_bundle::st3, fiber_bundle::st4, fiber_bundle::at3, fiber_bundle::at1, fiber_bundle::met_ed, fiber_bundle::met, fiber_bundle::t2, fiber_bundle::ed, fiber_bundle::t4, fiber_bundle::t3, fiber_bundle::stp, and fiber_bundle::atp.
Definition at line 680 of file tp.cc.
Referenced by tp().
fiber_bundle::tp & fiber_bundle::tp::operator= | ( | const tp & | xother | ) |
|
virtual |
The degree of the tensors in host(); the sum of the contravariant and covariant degrees.
Definition at line 735 of file tp.cc.
References sheaf::table_dofs().
Referenced by fiber_bundle::tp_algebra::contract(), fiber_bundle::stp_algebra::symmetric_product(), fiber_bundle::tp_algebra::tensor(), fiber_bundle::atp_algebra::wedge(), and ~tp().
int fiber_bundle::tp::p | ( | bool | xauto_access | ) | const |
|
virtual |
Sets all tensor index positions to contravariant.
Definition at line 1201 of file tp.cc.
Referenced by is_contravariant().
void fiber_bundle::tp::put_is_contravariant | ( | int | xi, |
bool | xauto_access | ||
) |
Sets the variance of the xi-th tensor index position to contravariant.
Definition at line 1222 of file tp.cc.
References class_name().
|
virtual |
Sets all tensor index positions to covariant.
Definition at line 1117 of file tp.cc.
Referenced by is_covariant().
void fiber_bundle::tp::put_is_covariant | ( | int | xi, |
bool | xauto_access | ||
) |
Sets the variance of the xi-th tensor index position to covariant.
Definition at line 1138 of file tp.cc.
References is_contravariant().
void fiber_bundle::tp::put_variance | ( | const tensor_variance & | xvariance, |
bool | xauto_access | ||
) |
Sets the variance to xvariance.
Definition at line 1039 of file tp.cc.
Referenced by fiber_bundle::tp_algebra::alt(), fiber_bundle::tp_algebra::contract(), fiber_bundle::tp_algebra::sym(), fiber_bundle::tp_algebra::tensor(), and variance().
void fiber_bundle::tp::put_variance | ( | int | xi, |
bool | xvariance, | ||
bool | xauto_access | ||
) |
Sets the variance of the xi-th index to xvariance.
Definition at line 1058 of file tp.cc.
References is_covariant().
|
static |
The path to the standard schema for this class.
Definition at line 435 of file tp.cc.
References sheaf::poset_path::full(), make_standard_schema(), and sheaf::poset_path::poset_name().
Referenced by fiber_bundle::tp_lite::invariant(), fiber_bundle::fiber_bundles_namespace::link_poset(), and fiber_bundle::fiber_bundles_namespace::make_fiber_space_schema_poset().
|
static |
The name of this class.
Definition at line 1284 of file tp.cc.
References host().
Referenced by class_name().
|
virtual |
The variance.
Definition at line 1001 of file tp.cc.
References fiber_bundle::tensor_variance::variance().
Referenced by fiber_bundle::tp_algebra::alt(), fiber_bundle::tp_algebra::contract(), lite_type(), fiber_bundle::tp_algebra::sym(), and fiber_bundle::tp_algebra::tensor().
|
virtual |
The variance of the xi-th tensor index position; true if covariant, false if contravariant.
Definition at line 1020 of file tp.cc.
References put_variance().
|
virtual |
The underlying vector space.
Definition at line 895 of file tp.cc.
Referenced by vector_space_path().
|
virtual |
The underlying vector space, auto access version.
Definition at line 918 of file tp.cc.
References create_tensor_space_name().
sheaf::poset_path fiber_bundle::tp::vector_space_path | ( | ) | const |
The path of the underlying vector space.
Definition at line 843 of file tp.cc.
References sheaf::poset_path::empty(), and sheaf::table_dofs().
Referenced by dd().
sheaf::poset_path fiber_bundle::tp::vector_space_path | ( | bool | xauto_access | ) | const |
The path of the underlying vector space, auto access version.
Definition at line 864 of file tp.cc.
References sheaf::poset_path::empty(), sheaf::table_dofs(), and vector_space().