@@ -996,22 +996,16 @@ struct filtered_hash<T, typename std::enable_if<rxu::is_string<T>::value>::type>
996
996
};
997
997
template <class T >
998
998
struct filtered_hash <T, typename std::enable_if<std::is_convertible<T, std::chrono::duration<typename T::rep, typename T::period>>::value>::type> {
999
- using argument_type = T;
1000
- using result_type = std::size_t ;
1001
-
1002
- result_type operator ()(argument_type const & dur) const
999
+ std::size_t operator ()(T const & dur) const
1003
1000
{
1004
- return std::hash<typename argument_type ::rep>{}(dur.count ());
1001
+ return std::hash<typename T ::rep>{}(dur.count ());
1005
1002
}
1006
1003
};
1007
1004
template <class T >
1008
1005
struct filtered_hash <T, typename std::enable_if<std::is_convertible<T, std::chrono::time_point<typename T::clock, typename T::duration>>::value>::type> {
1009
- using argument_type = T;
1010
- using result_type = std::size_t ;
1011
-
1012
- result_type operator ()(argument_type const & tp) const
1006
+ std::size_t operator ()(T const & tp) const
1013
1007
{
1014
- return std::hash<typename argument_type ::rep>{}(tp.time_since_epoch ().count ());
1008
+ return std::hash<typename T ::rep>{}(tp.time_since_epoch ().count ());
1015
1009
}
1016
1010
};
1017
1011
@@ -1022,8 +1016,6 @@ struct is_hashable
1022
1016
template <typename T>
1023
1017
struct is_hashable <T,
1024
1018
typename rxu::types_checked_from<
1025
- typename filtered_hash<T>::result_type,
1026
- typename filtered_hash<T>::argument_type,
1027
1019
typename rxu::callable_result<filtered_hash<T>, T>::type>::type>
1028
1020
: std::true_type {};
1029
1021
0 commit comments