#include <yat/utility/SegmentSet.h>
Public Types | |
typedef std::set< Segment< T, Compare >, SegmentCompare< T, Compare > >::key_type | key_type |
key type | |
typedef std::set< Segment< T, Compare >, SegmentCompare< T, Compare > >::value_type | value_type |
value type | |
typedef key_type::value_type | element_type |
element type | |
typedef std::set< Segment< T, Compare >, SegmentCompare< T, Compare > >::key_compare | key_compare |
key compare | |
typedef std::set< Segment< T, Compare >, SegmentCompare< T, Compare > >::value_compare | value_compare |
calue compare | |
typedef Compare | element_compare |
element compare | |
typedef std::set< Segment< T, Compare >, SegmentCompare< T, Compare > >::pointer | pointer |
pointer | |
typedef std::set< Segment< T, Compare >, SegmentCompare< T, Compare > >::reference | reference |
reference | |
typedef std::set< Segment< T, Compare >, SegmentCompare< T, Compare > >::const_reference | const_reference |
const reference | |
typedef std::set< Segment< T, Compare >, SegmentCompare< T, Compare > >::size_type | size_type |
size_type | |
typedef std::set< Segment< T, Compare >, SegmentCompare< T, Compare > >::difference_type | difference_type |
difference_type | |
typedef std::set< Segment< T, Compare >, SegmentCompare< T, Compare > >::iterator | iterator |
iterator | |
typedef std::set< Segment< T, Compare >, SegmentCompare< T, Compare > >::const_iterator | const_iterator |
const_iterator | |
Public Member Functions | |
SegmentSet (void) | |
creates a set with no segments | |
me::const_iterator | insert_merge (const typename me::value_type &segment) |
const_iterator | begin (void) const |
iterator | begin (void) |
void | clear (void) |
erases all segments | |
size_type | count (const element_type &element) const |
bool | empty (void) const |
const_iterator | end (void) const |
iterator | end (void) |
const_iterator | find (const element_type &vt) const |
std::pair< iterator, bool > | insert (const value_type &segment) |
insert value | |
key_compare | key_comp (void) const |
iterator | lower_bound (const element_type &element) |
const_iterator | lower_bound (const element_type &element) const |
size_type | size (void) const |
iterator | upper_bound (const element_type &element) |
const_iterator | upper_bound (const element_type &element) const |
value_compare | value_comp (void) const |
Protected Member Functions | |
std::pair< iterator, iterator > | overlap_range (const key_type &segment) |
Protected Attributes | |
std::set< Segment< T, Compare > , SegmentCompare< T, Compare > > | container_ |
underlying container |
A container that holds a set of Segment. The Segments cannot overlap.
iterator theplu::yat::utility::SegmentTree< std::set< Segment< T, Compare >, SegmentCompare< T, Compare > > , Compare , Identity< const Segment< T, Compare > & > >::begin | ( | void | ) | [inline, inherited] |
const_iterator theplu::yat::utility::SegmentTree< std::set< Segment< T, Compare >, SegmentCompare< T, Compare > > , Compare , Identity< const Segment< T, Compare > & > >::begin | ( | void | ) | const [inline, inherited] |
size_type theplu::yat::utility::SegmentTree< std::set< Segment< T, Compare >, SegmentCompare< T, Compare > > , Compare , Identity< const Segment< T, Compare > & > >::count | ( | const element_type & | element | ) | const [inherited] |
bool theplu::yat::utility::SegmentTree< std::set< Segment< T, Compare >, SegmentCompare< T, Compare > > , Compare , Identity< const Segment< T, Compare > & > >::empty | ( | void | ) | const [inline, inherited] |
true
iterator theplu::yat::utility::SegmentTree< std::set< Segment< T, Compare >, SegmentCompare< T, Compare > > , Compare , Identity< const Segment< T, Compare > & > >::end | ( | void | ) | [inline, inherited] |
const_iterator theplu::yat::utility::SegmentTree< std::set< Segment< T, Compare >, SegmentCompare< T, Compare > > , Compare , Identity< const Segment< T, Compare > & > >::end | ( | void | ) | const [inline, inherited] |
const_iterator theplu::yat::utility::SegmentTree< std::set< Segment< T, Compare >, SegmentCompare< T, Compare > > , Compare , Identity< const Segment< T, Compare > & > >::find | ( | const element_type & | vt | ) | const [inherited] |
std::pair<iterator, bool> theplu::yat::utility::SegmentTree< std::set< Segment< T, Compare >, SegmentCompare< T, Compare > > , Compare , Identity< const Segment< T, Compare > & > >::insert | ( | const value_type & | segment | ) | [inherited] |
insert value
if segment does not overlap with any segment in set, insert segment; otherwise do nothing.
me::const_iterator theplu::yat::utility::SegmentSet< T, Compare >::insert_merge | ( | const typename me::value_type & | segment | ) | [inline] |
insert segment into set. If there is no gap between segment and neighboring segments the segments are merged.
key_compare theplu::yat::utility::SegmentTree< std::set< Segment< T, Compare >, SegmentCompare< T, Compare > > , Compare , Identity< const Segment< T, Compare > & > >::key_comp | ( | void | ) | const [inline, inherited] |
const_iterator theplu::yat::utility::SegmentTree< std::set< Segment< T, Compare >, SegmentCompare< T, Compare > > , Compare , Identity< const Segment< T, Compare > & > >::lower_bound | ( | const element_type & | element | ) | const [inherited] |
iterator theplu::yat::utility::SegmentTree< std::set< Segment< T, Compare >, SegmentCompare< T, Compare > > , Compare , Identity< const Segment< T, Compare > & > >::lower_bound | ( | const element_type & | element | ) | [inherited] |
std::pair<iterator, iterator> theplu::yat::utility::SegmentTree< std::set< Segment< T, Compare >, SegmentCompare< T, Compare > > , Compare , Identity< const Segment< T, Compare > & > >::overlap_range | ( | const key_type & | segment | ) | [inline, protected, inherited] |
pair.first first (smallest) segment that overlaps with segment and pair.second first (smallest) segment that does not overlap with segment.
size_type theplu::yat::utility::SegmentTree< std::set< Segment< T, Compare >, SegmentCompare< T, Compare > > , Compare , Identity< const Segment< T, Compare > & > >::size | ( | void | ) | const [inline, inherited] |
const_iterator theplu::yat::utility::SegmentTree< std::set< Segment< T, Compare >, SegmentCompare< T, Compare > > , Compare , Identity< const Segment< T, Compare > & > >::upper_bound | ( | const element_type & | element | ) | const [inherited] |
iterator theplu::yat::utility::SegmentTree< std::set< Segment< T, Compare >, SegmentCompare< T, Compare > > , Compare , Identity< const Segment< T, Compare > & > >::upper_bound | ( | const element_type & | element | ) | [inherited] |
value_compare theplu::yat::utility::SegmentTree< std::set< Segment< T, Compare >, SegmentCompare< T, Compare > > , Compare , Identity< const Segment< T, Compare > & > >::value_comp | ( | void | ) | const [inline, inherited] |