21 #include "SheafSystem/scattered_insertion_index_space_handle.h" 22 #include "SheafSystem/assert_contract.h" 23 #include "SheafSystem/index_space_family.h" 24 #include "SheafSystem/index_space_iterator.h" 25 #include "SheafSystem/scattered_insertion_index_space_state.h" 26 #include "SheafSystem/scoped_index.h" 63 ensure((*
this) == xother);
76 require(xid_spaces.
contains(xindex));
88 ensure(
index() == xindex);
100 require(xid_spaces.
contains(xname));
112 ensure(
name() == xname);
134 ensure((*
this) == xother);
174 ensure(is_basic_query);
196 ensure(is_basic_query);
260 ensure(
ct() == old_ct + 1);
261 ensure(
ct() > 1 ?
begin() <= old_begin :
true);
262 ensure(
begin() <= xid);
263 ensure(
ct() > 1 ?
end() >= old_end :
true);
318 ensure((*
this) == xother);
339 ensure(*result == *
this);
383 ensure(is_basic_query);
467 size_t result = xinclude_shallow ?
sizeof(xn) : 0;
scattered_insertion_index_space_state & state()
The mutable id space state (mutable version).
virtual bool invariant() const
Class invariant.
virtual void attach_to(pod_type xindex)
Attach to the state with index xindex in the id space family id_spaces().
virtual pod_type index() const
Index of this space.
bool in_scope() const
True if and only if scope() contains an entry for pod().
bool contains_hub(pod_type xid) const
True if this space contains an id equivalent to xid in the unglued hub id space. synonym for contains...
virtual bool invariant() const
Class invariant.
scattered_insertion_index_space_handle & operator=(const scattered_insertion_index_space_handle &xother)
Assignment operator; attach this handle to the state of xother. synonym for attach_to(xother).
An implementation of class explicit_index_space_state that supports either gathered or scattered inse...
An abstract handle to a space of alternate integer identifiers (aliases) for a subset of a hub set of...
virtual const index_space_family & id_spaces() const
The id space family for this (const version).
virtual bool is_attached() const =0
True if this handle is attached to a state.
const hub_index_space_handle & hub_id_space() const
The hub id space.
Abstract base class with useful features for all objects.
scattered_insertion_index_space_handle()
Default constructor.
std::string name() const
Name of this space.
pod_index_type pod_type
The "plain old data" index type for this.
An index within the external ("client") scope of a given id space.
virtual bool is_attached() const
True if this handle is attached to a state.
A handle for a gathered_insertion_index_space_state.
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.
unsigned long size_type
An unsigned integral type used to represent sizes and capacities.
void insert(pod_type xid, const scoped_index &xhub_id)
Make id xid in this id space equivalent to xhub_id in the hub id space. synonym for insert(xid...
void insert(pod_type xid, const scoped_index &xhub_id)
Make id xid in this id space equivalent to xhub_id in the hub id space. synonym for insert(xid...
A collection of id space states. This is a virtual class with provides an interface for accessing the...
void disable_invariant_check() const
Disable invariant check. Intended for preventing recursive calls to invariant and for suppressing inv...
virtual bool contains(pod_type xlocal_id) const =0
True if this collection contains the id space with local id xlocal_id.
virtual bool conforms_to_state(const index_space_collection &xhost, pod_type xlocal_id) const
True if this conforms to the handle type required by the state with local scope id xlocal_id in the h...
virtual pod_type begin() const
Beginning id of this space.
bool invariant_check() const
True if invariant checking is enabled.
virtual ~scattered_insertion_index_space_handle()
Destructor.
A handle for a scattered_insertion_index_space_state.
bool contains(pod_type xid) const
True, if this contains an id space with id xid.
virtual pod_type end() const
Ending id of this space.
virtual bool is_ancestor_of(const any *other) const
Conformance test; true if other conforms to this.
virtual size_type ct() const
The number of members.
Factory and container for a family of id spaces.
virtual scattered_insertion_index_space_handle * clone() const
Virtual constructor, makes a new instance of the same type as this. If the handle is attached...
SHEAF_DLL_SPEC bool is_valid(pod_index_type xpod_index)
True if an only if xpod_index is valid.
bool is_same_type(const any *other) const
True if other is the same type as this.
void enable_invariant_check() const
Enable invariant checking.
virtual bool contains(pod_type xid) const
True if this space contains id xid.
pod_type hub_pod() const
The pod value of this mapped to the unglued hub id space.