1
0
mirror of https://github.com/fmtlib/fmt.git synced 2025-02-20 09:40:43 +00:00

Cleanup begin/end usage

This commit is contained in:
Victor Zverovich 2021-08-07 08:55:01 -07:00
parent 111de881fa
commit bdfbd794e3

@ -143,16 +143,16 @@ struct has_mutable_begin_end : std::false_type {};
template <typename T> template <typename T>
struct has_const_begin_end< struct has_const_begin_end<
T, void_t<decltype(detail::range_begin( T,
std::declval<const remove_cvref_t<T>&>())), void_t<
decltype(detail::range_begin( decltype(detail::range_begin(std::declval<const remove_cvref_t<T>&>())),
std::declval<const remove_cvref_t<T>&>()))>> decltype(detail::range_end(std::declval<const remove_cvref_t<T>&>()))>>
: std::true_type {}; : std::true_type {};
template <typename T> template <typename T>
struct has_mutable_begin_end< struct has_mutable_begin_end<
T, void_t<decltype(detail::range_begin(std::declval<T>())), T, void_t<decltype(detail::range_begin(std::declval<T>())),
decltype(detail::range_begin(std::declval<T>())), decltype(detail::range_end(std::declval<T>())),
enable_if_t<std::is_copy_constructible<T>::value>>> enable_if_t<std::is_copy_constructible<T>::value>>>
: std::true_type {}; : std::true_type {};
@ -331,8 +331,8 @@ struct formatter<
auto format(U& values, FormatContext& ctx) -> decltype(ctx.out()) { auto format(U& values, FormatContext& ctx) -> decltype(ctx.out()) {
auto out = detail::copy(formatting.prefix, ctx.out()); auto out = detail::copy(formatting.prefix, ctx.out());
size_t i = 0; size_t i = 0;
auto it = detail::range_begin(values); auto it = std::begin(values);
auto end = detail::range_end(values); auto end = std::end(values);
for (; it != end; ++it) { for (; it != end; ++it) {
if (i > 0) out = detail::write_delimiter(out); if (i > 0) out = detail::write_delimiter(out);
out = detail::write_range_entry<Char>(out, *it); out = detail::write_range_entry<Char>(out, *it);