|
typedef interval_base_map
< SubType, DomainT, CodomainT,
Traits, Compare, Combine,
Section, Interval, Alloc > | type |
|
typedef SubType | sub_type |
| The designated derived or sub_type of this base class. More...
|
|
typedef type | overloadable_type |
| Auxilliary type for overloadresolution. More...
|
|
typedef Traits | traits |
| Traits of an itl map. More...
|
|
typedef icl::map< DomainT,
CodomainT, Traits, Compare,
Combine, Section, Alloc > | atomized_type |
| The atomized type representing the corresponding container of elements. More...
|
|
typedef DomainT | domain_type |
| Domain type (type of the keys) of the map. More...
|
|
typedef boost::call_traits
< DomainT >::param_type | domain_param |
|
typedef CodomainT | codomain_type |
| Domain type (type of the keys) of the map. More...
|
|
typedef mapping_pair
< domain_type, codomain_type > | domain_mapping_type |
| Auxiliary type to help the compiler resolve ambiguities when using std::make_pair. More...
|
|
typedef domain_mapping_type | element_type |
| Conceptual is a map a set of elements of type element_type . More...
|
|
typedef std::pair
< interval_type, CodomainT > | interval_mapping_type |
| Auxiliary type for overload resolution. More...
|
|
typedef std::pair
< interval_type, CodomainT > | segment_type |
| Type of an interval containers segment, that is spanned by an interval. More...
|
|
typedef difference_type_of
< domain_type >::type | difference_type |
| The difference type of an interval which is sometimes different form the domain_type. More...
|
|
typedef size_type_of
< domain_type >::type | size_type |
| The size type of an interval which is mostly std::size_t. More...
|
|
typedef inverse
< codomain_combine >::type | inverse_codomain_combine |
| Inverse Combine functor for codomain value aggregation. More...
|
|
typedef mpl::if_
< has_set_semantics
< codomain_type >
, ICL_SECTION_CODOMAIN(Section,
CodomainT), codomain_combine >
::type | codomain_intersect |
| Intersection functor for codomain values. More...
|
|
typedef inverse
< codomain_intersect >::type | inverse_codomain_intersect |
| Inverse Combine functor for codomain value intersection. More...
|
|
typedef exclusive_less_than
< interval_type > | interval_compare |
| Comparison functor for intervals which are keys as well. More...
|
|
typedef exclusive_less_than
< interval_type > | key_compare |
| Comparison functor for keys. More...
|
|
typedef Alloc< std::pair
< const interval_type,
codomain_type > > | allocator_type |
| The allocator type of the set. More...
|
|
typedef ICL_IMPL_SPACE::map
< interval_type, codomain_type,
key_compare, allocator_type > | ImplMapT |
| Container type for the implementation. More...
|
|
typedef ImplMapT::key_type | key_type |
| key type of the implementing container More...
|
|
typedef ImplMapT::value_type | value_type |
| value type of the implementing container More...
|
|
typedef
ImplMapT::value_type::second_type | data_type |
| data type of the implementing container More...
|
|
typedef ImplMapT::pointer | pointer |
| pointer type More...
|
|
typedef ImplMapT::const_pointer | const_pointer |
| const pointer type More...
|
|
typedef ImplMapT::reference | reference |
| reference type More...
|
|
typedef ImplMapT::const_reference | const_reference |
| const reference type More...
|
|
typedef ImplMapT::iterator | iterator |
| iterator for iteration over intervals More...
|
|
typedef ImplMapT::const_iterator | const_iterator |
| const_iterator for iteration over intervals More...
|
|
typedef ImplMapT::reverse_iterator | reverse_iterator |
| iterator for reverse iteration over intervals More...
|
|
typedef
ImplMapT::const_reverse_iterator | const_reverse_iterator |
| const_iterator for iteration over intervals More...
|
|
typedef
boost::icl::element_iterator
< iterator > | element_iterator |
| element iterator: Depreciated, see documentation. More...
|
|
typedef
boost::icl::element_iterator
< const_iterator > | element_const_iterator |
| const element iterator: Depreciated, see documentation. More...
|
|
typedef
boost::icl::element_iterator
< reverse_iterator > | element_reverse_iterator |
| element reverse iterator: Depreciated, see documentation. More...
|
|
typedef
boost::icl::element_iterator
< const_reverse_iterator > | element_const_reverse_iterator |
| element const reverse iterator: Depreciated, see documentation. More...
|
|
typedef on_absorbtion< type,
codomain_combine,
Traits::absorbs_identities >
::type | on_codomain_absorbtion |
|
|
typedef | ICL_INTERVAL_TYPE (Interval, DomainT, Compare) interval_type |
| The interval type of the map. More...
|
|
typedef | ICL_COMPARE_DOMAIN (Compare, DomainT) domain_compare |
| Comparison functor for domain values. More...
|
|
typedef | ICL_COMPARE_DOMAIN (Compare, segment_type) segment_compare |
|
typedef | ICL_COMBINE_CODOMAIN (Combine, CodomainT) codomain_combine |
| Combine functor for codomain value aggregation. More...
|
|
| BOOST_STATIC_CONSTANT (bool, is_total_invertible=(Traits::is_total &&has_inverse< codomain_type >::value)) |
|
| BOOST_STATIC_CONSTANT (int, fineness=0) |
|
| interval_base_map () |
| Default constructor for the empty object. More...
|
|
| interval_base_map (const interval_base_map &src) |
| Copy constructor. More...
|
|
| interval_base_map (interval_base_map &&src) |
| Move constructor. More...
|
|
interval_base_map & | operator= (interval_base_map src) |
| Move assignment operator. More...
|
|
void | swap (interval_base_map &object) |
| swap the content of containers More...
|
|
void | clear () |
| clear the map More...
|
|
bool | empty () const |
| is the map empty? More...
|
|
size_type | size () const |
| An interval map's size is it's cardinality. More...
|
|
std::size_t | iterative_size () const |
| Size of the iteration over this container. More...
|
|
const_iterator | find (const domain_type &key_value) const |
| Find the interval value pair, that contains key . More...
|
|
const_iterator | find (const interval_type &key_interval) const |
| Find the first interval value pair, that collides with interval key_interval . More...
|
|
codomain_type | operator() (const domain_type &key_value) const |
| Total select function. More...
|
|
SubType & | add (const element_type &key_value_pair) |
| Addition of a key value pair to the map. More...
|
|
SubType & | add (const segment_type &interval_value_pair) |
| Addition of an interval value pair to the map. More...
|
|
iterator | add (iterator prior_, const segment_type &interval_value_pair) |
| Addition of an interval value pair interval_value_pair to the map. More...
|
|
SubType & | subtract (const element_type &key_value_pair) |
| Subtraction of a key value pair from the map. More...
|
|
SubType & | subtract (const segment_type &interval_value_pair) |
| Subtraction of an interval value pair from the map. More...
|
|
SubType & | insert (const element_type &key_value_pair) |
| Insertion of a key_value_pair into the map. More...
|
|
SubType & | insert (const segment_type &interval_value_pair) |
| Insertion of an interval_value_pair into the map. More...
|
|
iterator | insert (iterator prior, const segment_type &interval_value_pair) |
| Insertion of an interval_value_pair into the map. More...
|
|
SubType & | set (const element_type &key_value_pair) |
| With key_value_pair = (k,v) set value v for key k . More...
|
|
SubType & | set (const segment_type &interval_value_pair) |
| With interval_value_pair = (I,v) set value v for all keys in interval I in the map. More...
|
|
SubType & | erase (const element_type &key_value_pair) |
| Erase a key_value_pair from the map. More...
|
|
SubType & | erase (const segment_type &interval_value_pair) |
| Erase an interval_value_pair from the map. More...
|
|
SubType & | erase (const domain_type &key) |
| Erase a key value pair for key . More...
|
|
SubType & | erase (const interval_type &inter_val) |
| Erase all value pairs within the range of the interval inter_val from the map. More...
|
|
void | erase (iterator position) |
| Erase all value pairs within the range of the interval that iterator position points to. More...
|
|
void | erase (iterator first, iterator past) |
| Erase all value pairs for a range of iterators [first,past) . More...
|
|
void | add_intersection (SubType §ion, const segment_type &interval_value_pair) const |
| The intersection of interval_value_pair and *this map is added to section . More...
|
|
SubType & | flip (const element_type &key_value_pair) |
| If *this map contains key_value_pair it is erased, otherwise it is added. More...
|
|
SubType & | flip (const segment_type &interval_value_pair) |
| If *this map contains interval_value_pair it is erased, otherwise it is added. More...
|
|
iterator | lower_bound (const key_type &interval) |
|
iterator | upper_bound (const key_type &interval) |
|
const_iterator | lower_bound (const key_type &interval) const |
|
const_iterator | upper_bound (const key_type &interval) const |
|
std::pair< iterator, iterator > | equal_range (const key_type &interval) |
|
std::pair< const_iterator,
const_iterator > | equal_range (const key_type &interval) const |
|
iterator | begin () |
|
iterator | end () |
|
const_iterator | begin () const |
|
const_iterator | end () const |
|
reverse_iterator | rbegin () |
|
reverse_iterator | rend () |
|
const_reverse_iterator | rbegin () const |
|
const_reverse_iterator | rend () const |
|
template<class SubType, typename DomainT, typename CodomainT, class Traits = icl::partial_absorber, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT), ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT), ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
class boost::icl::interval_base_map< SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc >
Implements a map as a map of intervals (base class)
template<class SubType, typename DomainT, typename CodomainT, class Traits = icl::partial_absorber, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT), ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT), ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
element iterator: Depreciated, see documentation.
template<class SubType, typename DomainT, typename CodomainT, class Traits = icl::partial_absorber, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT), ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT), ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
Type of an interval containers segment, that is spanned by an interval.
template<class SubType, typename DomainT, typename CodomainT, class Traits = icl::partial_absorber, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT), ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT), ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
The designated derived or sub_type of this base class.
template<class SubType, typename DomainT, typename CodomainT, class Traits = icl::partial_absorber, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT), ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT), ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
Addition of an interval value pair interval_value_pair
to the map.
Iterator prior_
is a hint to the position interval_value_pair
can be inserted after.
template<class SubType, typename DomainT, typename CodomainT, class Traits = icl::partial_absorber, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT), ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT), ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
void boost::icl::interval_base_map< SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc >::add_intersection |
( |
SubType & |
section, |
|
|
const segment_type & |
interval_value_pair |
|
) |
| const |
|
inline |
The intersection of interval_value_pair
and *this
map is added to section
.
template<class SubType, typename DomainT, typename CodomainT, class Traits = icl::partial_absorber, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT), ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT), ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
Erase all value pairs within the range of the interval that iterator position
points to.
template<class SubType, typename DomainT, typename CodomainT, class Traits = icl::partial_absorber, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT), ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT), ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
Erase all value pairs for a range of iterators [first,past)
.
template<class SubType, typename DomainT, typename CodomainT, class Traits = icl::partial_absorber, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT), ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT), ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
Find the interval value pair, that contains key
.
template<class SubType, typename DomainT, typename CodomainT, class Traits = icl::partial_absorber, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT), ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT), ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
Find the first interval value pair, that collides with interval key_interval
.
template<class SubType, typename DomainT, typename CodomainT, class Traits = icl::partial_absorber, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT), ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT), ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
If *this
map contains key_value_pair
it is erased, otherwise it is added.
template<class SubType, typename DomainT, typename CodomainT, class Traits = icl::partial_absorber, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT), ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT), ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
If *this
map contains interval_value_pair
it is erased, otherwise it is added.
template<class SubType, typename DomainT, typename CodomainT, class Traits = icl::partial_absorber, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT), ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT), ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
typedef boost::icl::interval_base_map< SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc >::ICL_COMBINE_CODOMAIN |
( |
Combine |
, |
|
|
CodomainT |
|
|
) |
| |
Combine functor for codomain value aggregation.
template<class SubType, typename DomainT, typename CodomainT, class Traits = icl::partial_absorber, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT), ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT), ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
typedef boost::icl::interval_base_map< SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc >::ICL_COMPARE_DOMAIN |
( |
Compare |
, |
|
|
DomainT |
|
|
) |
| |
Comparison functor for domain values.
template<class SubType, typename DomainT, typename CodomainT, class Traits = icl::partial_absorber, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT), ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT), ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
typedef boost::icl::interval_base_map< SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc >::ICL_INTERVAL_TYPE |
( |
Interval |
, |
|
|
DomainT |
, |
|
|
Compare |
|
|
) |
| |
The interval type of the map.
template<class SubType, typename DomainT, typename CodomainT, class Traits = icl::partial_absorber, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT), ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT), ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
Insertion of an interval_value_pair
into the map.
Iterator prior_
. serves as a hint to insert after the element prior
point to.
template<class SubType, typename DomainT, typename CodomainT, class Traits = icl::partial_absorber, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT), ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT), ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
std::size_t boost::icl::interval_base_map< SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc >::iterative_size |
( |
| ) |
const |
|
inline |
Size of the iteration over this container.
template<class SubType, typename DomainT, typename CodomainT, class Traits = icl::partial_absorber, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT), ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT), ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
With key_value_pair = (k,v)
set value v
for key k
.
template<class SubType, typename DomainT, typename CodomainT, class Traits = icl::partial_absorber, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT), ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT), ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
With interval_value_pair = (I,v)
set value v
for all keys in interval I
in the map.
template<class SubType, typename DomainT, typename CodomainT, class Traits = icl::partial_absorber, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT), ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT), ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
Referenced by boost::icl::interval_base_map< interval_map< DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc >, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc >::operator=().