21 #ifndef REFINABLE_POSET_H 22 #define REFINABLE_POSET_H 24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 29 #include "SheafSystem/poset.h" 35 class namespace_poset;
45 friend class block_poset_builder;
71 void put_version(
int xversion);
76 subposet& coarsest_common_refinement();
81 const subposet& coarsest_common_refinement()
const;
86 subposet& coarsest_common_refinement_jims();
91 const subposet& coarsest_common_refinement_jims()
const;
96 virtual void begin_refine_mode(
bool xauto_access =
true);
102 virtual void end_refine_mode(
bool xensure_lattice_invariant =
true,
103 bool xauto_access =
true);
135 void new_version(
int xversion);
154 static bool make_prototype();
174 virtual const char* class_name()
const;
312 bool xcopy_dof_map =
false)
346 virtual void new_member_interval(
const scoped_index& xindex,
347 const std::string& xinterval_type,
365 virtual bool is_ancestor_of(
const any* other)
const;
376 virtual bool invariant()
const;
387 #endif // REFINABLE_POSET_H A client handle for a subposet.
The default name space; a poset which contains other posets as members.
poset_type
Identifiers for poset types.
A client handle for a general, abstract partially order set.
Abstract traverser (internal iterator) for poset.
A path defined by a poset name and a member name separated by a forward slash ('/'). For example: "cell_definitions/triangle".
void new_member(const scoped_index &xindex, bool xis_jim, poset_dof_map *xdof_map=0, bool xcopy_dof_map=false)
Create a disconnected member with index xindex and is_jim == xis_jim. If xdof_map != 0...
Features shared by poset_member and subposet. Subposet and poset_member objects can be attached...
refinable_poset & operator=(const poset_state_handle &xother)
Assignment operator; disabled.
The general, abstract map from dof ids to dof values.
virtual pod_index_type new_member(bool xis_jim, pod_index_type xtuple_hub_id)
Create a disconnected member with is_jim == xis_jim and the dof tuple identified by hub id xtuple_hub...
Abstract base class with useful features for all objects.
A client handle for a mutable partially ordered set.
A client handle for a partially order set that can be refined, that is, a jim can be converted to a j...
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.
void new_member(bool xis_jim, poset_dof_map *xdof_map, bool xcopy_dof_map, scoped_index &result)
Create a disconnected member with is_jim == xis_jim. If xdof_map != 0, the new member uses it for dof...
int_type pod_index_type
The plain old data index type.
void new_member(bool xis_jim, const scoped_index &xdof_tuple_id, scoped_index &result)
Create a disconnected member with is_jim == xis_jim and the dof tuple identified by xdof_tuple_id...
virtual pod_index_type new_member_interval(const std::string &xinterval_type, size_type xsize, const block< pod_index_type > &xdof_tuple_ids, const block< pod_index_type > &xdata)
Create a disconnected member interval of type xinterval_type with size xsize, dof tuple ids xdof_tupl...
Namespace for the sheaves component of the sheaf system.
virtual pod_index_type new_member_interval(const std::string &xinterval_type, size_type xsize, const block< pod_index_type > &xtuple_hub_ids, const block< pod_index_type > &xdata)
Create a disconnected member interval of type xinterval_type with size xsize, dof tuple ids xtuple_hu...
An abstract client handle for a member of a poset.
void new_member_interval(const std::string &xinterval_type, size_type xsize, const block< pod_index_type > &xdof_tuple_ids, const block< pod_index_type > &xdata, scoped_index &result)
Create a disconnected member interval of type xinterval_type with size xsize, dof tuple ids xdof_tupl...
Traverser to ensure validity of order relation.
pod_index_type new_member(bool xis_jim, poset_dof_map *xdof_map=0, bool xcopy_dof_map=false)
Create a disconnected member with is_jim == xis_jim. If xdof_map != 0, the new member uses it for dof...
refinable_poset(const refinable_poset &xother)
Copy constructor; disabled.
Agent responsible for importing and exporting posets from an external name space which resides on dis...
pod_type hub_pod() const
The pod value of this mapped to the unglued hub id space.