mirror of
https://github.com/fmtlib/fmt.git
synced 2025-04-10 21:44:19 +00:00
Remove deprecated APIs
This commit is contained in:
parent
b9ab5c8836
commit
5b2c740ad8
@ -370,10 +370,6 @@ enum char8_type : unsigned char {};
|
|||||||
#endif
|
#endif
|
||||||
} // namespace detail
|
} // namespace detail
|
||||||
|
|
||||||
#ifdef FMT_USE_INTERNAL
|
|
||||||
namespace internal = detail; // DEPRECATED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
An implementation of ``std::basic_string_view`` for pre-C++17. It provides a
|
An implementation of ``std::basic_string_view`` for pre-C++17. It provides a
|
||||||
subset of the API. ``fmt::basic_string_view`` is used for format strings even
|
subset of the API. ``fmt::basic_string_view`` is used for format strings even
|
||||||
@ -1784,23 +1780,11 @@ template <typename Context> class basic_format_args {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef FMT_ARM_ABI_COMPATIBILITY
|
|
||||||
/** An alias to ``basic_format_args<format_context>``. */
|
/** An alias to ``basic_format_args<format_context>``. */
|
||||||
// Separate types would result in shorter symbols but break ABI compatibility
|
// Separate types would result in shorter symbols but break ABI compatibility
|
||||||
// between clang and gcc on ARM (#1919).
|
// between clang and gcc on ARM (#1919).
|
||||||
using format_args = basic_format_args<format_context>;
|
using format_args = basic_format_args<format_context>;
|
||||||
using wformat_args = basic_format_args<wformat_context>;
|
using wformat_args = basic_format_args<wformat_context>;
|
||||||
#else
|
|
||||||
// DEPRECATED! These are kept for ABI compatibility.
|
|
||||||
// It is a separate type rather than an alias to make symbols readable.
|
|
||||||
struct format_args : basic_format_args<format_context> {
|
|
||||||
template <typename... Args>
|
|
||||||
FMT_INLINE format_args(const Args&... args) : basic_format_args(args...) {}
|
|
||||||
};
|
|
||||||
struct wformat_args : basic_format_args<wformat_context> {
|
|
||||||
using basic_format_args::basic_format_args;
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
|
|
||||||
FMT_MODULE_EXPORT_END
|
FMT_MODULE_EXPORT_END
|
||||||
namespace detail {
|
namespace detail {
|
||||||
@ -1985,9 +1969,3 @@ FMT_END_NAMESPACE
|
|||||||
# include "format.h"
|
# include "format.h"
|
||||||
#endif
|
#endif
|
||||||
#endif // FMT_CORE_H_
|
#endif // FMT_CORE_H_
|
||||||
|
|
||||||
// Define FMT_DYNAMIC_ARGS to make core.h provide dynamic_format_arg_store
|
|
||||||
// DEPRECATED! Include fmt/args.h directly instead.
|
|
||||||
#ifdef FMT_DYNAMIC_ARGS
|
|
||||||
#include "args.h"
|
|
||||||
#endif
|
|
||||||
|
@ -2689,8 +2689,7 @@ extern "C" __declspec(dllimport) int __stdcall WriteConsoleW( //
|
|||||||
|
|
||||||
FMT_FUNC void vprint(std::FILE* f, string_view format_str, format_args args) {
|
FMT_FUNC void vprint(std::FILE* f, string_view format_str, format_args args) {
|
||||||
memory_buffer buffer;
|
memory_buffer buffer;
|
||||||
detail::vformat_to(buffer, format_str,
|
detail::vformat_to(buffer, format_str, args);
|
||||||
basic_format_args<buffer_context<char>>(args));
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
auto fd = _fileno(f);
|
auto fd = _fileno(f);
|
||||||
if (_isatty(fd)) {
|
if (_isatty(fd)) {
|
||||||
|
@ -263,11 +263,6 @@ inline int ctzll(uint64_t x) {
|
|||||||
FMT_END_NAMESPACE
|
FMT_END_NAMESPACE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Enable the deprecated numeric alignment.
|
|
||||||
#ifndef FMT_DEPRECATED_NUMERIC_ALIGN
|
|
||||||
# define FMT_DEPRECATED_NUMERIC_ALIGN 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
FMT_BEGIN_NAMESPACE
|
FMT_BEGIN_NAMESPACE
|
||||||
namespace detail {
|
namespace detail {
|
||||||
|
|
||||||
@ -1410,11 +1405,6 @@ FMT_CONSTEXPR float_specs parse_float_type_spec(
|
|||||||
case 'a':
|
case 'a':
|
||||||
result.format = float_format::hex;
|
result.format = float_format::hex;
|
||||||
break;
|
break;
|
||||||
#ifdef FMT_DEPRECATED_N_SPECIFIER
|
|
||||||
case 'n':
|
|
||||||
result.locale = true;
|
|
||||||
break;
|
|
||||||
#endif
|
|
||||||
default:
|
default:
|
||||||
eh.on_error("invalid type specifier");
|
eh.on_error("invalid type specifier");
|
||||||
break;
|
break;
|
||||||
@ -1432,9 +1422,6 @@ FMT_CONSTEXPR void check_int_type_spec(char spec, ErrorHandler&& eh) {
|
|||||||
case 'b':
|
case 'b':
|
||||||
case 'B':
|
case 'B':
|
||||||
case 'o':
|
case 'o':
|
||||||
#ifdef FMT_DEPRECATED_N_SPECIFIER
|
|
||||||
case 'n':
|
|
||||||
#endif
|
|
||||||
case 'c':
|
case 'c':
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -1721,10 +1708,6 @@ FMT_CONSTEXPR OutputIt write_int(OutputIt out, T value,
|
|||||||
return format_uint<3, Char>(it, abs_value, num_digits);
|
return format_uint<3, Char>(it, abs_value, num_digits);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
#ifdef FMT_DEPRECATED_N_SPECIFIER
|
|
||||||
case 'n':
|
|
||||||
return write_int_localized(out, abs_value, prefix, specs, loc);
|
|
||||||
#endif
|
|
||||||
case 'c':
|
case 'c':
|
||||||
return write_char(out, static_cast<Char>(abs_value), specs);
|
return write_char(out, static_cast<Char>(abs_value), specs);
|
||||||
default:
|
default:
|
||||||
@ -2807,11 +2790,6 @@ FMT_CONSTEXPR const Char* parse_align(const Char* begin, const Char* end,
|
|||||||
case '>':
|
case '>':
|
||||||
align = align::right;
|
align = align::right;
|
||||||
break;
|
break;
|
||||||
#if FMT_DEPRECATED_NUMERIC_ALIGN
|
|
||||||
case '=':
|
|
||||||
align = align::numeric;
|
|
||||||
break;
|
|
||||||
#endif
|
|
||||||
case '^':
|
case '^':
|
||||||
align = align::center;
|
align = align::center;
|
||||||
break;
|
break;
|
||||||
|
@ -652,10 +652,6 @@ TEST(FormatterTest, RightAlign) {
|
|||||||
EXPECT_EQ(" 0xface", format("{0:>8}", reinterpret_cast<void*>(0xface)));
|
EXPECT_EQ(" 0xface", format("{0:>8}", reinterpret_cast<void*>(0xface)));
|
||||||
}
|
}
|
||||||
|
|
||||||
#if FMT_DEPRECATED_NUMERIC_ALIGN
|
|
||||||
TEST(FormatterTest, NumericAlign) { EXPECT_EQ("0042", format("{0:=4}", 42)); }
|
|
||||||
#endif
|
|
||||||
|
|
||||||
TEST(FormatterTest, CenterAlign) {
|
TEST(FormatterTest, CenterAlign) {
|
||||||
EXPECT_EQ(" 42 ", format("{0:^5}", 42));
|
EXPECT_EQ(" 42 ", format("{0:^5}", 42));
|
||||||
EXPECT_EQ(" 42 ", format("{0:^5o}", 042));
|
EXPECT_EQ(" 42 ", format("{0:^5o}", 042));
|
||||||
@ -770,9 +766,9 @@ TEST(FormatterTest, SpaceSign) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TEST(FormatterTest, SignNotTruncated) {
|
TEST(FormatterTest, SignNotTruncated) {
|
||||||
wchar_t format_str[] = {L'{', L':',
|
wchar_t format_str[] = {
|
||||||
'+' | static_cast<wchar_t>(1 << fmt::detail::num_bits<char>()),
|
L'{', L':',
|
||||||
L'}', 0};
|
'+' | static_cast<wchar_t>(1 << fmt::detail::num_bits<char>()), L'}', 0};
|
||||||
EXPECT_THROW(format(format_str, 42), format_error);
|
EXPECT_THROW(format(format_str, 42), format_error);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1976,10 +1972,6 @@ TEST(FormatTest, DynamicFormatter) {
|
|||||||
"cannot switch from manual to automatic argument indexing");
|
"cannot switch from manual to automatic argument indexing");
|
||||||
EXPECT_THROW_MSG(format(+"{:{0}}", num), format_error,
|
EXPECT_THROW_MSG(format(+"{:{0}}", num), format_error,
|
||||||
"cannot switch from automatic to manual argument indexing");
|
"cannot switch from automatic to manual argument indexing");
|
||||||
#if FMT_DEPRECATED_NUMERIC_ALIGN
|
|
||||||
EXPECT_THROW_MSG(format(+"{:=}", str), format_error,
|
|
||||||
"format specifier requires numeric argument");
|
|
||||||
#endif
|
|
||||||
EXPECT_THROW_MSG(format(+"{:+}", str), format_error,
|
EXPECT_THROW_MSG(format(+"{:+}", str), format_error,
|
||||||
"format specifier requires numeric argument");
|
"format specifier requires numeric argument");
|
||||||
EXPECT_THROW_MSG(format(+"{:-}", str), format_error,
|
EXPECT_THROW_MSG(format(+"{:-}", str), format_error,
|
||||||
@ -2450,11 +2442,6 @@ TEST(FormatTest, FormatStringErrors) {
|
|||||||
EXPECT_ERROR("{:10000000000}", "number is too big", int);
|
EXPECT_ERROR("{:10000000000}", "number is too big", int);
|
||||||
EXPECT_ERROR("{:.10000000000}", "number is too big", int);
|
EXPECT_ERROR("{:.10000000000}", "number is too big", int);
|
||||||
EXPECT_ERROR_NOARGS("{:x}", "argument not found");
|
EXPECT_ERROR_NOARGS("{:x}", "argument not found");
|
||||||
# if FMT_DEPRECATED_NUMERIC_ALIGN
|
|
||||||
EXPECT_ERROR("{0:=5", "unknown format specifier", int);
|
|
||||||
EXPECT_ERROR("{:=}", "format specifier requires numeric argument",
|
|
||||||
const char*);
|
|
||||||
# endif
|
|
||||||
EXPECT_ERROR("{:+}", "format specifier requires numeric argument",
|
EXPECT_ERROR("{:+}", "format specifier requires numeric argument",
|
||||||
const char*);
|
const char*);
|
||||||
EXPECT_ERROR("{:-}", "format specifier requires numeric argument",
|
EXPECT_ERROR("{:-}", "format specifier requires numeric argument",
|
||||||
|
@ -76,10 +76,6 @@ TEST(OStreamTest, Format) {
|
|||||||
TEST(OStreamTest, FormatSpecs) {
|
TEST(OStreamTest, FormatSpecs) {
|
||||||
EXPECT_EQ("def ", format("{0:<5}", TestString("def")));
|
EXPECT_EQ("def ", format("{0:<5}", TestString("def")));
|
||||||
EXPECT_EQ(" def", format("{0:>5}", TestString("def")));
|
EXPECT_EQ(" def", format("{0:>5}", TestString("def")));
|
||||||
#if FMT_DEPRECATED_NUMERIC_ALIGN
|
|
||||||
EXPECT_THROW_MSG(format(+"{0:=5}", TestString("def")), format_error,
|
|
||||||
"format specifier requires numeric argument");
|
|
||||||
#endif
|
|
||||||
EXPECT_EQ(" def ", format("{0:^5}", TestString("def")));
|
EXPECT_EQ(" def ", format("{0:^5}", TestString("def")));
|
||||||
EXPECT_EQ("def**", format("{0:*<5}", TestString("def")));
|
EXPECT_EQ("def**", format("{0:*<5}", TestString("def")));
|
||||||
EXPECT_THROW_MSG(format(+"{0:+}", TestString()), format_error,
|
EXPECT_THROW_MSG(format(+"{0:+}", TestString()), format_error,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user