re-add zero-argument format impl and fix char_traits usage for const char ranges

master
Daniel Kolesa 2017-02-12 23:02:49 +01:00
parent 33bab6eb72
commit fd6a47c223
2 changed files with 11 additions and 1 deletions

View File

@ -912,6 +912,16 @@ namespace detail {
written += twr;
return written;
}
template<typename R>
inline ptrdiff_t format_impl(R &writer, bool, ConstCharRange fmt) {
size_t written = 0;
detail::WriteSpec spec(fmt, false);
if (spec.read_until_spec(writer, &written)) {
throw format_error{"format spec without format arguments"};
}
return written;
}
} /* namespace detail */
template<typename R, typename ...A>

View File

@ -22,7 +22,7 @@
namespace ostd {
template<typename T, typename TR = std::char_traits<T>>
template<typename T, typename TR = std::char_traits<std::remove_const_t<T>>>
struct CharRangeBase: InputRange<
CharRangeBase<T>, ContiguousRangeTag, T
> {