Pass writer to format_value

This commit is contained in:
Victor Zverovich
2016-10-25 05:55:40 -07:00
parent 64ca334a2d
commit edf98792a5
6 changed files with 36 additions and 19 deletions
+3 -2
View File
@@ -14,8 +14,9 @@
#include <ctime>
namespace fmt {
template <typename ArgFormatter>
void format_value(basic_formatter<char, ArgFormatter> &f,
void format_value(Writer &w, basic_formatter<char, ArgFormatter> &f,
const char *&format_str, const std::tm &tm) {
if (*format_str == ':')
++format_str;
@@ -27,7 +28,7 @@ void format_value(basic_formatter<char, ArgFormatter> &f,
internal::MemoryBuffer<char, internal::INLINE_BUFFER_SIZE> format;
format.append(format_str, end + 1);
format[format.size() - 1] = '\0';
Buffer<char> &buffer = f.writer().buffer();
Buffer<char> &buffer = w.buffer();
std::size_t start = buffer.size();
for (;;) {
std::size_t size = buffer.capacity() - start;