Commit 54f19ff7 authored by Victor Zverovich's avatar Victor Zverovich

Simplify append_float_length

parent f3bd9d42
......@@ -1493,8 +1493,14 @@ class BasicWriter {
// Do not implement!
void operator<<(typename internal::CharTraits<Char>::UnsupportedStrType);
// Appends floating-point length specifier to the format string.
// The second argument is only used for overload resolution.
void append_float_length(Char *&format_ptr, long double) {
*format_ptr++ = 'L';
}
template<typename T>
Char* append_float_length(Char* format_ptr) { return format_ptr; }
void append_float_length(Char *&, T) {}
friend class internal::ArgFormatter<Char>;
friend class internal::PrintfFormatter<Char>;
......@@ -1927,7 +1933,7 @@ void BasicWriter<Char>::write_double(
*format_ptr++ = '*';
}
format_ptr = append_float_length<T>(format_ptr);
append_float_length(format_ptr, value);
*format_ptr++ = type;
*format_ptr = '\0';
......@@ -1981,16 +1987,6 @@ void BasicWriter<Char>::write_double(
}
}
template <> template <> inline char* BasicWriter<char>::append_float_length<long double>( char* format_ptr) {
*format_ptr++ = 'L';
return format_ptr;
}
template <> template <> inline wchar_t* BasicWriter<wchar_t>::append_float_length<long double>( wchar_t* format_ptr) {
*format_ptr++ = 'L';
return format_ptr;
}
/**
\rst
This template provides operations for formatting and writing data into
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment