21 #ifndef EXPLICIT_INDEX_SPACE_HANDLE_H 22 #define EXPLICIT_INDEX_SPACE_HANDLE_H 24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 28 #ifndef INDEX_SPACE_HANDLE_H 29 #include "SheafSystem/index_space_handle.h" 35 class explicit_index_space_state;
36 class index_space_family;
74 const std::string& xname);
172 virtual bool contains(
pod_type xid)
const;
177 virtual bool contains_unglued_hub(
pod_type xid)
const;
182 virtual bool contains_glued_hub(
pod_type xid)
const;
211 virtual bool is_persistent()
const;
236 virtual void delete_product_structure();
253 virtual bool has_product_structure()
const;
282 virtual bool is_attached()
const;
289 virtual void attach_to(
pod_type xindex);
301 virtual void detach();
358 virtual void release_id_space()
const;
364 virtual bool allocated_id_space()
const;
413 virtual bool is_ancestor_of(
const any *other)
const;
418 virtual bool invariant()
const;
434 #endif // ifndef EXPLICIT_INDEX_SPACE_HANDLE_H An abstract class that defines the product structure for an id space.
virtual const abstract_product_structure & product_structure() const =0
The product structure for this id space (const version).
An abstract iterator over the ids of an id space.
An abstract handle to a space of alternate integer identifiers (aliases) for a subset of a hub set of...
virtual bool contains(pod_type xid) const =0
True if this space contains id xid.
Abstract base class with useful features for all objects.
An immutable abstract state for a space of alternate integer identifiers (aliases) for a subset of th...
An implementation of class index_space_handle for an explicit_index_space_state.
pod_index_type pod_type
The "plain old data" index type for this.
unsigned long size_type
An unsigned integral type used to represent sizes and capacities.
bool conforms_to_state(const index_space_family &xid_spaces, pod_type xindex) const
True if this conforms to the handle type required by the state with index xindex in the id space fami...
A collection of id space states. This is a virtual class with provides an interface for accessing the...
void attach_to(const index_space_family &xid_spaces, pod_type xindex)
Attach to the state with index xindex in the id space family xid_spaces.
virtual pod_type pod(pod_type xid) const =0
The pod index in this space equivalent to xid in the hub id space.
Namespace for the sheaves component of the sheaf system.
Factory and container for a family of id spaces.
explicit_index_space_state * _state
The explicit state.