Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Header <boost/itl/interval.hpp>

namespace boost {
  namespace itl {
    template<class DomainT , 
             ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, DomainT)> 
      class interval;

    template<class IntervalT > struct continuous_type;
    template<class IntervalT > struct discrete_type;
    template<class IntervalT > struct continuous_interval;
    template<class IntervalT > struct discrete_interval;
    template<class IntervalType > struct exclusive_less;

    template<class DomainT , ITL_COMPARE Compare> 
      struct type_to_string<itl::interval< DomainT, Compare >>;
    template<class DomainT > struct value_size<itl::interval< DomainT >>;

    // Constants for intervalbounds. 
    enum BoundTypes { open_bounded =  0, left_open =  1, right_open =  2, 
                      closed_bounded =  3 };

    typedef unsigned char bound_type;
    template<class DomainT , ITL_COMPARE Compare> 
      bool operator==(const interval< DomainT, Compare > &, 
                      const interval< DomainT, Compare > &);
    template<class DomainT , ITL_COMPARE Compare> 
      bool operator!=(const interval< DomainT, Compare > & lhs, 
                      const interval< DomainT, Compare > & rhs);
    template<class DomainT , ITL_COMPARE Compare> 
      bool operator<(const interval< DomainT, Compare > &, 
                     const interval< DomainT, Compare > &);
    template<class DomainT , ITL_COMPARE Compare> 
      bool operator>(const interval< DomainT, Compare > & lhs, 
                     const interval< DomainT, Compare > & rhs);
    template<class DomainT , ITL_COMPARE Compare> 
      bool operator<=(const interval< DomainT, Compare > & lhs, 
                      const interval< DomainT, Compare > & rhs);
    template<class DomainT , ITL_COMPARE Compare> 
      bool operator>=(const interval< DomainT, Compare > & lhs, 
                      const interval< DomainT, Compare > & rhs);
    template<class DomainT , ITL_COMPARE Compare> 
      interval< DomainT, Compare > 
      hull(interval< DomainT, Compare >, const interval< DomainT, Compare > &);
    template<class DomainT , ITL_COMPARE Compare> 
      interval< DomainT, Compare > 
      right_subtract(interval< DomainT, Compare >, 
                     const interval< DomainT, Compare > &);
    template<class DomainT , ITL_COMPARE Compare> 
      interval< DomainT, Compare > 
      left_subtract(interval< DomainT, Compare >, 
                    const interval< DomainT, Compare > &);
    template<class DomainT , ITL_COMPARE Compare> 
      itl::interval< DomainT, Compare > 
      operator&(itl::interval< DomainT, Compare >, 
                const itl::interval< DomainT, Compare > &);
    template<class DomainT , ITL_COMPARE Compare> 
      bool intersects(const itl::interval< DomainT, Compare > &, 
                      const itl::interval< DomainT, Compare > &);
    template<class DomainT , ITL_COMPARE Compare> 
      bool is_disjoint(const itl::interval< DomainT, Compare > &, 
                       const itl::interval< DomainT, Compare > &);
    template<class CharType , class CharTraits , class DomainT , 
             ITL_COMPARE Compare> 
      std::basic_ostream< CharType, CharTraits > & 
      operator<<(std::basic_ostream< CharType, CharTraits > & stream, 
                 interval< DomainT, Compare > const & x);
  }
}

PrevUpHomeNext