namespace boost {
namespace itl {
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),
template< class, ITL_COMPARE >class Interval = itl::interval,
ITL_ALLOC Alloc = std::allocator>
class interval_map;
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
template< class, ITL_COMPARE >class Interval, ITL_ALLOC Alloc>
struct is_set<itl::interval_map< DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc >>;
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
template< class, ITL_COMPARE >class Interval, ITL_ALLOC Alloc>
struct is_map<itl::interval_map< DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc >>;
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
template< class, ITL_COMPARE >class Interval, ITL_ALLOC Alloc>
struct has_inverse<itl::interval_map< DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc >>;
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
template< class, ITL_COMPARE >class Interval, ITL_ALLOC Alloc>
struct is_interval_container<itl::interval_map< DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc >>;
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
template< class, ITL_COMPARE >class Interval, ITL_ALLOC Alloc>
struct absorbs_neutrons<itl::interval_map< DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc >>;
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
template< class, ITL_COMPARE >class Interval, ITL_ALLOC Alloc>
struct is_total<itl::interval_map< DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc >>;
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
template< class, ITL_COMPARE >class Interval, ITL_ALLOC Alloc>
struct type_to_string<itl::interval_map< DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc >>;
}
}