boost::icl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > Class Template Reference

Addable, subractable and intersectable maps. More...

List of all members.

Public Member Functions

iterator add (iterator prior, const value_type &value_pair)
mapadd (const value_type &value_pair)
void add_intersection (map &section, const element_type &key_value_pair) const
size_type erase (const element_type &key_value_pair)
std::size_t iterative_size () const
codomain_type operator() (const domain_type &key) const
mapset (const element_type &key_value_pair)
mapsubtract (const element_type &value_pair)

Detailed Description

template<typename DomainT, typename CodomainT, class Traits = icl::partial_absorber, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT), ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT), ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT), ICL_ALLOC Alloc = std::allocator>
class boost::icl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >

Addable, subractable and intersectable maps.


Member Function Documentation

template<typename DomainT, typename CodomainT, class Traits = icl::partial_absorber, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT), ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT), ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT), ICL_ALLOC Alloc = std::allocator>
std::size_t boost::icl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >::iterative_size (  )  const [inline]

iterative_size() yields the number of elements that is visited throu complete iteration. For interval sets iterative_size() is different from size().

template<typename DomainT, typename CodomainT, class Traits = icl::partial_absorber, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT), ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT), ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT), ICL_ALLOC Alloc = std::allocator>
codomain_type boost::icl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >::operator() ( const domain_type &  key  )  const [inline]

Total select function.

template<typename DomainT, typename CodomainT, class Traits = icl::partial_absorber, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT), ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT), ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT), ICL_ALLOC Alloc = std::allocator>
map& boost::icl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >::add ( const value_type &  value_pair  )  [inline]

add inserts value_pair into the map if it's key does not exist in the map. If value_pairs's key value exists in the map, it's data value is added to the data value already found in the map.

template<typename DomainT, typename CodomainT, class Traits = icl::partial_absorber, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT), ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT), ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT), ICL_ALLOC Alloc = std::allocator>
iterator boost::icl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >::add ( iterator  prior,
const value_type &  value_pair 
) [inline]

add add value_pair into the map using prior as a hint to insert value_pair after the position prior is pointing to.

template<typename DomainT, typename CodomainT, class Traits = icl::partial_absorber, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT), ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT), ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT), ICL_ALLOC Alloc = std::allocator>
map& boost::icl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >::subtract ( const element_type &  value_pair  )  [inline]

If the value_pair's key value is in the map, it's data value is subtraced from the data value stored in the map.

template<typename DomainT, typename CodomainT, class Traits = icl::partial_absorber, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT), ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT), ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT), ICL_ALLOC Alloc = std::allocator>
map& boost::icl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >::set ( const element_type &  key_value_pair  )  [inline]

With key_value_pair = (k,v) set value v for key k

template<typename DomainT, typename CodomainT, class Traits = icl::partial_absorber, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT), ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT), ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT), ICL_ALLOC Alloc = std::allocator>
size_type boost::icl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >::erase ( const element_type &  key_value_pair  )  [inline]

erase key_value_pair from the map. Erase only if, the exact value content val is stored for the given key.

template<typename DomainT, typename CodomainT, class Traits = icl::partial_absorber, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT), ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT), ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT), ICL_ALLOC Alloc = std::allocator>
void boost::icl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >::add_intersection ( map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &  section,
const element_type &  key_value_pair 
) const [inline]

The intersection of key_value_pair and *this map is added to section.


The documentation for this class was generated from the following file:

Generated by  doxygen 1.6.2