21 #ifndef INDEX_SPACE_INTERVAL_ITERATOR_H 22 #define INDEX_SPACE_INTERVAL_ITERATOR_H 24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 29 #include "SheafSystem/any.h" 33 #include "SheafSystem/pod_types.h" 39 class hub_index_space_handle;
40 class index_space_interval;
41 class index_space_family;
42 class index_space_handle;
43 class index_space_iterator;
95 bool only_persistent()
const;
110 bool is_done()
const;
120 pod_type index()
const;
152 bool is_attached()
const;
209 pod_type begin()
const;
214 pod_type end()
const;
219 bool contains(pod_type xid)
const;
224 bool contains_hub(pod_type xid)
const;
229 bool contains_unglued_hub(pod_type xid)
const;
234 bool contains_glued_hub(pod_type xid)
const;
240 bool contains(pod_type xid, pod_type xhub_id)
const;
245 pod_type pod(pod_type xid)
const;
250 pod_type hub_pod(pod_type xid)
const;
255 pod_type unglued_hub_pod(pod_type xid)
const;
260 pod_type glued_hub_pod(pod_type xid)
const;
265 bool is_persistent()
const;
346 virtual bool is_ancestor_of(
const any *other)
const;
351 virtual bool invariant()
const;
367 #endif // ifndef INDEX_SPACE_INTERVAL_ITERATOR_H size_type _ub
The upper bound of the iteration.
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...
An implementation of class sum_index_space_handle that has a primary sum id space state...
bool _only_persistent
True if only the persistent id spaces are iterated over.
An abstract iterator over the id spaces of a interval.
Abstract base class with useful features for all objects.
An implemenation of index_space_collection that adds an interface for the interval [begin()...
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.
An abstract iterator over the id spaces of a interval.
bool operator==(const singly_linked_list< T, Alloc > &lhs, const singly_linked_list< T, Alloc > &rhs)
Checks if the contents of lhs and rhs are equal, that is, whether lhs.size() == rhs.size() and each element in lhs compares equal with the element in rhs at the same position.
int_type pod_index_type
The plain old data index type.
Namespace for the sheaves component of the sheaf system.
index_space_interval_iterator()
Default constructor; disabled.
Factory and container for a family of id spaces.
index_space_interval * _host
The host id space interval being iterated over.
pod_type _local_id
The local id of the current id space in the iteration.