28 #ifndef VC_TRAITS_HAS_MULTIPLY_OPERATOR_H_
29 #define VC_TRAITS_HAS_MULTIPLY_OPERATOR_H_
31 namespace has_multiply_operator_impl
34 template <typename T, typename U, typename = decltype(std::declval<T>() * std::declval<U>())> std::true_type test(
int);
35 template <
typename T,
typename U> std::false_type test(...);
39 template <
typename T,
typename U = T>
40 struct has_multiply_operator :
public decltype(has_multiply_operator_impl::test<T, U>(1))
44 #endif // VC_TRAITS_HAS_MULTIPLY_OPERATOR_H_