implements a map as a map of intervals - on insertion overlapping intervals are split and associated values are combined.
More...
|
enum | { fineness = 1
} |
|
typedef Traits | traits |
|
typedef interval_map< DomainT,
CodomainT, Traits, Compare,
Combine, Section, Interval,
Alloc > | type |
|
typedef split_interval_map
< DomainT, CodomainT, Traits,
Compare, Combine, Section,
Interval, Alloc > | split_type |
|
typedef type | overloadable_type |
|
typedef type | joint_type |
|
typedef interval_base_map
< type, DomainT, CodomainT,
Traits, Compare, Combine,
Section, Interval, Alloc > | base_type |
|
typedef base_type::iterator | iterator |
|
typedef base_type::value_type | value_type |
|
typedef base_type::element_type | element_type |
|
typedef base_type::segment_type | segment_type |
|
typedef base_type::domain_type | domain_type |
|
typedef base_type::codomain_type | codomain_type |
|
typedef
base_type::domain_mapping_type | domain_mapping_type |
|
typedef
base_type::interval_mapping_type | interval_mapping_type |
|
typedef base_type::ImplMapT | ImplMapT |
|
typedef base_type::size_type | size_type |
|
typedef base_type::codomain_combine | codomain_combine |
|
typedef interval_set< DomainT,
Compare, Interval, Alloc > | interval_set_type |
|
typedef interval_set_type | set_type |
|
typedef set_type | key_object_type |
|
typedef interval_map< DomainT,
CodomainT, Traits, Compare,
Combine, Section, Interval,
Alloc > | sub_type |
| The designated derived or sub_type of this base class. More...
|
|
typedef icl::map< DomainT,
CodomainT, Traits, Compare,
Combine, Section, Alloc > | atomized_type |
| The atomized type representing the corresponding container of elements. More...
|
|
typedef boost::call_traits
< DomainT >::param_type | domain_param |
|
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 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 ImplMapT::key_type | key_type |
| key 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::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 |
|
| interval_map () |
| Default constructor for the empty object. More...
|
|
| interval_map (const interval_map &src) |
| Copy constructor. More...
|
|
template<class SubType > |
| interval_map (const interval_base_map< SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc > &src) |
| Copy constructor for base_type. More...
|
|
| interval_map (const domain_mapping_type &base_pair) |
|
| interval_map (const value_type &value_pair) |
|
template<class SubType > |
void | assign (const interval_base_map< SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc > &src) |
| Assignment from a base interval_map. More...
|
|
template<class SubType > |
interval_map & | operator= (const interval_base_map< SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc > &src) |
| Assignment operator for base type. More...
|
|
| interval_map (interval_map &&src) |
| Move constructor. More...
|
|
interval_map & | operator= (interval_map src) |
| Move assignment operator. 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) |
|
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...
|
|
interval_map< DomainT,
CodomainT, Traits, Compare,
Combine, Section, Interval,
Alloc > & | add (const element_type &key_value_pair) |
| Addition of a key value pair to the map. More...
|
|
interval_map< DomainT,
CodomainT, Traits, Compare,
Combine, Section, Interval,
Alloc > & | 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...
|
|
interval_map< DomainT,
CodomainT, Traits, Compare,
Combine, Section, Interval,
Alloc > & | subtract (const element_type &key_value_pair) |
| Subtraction of a key value pair from the map. More...
|
|
interval_map< DomainT,
CodomainT, Traits, Compare,
Combine, Section, Interval,
Alloc > & | subtract (const segment_type &interval_value_pair) |
| Subtraction of an interval value pair from the map. More...
|
|
interval_map< DomainT,
CodomainT, Traits, Compare,
Combine, Section, Interval,
Alloc > & | insert (const element_type &key_value_pair) |
| Insertion of a key_value_pair into the map. More...
|
|
interval_map< DomainT,
CodomainT, Traits, Compare,
Combine, Section, Interval,
Alloc > & | 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...
|
|
interval_map< DomainT,
CodomainT, Traits, Compare,
Combine, Section, Interval,
Alloc > & | set (const element_type &key_value_pair) |
| With key_value_pair = (k,v) set value v for key k . More...
|
|
interval_map< DomainT,
CodomainT, Traits, Compare,
Combine, Section, Interval,
Alloc > & | 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...
|
|
interval_map< DomainT,
CodomainT, Traits, Compare,
Combine, Section, Interval,
Alloc > & | erase (const element_type &key_value_pair) |
| Erase a key_value_pair from the map. More...
|
|
interval_map< DomainT,
CodomainT, Traits, Compare,
Combine, Section, Interval,
Alloc > & | erase (const segment_type &interval_value_pair) |
| Erase an interval_value_pair from the map. More...
|
|
interval_map< DomainT,
CodomainT, Traits, Compare,
Combine, Section, Interval,
Alloc > & | erase (const domain_type &key) |
| Erase a key value pair for key . More...
|
|
interval_map< DomainT,
CodomainT, Traits, Compare,
Combine, Section, Interval,
Alloc > & | 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 (interval_map< DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc > §ion, const segment_type &interval_value_pair) const |
| The intersection of interval_value_pair and *this map is added to section . More...
|
|
interval_map< DomainT,
CodomainT, Traits, Compare,
Combine, Section, Interval,
Alloc > & | flip (const element_type &key_value_pair) |
| If *this map contains key_value_pair it is erased, otherwise it is added. More...
|
|
interval_map< DomainT,
CodomainT, Traits, Compare,
Combine, Section, Interval,
Alloc > & | 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) |
|
const_iterator | lower_bound (const key_type &interval) const |
|
iterator | upper_bound (const key_type &interval) |
|
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 () |
|
const_iterator | begin () const |
|
iterator | end () |
|
const_iterator | end () const |
|
reverse_iterator | rbegin () |
|
const_reverse_iterator | rbegin () const |
|
reverse_iterator | rend () |
|
const_reverse_iterator | rend () const |
|
template<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_map< DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc >
implements a map as a map of intervals - on insertion overlapping intervals are split and associated values are combined.