text: /* Boost interval/compare/set.hpp template implementation file
   *
   * Copyright Guillaume Melquiond 2002-2003
   * Permission to use, copy, modify, sell, and distribute this software
   * is hereby granted without fee provided that the above copyright notice
   * appears in all copies and that both that copyright notice and this
   * permission notice appear in supporting documentation,
   *
   * None of the above authors make any representation about the
   * suitability of this software for any purpose. It is provided "as
   * is" without express or implied warranty.
   *
   * $Id: set.hpp,v 1.2 2003/02/05 17:34:31 gmelquio Exp $
   */
  
  #ifndef BOOST_NUMERIC_INTERVAL_COMPARE_SET_HPP
  #define BOOST_NUMERIC_INTERVAL_COMPARE_SET_HPP
  
  #include <boost/numeric/interval/detail/interval_prototype.hpp>
  #include <boost/numeric/interval/utility.hpp>
  
  namespace boost {
  namespace numeric {
  namespace interval_lib {
  namespace compare {
  namespace set {
  
  template<class T, class Policies1, class Policies2> inline
  bool operator<(const interval<T, Policies1>& x, const interval<T, Policies2>& y)
  {
    return proper_subset(x, y);
  }
  
  template<class T, class Policies1, class Policies2> inline
  bool operator<=(const interval<T, Policies1>& x, const interval<T, Policies2>& y)
  {
    return subset(x, y);
  }
  
  template<class T, class Policies1, class Policies2> inline
  bool operator>(const interval<T, Policies1>& x, const interval<T, Policies2>& y)
  {
    return proper_subset(y, x);
  }
  
  template<class T, class Policies1, class Policies2> inline
  bool operator>=(const interval<T, Policies1>& x, const interval<T, Policies2>& y)
  {
    return subset(y, x);
  }
  
  template<class T, class Policies1, class Policies2> inline
  bool operator==(const interval<T, Policies1>& x, const interval<T, Policies2>& y)
  {
    return equal(y, x);
  }
  
  template<class T, class Policies1, class Policies2> inline
  bool operator!=(const interval<T, Policies1>& x, const interval<T, Policies2>& y)
  {
    return !equal(y, x);
  }
  
  } // namespace set
  } // namespace compare
  } // namespace interval_lib
  } // namespace numeric
  } // namespace boost
  
  #endif // BOOST_NUMERIC_INTERVAL_COMPARE_SET_HPP
  