distinct_equal.hpp 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. /*-----------------------------------------------------------------------------+
  2. Copyright (c) 2010-2010: Joachim Faulhaber
  3. +------------------------------------------------------------------------------+
  4. Distributed under the Boost Software License, Version 1.0.
  5. (See accompanying file LICENCE.txt or copy at
  6. http://www.boost.org/LICENSE_1_0.txt)
  7. +-----------------------------------------------------------------------------*/
  8. #ifndef BOOST_ICL_PREDICATES_DISTINCT_EQUAL_HPP_JOFA_101102
  9. #define BOOST_ICL_PREDICATES_DISTINCT_EQUAL_HPP_JOFA_101102
  10. #include <boost/icl/type_traits/predicate.hpp>
  11. #include <boost/icl/type_traits/type_to_string.hpp>
  12. namespace boost{namespace icl
  13. {
  14. template <class Type>
  15. struct distinct_equal : public relation<Type,Type>
  16. {
  17. bool operator()(const Type& lhs, const Type& rhs)const
  18. {
  19. return is_distinct_equal(lhs, rhs);
  20. }
  21. };
  22. template<>
  23. inline std::string unary_template_to_string<icl::distinct_equal>::apply()
  24. { return "==/0"; }
  25. }} // namespace icl boost
  26. #endif