namespace boost {
namespace itl {
struct partial_absorber;
struct partial_enricher;
struct total_absorber;
struct total_enricher;
template<typename DomainT , typename CodomainT ,
class Traits = itl::partial_absorber,
ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, DomainT),
ITL_COMBINE Combine = ITL_COMBINE_INSTANCE(itl::inplace_plus, CodomainT),
ITL_SECTION Section = ITL_SECTION_INSTANCE(itl::inplace_et, CodomainT),
ITL_ALLOC Alloc = std::allocator>
class map;
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
struct is_set<itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >>;
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
struct is_map<itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >>;
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
struct has_inverse<itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >>;
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
struct is_interval_container<itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >>;
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
struct is_interval_splitter<itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >>;
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
struct absorbs_neutrons<itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >>;
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
struct is_total<itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >>;
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
struct type_to_string<itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >>;
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &
insert(map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & object,
const map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & addend);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &
erase(map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & object,
const map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & erasure);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &
erase(map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & object,
const set< DomainT, Compare, Alloc > & erasure);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
bool operator==(const itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &,
const itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
bool operator!=(const itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & lhs,
const itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & rhs);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
bool is_element_equal(const itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & lhs,
const itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & rhs);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
bool is_protonic_equal(const itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &,
const itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
bool operator<(const itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &,
const itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
bool operator>(const itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & lhs,
const itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & rhs);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
bool operator<=(const itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &,
const itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
bool operator>=(const itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & lhs,
const itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & rhs);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &
operator+=(itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & object,
const typename itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >::element_type & operand);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >
operator+(itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > object,
const typename itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >::element_type & operand);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >
operator+(const typename itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >::element_type & operand,
itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > object);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &
operator+=(itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &,
const itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >
operator+(itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > object,
const itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & operand);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &
operator|=(itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & object,
const typename itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >::value_type & operand);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >
operator|(itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > object,
const typename itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >::value_type & operand);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >
operator|(const typename itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >::element_type & operand,
itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > object);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &
operator|=(itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &,
const itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >
operator|(itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > object,
const itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & operand);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &
operator-=(itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &,
const itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >
operator-(itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > object,
const itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & operand);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &
operator-=(itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &,
const typename itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >::set_type &);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >
operator-(itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & object,
const typename itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >::set_type & operand);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &
operator&=(itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &,
const itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >
operator&(itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & object,
const itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & operand);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &
operator&=(itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &,
const typename itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >::set_type &);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >
operator&(const itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > object,
const typename itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >::set_type & operand);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >
operator&(const typename itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >::set_type & operand,
itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > object);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
bool intersects(const map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & object,
const typename map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >::domain_type & key);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
bool intersects(const typename map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >::domain_type & key,
const map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & object);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
bool intersects(const map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & object,
const typename map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >::element_type & key_value_pair);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
bool intersects(const typename map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >::element_type & key_value_pair,
const map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & object);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
bool intersects(const map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & left,
const typename map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >::set_type & right);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
bool intersects(const typename map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >::set_type & left,
const map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & right);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
bool intersects(const map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & left,
const map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & right);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &
operator^=(itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &,
const itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc >
operator^(itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > object,
const itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & operand);
template<class CharType , class CharTraits , class DomainT ,
class CodomainT , class Traits , ITL_COMPARE Compare,
ITL_COMBINE Combine, ITL_SECTION Section, ITL_ALLOC Alloc>
std::basic_ostream< CharType, CharTraits > &
operator<<(std::basic_ostream< CharType, CharTraits > & stream,
const itl::map< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > & object);
}
}