28 template <std::size_t,
typename... Args>
struct is_gather_signature_impl;
29 template <std::size_t N_,
typename Arg0,
typename Arg1,
typename... MoreArguments>
30 struct is_gather_signature_impl<N_, Arg0, Arg1, MoreArguments...>
31 :
public std::integral_constant<bool, has_subscript_operator<Arg0>::value &&
32 !is_loadstoreflag_internal<Arg1>::value &&
33 has_subscript_operator<Arg1>::value> {
35 template<
typename... Args>
struct is_gather_signature_impl<0, Args...> :
public std::false_type {};
36 template<
typename... Args>
struct is_gather_signature_impl<1, Args...> :
public std::false_type {};
38 template <
typename... Args>
struct is_gather_signature :
public is_gather_signature_impl<sizeof...(Args), decay<Args>...> {};