21 #include "SheafSystem/reserved_primary_index_space_handle.h" 22 #include "SheafSystem/assert_contract.h" 23 #include "SheafSystem/index_space_family.h" 24 #include "SheafSystem/reserved_primary_index_space_state.h" 61 ensure((*
this) == xother);
74 require(xid_spaces.
contains(xindex));
86 ensure(
index() == xindex);
95 const std::string& xname)
111 ensure(
name() == xname);
133 ensure((*
this) == xother);
171 ensure(&
state() == &xstate);
193 ensure(is_basic_query);
215 ensure(is_basic_query);
293 ensure(is_basic_query);
312 ensure(is_basic_query);
331 ensure(is_basic_query);
375 ensure((*
this) == xother);
396 ensure(*result == *
this);
430 ensure(is_basic_query);
virtual bool is_ancestor_of(const any *other) const
Conformance test; true if other conforms to this.
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.
pod_type new_id()
Allocate the next available id in this space. Returns the allocated id in the hub id space...
A computed implementation of abstract class primary_index_space_state. This representation is used fo...
pod_type new_hub_id(pod_type xhub_id)
Allocate the hub id xhub_id in this space. Returns the allocated id in the hub id space...
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.
reserved_primary_index_space_handle()
Default constructor.
An implementation of class explicit_index_space_handle that has a primary id space state...
Abstract base class with useful features for all objects.
bool is_next_id_available() const
True if and only if the next id is available for allocation.
std::string name() const
Name of this space.
reserved_primary_index_space_handle & operator=(const reserved_primary_index_space_handle &xother)
Assignment operator; attach this handle to the state of xother. synonym for attach_to(xother).
pod_index_type pod_type
The "plain old data" index type for this.
bool is_hub_id_available(pod_type xhub_id) const
True if and only if the hub id xhub_id is available for allocation.
reserved_primary_index_space_state & state()
The reserved primary id space state (mutable version).
virtual bool is_attached() const
True if this handle is attached to a state.
unsigned long size_type
An unsigned integral type used to represent sizes and capacities.
pod_type new_id()
Allocate the next available id in this space. Returns the allocated id in the hub id space...
pod_type new_hub_id(pod_type xhub_id)
Allocate the hub id xhub_id in this space. Returns the allocated id in the hub id space...
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...
bool is_next_id_available() const
True if and only if the next id is available for allocation.
bool invariant_check() const
True if invariant checking is enabled.
virtual bool invariant() const
Class invariant.
An implementation of class primary_index_space_handle that has a reserved primary id space state...
pod_type next_hub_id() const
The next available hub id for allocation.
bool contains(pod_type xid) const
True, if this contains an id space with id xid.
virtual reserved_primary_index_space_handle * clone() const
Virtual constructor, makes a new instance of the same type as this. If the handle is attached...
virtual size_type ct() const
The number of members.
virtual ~reserved_primary_index_space_handle()
Destructor.
Factory and container for a family of id spaces.
bool is_hub_id_available(pod_type xhub_id) const
True if and only if the hub id xhub_id is available for allocation.
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.
pod_type next_hub_id() const
The next available hub id for allocation.