19 #ifndef LUNCHBOX_UNORDEREDINTERVALSET_H
20 #define LUNCHBOX_UNORDEREDINTERVALSET_H
47 void insert(
const T& element );
50 void insert(
const T& startElement,
const T& endElement );
56 void erase(
const T& element );
59 void erase(
const T& startElement,
const T& endElement );
68 bool exists(
const T& element )
const;
74 const_iterator
find(
const T& element )
const;
77 const_iterator
begin()
const;
80 const_iterator
end()
const;
90 typedef std::pair< T, bool > Edge;
94 bool operator()(
const Edge & p1,
const Edge & p2 )
const
96 if( p1.first < p2.first )
98 if( p1.first == p2.first )
99 return p1.second && !p2.second;
106 typedef std::multiset< Edge, EdgeCompare > EdgeSet;
112 #include "unorderedIntervalSet.ipp"
114 #endif // LUNCHBOX_UNORDEREDINTERVALSET_H
void erase(const T &element)
Remove the given element.
const_iterator find(const T &element) const
Basic type definitions not provided by the operating system.
const_iterator begin() const
void clear()
Remove all stored elements.
void insert(const T &element)
Insert a new element.
A container to store intervals of elements efficently.
bool exists(const T &element) const
UnorderedIntervalSet()
Construct a new interval set.
const_iterator end() const
void swap(UnorderedIntervalSet &rhs)
Swap this container with another one.
Abstraction layer and common utilities for multi-threaded programming.