EVOLUTION-MANAGER
Edit File: comparable.hpp
/*-----------------------------------------------------------------------------+ Copyright (c) 2010-2010: Joachim Faulhaber +------------------------------------------------------------------------------+ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENCE.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #ifndef BOOST_ICL_CONCEPT_COMPARABLE_HPP_JOFA_100921 #define BOOST_ICL_CONCEPT_COMPARABLE_HPP_JOFA_100921 #include <boost/utility/enable_if.hpp> #include <boost/icl/type_traits/is_icl_container.hpp> namespace boost{ namespace icl { //============================================================================== //= Equivalences and Orderings<Comparable> //============================================================================== template<class Type> inline typename enable_if<is_icl_container<Type>, bool>::type operator != (const Type& left, const Type& right) { return !(left == right); } template<class Type> inline typename enable_if<is_icl_container<Type>, bool>::type operator > (const Type& left, const Type& right) { return right < left; } /** Partial ordering which is induced by Compare */ template<class Type> inline typename enable_if<is_icl_container<Type>, bool>::type operator <= (const Type& left, const Type& right) { return !(left > right); } template<class Type> inline typename enable_if<is_icl_container<Type>, bool>::type operator >= (const Type& left, const Type& right) { return !(left < right); } }} // namespace boost icl #endif