21 #ifndef SECTION_SPACE_SCHEMA_MEMBER_H 22 #define SECTION_SPACE_SCHEMA_MEMBER_H 24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 28 #ifndef SCOPED_INDEX_H 29 #include "SheafSystem/scoped_index.h" 32 #ifndef SCHEMA_POSET_MEMBER_H 33 #include "SheafSystem/schema_poset_member.h" 38 class cover_set_iterator;
44 using namespace sheaf;
46 class sec_rep_descriptor;
47 class section_space_schema_poset;
48 class section_space_schema_jims_index_space_handle;
63 friend class section_space_schema_poset;
75 virtual const std::string& class_name()
const;
80 static const std::string& static_class_name();
90 section_space_schema_member& operator=(
const section_space_schema_member& xother);
95 virtual ~section_space_schema_member();
187 poset& fiber_space();
192 const poset& fiber_space()
const;
207 int df(
bool xauto_access);
213 bool is_factorable()
const;
219 int evaluation_ct()
const;
225 int discretization_ct()
const;
235 const subposet& discretization()
const;
260 string evaluator_family_name()
const;
296 int xversion = CURRENT_MEMBER_VERSION)
const = 0;
318 virtual void attach_handle_data_members();
349 mutable int _evaluation_ct;
355 mutable int _discretization_ct;
401 return contains_dof(xother,
true);
410 return contains_dof(xother,
false);
442 return contains_dof(xother_id,
true);
452 return contains_dof(xother_id,
true);
462 return contains_dof(xother_id,
false);
472 return contains_dof(xother_id,
false);
483 bool xin_table_dofs)
const;
493 bool xin_table_dofs)
const;
503 return contains_dof(xbase_id, xfiber_id,
true);
514 return contains_dof(xbase_id, xfiber_id,
true);
525 return contains_dof(xbase_id, xfiber_id,
false);
536 return contains_dof(xbase_id, xfiber_id,
false);
563 virtual void update_table_dof_id_space()
const;
568 virtual void update_table_dof_descriptors()
const;
616 const index_space_handle& fiber_schema_id_space(
bool xis_table_dofs,
bool xauto_access)
const;
625 bool xis_table_dof)
const = 0;
638 bool xis_table_dof)
const = 0;
647 bool xauto_access)
const = 0;
656 bool xis_table_dof)
const = 0;
664 bool xis_table_dof)
const = 0;
673 bool xauto_access)
const = 0;
682 bool xis_table_dof)
const = 0;
690 bool xis_table_dof)
const = 0;
699 bool xauto_access)
const = 0;
708 bool xis_table_dof)
const = 0;
716 bool xis_table_dof)
const = 0;
725 bool xauto_access)
const = 0;
735 size_type fiber_size(
bool xauto_access)
const;
773 virtual pod_index_type get_ext_id(
const std::string& xid_space_name)
const;
856 void attach_to_state(
const scoped_index& xbase_space_id,
886 virtual void detach_from_state();
932 virtual bool is_ancestor_of(
const any* other)
const;
942 virtual bool invariant()
const;
961 virtual void to_stream(std::ostream& xos = std::cout)
const;
974 #ifndef DOXYGEN_1_5_4_SKIP_UNKNOWN 981 #endif // ifndef DOXYGEN_1_5_4_SKIP_UNKNOWN 985 #endif // SECTION_SPACE_SCHEMA_MEMBER_H bool contains_row_dof(const schema_poset_member &xother) const
True if this is in the row dofs part of the schema defined by this. Synonym for contains_dof(xother, false).
poset_state_handle * host() const
The poset which this is a handle to a component of.
bool contains_dof(pod_index_type xother_id, bool xin_table_dofs) const
True if xother_id is the index of a dof in the table dofs part (xin_table_dofs == true) or in the row...
A client handle for a subposet.
section_space_schema_poset * host() const
The poset which this is a handle to a component of.
virtual schema_poset_member * clone() const
Make a new handle, no state instance of current.
virtual size_t size() const
The number of bytes in this dof.
bool contains_table_dof(const schema_poset_member &xother) const
True if this is in the table dofs part of the schema defined by this. Synonym for contains_dof(xother...
A client handle for a general, abstract partially order set.
A path defined by a poset name and a member name separated by a forward slash ('/'). For example: "cell_definitions/triangle".
An abstract handle to a space of alternate integer identifiers (aliases) for a subset of a hub set of...
virtual primitive_type type() const
The primitive type index of the dof defined by this.
Abstract base class with useful features for all objects.
virtual size_t alignment() const
The alignment for this dof.
primitive_type
Type ids for sheaf primitives.
bool contains_table_dof(pod_index_type xbase_id, pod_index_type xfiber_id) const
True if xother_id is the index of a dof in the table dofs part of the schema defined by this...
bool contains_dof(const scoped_index &xother_id, bool xin_table_dofs) const
True if xother_id is the index of a dof in the table dofs part (xin_table_dofs == true) or in the row...
A client handle for a mutable partially ordered set.
An index within the external ("client") scope of a given id space.
unsigned long size_type
An unsigned integral type used to represent sizes and capacities.
bool contains_row_dof(const scoped_index &xother_id) const
True if xother_id is the index of a dof in the row dofs part of the schema defined by this...
An array for storing structs which describe the size, alignment, and offset of dofs within a dof tupl...
bool contains_row_dof(const scoped_index &xbase_id, const scoped_index &xfiber_id) const
True if xother_id is the index of a dof in the row dofs part of the schema defined by this...
bool contains_row_dof(pod_index_type xbase_id, pod_index_type xfiber_id) const
True if xother_id is the index of a dof in the row dofs part of the schema defined by this...
bool contains_row_dof(pod_index_type xother_id) const
True if xother_id is the index of a dof in the row dofs part of the schema defined by this...
bool contains_dof(const schema_poset_member &xother, bool xin_table_dofs) const
True if xother is a dof in the table dofs part (xin_table_dofs == true) or in the row dofs part (xin_...
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 a handle of type schema_poset_mem...
bool contains_dof(const schema_poset_member &xother, bool xin_table_dofs) const
True if xother is a dof in the table dofs part (xin_table_dofs == true) or in the row dofs part (xin_...
int_type pod_index_type
The plain old data index type.
SHEAF_DLL_SPEC std::ostream & operator<<(std::ostream &os, const dof_descriptor_array &p)
Insert dof_descriptor_array& p into ostream& os.
Namespace for the sheaves component of the sheaf system.
A client handle for a poset member which has been prepared for use as a schema for a section space...
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.
virtual size_type offset(pod_index_type xdof_id, bool xis_table_dof) const
The offset for the table dof (xis_table_dof true) or row dof referred to by xdof_id in the schema def...
An abstract client handle for a member of a poset.
bool contains_table_dof(const scoped_index &xbase_id, const scoped_index &xfiber_id) const
True if xother_id is the index of a dof in the table dofs part of the schema defined by this...
bool contains_table_dof(const scoped_index &xother_id) const
True if xother_id is the index of a dof in the table dofs part of the schema defined by this...
Namespace for the fiber_bundles component of the sheaf system.
bool contains_table_dof(pod_index_type xother_id) const
True if xother_id is the index of a dof in the table dofs part of the schema defined by this...
A client handle for a poset member which has been prepared for use as a schema.
A client handle for an unrestricted member of a poset. A total_poset_member is guaranteed not to be r...
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...
A description for a section representation scheme.