24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 28 #ifndef SCATTERED_INSERTION_INDEX_SPACE_HANDLE_H 29 #include "SheafSystem/scattered_insertion_index_space_handle.h" 32 #ifndef STD_UNORDERED_SET_H 33 #include "SheafSystem/std_unordered_set.h" 36 #ifndef POSET_COMPONENT_H 37 #include "SheafSystem/poset_component.h" 41 #include "SheafSystem/std_string.h" 44 #ifndef STD_IOSTREAM_H 45 #include "SheafSystem/std_iostream.h" 48 #ifndef SUBPOSET_STATE_H 49 #include "SheafSystem/subposet_state.h" 53 #include "SheafSystem/zn_to_bool.h" 59 template <
typename T>
class block;
60 template <
typename T>
class depth_first_itr;
61 class abstract_poset_member;
62 class depth_first_iterator;
63 class dof_descriptor_array;
67 class poset_member_iterator;
68 class primitives_poset_schema;
69 class section_space_schema_subposet;
71 class subposet_member_iterator;
98 friend class section_space_schema_subposet;
134 bool xauto_access =
true);
183 virtual void new_state(
bool xinitialize =
true,
bool xauto_access =
true);
203 bool xinitialize =
true,
204 bool xauto_access =
true);
212 bool xauto_access =
true);
220 bool xauto_access =
true);
254 virtual bool has_id_space()
const;
259 bool is_persistent()
const;
264 void put_is_persistent(
bool xvalue);
271 virtual std::string id_space_name()
const;
276 void attach_id_space();
293 virtual bool is_dof_subposet()
const;
298 virtual void put_is_dof_subposet(
bool xis_dof_subposet);
304 virtual int dof_ct()
const;
310 virtual void put_dof_ct(
int xct);
339 int member_ct()
const;
359 bool contains_member(
const scoped_index& xmbr_id)
const;
364 bool contains_member(
const std::string& xname)
const;
453 bool is_empty()
const;
463 bool is_equal_to(
const subposet* other)
const;
468 void make_equal_to(
const subposet* other);
473 bool includes(
const subposet* other)
const;
488 void p_union_sa(
const subposet* other);
503 void p_intersection_sa(
const subposet* other);
518 void p_minus_sa(
const subposet* other);
552 subposet* extremals(
bool xmaximals);
557 void extremals_pa(
bool xmaximals,
subposet* result);
587 void down_pa(
subposet* result)
const;
625 void maximal_jims_pa(
subposet* result);
637 void minimal_jims_pa(
subposet* result);
739 int xversion = CURRENT_HOST_VERSION)
const;
747 int xversion = CURRENT_HOST_VERSION)
const;
769 const std::string& xname)
const;
775 const std::string& xname,
804 virtual std::string name(
bool xauto_access)
const;
814 virtual size_type name_ct(
bool xauto_access)
const;
819 virtual bool has_name(
const std::string& xname,
bool xauto_access =
false)
const;
824 virtual void put_name(
const std::string& xname,
bool xunique,
bool xauto_access);
829 virtual void delete_name(
const std::string& xname,
bool xauto_access =
false);
834 virtual void delete_all_names(
bool xauto_access =
false);
853 virtual void delete_state(
bool xauto_access =
false);
872 virtual bool is_ancestor_of(
const any* other)
const;
883 virtual bool invariant()
const;
902 void to_stream(std::ostream& os = std::cout);
907 std::string to_string();
938 #endif // ifndef SUBPOSET_H
A client handle for a subposet.
A client handle for a general, abstract partially order set.
A wrapper/adapter for the subposet names record. Intended for transferring subposet name data between...
unsigned int word_t
The type of the private, internal representation used for bits; Unsigned int is the type used in the ...
Features shared by poset_member and subposet. Subposet and poset_member objects can be attached...
Dperecated. Use postorder_itr. Specialization of the filtered depth-first iterator which exposes the ...
An implementation of class sum_index_space_handle that has a primary sum id space state...
Abstract base class with useful features for all objects.
A map from Zn (the integers mod n) to bools. A characteristic function used to represent subsets of Z...
The general depth-first iterator over the intersection of a poset member anchor's whole with its down...
A client handle for a restrictable member of a poset. A poset_member is a poset_member which can ...
An index within the external ("client") scope of a given id space.
SHEAF_DLL_SPEC size_t deep_size(const dof_descriptor_array &xp, bool xinclude_shallow=true)
The deep size of the referenced object of type dof_descriptor_array.
A wrapper/adapter for the id space names record. Intended for transferring id map data between the ke...
unsigned long size_type
An unsigned integral type used to represent sizes and capacities.
The schema poset for the primitives.
An array for storing structs which describe the size, alignment, and offset of dofs within a dof tupl...
Iterates over the subset of Zn defined by the characteristic function host().
int_type pod_index_type
The plain old data index type.
std::string name() const
OBSOLETE: use name(bool xauto_access). A name for this.
SHEAF_DLL_SPEC std::ostream & operator<<(std::ostream &os, const dof_descriptor_array &p)
Insert dof_descriptor_array& p into ostream& os.
A handle for a scattered_insertion_index_space_state.
Namespace for the sheaves component of the sheaf system.
An abstract client handle for a member of a poset.
Agent responsible for importing and exporting posets from an external name space which resides on dis...