Implements a set as a set of intervals (base class). More...
Public Types | |
typedef Alloc< interval_type > | allocator_type |
The allocator type of the set. | |
typedef ICL_IMPL_SPACE::set < DomainT, domain_compare, Alloc< DomainT > > | atomized_type |
The atomized type representing the corresponding container of elements. | |
typedef DomainT | codomain_type |
The codomaintype is the same as domain_type. | |
typedef ImplSetT::const_iterator | const_iterator |
const_iterator for iteration over intervals | |
typedef ImplSetT::const_pointer | const_pointer |
const pointer type | |
typedef ImplSetT::const_reference | const_reference |
const reference type | |
typedef ImplSetT::const_reverse_iterator | const_reverse_iterator |
const_iterator for iteration over intervals | |
typedef ImplSetT::key_type | data_type |
data type of the implementing container | |
typedef difference_type_of < domain_type >::type | difference_type |
The difference type of an interval which is sometimes different form the data_type. | |
typedef Alloc< DomainT > | domain_allocator_type |
allocator type of the corresponding element set | |
typedef DomainT | domain_type |
The domain type of the set. | |
typedef boost::icl::element_iterator < const_iterator > | element_const_iterator |
element const iterator: Depreciated, see documentation. | |
typedef boost::icl::element_iterator < const_reverse_iterator > | element_const_reverse_iterator |
element const reverse iterator: Depreciated, see documentation. | |
typedef boost::icl::element_iterator < iterator > | element_iterator |
element iterator: Depreciated, see documentation. | |
typedef boost::icl::element_iterator < reverse_iterator > | element_reverse_iterator |
element reverse iterator: Depreciated, see documentation. | |
typedef DomainT | element_type |
The element type of the set. | |
typedef ICL_IMPL_SPACE::set < interval_type, key_compare, allocator_type > | ImplSetT |
Container type for the implementation. | |
typedef exclusive_less_than < interval_type > | interval_compare |
Comparison functor for intervals. | |
typedef ImplSetT::iterator | iterator |
iterator for iteration over intervals | |
typedef exclusive_less_than < interval_type > | key_compare |
Comparison functor for keys. | |
typedef ImplSetT::key_type | key_type |
key type of the implementing container | |
typedef type | overloadable_type |
Auxilliary type for overloadresolution. | |
typedef ImplSetT::pointer | pointer |
pointer type | |
typedef ImplSetT::reference | reference |
reference type | |
typedef ImplSetT::reverse_iterator | reverse_iterator |
iterator for reverse iteration over intervals | |
typedef interval_type | segment_type |
The segment type of the set. | |
typedef size_type_of < domain_type >::type | size_type |
The size type of an interval which is mostly std::size_t. | |
typedef SubType | sub_type |
The designated derived or sub_type of this base class. | |
typedef ImplSetT::value_type | value_type |
value type of the implementing container | |
Public Member Functions | |
iterator | add (iterator prior_, const segment_type &inter_val) |
SubType & | add (const segment_type &inter_val) |
SubType & | add (const element_type &key) |
void | clear () |
bool | empty () const |
void | erase (iterator first, iterator past) |
void | erase (iterator position) |
SubType & | erase (const segment_type &inter_val) |
SubType & | erase (const element_type &key) |
const_iterator | find (const element_type &key) const |
SubType & | flip (const segment_type &inter_val) |
SubType & | flip (const element_type &key) |
typedef | ICL_COMPARE_DOMAIN (Compare, DomainT) domain_compare |
Comparison functor for domain values. | |
typedef | ICL_INTERVAL_TYPE (Interval, DomainT, Compare) interval_type |
The interval type of the set. | |
iterator | insert (iterator prior_, const segment_type &inter_val) |
SubType & | insert (const segment_type &inter_val) |
SubType & | insert (const element_type &key) |
interval_base_set (const interval_base_set &src) | |
interval_base_set () | |
std::size_t | iterative_size () const |
interval_base_set & | operator= (const interval_base_set &src) |
size_type | size () const |
SubType & | subtract (const segment_type &inter_val) |
SubType & | subtract (const element_type &key) |
void | swap (interval_base_set &operand) |
Implements a set as a set of intervals (base class).
typedef SubType boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::sub_type |
The designated derived or sub_type of this base class.
typedef type boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::overloadable_type |
Auxilliary type for overloadresolution.
Reimplemented in boost::icl::interval_set< DomainT, Compare, Interval, Alloc >, boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >, and boost::icl::split_interval_set< DomainT, Compare, Interval, Alloc >.
typedef DomainT boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::domain_type |
The domain type of the set.
Reimplemented in boost::icl::interval_set< DomainT, Compare, Interval, Alloc >, boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >, and boost::icl::split_interval_set< DomainT, Compare, Interval, Alloc >.
typedef DomainT boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::codomain_type |
The codomaintype is the same as domain_type.
Reimplemented in boost::icl::interval_set< DomainT, Compare, Interval, Alloc >, boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >, and boost::icl::split_interval_set< DomainT, Compare, Interval, Alloc >.
typedef DomainT boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::element_type |
The element type of the set.
Reimplemented in boost::icl::interval_set< DomainT, Compare, Interval, Alloc >, boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >, and boost::icl::split_interval_set< DomainT, Compare, Interval, Alloc >.
typedef interval_type boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::segment_type |
The segment type of the set.
Reimplemented in boost::icl::interval_set< DomainT, Compare, Interval, Alloc >, boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >, and boost::icl::split_interval_set< DomainT, Compare, Interval, Alloc >.
typedef difference_type_of<domain_type>::type boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::difference_type |
The difference type of an interval which is sometimes different form the data_type.
typedef size_type_of<domain_type>::type boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::size_type |
The size type of an interval which is mostly std::size_t.
typedef exclusive_less_than<interval_type> boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::interval_compare |
Comparison functor for intervals.
Reimplemented in boost::icl::interval_set< DomainT, Compare, Interval, Alloc >, boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >, and boost::icl::split_interval_set< DomainT, Compare, Interval, Alloc >.
typedef exclusive_less_than<interval_type> boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::key_compare |
Comparison functor for keys.
Reimplemented in boost::icl::interval_set< DomainT, Compare, Interval, Alloc >, boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >, and boost::icl::split_interval_set< DomainT, Compare, Interval, Alloc >.
typedef ICL_IMPL_SPACE::set<DomainT,domain_compare,Alloc<DomainT> > boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::atomized_type |
The atomized type representing the corresponding container of elements.
Reimplemented in boost::icl::interval_set< DomainT, Compare, Interval, Alloc >, boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >, and boost::icl::split_interval_set< DomainT, Compare, Interval, Alloc >.
typedef Alloc<interval_type> boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::allocator_type |
The allocator type of the set.
Reimplemented in boost::icl::interval_set< DomainT, Compare, Interval, Alloc >, boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >, and boost::icl::split_interval_set< DomainT, Compare, Interval, Alloc >.
typedef Alloc<DomainT> boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::domain_allocator_type |
allocator type of the corresponding element set
Reimplemented in boost::icl::interval_set< DomainT, Compare, Interval, Alloc >, boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >, and boost::icl::split_interval_set< DomainT, Compare, Interval, Alloc >.
typedef ICL_IMPL_SPACE::set<interval_type,key_compare,allocator_type> boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::ImplSetT |
Container type for the implementation.
Reimplemented in boost::icl::interval_set< DomainT, Compare, Interval, Alloc >, boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >, and boost::icl::split_interval_set< DomainT, Compare, Interval, Alloc >.
typedef ImplSetT::key_type boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::key_type |
key type of the implementing container
Reimplemented in boost::icl::interval_set< DomainT, Compare, Interval, Alloc >, boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >, and boost::icl::split_interval_set< DomainT, Compare, Interval, Alloc >.
typedef ImplSetT::key_type boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::data_type |
data type of the implementing container
Reimplemented in boost::icl::interval_set< DomainT, Compare, Interval, Alloc >, boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >, and boost::icl::split_interval_set< DomainT, Compare, Interval, Alloc >.
typedef ImplSetT::value_type boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::value_type |
value type of the implementing container
Reimplemented in boost::icl::interval_set< DomainT, Compare, Interval, Alloc >, boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >, and boost::icl::split_interval_set< DomainT, Compare, Interval, Alloc >.
typedef ImplSetT::pointer boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::pointer |
pointer type
typedef ImplSetT::const_pointer boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::const_pointer |
const pointer type
typedef ImplSetT::reference boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::reference |
reference type
typedef ImplSetT::const_reference boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::const_reference |
const reference type
typedef ImplSetT::iterator boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::iterator |
iterator for iteration over intervals
Reimplemented in boost::icl::interval_set< DomainT, Compare, Interval, Alloc >, boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >, and boost::icl::split_interval_set< DomainT, Compare, Interval, Alloc >.
typedef ImplSetT::const_iterator boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::const_iterator |
const_iterator for iteration over intervals
Reimplemented in boost::icl::interval_set< DomainT, Compare, Interval, Alloc >, boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >, and boost::icl::split_interval_set< DomainT, Compare, Interval, Alloc >.
typedef ImplSetT::reverse_iterator boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::reverse_iterator |
iterator for reverse iteration over intervals
typedef ImplSetT::const_reverse_iterator boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::const_reverse_iterator |
const_iterator for iteration over intervals
typedef boost::icl::element_iterator<iterator> boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::element_iterator |
element iterator: Depreciated, see documentation.
typedef boost::icl::element_iterator<const_iterator> boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::element_const_iterator |
element const iterator: Depreciated, see documentation.
typedef boost::icl::element_iterator<reverse_iterator> boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::element_reverse_iterator |
element reverse iterator: Depreciated, see documentation.
typedef boost::icl::element_iterator<const_reverse_iterator> boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::element_const_reverse_iterator |
element const reverse iterator: Depreciated, see documentation.
boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::interval_base_set | ( | ) | [inline] |
Default constructor for the empty object
boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::interval_base_set | ( | const interval_base_set< SubType, DomainT, Compare, Interval, Alloc > & | src | ) | [inline] |
Copy constructor
typedef boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::ICL_INTERVAL_TYPE | ( | Interval | , | |
DomainT | , | |||
Compare | ||||
) |
The interval type of the set.
Reimplemented in boost::icl::interval_set< DomainT, Compare, Interval, Alloc >, boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >, and boost::icl::split_interval_set< DomainT, Compare, Interval, Alloc >.
typedef boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::ICL_COMPARE_DOMAIN | ( | Compare | , | |
DomainT | ||||
) |
Comparison functor for domain values.
Reimplemented in boost::icl::interval_set< DomainT, Compare, Interval, Alloc >, boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >, and boost::icl::split_interval_set< DomainT, Compare, Interval, Alloc >.
interval_base_set& boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::operator= | ( | const interval_base_set< SubType, DomainT, Compare, Interval, Alloc > & | src | ) | [inline] |
void boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::swap | ( | interval_base_set< SubType, DomainT, Compare, Interval, Alloc > & | operand | ) | [inline] |
swap the content of containers
void boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::clear | ( | ) | [inline] |
sets the container empty
bool boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::empty | ( | ) | const [inline] |
is the container empty?
size_type boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::size | ( | ) | const [inline] |
An interval set's size is it's cardinality
std::size_t boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::iterative_size | ( | ) | const [inline] |
Size of the iteration over this container
const_iterator boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::find | ( | const element_type & | key | ) | const [inline] |
Find the interval value pair, that contains element key
SubType& boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::add | ( | const element_type & | key | ) | [inline] |
Add a single element key
to the set
SubType& boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::add | ( | const segment_type & | inter_val | ) | [inline] |
Add an interval of elements inter_val
to the set
iterator boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::add | ( | iterator | prior_, | |
const segment_type & | inter_val | |||
) | [inline] |
Add an interval of elements inter_val
to the set. Iterator prior_
is a hint to the position inter_val
can be inserted after.
SubType& boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::subtract | ( | const element_type & | key | ) | [inline] |
Subtract a single element key
from the set
SubType & boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::subtract | ( | const segment_type & | inter_val | ) | [inline] |
Subtract an interval of elements inter_val
from the set
SubType& boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::insert | ( | const element_type & | key | ) | [inline] |
Insert an element key
into the set
SubType& boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::insert | ( | const segment_type & | inter_val | ) | [inline] |
Insert an interval of elements inter_val
to the set
iterator boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::insert | ( | iterator | prior_, | |
const segment_type & | inter_val | |||
) | [inline] |
Insert an interval of elements inter_val
to the set. Iterator prior_
is a hint to the position inter_val
can be inserted after.
SubType& boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::erase | ( | const element_type & | key | ) | [inline] |
Erase an element key
from the set
SubType& boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::erase | ( | const segment_type & | inter_val | ) | [inline] |
Erase an interval of elements inter_val
from the set
void boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::erase | ( | iterator | position | ) | [inline] |
Erase the interval that iterator position
points to.
void boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::erase | ( | iterator | first, | |
iterator | past | |||
) | [inline] |
Erase all intervals in the range [first,past)
of iterators.
SubType& boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::flip | ( | const element_type & | key | ) | [inline] |
If *this
set contains key
it is erased, otherwise it is added.
SubType& boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >::flip | ( | const segment_type & | inter_val | ) | [inline] |
If *this
set contains inter_val
it is erased, otherwise it is added.