21 #ifndef INTERVAL_SET_ITERATOR_H 22 #define INTERVAL_SET_ITERATOR_H 24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 29 #include "SheafSystem/any.h" 32 #ifndef INTERVAL_SET_H 33 #include "SheafSystem/interval_set.h" 82 bool is_member_iterator()
const;
87 pod_type item()
const;
114 void next_interval();
119 bool is_member_interval()
const;
175 virtual bool is_ancestor_of(
const any *other)
const;
196 virtual bool invariant()
const;
212 #endif // ifndef INTERVAL_SET_ITERATOR_H An iterator over the integers in an interval_set.
Set of integers optimized for when the integers are concentrated in closed intervals.
pod_type _ub
The upper bound of the current interval.
pod_index_type pod_type
The "plain old data" index type for this set.
interval_set_iterator()
Default constructor; disabled.
std::map< pod_type, bool > map_type
The type of the interval map.
interval_set::map_type map_type
Type of the interval map.
const map_type * _map
The interval map.
Abstract base class with useful features for all objects.
map_iterator_type _map_itr
The interval map iterator.
const interval_set * _set
The interval_set this is iterating over.
interval_set::map_iterator_type map_iterator_type
Type of the interval map iterator.
bool _is_member_iterator
True, if iterating over the members of the set.
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.
interval_set::pod_type pod_type
The "plain old data" index type for this.
Namespace for the sheaves component of the sheaf system.
pod_type _item
The current integer in the iteration.
map_type::const_iterator map_iterator_type
The type of the interval map iterator.