bugfix update to version 11.1.1
This commit is contained in:
@ -21,7 +21,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// The fmt library version in the form major * 10000 + minor * 100 + patch.
|
// The fmt library version in the form major * 10000 + minor * 100 + patch.
|
||||||
#define FMT_VERSION 110100
|
#define FMT_VERSION 110101
|
||||||
|
|
||||||
// Detect compiler versions.
|
// Detect compiler versions.
|
||||||
#if defined(__clang__) && !defined(__ibmxl__)
|
#if defined(__clang__) && !defined(__ibmxl__)
|
||||||
@ -164,6 +164,20 @@
|
|||||||
# define FMT_CATCH(x) if (false)
|
# define FMT_CATCH(x) if (false)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef FMT_NO_UNIQUE_ADDRESS
|
||||||
|
// Use the provided definition.
|
||||||
|
#elif FMT_CPLUSPLUS < 202002L
|
||||||
|
// Not supported.
|
||||||
|
#elif FMT_HAS_CPP_ATTRIBUTE(no_unique_address)
|
||||||
|
# define FMT_NO_UNIQUE_ADDRESS [[no_unique_address]]
|
||||||
|
// VS2019 v16.10 and later except clang-cl (https://reviews.llvm.org/D110485).
|
||||||
|
#elif FMT_MSC_VERSION >= 1929 && !FMT_CLANG_VERSION
|
||||||
|
# define FMT_NO_UNIQUE_ADDRESS [[msvc::no_unique_address]]
|
||||||
|
#endif
|
||||||
|
#ifndef FMT_NO_UNIQUE_ADDRESS
|
||||||
|
# define FMT_NO_UNIQUE_ADDRESS
|
||||||
|
#endif
|
||||||
|
|
||||||
#if FMT_HAS_CPP17_ATTRIBUTE(fallthrough)
|
#if FMT_HAS_CPP17_ATTRIBUTE(fallthrough)
|
||||||
# define FMT_FALLTHROUGH [[fallthrough]]
|
# define FMT_FALLTHROUGH [[fallthrough]]
|
||||||
#elif defined(__clang__)
|
#elif defined(__clang__)
|
||||||
@ -2616,10 +2630,11 @@ template <typename Context> class basic_format_args {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// A formatting context.
|
// A formatting context.
|
||||||
class context : private detail::locale_ref {
|
class context {
|
||||||
private:
|
private:
|
||||||
appender out_;
|
appender out_;
|
||||||
format_args args_;
|
format_args args_;
|
||||||
|
FMT_NO_UNIQUE_ADDRESS detail::locale_ref loc_;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/// The character type for the output.
|
/// The character type for the output.
|
||||||
@ -2635,7 +2650,7 @@ class context : private detail::locale_ref {
|
|||||||
/// in the object so make sure they have appropriate lifetimes.
|
/// in the object so make sure they have appropriate lifetimes.
|
||||||
FMT_CONSTEXPR context(iterator out, format_args args,
|
FMT_CONSTEXPR context(iterator out, format_args args,
|
||||||
detail::locale_ref loc = {})
|
detail::locale_ref loc = {})
|
||||||
: locale_ref(loc), out_(out), args_(args) {}
|
: out_(out), args_(args), loc_(loc) {}
|
||||||
context(context&&) = default;
|
context(context&&) = default;
|
||||||
context(const context&) = delete;
|
context(const context&) = delete;
|
||||||
void operator=(const context&) = delete;
|
void operator=(const context&) = delete;
|
||||||
@ -2654,7 +2669,7 @@ class context : private detail::locale_ref {
|
|||||||
// Advances the begin iterator to `it`.
|
// Advances the begin iterator to `it`.
|
||||||
FMT_CONSTEXPR void advance_to(iterator) {}
|
FMT_CONSTEXPR void advance_to(iterator) {}
|
||||||
|
|
||||||
FMT_CONSTEXPR auto locale() const -> detail::locale_ref { return *this; }
|
FMT_CONSTEXPR auto locale() const -> detail::locale_ref { return loc_; }
|
||||||
};
|
};
|
||||||
|
|
||||||
template <typename Char = char> struct runtime_format_string {
|
template <typename Char = char> struct runtime_format_string {
|
||||||
@ -2671,7 +2686,8 @@ template <typename Char = char> struct runtime_format_string {
|
|||||||
*/
|
*/
|
||||||
inline auto runtime(string_view s) -> runtime_format_string<> { return {{s}}; }
|
inline auto runtime(string_view s) -> runtime_format_string<> { return {{s}}; }
|
||||||
|
|
||||||
/// A compile-time format string.
|
/// A compile-time format string. Use `format_string` in the public API to
|
||||||
|
/// prevent type deduction.
|
||||||
template <typename... T> struct fstring {
|
template <typename... T> struct fstring {
|
||||||
private:
|
private:
|
||||||
static constexpr int num_static_named_args =
|
static constexpr int num_static_named_args =
|
||||||
|
|||||||
@ -151,20 +151,6 @@ FMT_END_NAMESPACE
|
|||||||
# endif // FMT_USE_EXCEPTIONS
|
# endif // FMT_USE_EXCEPTIONS
|
||||||
#endif // FMT_THROW
|
#endif // FMT_THROW
|
||||||
|
|
||||||
#ifdef FMT_NO_UNIQUE_ADDRESS
|
|
||||||
// Use the provided definition.
|
|
||||||
#elif FMT_CPLUSPLUS < 202002L
|
|
||||||
// Not supported.
|
|
||||||
#elif FMT_HAS_CPP_ATTRIBUTE(no_unique_address)
|
|
||||||
# define FMT_NO_UNIQUE_ADDRESS [[no_unique_address]]
|
|
||||||
// VS2019 v16.10 and later except clang-cl (https://reviews.llvm.org/D110485).
|
|
||||||
#elif FMT_MSC_VERSION >= 1929 && !FMT_CLANG_VERSION
|
|
||||||
# define FMT_NO_UNIQUE_ADDRESS [[msvc::no_unique_address]]
|
|
||||||
#endif
|
|
||||||
#ifndef FMT_NO_UNIQUE_ADDRESS
|
|
||||||
# define FMT_NO_UNIQUE_ADDRESS
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Defining FMT_REDUCE_INT_INSTANTIATIONS to 1, will reduce the number of
|
// Defining FMT_REDUCE_INT_INSTANTIATIONS to 1, will reduce the number of
|
||||||
// integer formatter template instantiations to just one by only using the
|
// integer formatter template instantiations to just one by only using the
|
||||||
// largest integer type. This results in a reduction in binary size but will
|
// largest integer type. This results in a reduction in binary size but will
|
||||||
|
|||||||
Reference in New Issue
Block a user