123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- namespace rttr
- {
- namespace detail
- {
- /////////////////////////////////////////////////////////////////////////////////////////
- template<typename T>
- RTTR_INLINE typename std::enable_if<is_equal_comparable<T>::value && !std::is_array<T>::value, bool>::type
- compare_equal(const T& lhs, const T& rhs, bool& ok)
- {
- ok = true;
- return (lhs == rhs);
- }
- /////////////////////////////////////////////////////////////////////////////////////////
- template<typename T>
- RTTR_INLINE typename std::enable_if<!is_equal_comparable<T>::value && !std::is_array<T>::value, bool>::type
- compare_equal(const T& lhs, const T& rhs, bool& ok)
- {
- return compare_types_equal(&lhs, &rhs, type::get<T>(), ok);
- }
- /////////////////////////////////////////////////////////////////////////////////////////
- template<typename T>
- RTTR_INLINE typename std::enable_if<!is_equal_comparable<T>::value && std::is_array<T>::value, bool>::type
- compare_equal(const T& lhs, const T& rhs, bool& ok)
- {
- return compare_array_equal(lhs, rhs, ok);
- }
- /////////////////////////////////////////////////////////////////////////////////////////
- } // end namespace detail
- } // end namespace rttr
|