Fix more compilation errors on gcc 4.6

This commit is contained in:
Victor Zverovich
2018-02-28 05:09:24 -08:00
parent 6090e51b65
commit 1b4525384b
4 changed files with 9 additions and 3 deletions

View File

@@ -2658,7 +2658,8 @@ void basic_writer<Range>::write_double(T value, const format_specs &spec) {
}
auto write_inf_or_nan = [this, &spec, sign](const char *str) {
write_padded(INF_SIZE + (sign ? 1 : 0), spec, inf_or_nan_writer{sign, str});
this->write_padded(INF_SIZE + (sign ? 1 : 0), spec,
inf_or_nan_writer{sign, str});
};
// Format NaN and ininity ourselves because sprintf's output is not consistent

View File

@@ -67,8 +67,10 @@ class convert_to_int<T, Char, true> {
template <typename>
static std::false_type test(...);
typedef decltype(test<T>(0)) result;
public:
static const bool value = !decltype(test<T>(0))::value;
static const bool value = !result::value;
};
// Write the content of buf to os.

View File

@@ -290,7 +290,7 @@ class printf_arg_formatter : public internal::arg_formatter_base<Range> {
template <typename T>
struct printf_formatter {
template <typename ParseContext>
auto parse(ParseContext &ctx) { return ctx.begin(); }
auto parse(ParseContext &ctx) -> decltype(ctx.begin()) { return ctx.begin(); }
template <typename FormatContext>
auto format(const T &value, FormatContext &ctx) -> decltype(ctx.begin()) {