1 /* Boost interval/compare/set.hpp template implementation file
3 * Copyright 2002-2003 Guillaume Melquiond
5 * Distributed under the Boost Software License, Version 1.0.
6 * (See accompanying file LICENSE_1_0.txt or
7 * copy at http://www.boost.org/LICENSE_1_0.txt)
10 #ifndef BOOST_NUMERIC_INTERVAL_COMPARE_SET_HPP
11 #define BOOST_NUMERIC_INTERVAL_COMPARE_SET_HPP
13 #include <boost/numeric/interval/detail/interval_prototype.hpp>
14 #include <boost/numeric/interval/detail/test_input.hpp>
15 #include <boost/numeric/interval/utility.hpp>
19 namespace interval_lib {
23 template<class T, class Policies1, class Policies2> inline
24 bool operator<(const interval<T, Policies1>& x, const interval<T, Policies2>& y)
26 return proper_subset(x, y);
29 template<class T, class Policies> inline
30 bool operator<(const interval<T, Policies>& x, const T& y)
32 throw comparison_error();
35 template<class T, class Policies1, class Policies2> inline
36 bool operator<=(const interval<T, Policies1>& x, const interval<T, Policies2>& y)
41 template<class T, class Policies> inline
42 bool operator<=(const interval<T, Policies>& x, const T& y)
44 throw comparison_error();
47 template<class T, class Policies1, class Policies2> inline
48 bool operator>(const interval<T, Policies1>& x, const interval<T, Policies2>& y)
50 return proper_subset(y, x);
53 template<class T, class Policies> inline
54 bool operator>(const interval<T, Policies>& x, const T& y)
56 throw comparison_error();
59 template<class T, class Policies1, class Policies2> inline
60 bool operator>=(const interval<T, Policies1>& x, const interval<T, Policies2>& y)
65 template<class T, class Policies> inline
66 bool operator>=(const interval<T, Policies>& x, const T& y)
68 throw comparison_error();
71 template<class T, class Policies1, class Policies2> inline
72 bool operator==(const interval<T, Policies1>& x, const interval<T, Policies2>& y)
77 template<class T, class Policies> inline
78 bool operator==(const interval<T, Policies>& x, const T& y)
80 throw comparison_error();
83 template<class T, class Policies1, class Policies2> inline
84 bool operator!=(const interval<T, Policies1>& x, const interval<T, Policies2>& y)
89 template<class T, class Policies> inline
90 bool operator!=(const interval<T, Policies>& x, const T& y)
92 throw comparison_error();
96 } // namespace compare
97 } // namespace interval_lib
98 } // namespace numeric
101 #endif // BOOST_NUMERIC_INTERVAL_COMPARE_SET_HPP