@@ -620,7 +620,7 @@ struct formatter<
620620};
621621
622622template <typename It, typename Sentinel, typename Char = char >
623- struct join_view : detail::view {
623+ struct join_view {
624624 It begin;
625625 Sentinel end;
626626 basic_string_view<Char> sep;
@@ -629,6 +629,13 @@ struct join_view : detail::view {
629629 : begin(std::move(b)), end(e), sep(s) {}
630630};
631631
632+ namespace detail {
633+
634+ template <typename It, typename Sentinel, typename Char>
635+ struct is_view <join_view<It, Sentinel, Char>> : std::true_type {};
636+
637+ } // namespace detail
638+
632639template <typename It, typename Sentinel, typename Char>
633640struct formatter <join_view<It, Sentinel, Char>, Char> {
634641 private:
@@ -670,14 +677,21 @@ struct formatter<join_view<It, Sentinel, Char>, Char> {
670677 }
671678};
672679
673- template <typename Char, typename Tuple> struct tuple_join_view : detail::view {
680+ template <typename Char, typename Tuple> struct tuple_join_view {
674681 const Tuple& tuple;
675682 basic_string_view<Char> sep;
676683
677684 tuple_join_view (const Tuple& t, basic_string_view<Char> s)
678685 : tuple(t), sep{s} {}
679686};
680687
688+ namespace detail {
689+
690+ template <typename Char, typename Tuple>
691+ struct is_view <tuple_join_view<Char, Tuple>> : std::true_type {};
692+
693+ } // namespace detail
694+
681695// Define FMT_TUPLE_JOIN_SPECIFIERS to enable experimental format specifiers
682696// support in tuple_join. It is disabled by default because of issues with
683697// the dynamic width and precision.
0 commit comments