Move back_insert_range to format.h

This commit is contained in:
Victor Zverovich 2018-01-27 18:56:50 -08:00
parent 5060568f72
commit 0c136381e3
2 changed files with 12 additions and 12 deletions

View File

@ -864,18 +864,6 @@ class output_range {
OutputIt begin() const { return it_; }
};
// A range where begin() returns back_insert_iterator.
template <typename Container>
class back_insert_range:
public output_range<std::back_insert_iterator<Container>> {
using base = output_range<std::back_insert_iterator<Container>>;
public:
using value_type = typename Container::value_type;
using base::base;
back_insert_range(Container &c): base(std::back_inserter(c)) {}
};
// Formatting context.
template <typename OutputIt, typename Char>
class basic_context :

View File

@ -2630,6 +2630,18 @@ void basic_writer<Range>::write_double(T value, const format_specs &spec) {
});
}
// A range where begin() returns back_insert_iterator.
template <typename Container>
class back_insert_range:
public output_range<std::back_insert_iterator<Container>> {
using base = output_range<std::back_insert_iterator<Container>>;
public:
using value_type = typename Container::value_type;
using base::base;
back_insert_range(Container &c): base(std::back_inserter(c)) {}
};
using writer = basic_writer<back_insert_range<internal::buffer>>;
using wwriter = basic_writer<back_insert_range<internal::wbuffer>>;