21 #ifndef BINARY_SECTION_SPACE_SCHEMA_MEMBER_H 22 #define BINARY_SECTION_SPACE_SCHEMA_MEMBER_H 24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 28 #ifndef SECTION_SPACE_SCHEMA_MEMBER_H 29 #include "SheafSystem/section_space_schema_member.h" 32 #ifndef BINARY_SECTION_COMPONENT_ITERATOR_H 33 #include "SheafSystem/binary_section_component_iterator.h" 36 #ifndef BINARY_SECTION_DOF_ITERATOR_H 37 #include "SheafSystem/binary_section_dof_iterator.h" 51 class binary_section_space_schema_poset;
52 class sec_rep_descriptor;
80 static const poset_path& standard_schema_path();
105 template <
typename S>
108 const std::string& xfiber_suffix);
115 template <
typename S>
118 const std::string& xfiber_suffix);
124 template <
typename S>
128 const std::string& xfiber_suffix,
136 template <
typename S>
140 const std::string& xfiber_suffix,
150 template <
typename S>
154 const std::string& xfiber_suffix,
203 bool xauto_access =
true)
const 234 const std::string& xname);
268 bool xauto_access =
true);
332 virtual bool is_dof(
bool xin_table_dofs)
const;
339 virtual size_t size()
const;
346 virtual size_t alignment()
const;
360 int xversion = CURRENT_MEMBER_VERSION)
const;
368 return dof_iterator(
true, xversion);
376 return dof_iterator(
false, xversion);
384 virtual void update_row_cache(
bool xupdate_id_map =
false)
const;
412 const std::string& xid_space_name)
const;
420 virtual void get_ext_ids(
const std::string& xid_space_name,
437 virtual size_t ext_data_type_ct(
bool xis_table_schema)
const;
655 virtual bool is_ancestor_of(
const any* other)
const;
665 virtual bool invariant()
const;
676 #endif // BINARY_SECTION_SPACE_SCHEMA_MEMBER_H binary_section_space_schema_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 lea...
section_space_schema_poset * host() const
The poset which this is a handle to a component of.
Iterates in postorder over dofs of a schema member anchor. Attaches an a handle of type section_space...
A client handle for a poset member which has been prepared for use as a schema for a section space...
binary_section_space_schema_poset * host() const
The poset which this is a handle to a component of.
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.
virtual size_t size() const =0
The number of bytes in this dof.
The standard fiber bundles name space; extends the standard sheaves namespace by defining base space...
A client handle for a general, abstract partially order set.
binary_section_space_schema_member * least_jem() const
The smallest member which is join-equivalent to this.
A path defined by a poset name and a member name separated by a forward slash ('/'). For example: "cell_definitions/triangle".
virtual sheaf::primitive_type type() const =0
The primitive type index of the dof defined by this.
virtual section_space_schema_member * clone() const =0
Make a new handle, no state instance of current.
A schema poset for a section space. A binary Cartesian product subspace of the binary tensor product ...
binary_section_space_schema_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 u...
virtual size_t alignment() const =0
The alignment for this dof.
Abstract base class with useful features for all objects.
binary_section_space_schema_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 gre...
binary_section_space_schema_member * greatest_jem() const
The largest member which is join-equivalent to this.
binary_section_space_schema_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...
primitive_type
Type ids for sheaf primitives.
A map from schema poset member ids to dof values for primitives_poset members.
binary_section_space_schema_member * p_meet(abstract_poset_member *other)
poset meet of this with other, auto-, pre-, and self-allocated versions the poset meet is the greates...
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.
dof_tuple_type
Identifiers for dof tuple types.
An array for storing structs which describe the size, alignment, and offset of dofs within a dof tupl...
binary_section_dof_iterator * table_dof_iterator(int xversion=CURRENT_MEMBER_VERSION) const
A postorder iterator over the table dofs defined by this. Synonym for dof_iterator(true).
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...
Iterates over the subset of Zn defined by the characteristic function host().
binary_section_space_schema_member * l_not(bool xnew_jem=true) const
lattice pseudo-complement of this, auto-, pre- and self allocated versions The lattice pseudo-complem...
An abstract schema poset for a section space. A Cartesian product subspace of the tensor product of a...
Iterates in postorder over dofs of a schema member anchor. Attaches an a handle of type section_space...
int_type pod_index_type
The plain old data index type.
binary_section_space_schema_poset host_type
The type of host poset.
A client handle for a poset member which has been prepared for use as a schema for a section space...
An abstract client handle for a member of a poset.
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...
binary_section_dof_iterator * row_dof_iterator(int xversion=CURRENT_MEMBER_VERSION) const
A postorder iterator over the row dofs defined by this.
Namespace for the fiber_bundles component of the sheaf system.
virtual void attach_to_state(pod_index_type xbase_space_id, pod_index_type xfiber_schema_id)=0
Attach to the state in host() with component ids xbase_id and xfiber_schema_id.
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...