21 #ifndef FORWARDING_INDEX_SPACE_HANDLE_H 22 #define FORWARDING_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 index_space_family;
44 friend class forwarding_index_space_state;
73 const std::string& xname);
154 virtual pod_type begin()
const;
159 virtual pod_type end()
const;
166 virtual bool contains(pod_type xid)
const;
171 virtual bool contains_unglued_hub(pod_type xid)
const;
176 virtual bool contains_glued_hub(pod_type xid)
const;
182 virtual bool contains(pod_type xid, pod_type xhub_id)
const;
189 virtual pod_type pod(pod_type xid)
const;
194 virtual pod_type unglued_hub_pod(pod_type xid)
const;
200 virtual pod_type glued_hub_pod(pod_type xid)
const;
205 virtual bool is_persistent()
const;
230 virtual void delete_product_structure();
247 virtual bool has_product_structure()
const;
271 virtual pod_type index()
const;
276 virtual bool is_attached()
const;
283 virtual void attach_to(pod_type xindex);
295 virtual void detach();
304 pod_type xlocal_id)
const;
328 virtual void release_id_space()
const;
334 virtual bool allocated_id_space()
const;
383 virtual bool is_ancestor_of(
const any *other)
const;
388 virtual bool invariant()
const;
404 #endif // ifndef FORWARDING_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).
pod_type _local_id
The id of this space in the local scope of the host collection.
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 implementation of class index_space_handle for an forwarding_index_space_state.
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.
const index_space_collection * _host
The host collection.
Namespace for the sheaves component of the sheaf system.
Factory and container for a family of id spaces.