21 #ifndef PARTIAL_POSET_MEMBER_H 22 #define PARTIAL_POSET_MEMBER_H 24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 28 #ifndef ABSTRACT_POSET_MEMBER_H 29 #include "SheafSystem/abstract_poset_member.h" 32 #ifndef SCHEMA_POSET_MEMBER_H 33 #include "SheafSystem/schema_poset_member.h" 36 #ifndef STD_IOSTREAM_H 37 #include "SheafSystem/std_iostream.h" 41 #include "SheafSystem/std_string.h" 49 class poset_member_dof_iterator;
50 class poset_member_iterator;
117 bool xcopy_dof_map =
false,
118 bool xauto_access =
true);
130 const tern& xnew_jem,
159 bool xauto_access =
true);
173 virtual void init_handle_data_members();
179 virtual void attach_handle_data_members();
239 virtual void unrestrict();
256 virtual int dof_ct()
const;
381 virtual void detach_from_state();
401 virtual bool is_ancestor_of(
const any* other)
const;
411 virtual bool invariant()
const;
422 #endif // PARTIAL_POSET_MEMBER_H partial_poset_member * p_meet(partial_poset_member *other)
poset meet of this with other, auto-, pre-, and self-allocated versions the poset meet is the greates...
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 ...
abstract_poset_member * greatest_jem() const
The largest member which is join-equivalent to this.
The default name space; a poset which contains other posets as members.
partial_poset_member * least_jem() const
The smallest member which is join-equivalent to this.
partial_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...
A three state "bool". Does not provide the operations of ternary logic and is intended for use mostly...
A client handle for a general, abstract partially order set.
virtual abstract_poset_member * clone() const =0
Virtual constructor; makes a new unattached handle of the same type as this.
A path defined by a poset name and a member name separated by a forward slash ('/'). For example: "cell_definitions/triangle".
A client handle for a possibly restricted member of a poset. A partial_poset_member is a poset_me...
The general, abstract map from dof ids to dof values.
partial_poset_member * greatest_jem() const
The largest member which is join-equivalent to this.
Abstract base class with useful features for all objects.
An index within the external ("client") scope of a given id space.
abstract_poset_member * l_not(bool xnew_jem=true) const
lattice pseudo-complement of this, auto-allocated The lattice pseudo-complement is the largest latt...
abstract_poset_member * least_jem() const
The smallest member which is join-equivalent to this.
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...
virtual schema_poset_member & schema()
The schema for this poset member (mutable version).
schema_poset_member * _schema
The restricted schema of this member.
partial_poset_member * l_meet(partial_poset_member *other, bool xnew_jem=true)
lattice meet of this with other, auto-, pre-, and self-allocated versions the lattice meet is the gre...
partial_poset_member * l_not(bool xnew_jem=true) const
lattice pseudo-complement of this, auto-, pre- and self allocated versions The lattice pseudo-complem...
int_type pod_index_type
The plain old data index type.
Namespace for the sheaves component of the sheaf system.
An abstract client handle for a member of a poset.
partial_poset_member * l_join(partial_poset_member *other, bool xnew_jem=true)
lattice join of this with other, auto-, pre-, and self-allocated versions the lattice join is the lea...
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 pos...
partial_poset_member * p_join(partial_poset_member *other) const
poset join of this with other, auto-, pre-, and self-allocated versions the poset join is the least u...
A client handle for a poset member which has been prepared for use as a schema.
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 la...