Commit graph

8 commits

Author SHA1 Message Date
adam
330eacf35a fmtlib: updated to 6.2.1
6.2.1
Fixed ostream support in sprintf
Fixed type detection when using implicit conversion to string_view and ostream operator<< inconsistently
2020-05-13 15:25:40 +00:00
adam
9532bb938c fmtlib: updated to 6.2.0
6.2.0:
* Improved error reporting when trying to format an object of a non-formattable type
* Reduced library size by ~10%.
* Always print decimal point if # is specified
* Implemented the 'L' specifier for locale-specific numeric formatting to improve compatibility with std::format. The 'n' specifier is now deprecated and will be removed in the next major release.
* Moved OS-specific APIs such as windows_error from fmt/format.h to fmt/os.h. You can define FMT_DEPRECATED_INCLUDE_OS to automatically include fmt/os.h from fmt/format.h for compatibility but this will be disabled in the next major release.
* Added precision overflow detection in floating-point formatting.
* Implemented detection of invalid use of fmt::arg.
* Used type_identity to block unnecessary template argument deduction.
* Improved UTF-8 handling
* Added experimental dynamic argument storage
* Made fmt::join accept initializer_list
* Fixed handling of empty tuples
* Fixed handling of output iterators in format_to_n
* Fixed formatting of std::chrono::duration types to wide output
* Added const begin and end overload to buffers
* Added the ability to disable floating-point formatting via FMT_USE_FLOAT, FMT_USE_DOUBLE and FMT_USE_LONG_DOUBLE macros for extremely memory-constrained embedded system
* Made FMT_STRING work with constexpr string_view
* Implemented a minor optimization in the format string parser
* Improved attribute detection
* Improved documentation
* Fixed symbol visibility on Linux when compiling with -fvisibility=hidden
* Implemented various build configuration fixes and improvements
* Fixed various warnings and compilation issues
2020-04-08 09:39:38 +00:00
adam
90db0a434e fmtlib: updated to 6.1.2
6.1.2:
Fixed ABI compatibility with libfmt.so.6.0.0.
Fixed handling types convertible to std::string_view.
Made CUDA test an opt-in enabled via the FMT_CUDA_TEST CMake option.
Fixed sign conversion warnings.
2019-12-11 18:43:34 +00:00
adam
1ef31f7110 fmtlib: updated to 6.1.1
6.1.1:
Fixed shared library build on Windows.
Added a missing decimal point in exponent notation with trailing zeros.
Removed deprecated format_arg_store::TYPES.

6.1.0:
{fmt} now formats IEEE 754 float and double using the shortest decimal representation with correct rounding by default.
Made the fast binary to decimal floating-point formatter the default, simplified it and improved performance. {fmt} is now 15 times faster than libc++'s std::ostringstream, 11 times faster than printf and 10% faster than double-conversion on dtoa-benchmark.
{fmt} no longer converts float arguments to double. In particular this improves the default (shortest) representation of floats and makes fmt::format consistent with std::for.
Made floating-point formatting output consistent with printf/iostreams.
Added support for 128-bit integers.
The overload of print that takes text_style is now atomic, i.e. the output from different threads doesn't interleave.
Made compile time in the header-only mode ~20% faster by reducing the number of template instantiations. wchar_t overload of vprint was moved from fmt/core.h to fmt/format.h.
Added an overload of fmt::join that works with tuples.
Changed formatting of octal zero with prefix from "00" to "0.
The locale is now passed to ostream insertion (<<) operators.
Locale-specific number formatting now uses groupin.
Fixed handling of types with deleted implicit rvalue conversion to const char**.
Enums are now mapped to correct underlying types instead of int.
Enum classes are no longer implicitly converted to int.
Added basic_format_parse_context for consistency with C++20 std::format and deprecated basic_parse_context.
Fixed handling of UTF-8 in precision.
{fmt} can now be installed on Linux, macOS and Windows with Conda using its conda-forge package.
Added a CUDA test.
2019-12-07 13:56:58 +00:00
adam
e0e76cfa36 fmtlib: updated to 6.0.0
6.0.0:
Switched to the MIT license with an optional exception that allows distributing binary code without attribution.
Floating-point formatting is now locale-independent by default.
Added an experimental Grisu floating-point formatting algorithm implementation (disabled by default). To enable it compile with the FMT_USE_GRISU macro defined to 1.
Separated formatting and parsing contexts for consistency with C++20 std::format, removing the undocumented basic_format_context::parse_context() function.
Added oss-fuzz support.
formatter specializations now always take precedence over operator<<.
Introduced the experimental fmt::compile function that does format string compilation.
Added the % format specifier that formats floating-point values as percentages.
Implemented precision for floating-point durations.
Implemented chrono format specifiers %Q and %q that give the value and the unit respectively .
Fixed handling of dynamic width in chrono formatter.
Removed deprecated fmt/time.h. Use fmt/chrono.h instead.
Added fmt::format and fmt::vformat overloads that take text_style.
Removed the deprecated color API (print_colored). Use the new API, namely print overloads that take text_style instead.
Made std::unique_ptr and std::shared_ptr formattable as pointers via fmt::ptr.
Made print and vprint report I/O errors.
Marked deprecated APIs with the [[deprecated]] attribute and removed internal uses of deprecated APIs.
Modernized the codebase using more C++11 features and removing workarounds. Most importantly, buffer_context is now an alias template, so use buffer_context<T> instead of buffer_context<T>::type. These features require GCC 4.8 or later.
formatter specializations now always take precedence over implicit conversions to int and the undocumented convert_to_int trait is now deprecated.
Moved the undocumented basic_writer, writer, and wwriter types to the internal namespace.
Removed deprecated basic_format_context::begin(). Use out() instead.
Disallowed passing the result of join as an lvalue to prevent misuse.
Refactored the undocumented structs that represent parsed format specifiers to simplify the API and allow multibyte fill.
Moved SFINAE to template parameters to reduce symbol sizes.
Switched to fputws for writing wide strings so that it's no longer required to call _setmode on Windows.
2019-10-06 16:36:27 +00:00
adam
6287c70c8c fmtlib: updated to 5.3.0
5.3.0:
* Introduced experimental chrono formatting support
* Added experimental support for emphasis (bold, italic, underline, strikethrough), colored output to a file stream, and improved colored formatting API
* Added support for 4-bit terminal colors
* Parameterized formatting functions on the type of the format string. Any object of type S that has an overloaded to_string_view(const S&) returning fmt::string_view can be used as a format string
* Made std::string_view work as a format string
* Added wide string support to compile-time format string checks
* Made colored print functions work with wide strings
* Introduced experimental Unicode support
* Improved locale support
* Constrained formatting functions on proper iterator types
* Added make_printf_args and make_wprintf_args functions
* Deprecated fmt::visit, parse_context, and wparse_context. Use fmt::visit_format_arg, format_parse_context, and wformat_parse_context instead.
* Removed undocumented basic_fixed_buffer which has been superseded by the iterator-based API
* Disallowed repeated leading zeros in an argument ID
* Reintroduced support for gcc 4.4
* Fixed compilation on platforms with exotic double
* Improved documentation
* Added pkgconfig support which makes it easier to consume the library from meson and other build systems
2019-02-26 10:58:25 +00:00
jperkin
85c73ccce9 fmtlib: Avoid strtod_l on SunOS. 2018-12-04 10:05:22 +00:00
adam
11c653eb80 fmtlib: added version 5.2.1
fmt (formerly cppformat) is an open-source formatting library. It can be used
as a fast and safe alternative to printf and IOStreams.
2018-12-02 17:12:18 +00:00