21 #ifndef INDEX_SPACE_FAMILY_ITERATOR_H 22 #define INDEX_SPACE_FAMILY_ITERATOR_H 24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 29 #include "SheafSystem/any.h" 32 #ifndef INDEX_SPACE_FAMILY_H 33 #include "SheafSystem/index_space_family.h" 36 #ifndef INDEX_SPACE_INTERVAL_ITERATOR_H 37 #include "SheafSystem/index_space_interval_iterator.h" 41 #include "SheafSystem/pod_types.h" 70 bool xonly_persistent);
96 bool only_persistent()
const;
106 bool is_done()
const;
121 pod_type index()
const;
126 std::string name()
const;
143 void next_id_space();
200 pod_type begin()
const;
205 pod_type end()
const;
210 bool contains(pod_type xid)
const;
215 bool contains_hub(pod_type xid)
const;
220 bool contains_unglued_hub(pod_type xid)
const;
225 bool contains_glued_hub(pod_type xid)
const;
231 bool contains(pod_type xid, pod_type xhub_id)
const;
236 pod_type pod(pod_type xid)
const;
241 pod_type hub_pod(pod_type xid)
const;
246 pod_type unglued_hub_pod(pod_type xid)
const;
251 pod_type glued_hub_pod(pod_type xid)
const;
256 bool is_persistent()
const;
337 virtual bool is_ancestor_of(
const any *other)
const;
342 virtual bool invariant()
const;
358 #endif // ifndef INDEX_SPACE_FAMILY_ITERATOR_H const index_space_family * _id_spaces
The index space family.
interval_map_type::const_iterator const_interval_iterator_type
Type of interval map iterator.
An abstract iterator over the ids of an id space.
index_space_family::interval_map_type interval_map_type
Type of interval map.
index_space_family_iterator()
Default constructor; disabled.
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...
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()...
std::map< pod_type, index_space_interval * > interval_map_type
Type of interval map.
unsigned long size_type
An unsigned integral type used to represent sizes and capacities.
An abstract iterator over the id spaces of a interval.
index_space_interval_iterator _id_space_itr
The iterator over id spaces for the current id space 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.
const_interval_iterator_type _interval_itr
The stl iterator over the intervals.
int_type pod_index_type
The plain old data index type.
Namespace for the sheaves component of the sheaf system.
Factory and container for a family of id spaces.
pod_index_type pod_type
The "plain old data" index type for this.