remove detail::fmt_stream_range (not necessary anymore)
This commit is contained in:
parent
740914d772
commit
15d6b0157b
|
@ -208,31 +208,15 @@ inline stream_range<T> stream::iter() {
|
||||||
return stream_range<T>(*this);
|
return stream_range<T>(*this);
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace detail {
|
|
||||||
/* lightweight output range for write/writef on streams */
|
|
||||||
struct fmt_stream_range: output_range<fmt_stream_range> {
|
|
||||||
using value_type = char;
|
|
||||||
using reference = char &;
|
|
||||||
using size_type = size_t;
|
|
||||||
using difference_type = ptrdiff_t;
|
|
||||||
|
|
||||||
fmt_stream_range(stream *s): p_s(s) {}
|
|
||||||
void put(char c) {
|
|
||||||
p_s->write_bytes(&c, 1);
|
|
||||||
}
|
|
||||||
stream *p_s;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
inline void stream::write(T const &v) {
|
inline void stream::write(T const &v) {
|
||||||
format_spec{'s', p_loc}.format_value(detail::fmt_stream_range{this}, v);
|
format_spec{'s', p_loc}.format_value(iter(), v);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename ...A>
|
template<typename ...A>
|
||||||
inline void stream::writef(string_range fmt, A const &...args) {
|
inline void stream::writef(string_range fmt, A const &...args) {
|
||||||
format_spec sp{fmt, p_loc};
|
format_spec sp{fmt, p_loc};
|
||||||
sp.format(detail::fmt_stream_range{this}, args...);
|
sp.format(iter(), args...);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue