mirror of
https://github.com/fmtlib/fmt.git
synced 2024-11-26 04:00:05 +00:00
Fix formatting of ranges of code unit types
Thanks Nicole Mazzuca.
This commit is contained in:
parent
3a3b0709e2
commit
4a8e2949bb
@ -270,8 +270,8 @@ template <typename Range>
|
|||||||
using uncvref_type = remove_cvref_t<range_reference_type<Range>>;
|
using uncvref_type = remove_cvref_t<range_reference_type<Range>>;
|
||||||
|
|
||||||
template <typename Range>
|
template <typename Range>
|
||||||
using uncvref_first_type = remove_cvref_t<
|
using uncvref_first_type =
|
||||||
decltype(std::declval<range_reference_type<Range>>().first)>;
|
remove_cvref_t<decltype(std::declval<range_reference_type<Range>>().first)>;
|
||||||
|
|
||||||
template <typename Range>
|
template <typename Range>
|
||||||
using uncvref_second_type = remove_cvref_t<
|
using uncvref_second_type = remove_cvref_t<
|
||||||
@ -377,7 +377,7 @@ template <typename T, typename Char> struct is_range {
|
|||||||
static constexpr const bool value =
|
static constexpr const bool value =
|
||||||
detail::is_range_<T>::value && !detail::is_std_string_like<T>::value &&
|
detail::is_range_<T>::value && !detail::is_std_string_like<T>::value &&
|
||||||
!std::is_convertible<T, std::basic_string<Char>>::value &&
|
!std::is_convertible<T, std::basic_string<Char>>::value &&
|
||||||
!std::is_constructible<detail::std_string_view<Char>, T>::value;
|
!std::is_convertible<T, detail::std_string_view<Char>>::value;
|
||||||
};
|
};
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
|
@ -418,3 +418,7 @@ TEST(ranges_test, range_of_range_of_mixed_const) {
|
|||||||
fmt_ref_view<decltype(v)> r{&v};
|
fmt_ref_view<decltype(v)> r{&v};
|
||||||
EXPECT_EQ(fmt::format("{}", r), "[[1, 2, 3], [4, 5]]");
|
EXPECT_EQ(fmt::format("{}", r), "[[1, 2, 3], [4, 5]]");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST(ranges_test, vector_char) {
|
||||||
|
EXPECT_EQ(fmt::format("{}", std::vector<char>{'a', 'b'}), "['a', 'b']");
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user