44 template <
typename S,
typename T,
typename = std::
void_t<>>
48 template <
typename S,
typename T>
51 std::void_t<decltype(std::declval<std::add_lvalue_reference_t<S>>()
52 << std::declval<T>()),
53 Requires<not std::is_same<S, T>::value>>> : std::true_type {};
57 template <typename S, typename T>
58 constexpr bool is_streamable_v = is_streamable<S, T>::value;
61 template <typename S, typename T>
62 using is_streamable_t = typename is_streamable<S, T>::type;