forked from OctaForge/libostd
re-add zero-argument format impl and fix char_traits usage for const char ranges
This commit is contained in:
parent
33bab6eb72
commit
fd6a47c223
|
@ -912,6 +912,16 @@ namespace detail {
|
||||||
written += twr;
|
written += twr;
|
||||||
return written;
|
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 */
|
} /* namespace detail */
|
||||||
|
|
||||||
template<typename R, typename ...A>
|
template<typename R, typename ...A>
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
namespace ostd {
|
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<
|
struct CharRangeBase: InputRange<
|
||||||
CharRangeBase<T>, ContiguousRangeTag, T
|
CharRangeBase<T>, ContiguousRangeTag, T
|
||||||
> {
|
> {
|
||||||
|
|
Loading…
Reference in a new issue