dynarmic/externals/fmt/doc/syntax.rst

515 lines
24 KiB
ReStructuredText
Raw Normal View History

.. _syntax:
********************
Format String Syntax
********************
Squashed 'externals/fmt/' changes from 135ab5cf..3e75ad98 3e75ad98 Update version 4f043f8e Bump version cc02cbc4 Fix formatting 73c0238e Update changelog cb122a4d Fix format_to formatting to wmemory_buffer dc69cc45 Clean tests 9d8021f0 Add checks for NVIDIA's CUDA compiler 9d2221b9 Improve error message when formatting unknown types 70a6a4bb prevent ""fmt/range.h"" from specializing fmt::basic_string_view (#865) e4fc856c Disable android build due to gradle issues 3f4984fb Clean core-test and fix linkage errors on older gcc d4366505 Workaround visit lookup issues in printf.h on gcc 894b6fac Changed to use scoped enum 59f555ad Workaround more visit lookup issues on gcc a7e356cc Update README.rst e758bfba Merge branch 'release' of github.com:fmtlib/fmt 66381e30 Minor cleanup 295a0d84 Update version 1fb1c4c9 Update docs 465a5935 Add table support to rst2md d62f4c3b Formatting a243490a Add more methods to benchmark results 9e12ca60 Update changelog fbca830d Update changelog, readme and improve compat 6146248c Update changelog bc26fbf1 Move experimental color API to fmt/color.h 97cc8893 Workaround a visit lookup issue in gcc 8 (#851) 7110b460 Optimize default formatting c8a8464f Optimize buffer construction 8cbfb6e7 Get rid of conversion warning in gcc-4.8 (#854) 6ffc828a Phasing out null_terminating_iterator aeb6add3 Skip strchr for the common case 5614289d Optimize and simplify format string parsing 10c7f893 Optimize format string processing on dumb compilers 59c268a5 Use strlen when possible since it's constexpr on gcc 918bb1ce Optimize argument capture a3ba6b4f Disable the fmt(...) macro by default (#853) 86716894 Update docs and formatting cc10b460 Make format_to faster on older gcc 981797f0 Get rid of implicit-fallthrough warn. in GCC 7 and 8 21177757 Micro-optimize parsing be0e2684 Optimize processing of trailing '}' fbc38b90 Pass heavy arguments by ref 8dc69b9d Workaround a bug in Intellisense 1489d3b7 Implement exponential notation dd8c5ce4 Implement more FP formatting options 46484da7 Fix a warning 802ff886 Fix compilation of time.h when localtime_t is a macro (#843) 95a71899 Remove conversion compiler warnings (#844) e483a01a Implement some formatting options in Grisu f5108091 Revert "Implement some formatting options in Grisu" 2a952dd0 Implement some formatting options in Grisu 0de44a46 Implement exponent formatting f0d0a1eb Implement Grisu2 digit generation 569ac91e Implement Grisu boundary computation a11eb3a0 Workaround various icc bugs (#822) 62010520 Disable gnu-string-literal-operator-template warning 98751476 Make convert_to_int public (#818) ba95e36a Clarify that '\0' cannot be used as fill (#832) abde38b4 Add compilation support with Newlib nano for embedded targets 18400503 Fix C4127 warning in basic_writer<Range>::write_double 9de31211 Reformat and add a comment 8bbb0b48 Update README.rst 5c0101ab Use the correct function signature in the docs fbe6410e Fix docs 8b9fb9fb Fix ambiguous instantiation with formatter in fmt/ostream.h (#830) 0f04ec68 Fix package upload (#828) 80907385 Update changelog 5d02041c Update changelog 4b868b89 Re-enable compile-time format-string checking 4061a0d3 Parameterize vformat to support custom char types c68bab70 Remove broken fmt::internal::format_enum (#818) 0c63d15e Improve wording ce19309d Workaround a bug in icc 15 c6843491 Move contiguous version of format_to to fmt/core.h 8db14efa util-test -> core-test and minor cleanup ffe414ca Add compile-time format string checks to format_to (#783) c178ab44 Remove FMT_USE_RVALUE_REFERENCES 5befe658 Remove fmt/folly.h and clean up core API 35538ca6 Merge more format overloads 4f164097 Merge format overloads using SFINAE 2a4e9488 Add UTF-8 types d778bded Make line in tests fit within 80chars 7b4f170c Fix warning about using old-style cast b1d10a28 Add support for dynamic arg sets cf2719bd Add support for types explicitly convertible to wstring_view 50584f42 Test formatting of an object with templated conversion to string-like 73bed45b Add support for types explicitly convertible to fmt::string_view 6eaa5074 Fix global initialization issue (#807) 48dff9f3 Update docs a9e26159 Minor cleanup efd8ee8a Reduce warnings, support #809 8615ff2a Micro-optimize argument retrieval 916ed99d Micro-optimize argument retrieval e7e9578e Optimize format string parsing c99a2597 Mark new functions with FMT_API (#808) e0f6a2f8 Add a formatter for folly::StringPiece ae4a3945 Revert "Better support for newer CMake's" a317448b Keep noexcept specifier when exceptions are disabled. 0eb01b83 Better support for newer CMake's 2a4cd6d0 Fix the returned value of `format_to_n` with user-defined types having operator<<. 9c32e73a Fixing return unreachable warning on NVCC e5c93108 Added clear() to basic_buffer 60c662b3 Add an example of reusing formatters f66ba650 Optimize format string parsing f21268aa Revert "Optimize format string parsing" because of a bug in MSVC 07b690a6 Update README.rst f9e9bf02 Optimize format string parsing c2ce7e4f Update version 434eb916 Update README.rst 09d94162 Update changelog e6362642 Fix pedantic conversion warning f0110e81 Update changelog and CI 479ee2a8 Fix MSVC build, take 2 e928b672 Fix MSVC 2013 build ec218a3a Fix redefinition warning for RESET_COLOR c04fb91b Fix handling of user-defined types in format_to (#793) 323b92bf Force linking of inline functions into the library (#795) c6d9730d Fix sign conversion warnings (#790) 2e95823e Move new color support to format.h and mark old as deprecated ab2d88ca Make format_to work with basic_memory_buffer (#776) 3abd036c Fix compilation on gcc 4 c2f38054 Add vformat_to_n (#769) ce500635 Renamed enum color to colors. Added enum colors conversion to rgb struct. Added colors_test.cpp. 0508bbc7 Add wchar_t overload of format_to_n (#764) c2fbadb9 Fixed issue #779 47268ecd Fixed GCC version test 9ff3b6af Fix handling of compile-time strings when including ostream.h (#768) e3707ef1 Document that file should be in wide-oriented mode for wide print 45fa4ee9 Merge branch 'master' of github.com:fmtlib/fmt 9c07b37f Using enum class now. Renamed from hex to color. Changed colr names to snake case. 5b5886a9 Fixed line length. d2bfee13 Added quotes for strings in ranges and tuple likes. aff6e45e Added support for rgb color output. 1b8a7f8f Fix postincrement in truncating and counting iterators 4bc26f0a Merge branch 'master' of github.com:fmtlib/fmt fc6e0fe9 Fix FP formatting to a non-back_insert_iterator with sign & numeric alignment (#756) cd5b5670 Make is_range and is_tuple_like public API, fix #751 6322b47e Minor cleanup 691a7a91 Add more compilers to CI and increase FMT_PEDANTIC warning levels (#736) dd1a5ef7 Let requests close the file d5c46259 Fix formatting of more than 15 named arguments (#754) 47d147b6 Simplify the nvcc warning fix 911a7511 Fix nvcc warnings (#752) 94b47628 Fix docs 252f11f8 Fix a bogus MSVC warning about unreachable code, take 2 81d56638 Fix more bogus MSVC warnings about unreachable code (#748) 68f0ac82 Fix a bogus MSVC warning about unreachable code b60a5c5d Improve floating-point formatting 8dc2360b Fix a comment 4e4b8570 Implement simple version of Grisu 40275579 Fix tests on 64-bit MSVC 5c32aa41 Workaround a bug in MSVC 468c243c Add a function to get cached power of 10 2f257b72 Implement normalization and simplify power table 6a5bb6e2 Move Android.mk to support and update e282d963 Bump version e2cd521b Fix incorrect call to on_align in '{:}=' (#750) fba352a9 Don't use UDL templates on Intel C++ compiler (#742) 6dcc526d Update release script 5386f1df Update version ba6640b2 Fix formatting 507a50c3 Fix changelog 147807c9 Detect integer_sequence support on MSVC 8b246531 Update changelog 5ad54256 Fix a conflict between fmt::join and fmt/ostream.h (#744) 6ebc1a96 Merge locale.h into format-inl.h 6966db1d Update docs 2196025d Fix a warning 589f5f37 Update changelog edd5f144 Fix compilation errors on gcc 4.4 936aba5f Fix compilation errors on gcc 4.4 3e3a2774 Update changelog b76bb796 Improve naming consistency fbd51534 Update changelog 69823bf8 Improve naming consistency d940fa67 Disable unsafe implicit conversion to std::string (#729) d2bf93fe Update changelog 550ef1d2 MSVC improvements and data truncation cleanup. 728e4f5a Fix docs 8c255771 Update docs and changelog a68fd44e Add ranges.h to FMT_HEADERS in CMakeLists.txt (#738) e3f7f3a2 Add support for ranges, containers and tuple-like types in fmt/ranges.h 984232db Remove duplicate ChangeLog entries 78677e3f Update ChangeLog and docs ad23270e Document to_wstring 3c0f8c26 Update ChangeLog 98937893 Detect inline namespaces on gcc dfb65469 Fix docs 3aa29115 Update ChangeLog.rst d3f6c841 Update ChangeLog.rst c1441ae4 Update ChangeLog.rst dece85b3 Fix docs, take 2 6a1df3bd Fix docs 838400d2 Add inline namespace fmt::v5 b64b24eb Update ChangeLog.rst fc908711 Update ChangeLog.rst 46c374a8 Fix compilation with new gcc and -std=c++11 (#734) f0ae7257 Clarify the use of allocators d72d0462 Update paths in fmt.pro edbbf7ce Fix FreeBSD 12 a4e4f745 Fix a -Wundef when FMT_GCC_VERSION < 600 7d3de497 Implement double to fp conversion a4c7d99f Add bit_cast 0adccaef Fix a -Wundef of _LIBCPP_VERSION 2570f1af Provide more overloads for the wide string flavour ca31ca13 Fixed arg_formatter_base::write_pointer to not mutate the format specs. 6cd66610 remove trailing spaces. fe19c266 Move format_string to fmt namespace for ADL 2768af23 Add cached powers of 10 dd296e1d Add a script to compute powers of 10 0efc8a18 Fix compiler warning about narrowing df1ba52b Update example 221b08fd Merge branch 'master' of github.com:fmtlib/fmt fa9066fe context_base::begin -> out 90ff31b3 Fix a -Wundef warning on clang b1f68c43 Merge branch 'master' of github.com:fmtlib/fmt cd90097c Implement handmade FP 822eccc3 Sync API with standards proposal 2ae41242 allow time formatting with wchar_t contexts a1579b0f Update key ded921f0 Fix documentation build, take 2 3284751f Fix documentation build bb738c4c Remove section on Write API since it's being superceeded by compile-time Format API d180c25c Update godbolt link 1ed842a3 Update godbolt link e80aba1c Remove format_float stub 7b8cb313 Make context_base::args() public 48ae0506 fixes MSVC compiler warning bloat (Visual Studio 2017, latest updates) 096c4051 Simplify char_traits 7610c536 Remove unused macro 111fa581 Update README.rst 52fcef1e Update docs 7d28674d make_args -> make_format_args 9382b76f context_t -> format_context_t fd0b07a7 (w)context -> (w)format_context 26aa34f3 basic_context -> basic_format_context 44cc0346 Relax string_view requirements 0829cab8 Remove from_checked cb7bbc62 Improve checked iterator support 5079f924 Fix a narrowing warning 5859e58b Fix msvc warnings 1e747f60 Fix msvc warnings 9d4efd7a Iterator Wars VI: Return of the checked iterator 9764f558 Update docs 4ef97b9b Add a missing comma 23759b26 basic_arg -> basic_format_arg, arg_store -> format_arg_store 4975297e Simplify counting iterators e8e006f4 Fix compile checks for mixing narrow and wide strings (#690) c5ebecf7 Document format_to_n 3cf05263 Return output iterator to the end from format_to_n 174087bf Implement format_to_n 050f3f1f Remove parts of obsolete write API e90b1da3 Fix linker errors using fmt as shared library in MSVC 8e10d404 Fix compile tests 7a41d61d Add make_printf_args 4fea018b Fix string_view detection 6957d28c Detect string_view on libc++ (#686) 0ea70def Update readme 9ce5e30c Update readme 8c29459e Fix handling of empty string_view (#689) a24005d5 Fix a narrowing warning 3651b7fc Fix a narrowing warning b64486da Add format.cc 3da71d51 Move source files to the src directory 7971ed3d Update readme f61ca2ec Update readme 84e520b7 Update readme e8aa0f33 Update docs 17258e9c Update docs 6d339e32 Improve comment c3d05245 Fix a shadowing warning b58c8dde Update docs 505b3ae6 Workaround GCC bug 67371 (#682) 70dffc63 Remove unnecessary check df828f88 Don't define FMT_GCC_VERSION on clang 42f70c8b Avoid narrowing casts 10b939b0 Remove unneeded usage of anonymous struct on clang 3adfaae2 Remove extra semicolon in format_args constructor 40066785 Fix warnings under MSVC (#679) 9c5f54a7 Add format example for padded hex byte 7bab90e5 Remove extra comma 2e21e7d1 Fix util-test acb469ae Fixed UTF8/16 converters to support empty string input c37c4c43 Fix find-package-test 6d21fc43 add alias targets with fmt namespace e02aacc6 Add CMake namespace (#511) aee4512c Gradle (#649) 7db0e94b Fix handling of numeric alignment with no width (#675) 9facc119 Update docs a1d18711 Merge branch 'master' of github.com:fmtlib/fmt daf650c4 Disallow formatting of multibyte strings into a wide buffer (#606) 8fd7e30f Update README.rst ca93be13 Use fmt(s) as an alias for FMT_STRING(s) 80e57c7a Update to new naming conventions ae3cc844 Check format string at compile time in print 585512fc Remove unnecessary instantiations 7755cdc1 Make symbols readable f867d082 Update docs a103b9bc Workaround missed optimization in gcc (#668) bb47109a Cleanup f1ede638 Make inline_buffer_size public and update docs 995b63ad Update copyright 40232917 Update docs 86a9bc82 Cleanup b7632e96 Make format_to return iterator and update docs 5281ea6a do_vformat_to -> vformat_to and update docs d07ba498 Fix docs 418659ad Fix compilation errors on gcc 4.4 1d2adef2 Fix compilation errors on gcc 4.4 45518c3f Fix compilation errors on gcc 4.4 698d9097 Workaround a bug in gcc 5.1 81074c70 Fix more compilation errors on gcc 4.6 1b452538 Fix more compilation errors on gcc 4.6 6090e51b Fix compilation errors on gcc 4.6 0827ec5a Fix compilation errors on gcc 4.6 4d35f941 Always use fallback string_view to pass format string (#664) 34cf54c2 Update README.rst 0565d654 Fix gcc 7.2 issue f5dc0ed3 Break long lines ea06f021 test: comment out one FormatStringErrors constexpr test 5b491773 test: Initialize some local variables f45f70af Use trailing return type instead of deduction db86e8d5 Remove a couple of unused argument names 55f5c9f2 Use FMT_NULL instead of 0 is a few more places. e92ba107 Fix Python str.format link to point to Python 3 docs a7ae5666 Enable join on msvc 24d249b0 Fix formatting of objects convertible to string_view e508e308 Don't define FMT_LOCALE on OpenBSD 0ee4273b Put is_enum check first not to instantiate convert_to_int unnecessarily 8ca3ab2c Revert problematic pragma 18ac9870 Fix formatting of objects convertible to std::string ce4a65ff Add pointer support to basic_writer 91721caa Add detection of wostream operator<< (#650) 1efc15c1 Fix MSVC build 8ed264fc Rename type enum constants to prevent collision with poorly written C libs (#644) 4ba3f7db Update docs 7d2723d5 posix.cc: Fix compilation with -fno-exceptions 24d66c5d compilation fix & warnings 229887bd Make constexpr remove_prefix gcc version check tighter (#648) f3f19e76 Update docs e9fa42ac Fix docs and build issues on gcc-4.6 affb35cf Replace using with typedef for compatibility with gcc-4.6 9710c058 Update documentation building script 1a4e8927 Move output_range to format.h 522de7b5 Replace using with typedef for compatibility with gcc-4.6 0b508fd2 Fix c++0x detection 1849735f Fallback to c++11 if c++14 not available 3239c518 Get rid of generic lambdas 78166ccd Get rid of generic lambdas d8ef8a9e Cleanup 82222218 Update README.rst b0005324 Merge the std branch a502decd Added a fmt.pro to support build using qmake (#641) 61065e1a Fix unreachable code warning when signbit returns bool 403ae0a2 Add debug postfix for libfmt (#636) 5096c0fe Fix string_view detection 5b3f9eab Update syntax.rst e802cf14 Add note about errno to the documentation c96d6465 CMakeLists: Use GNUInstallDirs to set install location dbd84697 Update usage.rst 5013c157 Silence MSVC 2017 constant if expression warning cdfcee27 Use allocator_traits if available 66b25ef0 Add examples 6cb68f94 Fix warnings 0b635c9d Fix handling of fixed enums in clang (#580) 66afd9b3 Fix compilation on gcc 6 67e070fe Make format work with C++17 std::string_view (#571) 867b3309 Remove ANDROID macro check per comment in #458 64599973 Enable stream exceptions (#581) 35f8f036 Use less version 2.6.1 and sudo to fix npm install issues on travis 92a250fd Suppress Clang's warning on zero as a null pointer 2f13d41e Add to_wstring 1e19ae83 Workaround a bug in MSVC 3810d7e4 Workaround a bug in MSVC 5c7474e1 Relax constexpr requirements 1f57243b Relax constexpr requirements dc540361 Conditionally compile constexpr 5d8ba816 Fix a segfault in test on glibc 2.26 #551 a9f810c1 Update README.rst 2582f41e Fix ifdefs 1a7d0ba2 Adding OpenSpace to the list of projects 8921f613 Update build script f62e225e Automatically update version in release script (#431) 94806747 remove 'FMT_CPPFORMAT' CMake option bfce29ff Improve conversion 8cf30aa2 Fix segfault on complex pointer formatting (#642) f164e4c7 Remove old bcc-related comments c57029c1 Add Drake & Lyft Envoy to the list of projects 8fa9acb8 Workaround broken __builtin_clz in clang with MS codegen (#519) 3dae2582 Describe cmake use of header-only target 1c7b751d Fix handling of implicit conversion to integral types larger than int 08dff377 Allow compiling and using as DLL in windows #502 c753a2af Don't include the world with WIN32_LEAN_AND_MEAN (#503) a5185ec8 add SOURCELINK_SUFFIX for compatibility with Sphinx 1.5 768061c8 Fix FormatBuf implementation (#491) 0c136381 Move back_insert_range to format.h 5060568f %.f should have zero precision, not default precision a09f7488 Add Kodi (xbmc) to the list of projects using fmt f9fa7c40 Add FMT_API and FMT_OVERRIDE where needed a980d3b4 Add fmt::join to format ranges (#466) 87eab90e Fix missing intrinsic when included from C++/CLI (#457) 75005bbc Don't export the -std=c++11 flag from the fmt target 19f990a9 Use https to fetch dependencies from github bca9de9e Return iterator from format_to 0555cea5 Added a fmt.pro to support build using qmake (#641) a93270fd Replace a bunch of craft with type_traits, take 2 21429c86 Revert "Replace a bunch of craft with type_traits" 0473c48f Add std::basic_string allocator support (#441) 72d9fffd Fix test compilation for FreeBSD (#433) e79588d6 Replace a bunch of craft with type_traits 3a6c7d0c Fix signbit detection (#423) 5e4c34b2 Add version macro FMT_VERSION (#411) bd8a7e7e More iteratification f78c3e41 Fix unreachable code warning when signbit returns bool 0a402056 Add CONTRIBUTING.rst e35d41ff Add extern templates for format_float (#413) d8c25a17 Use nullptr if available e95e4659 Add syntax.rst to build e5111950 argument index -> argument id 229ee34e Fix compiler warnings 7fe0f3da Update ChangeLog 38b603a4 Update README.rst a1e7e4a7 Fix compilation with -fno-exceptions (#402, #405) 3f24a388 Thread-safe time formatting (#396) f853d94a Remove unnecessary fmt/ prefix (#397) 9649919d Document use of format_arg for user-defined type #393 c8efe145 Add api.rst to build da80005f Fix compilation on Cygwin (#388) 8ed16353 Fix a typo 1760c31b Workaround Doxygen mess 72606f23 Add missing types to counting_iterator c1571003 Add debug postfix for libfmt (#636) 6822466a Handle nested braces in join (#638) 64b349ae More iterator support & fmt::count e3b69efb Suppress msvc warnings in gmock 322736d3 Add support for arbitrary output iterators 10291194 Cleanup c1d137ed Add support for nonconiguous iterators f6fd38bb More iterator support c2fecb9b Clean API 9a53a706 Add support for back_insert_iterator 91ee9c9a Return iterator from the format method 67928eae Don't inherit context from parse_context 217e7c76 Pass ranges by value 22994c62 Decouple arg_formatter_base from buffer 00f1450d Update tesmplate parameter names 3a2e89e1 Reduce dependency on buffer c719d944 Fix experimental/string_view detection cea3c207 Give a better error message for function pointers (#633) 232ceabb Workaround an internal compiler error in MSVC c0954453 Replace buffer with range c3d6c5fc Replace buffer with range 0f987731 add transition helper to format.h d165d9c4 Decouple locale and buffer 36634140 Parameterize basic_writer on buffer type 6f2769d0 Revert "Added support for format string containing '\0' in _format udl (#619) (#620)" 5f1c73db Shorten a comment in locale.h 31934602 Update version 51a16f8c Update ChangeLog.rst a0087460 Merge release branch 941663d0 Merge ostream.cc into ostream.h 955062da Merge printf.cc into printf.h 5705bf1c Added support for pre-c++17 experimental string_view (#607) cabce31f Update syntax.rst ccaae0c0 Refer to jeaiii project e3715102 Add a integer formatter based on jeaiii b3495f2e Update README.rst 61f296e3 Move FMT_HAS_BUILTIN to format.h ce801c90 Remove dependency on <vector> and <array> 41fc2990 Merge branch 'std' of github.com:fmtlib/fmt into std 971fb584 Allow mixing named and automatic arguments af0f21da add missing inline in header-only mode (#626) 7cea1638 numeric -> arithmetic 5328907f Get rid of <limits> dependency faaafc7e Remove <utility> dependency and replace typedefs with using 94edb1a7 Add a lightweight header for the core API 3aaa25fa Added support for format string containing '\0' in _format udl (#619) (#620) 84bd2f19 Merge include/fmt/CMakeLists.txt into the main CMake file 7f351dec Decouple <locale> for better compile times 81bd9e8e args -> format_args 10e70a06 Improve handling of custom arguments e0243000 arg_index -> arg_id ac5f9520 Automatically add package to release 0e914372 Avoid conflict with the macro CHAR_WIDTH f03a35a6 Check string specs at compile time e9da5741 Check char specs at compile time b25a0292 Check pointer type specs are compile time c8a9d902 Check floating-point type specifiers 6570dc31 Disallow formatting of multibyte strings into a wide buffer (#606) 3851994a Fix yet another internal compiler error in MSVC 44e18651 Refactor parse context and fix warnings e7e270f5 Test error on invalid type spec and remove unused alias 692b82d3 UdlArg -> udl_arg c523dd58 Use error handler to report errors 5a32e64b More tests 093e2a47 Improve error handling dc104cba Workaround internal compiler errors in MSVC 39411504 More tests e3eb5ea0 Add parse_context::error_handler() 734e722d Fix warnings 62af25dc Workaround yet another MSVC internal error 594bd8fe More tests f2b52bba More tests dfdb1ade More tests 7967c2f8 Disable test that triggers an MSVC bug 18a0b94b Fix overflow check 686ff942 Fix compile-time parsing and add more tests 5b95b5d7 Test compile-time errors 246bdafc Add FMT_STRING macro for compile-time strings e8055433 Remove FMT_USE_VARIADIC_TEMPLATES dba1ccc4 Update readme e613b3c7 Update readme 9fda7a36 Check integral type specs at compile time 92847a0d Add integral type handler a03842b0 More compile-time checks 1c855a47 Integrate constexpr format specs parsing 780b44bf Add compile-time format string check 8ca6e76d Detect user-defined literal templates a7e98616 Workaround another MSVC madness db9ffa14 Make parse_format_string constexpr e926ae78 Add parse_format_string 57e266ab Rename handlers d29c7c3a Workaround a bug in MSVC aadb38a5 Make specs_checker constexpr dd0b72e1 Remove refactoring artefacts e52b10e3 Merge branch 'vitaut-patch-1' of github.com:fmtlib/fmt into std 529d88ce Make dynamic_format_specs construction constexpr d2f2a8b0 constexpr support of dynamic width and precision 6b3840b7 Make format_specs construction constexpr a38bd9ca Fix formatting and naming 91014f01 Naming conventions 932ab2bf Report error from parse_nonnegative_int via handler 0ebdf41e Fix compile-test 170f5c67 Move headers to include/fmt 3d11eac7 Workaround another MSVC constexpr bug c69e3086 Update README.rst 25aac0be Fix travis build on macOS b83241ff Make format spec parsing constexpr bd5188c8 Remove MinGW because it's not on appveyor image 62616b88 Workaround a bug in MSVC's constexpr handling b8f85f67 Use Visual Studio 2017 image on appveyor 7174de0d Fix contexpr-ness of pointer_from 3785afc5 Pass errors to handler instead of throwing (#566) 1b5ccf6c Make parse_arg_id constexpr 17f93fe0 Make basic_string_view ctors constexpr d5e918b6 Detect C++14 compiler support be5b4552 Make null_terminating_iterator more iteratory 643fb066 Check for argument indexing switch d45544d1 Fix width handling in dynamic formatting 8cbf5447 Add parse context ec4f5175 Replace Range with ParseContext in parse() 83dd2ab9 Simplify dynamic_specs_handler 5a8ae0bb Fix a warning 39bc319b Update test results 534bff7d Fix handling of max packed arguments 0cda806d Fix compile tests a3191a99 Get rid of FMT_MAKE_WSTR_VALUE macro fced79b0 Get rid of old compat macros be887d92 Replace internal::get with std::declval 53cf0735 Get rid of FMT_MAKE_VALUE macro 2972de4b Char -> char_type 9ee7c216 Type -> type 1a09194a Cleanup type handling c18a4041 Remove conditional and to_iterator 1cade7ef Remove FMT_USE_RVALUE_REFERENCES 7413239f Remove unnecessary qualification af00e4f9 Remove printf_arg_formatter from format.h and cleanup 44a26e5e CharPtr -> pointer_type and move to writer 0fbd8465 Replace fmt::internal::make_unsigned with std::make_unsigned 8a2bc0ab Add nullptr support 80505995 Allow delayed type checking b0867f3f AlignSpec -> align_spec and fix a warning f194a418 Replace fmt::is_same with std::is_same 47c84d79 Move part of write API (spec factories) to a separate header 20168147 Add ptr, a helper function for pointer formatting 77c892c8 Fix more warnings be7d72ba Fix expansion-to-defined warning d4c504ae Fix a warning 27ad6cee Use standard enable_if 64681739 Fix a warning 38806167 Remove FMT_HAS_GXX_CXX11 a7320bdc Fix a warning 016acebb Remove legacy code 07f8ffc4 Suppress shadowing warnings 466386d5 Suppress a warning in gmock 70ef82a8 Workaround a bug in MSVC 5e0562ab Separate parsing and formatting 1102d465 Make format spec parsing context-independent 45911770 Separate parsing and formatting in extension API 7bd776e7 Explain why null_terminating_iterator is used 873c8451 Remove system_header pragma 9f7957c0 Separate argument parsing and formatting da439f28 Suppress warning about missing noreturn attribute (#549) eefdb379 Fix an unused argument warning 2f4f49fd Switch from cstring_view to string_view a8d6f309 Minor optimizations d16582a0 Move printf-related code to printf.cc 361911dd Use preinstalled version of cmake on travis 9ea183aa Fix MSVC build 8f4b918c Check argument index 4193485b Remove test files 07123e8f Use Ubuntu Trusty on Travis for a new CMake 586d6363 Implement more efficient handling of large number of format arguments 12252152 CStringRef -> cstring_view 5aa8d6ea Return locale by value 32ec13f1 Switch to C++ locale b4f4b7e2 Clean the buffer API (#477) f423e468 Replace clear() with resize(0) and data_ -> store_ 23b8c24d Add noexcept 7175bd8a Fix error on MinGW 7258d1b8 Fix tests 3610f34c Fix windows build 572491ad Document which header defines formatting functions c333dca0 Follow standard naming conventions 6a2ff287 Follow standard naming conventions eedfd07f internal::MemoryBuffer -> basic_memory_buffer 4ec88607 ArgFormatter -> arg_formatter 50e71673 StringRef -> string_view, LongLong -> long_long e022c21d Fix windows build 87b691d8 Merge StringWriter into StringBuffer c2f02169 Merge ArrayWriter into FixedBuffer fefaf07b Pass buffer instead of writer to format_value 6e568f3a buffer -> basic_buffer bb1c82ef Fix build a13b96ed Simplify API 624c5868 Simplify API 7ae8bd70 basic_format_arg -> basic_arg, Buffer -> buffer bf0f1075 Parameterize format_specs on character type 296e9cad FrmatSpec -> format_spec b5fb8dd1 stream -> buffer 984a1029 Remove IntFormatSpec and StrFormatSpec 4863730e Remove pad aaa0fc39 Improve compatibility with old compilers and fix test aea5d3ab Improve compatibility with older gcc and update tests 84850277 Use named argument emulation instead of nested functions ec15ef7b Replace operator<< with write function b77c8190 FPUtil -> fputil 8428621d BasicWriter -> basic_writer 939aff29 Remove unnecessary template arg from basic_format_args f69786a7 Remove Not b2a0d891 Merge value and MakeValue acd1811c Value -> value 42a31907 Parameterize Value on context a4d6cb32 Clean up basic_format_arg d705d516 Parameterize basic_format_arg on context (#442) 422236af Don't erase writer type abb6996f MakeArg -> make_arg ee1651ce Handle empty format_arg state 3bbc5799 Fix MinGW build 63fcfc57 Fix build on older gcc d86e51e9 Don't inherit basic_format_arg from internal::Value f0588869 Fix handling of unpacked args (#437) 11836218 Add support for exotic character types 763ca978 Parameterize Value on character type 6cba8fe9 Move stuff out of internal::Value e1ee5bf0 Replace StringValue with StringRef 0854f8c3 Parameterize formatting argument on char type. 9cf6c8fd Get rid of fmt::internal::Arg 5f022ae0 Remove FMT_DISPATCH 41d4bcf0 Ingore Xcode files 28429701 Merge BasicArgFormatter and ArgFormatter d4084ac5 Get rid of ArgVisitor d58cc8a4 Merge BasicPrintfArgFormatter and PrintfArgFormatter e2dfd39c Update arg visitors 751ff64b Update ArgConverter to the new visitor API c9dc41ab Replace ArgVisitor::visit with a free visit function caa60b9c Update comment 95a53e1f Refactor argument visitor API (#422) 6d241167 Improve visitor API a1dd524b format_arg -> do_format_arg 55a1ac50 Fix test 85793a18 Simplify API 9998f66f Replace formatter with context 2bba4203 Pass writer directly to format_value (#400) b656a1c1 Make value the second argument to format_value edf98792 Pass writer to format_value 64ca334a CharType -> Char be613204 Char -> char_type f85d5f4d BasicFormatter -> basic_formatter 18dfa257 Pass correct formatters to make_format_args dafbec75 Fix type safety when using custom formatters (#394) 506435bf Fix formatting f2879940 Fix formatting 48fe9783 Add format_arg::operator bool 119a63ab internal::Arg -> format_arg 65a8c2c3 format_arg -> format_value 13b04044 Add format_args::size_type 8a77e792 Enable C++11 in tests. 1e8553d6 Enable C++11 in tests. 06bab3ed Workaround mingw bug https://sourceforge.net/p/mingw/bugs/1531/ 6fd6ecc1 Enable C++11 for no-windows-h-test c4212f9e format -> vformat 21c6700b Don't build std branch with -std=c++0=98 209a1d58 Get rid of macros 9a079732 Test types ea28a637 Get rid of FMT_VARIADIC_CTOR 0d8aca8d Get rid of FMT_VARIADIC_VOID 4ece95a7 Make make_format_args public 0028ce57 Get rid of FMT_VARIADIC ece7ae5f Make format_arg_store convertible to format_args 621447fe Make initialization C++11-compatible a0190e4b Add a missing include b903f5c1 format -> vformat 43c0095a Refactor type mapping 4873685c ArgArray -> format_arg_store fc73e106 ArgList -> format_args 92605eb4 Remove FMT_USE_VARIADIC_TEMPLATES 9bb213e9 FormatError -> format_error REVERT: 135ab5cf Update version REVERT: 93d95f17 Fix markup REVERT: 4f15c72f Fix markup REVERT: e9b19414 Automatically add package to release REVERT: c3d1f604 Fix markup REVERT: c96062bf Update changelog and version number git-subtree-dir: externals/fmt git-subtree-split: 3e75ad9822980e41bc591938f26548f24eb88907
2020-04-22 20:57:22 +01:00
Formatting functions such as :ref:`fmt::format() <format>` and
:ref:`fmt::print() <print>` use the same format string syntax described in this
section.
Format strings contain "replacement fields" surrounded by curly braces ``{}``.
Anything that is not contained in braces is considered literal text, which is
copied unchanged to the output. If you need to include a brace character in the
literal text, it can be escaped by doubling: ``{{`` and ``}}``.
The grammar for a replacement field is as follows:
.. productionlist:: sf
Squashed 'externals/fmt/' changes from cd4af11e..9e8b86fd 9e8b86fd Update version 92fec0f0 Bump version 4749cc93 Update changelog 78a0ba0a Improve conversion of paragraphs 7a39837d Use a working breathe version 55b6e92d Fix docs 69dc3a85 Fix docs 27f4cdd5 Update changelog 70d61a0a Update changelog 427b5340 Add no_value state to value e421d527 Simplify error handling in parse_nonnegative_int a59678f3 Fix chrono_test.locale c98254c3 Install locales into CI c123a728 Fix set locale error in chrono formatter 3c8fad12 Optimize parse_nonnegative_int f28cf330 adding a default format for std::chrono::time_point<std::chrono::syst… (#2345) 55010a9d Support non-`char` overloads (module) 0193e7c4 Support compile-time strings and compile-time format string compilation in module 3423d754 Remove the msvc workaround (#2351) f6b5cc9f Fix chrono_test.weekday on legacy glibc 59a298f1 Enable `enforce-checks-test` for MSVC, too 36c29482 Update docs c9fe1fa5 Remove unused flag dccddc2b Apply clang-format 0e36681b Cleanup digit count 1de80f5b Workaround lack of static constexpr in constexpr functions 2039dce7 Detect consteval d551b88a Move is_char specializations to xchar.h 16c3514d wchar-test -> xchar-test 206000a0 Workaround pathological conversion (#2343) 76ee4904 Move wchar/custom char overloads to xchar.h e77b22d6 Deprecate memory buffer overload of format_to 07039f4b Update README.rst 4678192c Remove bsr2log10 7c3d3dfa Update thousands_sep_impl signature ef826b86 Fix docs 5223f552 Remove FMT_ALWAYS_INLINE cfde93af Add FMT_STATIC_CONSTEXPR 986a5a6c Fixed join_view formatter for wchar_t 7c8b35ff fix MSVC Win32 count_digits 3eeb084e Optimize count_digits 2ac0bfe5 Improve handling of thousands separator 024741b4 CI: set up multi-thread build for all platforms f4c95f6d Improve handling of thousands separator d4fbeacc Fix docs build 0eef389d Code style e27b1ce5 Fix docs 9f8b6dac Fix wheel installation 6060bcfc Fix docs ff967346 Fix docs 1085cc21 Fix docs 11addaa1 Update docs 760ca5cc Update docs 290d3f8b Cleanup ranges API aa09e0f5 Update docs d142579e Cleanup the format API f286139d Fix "undefined reference to `fmt::v7::detail::basic_data<void>::digits'" 7b9d69b8 Add xchar.h to docs cbd861f1 Update docs faf972f0 Update docs 622d1c04 Update changelog 634c9487 Update changelog a04e3a2d Comment 87876d54 Cleanup the printf implementation d338d663 Cleanup the printf implementation 272660e7 Remove deprecated printf functions 5a95c5ae Update changelog 70e67ae0 Re-enable module testing Prepare for compilation with gcc (modules branch). ad972589 Merge branch 'master' of github.com:fmtlib/fmt ed2a6377 Workaround msvc constexpr issues 99768695 fix custom types formatting at compile-time, add test 8c1b22ba Workaround a gcc 9.1 bug (#2334) 2dba1cfa Update changelog d7ba6c3e Use qualified name-lookup in module. (#2324) bf9904ee Workaround msvc bugs 577bce90 Apply clang-format ba4c7f19 Swap parameter order to match #2327 (#2329) e9e89b35 Update ChangeLog.rst 9bb406d7 Update changelog 11a14db2 Update format_to taking a buffer and remove undocumented vformat_to overload 832ec098 Fix argument order in locale overload of vformat_to (#2327) 486a80e8 Move wchar_t overloads to xchar.h 19d45f4b Update changelog 5a2b88f6 Reduce binary size 00a39ad5 Enable `Char` types other than `char` (#2323) ff37e416 wchar.h -> xchar.h because it handles other code unit types too 0901176f arg_join -> join_view a9a90181 Move wmemory_buffer to wchar.h 4a7801c3 Update changelog 517578f8 Update changelog 85442ed0 Update changelog 6a12b13a Update changelog 1cfe3c73 Update ChangeLog.rst c0601479 Update changelog 6fe04871 Update changelog 9d67988a FMT_DEPRECATED_WCHAR -> FMT_DEPRECATED_INCLUDE_WCHAR 765b451e Update changelog 17c993c7 Fixed compilation with CMake < 3.7 (#2321) dde69373 Update changelog 272b0f36 More module tests (#2309) 126c8cb4 Export os.h API, too (#2318) 98b9ff47 Align hex floats right as default (#2317) ece4b4b3 Update changelog a70a4ae0 Ignore zero-padding for non-finite floating points (#2310) 7612f18d Update changelog b9f2c276 Update changelog 4e21baff Simplify get_units 683ef11a Update changelog ca466374 qualify make_format_args (#2315) 5a2a1856 Make buffers non-movable ee52a6dc add `fmt::print()` overload to support compiled format (#2304) 82607efb Fixed int conversion warning (#2313) 35a2c2a7 Refactor chrono formatting b955e7a6 Refactor chrono formatting 883d9595 Support alternative locale names in tests 1f308a3c Update integer presentation types documentation. 1cd9899c Add initial support for weekday formatting 069131dc Add unicode-test dd8f38fc Cleanup printf API a216f256 Remove undocumented and obsolete vprintf overload 0c092639 Add is_exotic_char trait bc13c6de Update README.rst 8ec0b9e3 Do *not* export namespace `detail` b99c2bd3 Remove deprecated `locale.h` from module interface unit c04a2439 Update changelog b099a56f Update changelog 703005c8 Deprecate locale.h 51f01786 Cleanup the format API 5d59dcf6 Remove deprecated aliases / undeprecate has_formatter c242dd40 Move cerrno include to where it is used 2216e0b7 Update changelog 1c83a49b Simplify buffer extraction 2617384d Improve buffer extraction 34b8acae More wchar_t-specific API to wchar.h 6326c189 Improve code style consistency 5c4b0c86 Add missing Allocator template argument for basic_memory_buffer in format_to 00149c0b Move detail::null to chrono where it is used c5c968cb Improve binary size 128cbdeb cmake: hide private symbols by default 18af1dc4 Fix binary size regression caused by b268f88 d1e6f0f8 Fix binary size regression caused by b268f88 5a0d99fa Add a test for the module 6e2e6b79 Restore support for `wchar_t` overloads in module 24b677d0 Improve symbol sizes 63271a51 Fix ADL issues 61b4c923 Reduce code bloat 2a2e4c58 addressing nits. be48f4d6 Avoid unwanted sign extensions from MSVC in is_utf8. 13e65293 export missed symbols 71fb1138 fix compile error on msvc preview 4 (16.10) involving lookup clash /w STL 08d22503 Remove outdated comments 56f518a9 Update signatures b7f29337 Update signatures 7483dfc6 Update signatures 95c358f7 Improve separation between code unit types 39c3c4ec Simplify the core API e9c1c415 Improve compile-time checks 21d93bfd Move generic format functions to format.h 9a92eb41 Move more wchar overloads to wchar.h 0dd91e20 Add wchar.h for wide char overloads ce14eafc Simplify format string checks 8d70c0ed Refactor the format API 813ac495 More API cleanups 4ab01fb1 Cleanup printf API d5036b11 Remove deprecated APIs 25819462 Cleanup the core API b35db4e0 Improve handling of 128-bit ints d35f1ad5 Cleanup core 8f1902c0 Move format string checks to core.h 6469b903 Silence msvc warning about an unused named parameter 7d4c92fb Update ChangeLog.rst 0763d8ca Fix Visual Studio warning 5466373a Do *not* export namespace `detail` 588bdb54 Simplify get_arg_index_by_name 54f22a3e add support for statically named arguments with FMT_STRING ea94d6d9 Prevent ambiguity in name lookup 57280762 Move specs checker to core.h ced30375 Move dynamic specs to core.h dd2bc998 Move specs to core.h 08da1adc Remove unused headers 3be0cc20 Fix handling of 128-bit ints 9648bdce add missing header d1aebdbd Inline format_to 8f0fadfa Cleanup docs 02896dab Avoid use after move (#2278) 0036a1d1 Fix issue #2274. 2a9b3146 Replace fmt::error_code to std::error_code 2165bef4 Update README.rst 48629308 Optimize format string compilation 3207a8bb Get rid of unnecessary recursion to enable inlining 6214f15a Optimize standard formatter specialization cd2c78fb Use write directly in formatter specializations 4211d865 Add a formatter specialization for std::error_code. 39f28424 Cleanup tests 84feeb0f Remove redundant comments and put common case check first 2665afb5 Cleanup add-subdirectory-test d0abe7c2 Make chrono formatting locale-independent by default 50fb0b5e Fix formatting 16f2ef91 Replace fmt::system_error with std::system_error 4b885c86 Replace windows_error with system_error 5238055f Move esoteric char type support to format.h 9ac088f3 Add fmtlog to projects 849c9f61 Move is_name_start to core 23892caf Move more parsing to core 8e6390c3 Move FMT_STRING to core 51a33713 Move parsing to core 9c3af11a Cleanup tests 9d7b53cb Remove redundant formatter specialization for byte f0095ccd Add support for ranges of types without formatters to join (#2262) 4f0eadfc Exclude fallback from is_formattable 400b953f Use [] instead of {} in ranges for consistency with Python format 38bcc04a Drop range limit and cleanup tests c738c343 Cleanup tests ed7c4320 Cleanup tests 9155e2de Cleanup tests 38127d9e Cleanup tests c9c0e507 Cleanup tests ccf4ccde Cleanup tests and format string compilation e96a92f8 Cleanup tests and format string compilation fd43e4dc gtest: fix std::is_trivially_copy_constructible for GCC 4.8 & 4.9 properly 3d51ccda gtest: remove obsolete `GTEST_LANG_CXX11` compile definition setting 833377ff gtest: add `.clang-format` file into `test/gtest` directory to prevent formatting there 53ca0cbe gtest: move GTest/GMock files to separate directory, update GTest/GMock usages 342973b3 Make wchar_t overloads usable in module Bring ''detail::find()' into scope. 355be4b1 Make FMT_COMPILE fallback on runtime without if constexpr (#2261) 0cd0fb91 C++17: std::char_traits<>::{compare,length} is constexpr - v2 d1a6e560 Keep defaulted destructors inline applies to exception classes in case of msvc only 84a36b99 Move data to functions ab7c33ed Suppress checked iterator warnings 77258f60 fix FMT_CONSTEXPR_CHAR_TRAITS check for MSVC d23e315e CI windows: add MSVC C++20 build f085c3d7 use proper check for non-type template parameters 69bdc20a Workaround missing std::system on iOS, take 2 847aac43 Follow naming conventions in tests 39818e79 Cleanup core-test 0e6f989b __THROW warning fix for e2k (#2253) 1678ed62 simplify field::format() and spec_field::format(), fix typo ca821982 use named arg with static name in compile-time API ce6e7d86 use fixed_string to create named arg class with static name for _a literal fc56af14 move fixed_string from compile.h to format.h bb006f97 Replace TYPED_TEST_CASE with TYPED_TEST_SUITE 6956b10b Fix gcc 4.8 build b4f9a058 Update gtest 8f9ddf45 Remove deprecated posix.h dacd1356 Add module interface unit d3c523e0 Export printf-related contexts from printf.h 2c25df08 Export replacement type_traits, too 553022dc Don't use std::system on iOS (#2248) 8a040d18 Cleanup core-test 064cac2b Bump version 5b2c740a Remove deprecated APIs b9ab5c88 Remove printf.h dependency on ostream.h c47f2112 Simplify data handling 54d3b171 Move more data out of basic_data 128f007b C++17: std::char_traits<>::{compare,length} is constexpr. (#2246) 841aad95 Move data out of basic_data 1d4199f4 fix udl_compiled_string with non-byte chars (e.g. wchar) (#2242) c5d4fcb1 Appending a space to guarantee non-empty strftime() result. (#2244) 62714062 Fix a warning (#2233) 52bd62c7 Create separate dllexport marking points for clang and msvc. (#2229) f4bbc54c Tag official API for module export (#2235) d8910af8 Use qualified name lookup rather than ADL. (#2239) 92601141 Ranges wide strings support (#2236) 24c97515 Try to suppress MVSC warn of narrowing (#2230) a1c6bfd7 Add a link to llvm diff 42eccac4 Fix clang warning about ignoring __declspec(dllexport) on basic_data<void> template instantitation definition (#2220) aec50434 Update README.rst 0b411454 Update README.rst 00f3d16b Update docs 99c2f7a3 Allow including fmt/core.h in the header-only mode b4415323 CI linux: add clang++-11 C++20 (with LLVM libc++) build 1dbadb65 CI linux: add clang++-11 C++20 build 09dbad47 CI linux: add missing build_type e2facffe CI linux: remove excessive clang++-9 include 273d8865 Suppress redef warning of _CRT_SECURE_NO_WARNINGS if any. (#2218) 5a8bf1f6 Workaround hexfloat inconsistency on windows (#2205) 78776ee4 Fix a conditional expression is constant warning #2210 (#2211) 266107f5 constexpr uint128_wrapper (#2215) 2e0d64cf specify size for `prefixes` static data 95da4847 Fix a link 06b3a100 Add support for time points with arbitrary durations (#2208) dac42f52 Inline fallback is_constant_evaluated 7c43f8b8 Don't use strlen at compile time (#2205) c62e4c30 Make buffer_appender default-constructible when back_insert_iterator is 0d6b70d9 Install gcc 8 15c10b0c Add speech synthesis support 308510eb "Use" `fwrite` result (workaround for `warn_unused_result`) afe23e7f Don't call fileno on NULL file in tests (#2196) b49af043 Remove noexcept from file's move assignment 14848875 Fix: fmt::ostream cannot be moved while holding buffered data #2197 (#2198) 7d8c3401 Update pull_request_template.md b966afcc Remove formattable ec5315a9 Use strlen when possible in fallback basic_string_view 4f8778ba Inline basic_format_args's ctor e2d87548 user-defined constructor f7151d38 Extra flag to prevent Intel compiler with Clang front-end warning of 'unknown attribute no_sanitize' 0fb8ef8f Inline trivial argument handling functions 1b23e25f Simplify formattability check 35c71ff5 Only use -Og with optimizations disabled 243d8beb Enable minimal optimizations in debug mode 9b34681d Work around xl compiler bug when nvcc preprocesses this file (#2190) 4dc7170d Fix C++17 builds: (#2192) 9cb347b4 Simplify argument formatters 0f85a468 add default cases (#2186) 417e1cee Stop using deprecated UDL templates f7e900e1 Simplify UDL definitions d9661c8f Mark grouping as deprecated 14a2a64d Fix handling of formattable types with to_string_view (#2181) 6ae402fd Fix handling of types with to_string_view and formatter specialization (#2180) a6408a3b Add args-test 1147782c Fix an ambiguous call to check caused by ADL (#2184) 2f3f3862 Fix harmless MSVS warning about using undefined _MANAGED symbol (#2183) d0bded59 Fix MSVC /clr builds (#2179) 8308f52c Fix dynamic_format_arg_store::push_back comment 6151d0dc Fix the comment 5a1127b7 Don't wrap named arg in cref and clarify docs b8ff3c18 optimize append (#2164) c8d8b882 fix GCC 7,8,9 warning about unused but set parameter (#2177) d2810187 Document ostream support limitation bac14ef9 Simplify integer spec checking 8f9db3fc Make ubsan happy on empty format specs (#2175) af567538 Bitpack integral prefixes cdf877d4 Workaround missed optimization opportunity eef4ba9c Optimize integer formatting without padding a1ea8a82 Unbloat my heart a457e163 Simplify integer formatter 05bc87a6 Optimize padding 605b6037 Optimize count_digits for powers of 2 85ba2716 Implement 128-bit count_digits in terms of count_digits_fallback d9835737 spec -> specs f9e0e904 Apply clang-format 60f5d244 Simplify arg_formatter 30e1302e Simplify on_format_specs 87c5cd46 Optimize parsing of argument ids 6a9016ea fix `formatted_size` with "compiled format" as argument (#2161) 6e1fc017 Move detail::truncating_iterator to fmt/compile.h e718ec3e Make truncating_iterator an output_iterator (#2158) 772aeca3 Don't include <cassert>. (#2148) (#2152) 684b5b0e Fix fallback to runtime API from compile-time API (#2143) d8b92543 use simplified `void_t` for all compilers other than gcc 4.x (#2160) 835b910e Add an is_formattable trait 57887403 Revert "Optimize handling of integer constants" (#2147) 640acba8 Print x.what() of FMT_THROW when exception is disabled (#2145) d8e1c9f1 fix `fmt::get` for some GCC versions and legacy Clang (#2144) 2797588b Optimize handling of integer constants e8eff3b8 Fix FMT_STATIC_THOUSANDS_SEPARATOR (#2142) ab0f7d7f use const& for arguments 29cc8282 update chrono duration formatter (constness), use it in compile-test for specs checks 3f69af3a update wording in the error inside `arg_id_handler`, use `FMT_ASSERT` instead of `throw` 499047e1 fix incorrect indexing mode for named args, update tests 78c67157 prepare tests, fix incorrect handling of named args with simple `{}` replacement fields b31bc2dc simplify `try_format_argument()`, make `manual_indexing_id()` a variable 95e1aa2d add support for manual indexing and named fields, add tests 7e72673d Improve width estimation (#2033) 13b117b5 Improve code point computation ee0fed63 Fix handling of the + flag with locales (#2133) c5979d56 Fix fmt::localtime formatting not working in wide-char string contexts e6ef927e fmt::ptr: Support function pointers (#2131) 58aa0457 Fix ordering of install commands for CMake (#2122) 1980ca8c fix #2118: FMT_COMPILE did not work with tm formatter (#2119) 2a25e2bf Make ranges-test available with C++11 (#2114) b0b56b43 fix #2116 (FMT_COMPILE requires exceptions enabled) (#2117) 373262f9 Update docs ce519e93 Fix exception propagation from iterators (#2097) acef0bb5 use gcc-10.2 instead of gcc-10.1 on CI, also fix one problem (#2110) 8bf28e6b Add support for s format specifier to bool (#2094) (#2109) 9c418bc4 Update README.rst 456efa46 add missing detail namespace (#2107) 80dc7cce Fixed format.h(1465): warning C4702: unreachable code (#2106) 7fd535c6 Cleanup 'L' handling b4b8917c Update docs e4f2cf45 Make 'L' a modifier 6972b5f3 Add build variable: FMT_MASTER_PROJECT (#2100) ac352081 Install fmt/args.h (#2096) 532e846b Fix width computation in float formatter f8c2f848 Fix handling of width when formatting int as char 0fe0b15e Fix handling of # in width computation 061e364b Document output_file 018688da Correct a typo on syntax.rst (documentation) (#2081) 9ec5592b Fix writing to stdout when redirected to NUL on Windows (#2080) cdc5ef67 Remove fallback to inline specifier from FMT_CONSTEXPR(20) macro (#2075) c9dd1eb9 Don't change charset d09b5c14 Fix std::byte formatting with compile-time API (#2072) bbd6ed5b Add support of most format_specs for formatting at compile-time (#2056) a750bf3a Update api.rst 1256541d Fix formatting 4fa4c924 Add tests for FMT_ENFORCE_COMPILE_STRING, fix several errors (#2038) aa89e380 add cwchar to format.h for std::fputws (#2073) 5a37e182 Disable warning about format string (#2067) fa43fd14 Forward arguments to work with views (#2068) 3551f5d1 Workaround a gcc 10 -Warray-bounds bug (#2065) e7376726 Remove an old mingw workaround (#2059) 25a41b80 Fix a link to Android.mk (#2057) 9293f707 Suppress gcc warning on privates-only class (#2053) c20874c2 Reenable support for fallback formatter in join (#2040) (#2050) 5de0bc1d Add UDL as replacement for FMT_COMPILE (#2043) a6fafe2f docs: use https for some links (#2051) 33f9a6d3 Fix handling of enums in to_string (#2036) aabe0a84 simplify tests by reordering arguments of `EXPECT_EQ` (#2044) 1f4a76d2 Add a missing include (#2047) 4a6eadbd Make std::byte formattabe (#1981) 683a7450 fix formatting with empty compiled format string (#2042) f43416e1 Add a link to contents from index 5a493560 Move some code from core.h to format.h where it is used 9ed0a981 Fix docs build dac753b8 Basics of formatting at compile-time based on compile-time API (#2019) 119f7dc3 Truncate file by default 22a68d16 Don't emit trailing zeros by default d0110b7e Update README.rst 3f4839ce Merge branch 'release' of github.com:fmtlib/fmt 7bdf0628 Update version fc135511 Update changelog 926233bd Fix test 0683fa7d Bump version 6ce207b9 Fix formatting 07b1c1a1 Update changelog 58992761 Reintroduce ostream support to range formatters (#2014) b8957f50 Fix an overflow in format_to_n (#2029) df66516e Workaround an issue with mixing std versions in gcc (#2017) a57baa69 Fix more linkage errors (#2011) 85534a13 Fix linkage errors when linking with a shared library (#2011) a2fa5d62 Update changelog cd300368 Fix more linkage errors (#2011) d1ef29d6 Fix initialization of iterator_buffer (#1996) 5f41bb0f clang-format a58a6b27 Add a newline a036cc97 Reintroduce ostream support to range formatters (#2014) 38c7def4 Update clang version to 3.4 since there are ICEs on earlier ones 55336413 :new: [CI] Test with C++14 in Windows 2019 (#2020) 55dfdd92 Update README.rst 2c734c9b Fix an overflow in format_to_n (#2029) 6cdd1be9 Update build.gradle for latest AGP (#2026) bcc20b29 Implement compile-time checks by default befd7d4a Always use FMT_STRING internally where possible [Issue #2002] (#2006) f8640d40 Add more standards f81c14aa Workaround an issue with mixing std versions in gcc (#2017) 5555651c Fix more linkage errors (#2011) b268f881 detail::write in one more place relevant to printf with long argument… (#2016) aa9b09a9 :bug: Cannot call non-constexpr function in constexpr context (#2010) 986fa004 Printf get container (#1982) 7abc3c01 Suppress a useless warning (#2004) 6d14f781 Fix linkage errors when linking with a shared library (#2011) 9534b9fe Refactor warning suppression 60dc2735 Simplify on_text b5dac0f0 Reduce <algorithm> usage (#1998) a07627b1 :bug: Implicit sign conversion warning in clang in c++17 and 20 modes (#2009) 1b8f499e :wrench: Silence useless cast warnings (#2008) f428d286 Update README.rst beb248b6 Optimize handling of large format strings 1936dddc fix gcc warning of missing override (#2001) 14f6bd0f Move one more headers to args.h e01d26e1 Optimize includes e528d919 Merge branch 'master' of github.com:fmtlib/fmt 48816772 Update signatures 3302fd10 use memchr for searching for '%' in printf format string (#1984) 4c2d6372 Update signatures beaff396 Update signatures ffa0a083 Use newer versions of Sphinx and Breathe 038057eb Document contexts 5bedcb66 Fix initialization of iterator_buffer (#1996) 2435ea41 Workaround MSVC mess 8c6215f5 Fix fmt/color.h 10ebe6cb Document color 1ac50fcb Suppress more bogus warnings e098be8e Fix warning filtering 8cf0afaf Improve docs e29f93e8 Suppress more bogus warnings 4e8d000f Suppress more bogus warnings 7787792e Fix re usage 6ee5e507 Fix imports 06ee32d1 Filter useless doxygen warnings 86bb7fe6 Add a missing import 959a9f5c Merge branch 'master' of github.com:fmtlib/fmt 4f7df299 Improve docs b3ab0bc7 :art: [CI] Specify the exact version of clang to use (#1991) 701ed6c8 Install deps in github actions instead of script 8f2131cf Document chrono 32c4af8f Document chrono 295a60ec Document chrono a4fae96c Document chrono 263bb0e6 Document chrono 0506b328 Document chrono 4e426c19 Document chrono 9795d873 Update docs 2eb0be0b Remove debug code and fix bot contact cd955798 Move less installation to actions 98639d0f Debug doc build ab5e0632 Debug doc build b123129f Dump the content of html dir 81d2b986 Print less command 7a0b1d57 Add key 9f0617cb Fix branch ref 75b07598 Chrono docs dfbb6975 Remove travis config 5b3052f9 Switch doc build to github actions 506ff320 Fix build failure when not using fcntl with -Werror (#1990) a30b279b Apply clang-format and tweak comments 6a2495c8 -Wattributes visibility warning with some GCC versions (#1975) cba5970c Remove migrated build configs 689081d8 Merge branch 'release' of github.com:fmtlib/fmt cc09f1a6 Update version e4eb242c Update changelog and bump version ce98e0c6 Fix fallback float formatter at assymetric bounds (#1976) 49544ea9 Fuzz fallback formatter 6b7bfed4 Fix fallback float formatter at assymetric bounds (#1976) bcab36da Update CI config 1689e73e Move PR template 0103408a Update CI config 38a16ecb Move build config to github actions 205eb3a8 Update CI config fe61b8c6 Update CI config 867b15d7 Update CI config 98cb9f99 Update CI config 95077d60 Update CI config bc49f094 Update CI config cef6dfb4 Update CI config c8703ba4 Update CI config ab4405be Update README.rst 78a55e28 Update CI config d0a2494a Update cmake.yml 89d009ba Update cmake.yml 1f4ff47b Create cmake.yml eb52ac7a :new: Enable -Wshadow in pedantic mode e904e891 :art: :bug: Rename all shadowed types and variables 771292c3 Remove sizeof from unused variable silencer (#1974) 86bf6045 Merge branch 'release' of github.com:fmtlib/fmt 5f7f7b95 Update version 5d3f0741 Update changelog and bump version 563cbb6c Add a macro to workaround clang/gcc ABI incompatibility on ARM 425778aa Fix ABI compatibility (#1961) 69a84198 Remove accidental parenthesis (#1968) 5c045049 Removed [-Wsign-conversion] warning in GCC 556a1cfb Instantiate to_decimal to make gcc lto happy (#1955) 28a8eae8 Cleanup 236fea1f Workaround bugs in gcc 8 e50ced88 Add a macro to workaround clang/gcc ABI incompatibility on ARM 112755cf Remove FMT_SAFEBUFFERS (#1966) 4081b2fe Fix ABI compatibility (#1961) 2d9311e8 Remove accidental parenthesis (#1968) b3a4f28a Fix implicit signedness conversion warning (#1963) 97c88732 Allocator::max_size support in basic_memory_buffer (#1960) bb68f608 Removed [-Wsign-conversion] warning in GCC f4ca065c Range support cb224eca Instantiate to_decimal to make gcc lto happy (#1955) 7977c2b4 Cleanup e54eb676 Workaround bugs in gcc 8 4fe0b111 Update version df4bd60f Bump version 764fb35e Always install the required version of breathe e1bdc0ec Use the correct version of sphinx 39bde329 Tweak markup 204d299a Tweak markup e0995b1c Update readme 4af178bd Remove outdated build config aa41dc02 Remove unused script 6a77ea3c Tweak markup 62c72059 Update changelog c10e3f7f Update changelog e542e695 Update changelog 530cf316 Point to the release, not dev documentation 740385d6 Update changelog cd465111 Update changelog 46291be3 Update changelog 90071c1d Update ChangeLog.rst 25293d7a Update ChangeLog.rst 5024742f Update ChangeLog.rst 0452a4e7 Update changelog 8de96817 Woraround bugs in gcc 8 47e16767 Simplify arg formatter f0a42346 Move parsing optimization one level up 86287b8d Optimize common case in parse_format_specs 8924211f Update README.rst 525e7649 Update CONTRIBUTING.md 0ecb3d18 Optimize alignment parsing 97553078 Optimize format_uint 7446818f Simplify vformat_to 280b5612 Add option to force usage of inline namespaces e57ec7d5 Merge vformat_to overloads 2a3f4de3 Remove iterator_category 27fdb4ea Unshadow floaty 297e0bad Apply clang-format e3b4c22e Simplify is_output_iterator da8278e1 Update changelog and bump version 17fba753 added position independent documentation (#1939) 71e705a2 Update README.rst 74654c8c Fix compilation for systems without fcntl.h (#1942) f468b203 Avoid conversion from long long to size_t (#1935) 20d4f2e8 Fix handling of weird character types when parsing sign (#1932) 08370c39 Update README.rst bd3c7925 Fix float fuzzer 8d3fd86d Merge branch 'master' of github.com:fmtlib/fmt 40347157 Update README.rst 37d738fa Update README.rst 271eff14 Make classes derived from buffer<T> final to silence the virtual destructor warning. (#1937) 010efc31 Add float fuzzer and cleanup 811c8b58 Add float fuzzer and cleanup 82c4e223 Cleanup fuzzing 63e40c96 Fix naming of fuzzers 2f448ed5 Fix fuzzer timeouts af283059 Cleanup 48ea8193 Explain why assert-test is a separate test 1d112bdd Remove old test 5eb292a6 Update README.rst 7e56b6b6 Fix coding style and remove duplicate fuzzer 41d97e1e Fix a UB on ridiculously large precision 01c37e0a Added check for `-mbig-obj` and ref qualifier check (#1929) a5e7e7db Fix handling of thousand separator (#1927) bf19051a Optimize floating point formatting 3c13a88b Optimize floating point formatting f6d75c53 Refactor write_float e9c0b2d6 Merge write_float overloads 7eddbfed Cleanup exponent handling in write_float b347b302 Update dynamic_formatter comment (#1923) 3541880e Fix integer overflow when using max int precision 7b50dc0b Don't exclude all detail symbols from docs 28052431 Fix the doc config 34f22e88 Cleanup CMake config a18b3fbb Fix fixed precision handling when rounding (#1917) 72770357 Fix long lines in usage.md 7612c1ea Add reference to lhelper package manager in usage b91d39f2 Get rid of float_writer b4b64b9c Refactor float formatting 712abe40 Workaround a bug in gcc 7.5 (#1912) af8a180a Make GetCachedPower test more precise a581e9e5 Fix warning C4018: '<=': signed/unsigned mismatch (#1908) 05a28312 Update docs 4d0aa4d8 Update link 575f4018 Simplify FP formatting and follow coding conventions 6f3536f9 Move zero-check to an earlier branch (#1906) 90ef46df Fix dragonbox integration 3ae88147 Fix declaration 64179525 Improve dragonbox integration 79694d42 Fix WriteConsole signature 51f2e2ca Move nan test to where it belongs 68555fdb Make format-test not depend on color.h 63e0c354 Make dragonbox::to_decimal available in format.h 2213a711 Update README.rst 79ba37f3 Update README.rst a905d8f7 Merge grisu-test into format-test 762c33a9 Simplify windows handling (#1903) 253d6315 Remove dependency on windows.h (#1900) c156093f Fix carry in fallback_format 34179b33 Update format.h (#1898) 0651e459 Minor tweaks to get_cached_power 6c025520 Test that max_k is correctly defined 51f8d0cc Reuse log10_2_significand constant 1305cbeb Fix MSVC2019 error C2049 when compiling with /clr (#1897) 2d4fde3a Don't emit trailing zero for consistency with std::format 5fd89d50 Minor simplifications 605ce5e4 Simplify divisible_by_power_of_2 085171e7 Remove grisu_count_digits aa729bf2 Remove dead code aa2ddf9b Simplify Dragonbox integration c1654ce4 Simplify uint32_or_64_or_128_t definition 33712dc0 Combine pragmas e5942ac9 Tweak comments aae7a133 Remove unused pragmas 6bcde9aa https://github.com/fmtlib/fmt/pull/1882#issuecomment-696823912 (#1894) bb0db5e5 clang-format 16410056 Optimize copy_str for counting_iterator 2591ab91 MSVC optimizations for count_digits. (#1890) d5b8002d Update README.rst 821471e1 qkw: generalizing aliasing | using fmt library and it's features (#1888) 2e620ddb Small improvements that should have zero to negligible impact on the runtime (#1887) 2f7e0885 Disable range formatter if value type is not formattable (#1885) c46a8de4 Simplify test 2696dc92 add forgotten template argument to make_format_args which made some u… (#1877) 0016da7a Don't generate zeros and fix UB on huge precision ce3f7699 Merge intrinsic blocks 3b6248f6 Change formatting 2d9b1dd0 Fix sign mismatch 1f0600a2 Fix bug regarding FMT_SAFEBUFFERS 2ecdbb98 Fix a bug in ctzll 6f81ea15 Fix typo (and thus bug) 0c8ffe9b Implement Dragonbox (first version) 42699bf4 Fix msvc version of clz & clzll (#1880) bc51a8df Disable fallthrough attributes for the Intel compilers on Linux and MacOS (#1879) 45da432d fix compiler warnings in public header files d55e61f1 Improve FMT_ALWAYS_INLINE (#1878) 7e682752 Remove trailing zeros when using fallback formatter (#1873) 1d696dc2 Handle exotic character types in compilation f674434a Add format_to_n overload that accepts FMT_COMPILE (from #1767) (#1869) 5b5a5971 Fix handling of wide alignment f80ed64d Update README.rst 38139664 Simplify fallback format dce8e49b Handle float in fallback formatter 78b59443 Spelling f233b56c Don't generate insignificant digits 595902f8 Update test 4f2ee892 Use built-in FP formatter for any precision 58a044be Use built-in FP formatter for any precision efe3694f Macro tweak and clang-format 9f312fe8 Implement fallback FP formatting with given precision (#1526) fb289cf5 Fix coding conventions 86f0a704 Fix formatting bff4d18e Add color format_to overloads * Fix variable size basic_memory_buffer colorization * Fix an unused arguments warning on GCC that blocks the CI otherwise * Ref #1842 * Ref #1593 f19b8885 Fixed a warning in mingw32/mingw64 (#1860) f8e00a08 NOMINMAX not handled properly (#1855) 6cccdc24 Fix move constructor (#1844) 69902c17 Allow use of <fcntl.h> in Linux when __has_include is not available (#1848) 1edd38b9 Add append mode. (#1847) e66ba169 Added build2 usage instructions. (#1838) f39e6fb6 Add formatters for chrono::time_point<system_clock> (#1837) 77b627be Fix bogus MSVC warnings (#1825) 5dff01d3 Add complex tests d16d585e Update signatures c7e6d8af Fix usage of override (#1836) 92bff2fe Revert "Add missing includes" a0dcfbc5 Add ptr to docs 1651b2d4 Fix detail::write with fallback formatter (#1829) 06895a76 Add missing includes 92a448a0 Apply clang-format 6be65446 Fixing buffer_appender's ++ slicing (#1822) 951e0d23 CMakeLists.txt: Added Wundef warning to clang and gcc. (#1823) f9f02df7 CMakeLists.txt: Clang-warnings: removed -Wno-sign-conversion (#1817) 76e97dc4 Eliminate shadowed variable warnings on intel (#1816) e204df0e nvcc compiler should be EDG-based, but fails test (#1818) 1c8bb547 small changes to reduce clang-9 warnings (#1808) 4b69c787 fix: warning C4100: unreferenced formal parameter (#1814) fb0aeb82 fix: disabled UDL templates for PGI (#1811) (#1812) 54daa086 Add dynamic width support to FMT_COMPILE (#1809) 6fb7c6fb Workaround a bug in gcc10 (#1810) 16985fda Update README.rst 1378ddae Update README.rst 4fd95e4b Don't remove trailing zeros with # e06ae322 Avoid warnings on functions with external linkage that don't have declarations 7fc3d1f5 Add override to grow 065889a5 Use correct capacity in iterator_buffer (#1807) d0dd6786 Adding convenience append(range) 0e7cef06 Merge commit 'c13f79e0' e2c8c455 Update README.rst e4c954ff Update README.rst c13f79e0 Merge release branch d7921d64 Update README.rst 4a4fc225 Update changelog 61602a75 Remove -Wno-shadow 2f8fc29e Update README.rst 717b226b include/fmt/format.h: explicit cast to std::size_t for parameter to buffer.resize() in order to get rid of warning 'implicit conversion changes signedness:' in clang-8 (#1802) 2a69f567 Tweak buffer size ea769338 Simplify ostream 5413713c Remove unused function 57f46242 Increase the default buffer size 0b6e7cc6 Update README.rst e587adb4 Simplify count_digits 279d698e Fix handling of default alignmment with locale (#1801) 76cfb50b Test complex formatter 20829120 Optimize count_digits 8d9ab967 Cut a few cycles from count_digits 73434493 Simplify ostream_params 2a47a1e4 Update README.rst 7c4c5c79 Make buffer size configurable f0b84da5 Don't use 128 bit integers with clang-cl (#1800) a3dfd6f9 Workaround a bug in msvc 51d05521 Workaround broken numeric_limites, part 2 (#1787) 21c8b5c1 Report error on missing named argument (#1796) d82fdcc9 Fix handling of iterators in locale-specific formatting (#1782) 633213d9 Merge release branch e8f2580a Bump version 6cefe55a Update changelog 64e2da15 Update README.rst 1c8c810f Update README.rst c2399ccf Update README.rst a7c5db06 Update README.rst a4c22acd Update README.rst 0c1f4b5a Update README.rst 63b422ee Update README.rst 26e81a67 Update README.rst de5fc6af Update README.rst 9c2edfd1 Partially revert 638db5 because it breaks the doc build 810357c0 Document color 0a7032a4 Update README.rst 95d3abf9 Make format_to_n part of the core API 98626093 Correct the locale format specifier in api.rst (#1792) 47f8d7a3 Make formatted_size part of the core API 46a63b70 Update docs 430f393d Disabled __attribute__((deprecated)) usage for LCC (#1790) febffa4e Make join() handle non-const-only begin/end ranges (#1786) d69e2da2 Fix apidoc ce73ea37 Reorder functions d39d661b Workaround broken numeric_limits (#1725) c228bfe8 Improve docs 38ce19f7 Update README.rst d11849bc Add FMT_REDUCE_INT_INSTANTIATIONS flag (#1781) c08518a2 Move make_args_checked to the public API e2837084 Add a color section 9f0c0033 Simplify format string checks d615137c Improve handling of buffer iterator 26b47b6f Bump tested CMake version to 3.18 7a01c9c5 Update README.rst b17d5c4f Fix a regression in handling digit separators (#1782) eb90da2e Type erase output iterators 9d3cd0af Type erase output iterators 18024853 Fix compatibility with CMake 3.4 (#1779) f5d4215b Trying to clear ambiguous compile time claims (#1775) c26349f4 Improve error reporting f4b11ef6 Add a short anchor 0097cf11 Report unformattable type name more prominently 8fa20b47 dev -> latest a03bd3dd Autodetect MSVC static runtime (#1770) c108ee1d Clarify a comment a8074a86 Update README.rst 5f629548 Update README.rst bd903f96 Clarify precedence 16cac46a Improve handling of streamable and convertible to bool types (#1766) 415cd519 direct_buffered_file -> ostream e1bfb596 Fix handling of code units in compile ba8d98cb Cleanup direct_buffered_file 04a1f6e9 Improve handling of single code units in compile e4f57bfd Add an overload of write for buffer_appender d8704681 Make append work with fixed-size buffer e8ec09ae Cleanup core-test a2c4fed9 Double buffering no more 36406509 Add a fixed buffer 60c43e87 Apply clang-format b998e0f3 Reduce symbol sizes and simplify iterator use c5adfc51 Update README.rst c4ad94ce Update README.rst c1429651 Fix image source link 638db5ca Use Cmake to find Python and Sphinx-doc. c0905697 Update readme 1efdb2dd Simplify readme dc69afad Cleanup example 445f5d39 Break long lines 23063c34 Update readme f57b6257 Move PR template to the top level git-subtree-dir: externals/fmt git-subtree-split: 9e8b86fd2d9806672cc73133d21780dd182bfd24
2021-06-23 08:39:40 +01:00
replacement_field: "{" [`arg_id`] [":" (`format_spec` | `chrono_format_spec`)] "}"
arg_id: `integer` | `identifier`
integer: `digit`+
digit: "0"..."9"
identifier: `id_start` `id_continue`*
id_start: "a"..."z" | "A"..."Z" | "_"
id_continue: `id_start` | `digit`
In less formal terms, the replacement field can start with an *arg_id*
that specifies the argument whose value is to be formatted and inserted into
the output instead of the replacement field.
Squashed 'externals/fmt/' changes from cd4af11e..9e8b86fd 9e8b86fd Update version 92fec0f0 Bump version 4749cc93 Update changelog 78a0ba0a Improve conversion of paragraphs 7a39837d Use a working breathe version 55b6e92d Fix docs 69dc3a85 Fix docs 27f4cdd5 Update changelog 70d61a0a Update changelog 427b5340 Add no_value state to value e421d527 Simplify error handling in parse_nonnegative_int a59678f3 Fix chrono_test.locale c98254c3 Install locales into CI c123a728 Fix set locale error in chrono formatter 3c8fad12 Optimize parse_nonnegative_int f28cf330 adding a default format for std::chrono::time_point<std::chrono::syst… (#2345) 55010a9d Support non-`char` overloads (module) 0193e7c4 Support compile-time strings and compile-time format string compilation in module 3423d754 Remove the msvc workaround (#2351) f6b5cc9f Fix chrono_test.weekday on legacy glibc 59a298f1 Enable `enforce-checks-test` for MSVC, too 36c29482 Update docs c9fe1fa5 Remove unused flag dccddc2b Apply clang-format 0e36681b Cleanup digit count 1de80f5b Workaround lack of static constexpr in constexpr functions 2039dce7 Detect consteval d551b88a Move is_char specializations to xchar.h 16c3514d wchar-test -> xchar-test 206000a0 Workaround pathological conversion (#2343) 76ee4904 Move wchar/custom char overloads to xchar.h e77b22d6 Deprecate memory buffer overload of format_to 07039f4b Update README.rst 4678192c Remove bsr2log10 7c3d3dfa Update thousands_sep_impl signature ef826b86 Fix docs 5223f552 Remove FMT_ALWAYS_INLINE cfde93af Add FMT_STATIC_CONSTEXPR 986a5a6c Fixed join_view formatter for wchar_t 7c8b35ff fix MSVC Win32 count_digits 3eeb084e Optimize count_digits 2ac0bfe5 Improve handling of thousands separator 024741b4 CI: set up multi-thread build for all platforms f4c95f6d Improve handling of thousands separator d4fbeacc Fix docs build 0eef389d Code style e27b1ce5 Fix docs 9f8b6dac Fix wheel installation 6060bcfc Fix docs ff967346 Fix docs 1085cc21 Fix docs 11addaa1 Update docs 760ca5cc Update docs 290d3f8b Cleanup ranges API aa09e0f5 Update docs d142579e Cleanup the format API f286139d Fix "undefined reference to `fmt::v7::detail::basic_data<void>::digits'" 7b9d69b8 Add xchar.h to docs cbd861f1 Update docs faf972f0 Update docs 622d1c04 Update changelog 634c9487 Update changelog a04e3a2d Comment 87876d54 Cleanup the printf implementation d338d663 Cleanup the printf implementation 272660e7 Remove deprecated printf functions 5a95c5ae Update changelog 70e67ae0 Re-enable module testing Prepare for compilation with gcc (modules branch). ad972589 Merge branch 'master' of github.com:fmtlib/fmt ed2a6377 Workaround msvc constexpr issues 99768695 fix custom types formatting at compile-time, add test 8c1b22ba Workaround a gcc 9.1 bug (#2334) 2dba1cfa Update changelog d7ba6c3e Use qualified name-lookup in module. (#2324) bf9904ee Workaround msvc bugs 577bce90 Apply clang-format ba4c7f19 Swap parameter order to match #2327 (#2329) e9e89b35 Update ChangeLog.rst 9bb406d7 Update changelog 11a14db2 Update format_to taking a buffer and remove undocumented vformat_to overload 832ec098 Fix argument order in locale overload of vformat_to (#2327) 486a80e8 Move wchar_t overloads to xchar.h 19d45f4b Update changelog 5a2b88f6 Reduce binary size 00a39ad5 Enable `Char` types other than `char` (#2323) ff37e416 wchar.h -> xchar.h because it handles other code unit types too 0901176f arg_join -> join_view a9a90181 Move wmemory_buffer to wchar.h 4a7801c3 Update changelog 517578f8 Update changelog 85442ed0 Update changelog 6a12b13a Update changelog 1cfe3c73 Update ChangeLog.rst c0601479 Update changelog 6fe04871 Update changelog 9d67988a FMT_DEPRECATED_WCHAR -> FMT_DEPRECATED_INCLUDE_WCHAR 765b451e Update changelog 17c993c7 Fixed compilation with CMake < 3.7 (#2321) dde69373 Update changelog 272b0f36 More module tests (#2309) 126c8cb4 Export os.h API, too (#2318) 98b9ff47 Align hex floats right as default (#2317) ece4b4b3 Update changelog a70a4ae0 Ignore zero-padding for non-finite floating points (#2310) 7612f18d Update changelog b9f2c276 Update changelog 4e21baff Simplify get_units 683ef11a Update changelog ca466374 qualify make_format_args (#2315) 5a2a1856 Make buffers non-movable ee52a6dc add `fmt::print()` overload to support compiled format (#2304) 82607efb Fixed int conversion warning (#2313) 35a2c2a7 Refactor chrono formatting b955e7a6 Refactor chrono formatting 883d9595 Support alternative locale names in tests 1f308a3c Update integer presentation types documentation. 1cd9899c Add initial support for weekday formatting 069131dc Add unicode-test dd8f38fc Cleanup printf API a216f256 Remove undocumented and obsolete vprintf overload 0c092639 Add is_exotic_char trait bc13c6de Update README.rst 8ec0b9e3 Do *not* export namespace `detail` b99c2bd3 Remove deprecated `locale.h` from module interface unit c04a2439 Update changelog b099a56f Update changelog 703005c8 Deprecate locale.h 51f01786 Cleanup the format API 5d59dcf6 Remove deprecated aliases / undeprecate has_formatter c242dd40 Move cerrno include to where it is used 2216e0b7 Update changelog 1c83a49b Simplify buffer extraction 2617384d Improve buffer extraction 34b8acae More wchar_t-specific API to wchar.h 6326c189 Improve code style consistency 5c4b0c86 Add missing Allocator template argument for basic_memory_buffer in format_to 00149c0b Move detail::null to chrono where it is used c5c968cb Improve binary size 128cbdeb cmake: hide private symbols by default 18af1dc4 Fix binary size regression caused by b268f88 d1e6f0f8 Fix binary size regression caused by b268f88 5a0d99fa Add a test for the module 6e2e6b79 Restore support for `wchar_t` overloads in module 24b677d0 Improve symbol sizes 63271a51 Fix ADL issues 61b4c923 Reduce code bloat 2a2e4c58 addressing nits. be48f4d6 Avoid unwanted sign extensions from MSVC in is_utf8. 13e65293 export missed symbols 71fb1138 fix compile error on msvc preview 4 (16.10) involving lookup clash /w STL 08d22503 Remove outdated comments 56f518a9 Update signatures b7f29337 Update signatures 7483dfc6 Update signatures 95c358f7 Improve separation between code unit types 39c3c4ec Simplify the core API e9c1c415 Improve compile-time checks 21d93bfd Move generic format functions to format.h 9a92eb41 Move more wchar overloads to wchar.h 0dd91e20 Add wchar.h for wide char overloads ce14eafc Simplify format string checks 8d70c0ed Refactor the format API 813ac495 More API cleanups 4ab01fb1 Cleanup printf API d5036b11 Remove deprecated APIs 25819462 Cleanup the core API b35db4e0 Improve handling of 128-bit ints d35f1ad5 Cleanup core 8f1902c0 Move format string checks to core.h 6469b903 Silence msvc warning about an unused named parameter 7d4c92fb Update ChangeLog.rst 0763d8ca Fix Visual Studio warning 5466373a Do *not* export namespace `detail` 588bdb54 Simplify get_arg_index_by_name 54f22a3e add support for statically named arguments with FMT_STRING ea94d6d9 Prevent ambiguity in name lookup 57280762 Move specs checker to core.h ced30375 Move dynamic specs to core.h dd2bc998 Move specs to core.h 08da1adc Remove unused headers 3be0cc20 Fix handling of 128-bit ints 9648bdce add missing header d1aebdbd Inline format_to 8f0fadfa Cleanup docs 02896dab Avoid use after move (#2278) 0036a1d1 Fix issue #2274. 2a9b3146 Replace fmt::error_code to std::error_code 2165bef4 Update README.rst 48629308 Optimize format string compilation 3207a8bb Get rid of unnecessary recursion to enable inlining 6214f15a Optimize standard formatter specialization cd2c78fb Use write directly in formatter specializations 4211d865 Add a formatter specialization for std::error_code. 39f28424 Cleanup tests 84feeb0f Remove redundant comments and put common case check first 2665afb5 Cleanup add-subdirectory-test d0abe7c2 Make chrono formatting locale-independent by default 50fb0b5e Fix formatting 16f2ef91 Replace fmt::system_error with std::system_error 4b885c86 Replace windows_error with system_error 5238055f Move esoteric char type support to format.h 9ac088f3 Add fmtlog to projects 849c9f61 Move is_name_start to core 23892caf Move more parsing to core 8e6390c3 Move FMT_STRING to core 51a33713 Move parsing to core 9c3af11a Cleanup tests 9d7b53cb Remove redundant formatter specialization for byte f0095ccd Add support for ranges of types without formatters to join (#2262) 4f0eadfc Exclude fallback from is_formattable 400b953f Use [] instead of {} in ranges for consistency with Python format 38bcc04a Drop range limit and cleanup tests c738c343 Cleanup tests ed7c4320 Cleanup tests 9155e2de Cleanup tests 38127d9e Cleanup tests c9c0e507 Cleanup tests ccf4ccde Cleanup tests and format string compilation e96a92f8 Cleanup tests and format string compilation fd43e4dc gtest: fix std::is_trivially_copy_constructible for GCC 4.8 & 4.9 properly 3d51ccda gtest: remove obsolete `GTEST_LANG_CXX11` compile definition setting 833377ff gtest: add `.clang-format` file into `test/gtest` directory to prevent formatting there 53ca0cbe gtest: move GTest/GMock files to separate directory, update GTest/GMock usages 342973b3 Make wchar_t overloads usable in module Bring ''detail::find()' into scope. 355be4b1 Make FMT_COMPILE fallback on runtime without if constexpr (#2261) 0cd0fb91 C++17: std::char_traits<>::{compare,length} is constexpr - v2 d1a6e560 Keep defaulted destructors inline applies to exception classes in case of msvc only 84a36b99 Move data to functions ab7c33ed Suppress checked iterator warnings 77258f60 fix FMT_CONSTEXPR_CHAR_TRAITS check for MSVC d23e315e CI windows: add MSVC C++20 build f085c3d7 use proper check for non-type template parameters 69bdc20a Workaround missing std::system on iOS, take 2 847aac43 Follow naming conventions in tests 39818e79 Cleanup core-test 0e6f989b __THROW warning fix for e2k (#2253) 1678ed62 simplify field::format() and spec_field::format(), fix typo ca821982 use named arg with static name in compile-time API ce6e7d86 use fixed_string to create named arg class with static name for _a literal fc56af14 move fixed_string from compile.h to format.h bb006f97 Replace TYPED_TEST_CASE with TYPED_TEST_SUITE 6956b10b Fix gcc 4.8 build b4f9a058 Update gtest 8f9ddf45 Remove deprecated posix.h dacd1356 Add module interface unit d3c523e0 Export printf-related contexts from printf.h 2c25df08 Export replacement type_traits, too 553022dc Don't use std::system on iOS (#2248) 8a040d18 Cleanup core-test 064cac2b Bump version 5b2c740a Remove deprecated APIs b9ab5c88 Remove printf.h dependency on ostream.h c47f2112 Simplify data handling 54d3b171 Move more data out of basic_data 128f007b C++17: std::char_traits<>::{compare,length} is constexpr. (#2246) 841aad95 Move data out of basic_data 1d4199f4 fix udl_compiled_string with non-byte chars (e.g. wchar) (#2242) c5d4fcb1 Appending a space to guarantee non-empty strftime() result. (#2244) 62714062 Fix a warning (#2233) 52bd62c7 Create separate dllexport marking points for clang and msvc. (#2229) f4bbc54c Tag official API for module export (#2235) d8910af8 Use qualified name lookup rather than ADL. (#2239) 92601141 Ranges wide strings support (#2236) 24c97515 Try to suppress MVSC warn of narrowing (#2230) a1c6bfd7 Add a link to llvm diff 42eccac4 Fix clang warning about ignoring __declspec(dllexport) on basic_data<void> template instantitation definition (#2220) aec50434 Update README.rst 0b411454 Update README.rst 00f3d16b Update docs 99c2f7a3 Allow including fmt/core.h in the header-only mode b4415323 CI linux: add clang++-11 C++20 (with LLVM libc++) build 1dbadb65 CI linux: add clang++-11 C++20 build 09dbad47 CI linux: add missing build_type e2facffe CI linux: remove excessive clang++-9 include 273d8865 Suppress redef warning of _CRT_SECURE_NO_WARNINGS if any. (#2218) 5a8bf1f6 Workaround hexfloat inconsistency on windows (#2205) 78776ee4 Fix a conditional expression is constant warning #2210 (#2211) 266107f5 constexpr uint128_wrapper (#2215) 2e0d64cf specify size for `prefixes` static data 95da4847 Fix a link 06b3a100 Add support for time points with arbitrary durations (#2208) dac42f52 Inline fallback is_constant_evaluated 7c43f8b8 Don't use strlen at compile time (#2205) c62e4c30 Make buffer_appender default-constructible when back_insert_iterator is 0d6b70d9 Install gcc 8 15c10b0c Add speech synthesis support 308510eb "Use" `fwrite` result (workaround for `warn_unused_result`) afe23e7f Don't call fileno on NULL file in tests (#2196) b49af043 Remove noexcept from file's move assignment 14848875 Fix: fmt::ostream cannot be moved while holding buffered data #2197 (#2198) 7d8c3401 Update pull_request_template.md b966afcc Remove formattable ec5315a9 Use strlen when possible in fallback basic_string_view 4f8778ba Inline basic_format_args's ctor e2d87548 user-defined constructor f7151d38 Extra flag to prevent Intel compiler with Clang front-end warning of 'unknown attribute no_sanitize' 0fb8ef8f Inline trivial argument handling functions 1b23e25f Simplify formattability check 35c71ff5 Only use -Og with optimizations disabled 243d8beb Enable minimal optimizations in debug mode 9b34681d Work around xl compiler bug when nvcc preprocesses this file (#2190) 4dc7170d Fix C++17 builds: (#2192) 9cb347b4 Simplify argument formatters 0f85a468 add default cases (#2186) 417e1cee Stop using deprecated UDL templates f7e900e1 Simplify UDL definitions d9661c8f Mark grouping as deprecated 14a2a64d Fix handling of formattable types with to_string_view (#2181) 6ae402fd Fix handling of types with to_string_view and formatter specialization (#2180) a6408a3b Add args-test 1147782c Fix an ambiguous call to check caused by ADL (#2184) 2f3f3862 Fix harmless MSVS warning about using undefined _MANAGED symbol (#2183) d0bded59 Fix MSVC /clr builds (#2179) 8308f52c Fix dynamic_format_arg_store::push_back comment 6151d0dc Fix the comment 5a1127b7 Don't wrap named arg in cref and clarify docs b8ff3c18 optimize append (#2164) c8d8b882 fix GCC 7,8,9 warning about unused but set parameter (#2177) d2810187 Document ostream support limitation bac14ef9 Simplify integer spec checking 8f9db3fc Make ubsan happy on empty format specs (#2175) af567538 Bitpack integral prefixes cdf877d4 Workaround missed optimization opportunity eef4ba9c Optimize integer formatting without padding a1ea8a82 Unbloat my heart a457e163 Simplify integer formatter 05bc87a6 Optimize padding 605b6037 Optimize count_digits for powers of 2 85ba2716 Implement 128-bit count_digits in terms of count_digits_fallback d9835737 spec -> specs f9e0e904 Apply clang-format 60f5d244 Simplify arg_formatter 30e1302e Simplify on_format_specs 87c5cd46 Optimize parsing of argument ids 6a9016ea fix `formatted_size` with "compiled format" as argument (#2161) 6e1fc017 Move detail::truncating_iterator to fmt/compile.h e718ec3e Make truncating_iterator an output_iterator (#2158) 772aeca3 Don't include <cassert>. (#2148) (#2152) 684b5b0e Fix fallback to runtime API from compile-time API (#2143) d8b92543 use simplified `void_t` for all compilers other than gcc 4.x (#2160) 835b910e Add an is_formattable trait 57887403 Revert "Optimize handling of integer constants" (#2147) 640acba8 Print x.what() of FMT_THROW when exception is disabled (#2145) d8e1c9f1 fix `fmt::get` for some GCC versions and legacy Clang (#2144) 2797588b Optimize handling of integer constants e8eff3b8 Fix FMT_STATIC_THOUSANDS_SEPARATOR (#2142) ab0f7d7f use const& for arguments 29cc8282 update chrono duration formatter (constness), use it in compile-test for specs checks 3f69af3a update wording in the error inside `arg_id_handler`, use `FMT_ASSERT` instead of `throw` 499047e1 fix incorrect indexing mode for named args, update tests 78c67157 prepare tests, fix incorrect handling of named args with simple `{}` replacement fields b31bc2dc simplify `try_format_argument()`, make `manual_indexing_id()` a variable 95e1aa2d add support for manual indexing and named fields, add tests 7e72673d Improve width estimation (#2033) 13b117b5 Improve code point computation ee0fed63 Fix handling of the + flag with locales (#2133) c5979d56 Fix fmt::localtime formatting not working in wide-char string contexts e6ef927e fmt::ptr: Support function pointers (#2131) 58aa0457 Fix ordering of install commands for CMake (#2122) 1980ca8c fix #2118: FMT_COMPILE did not work with tm formatter (#2119) 2a25e2bf Make ranges-test available with C++11 (#2114) b0b56b43 fix #2116 (FMT_COMPILE requires exceptions enabled) (#2117) 373262f9 Update docs ce519e93 Fix exception propagation from iterators (#2097) acef0bb5 use gcc-10.2 instead of gcc-10.1 on CI, also fix one problem (#2110) 8bf28e6b Add support for s format specifier to bool (#2094) (#2109) 9c418bc4 Update README.rst 456efa46 add missing detail namespace (#2107) 80dc7cce Fixed format.h(1465): warning C4702: unreachable code (#2106) 7fd535c6 Cleanup 'L' handling b4b8917c Update docs e4f2cf45 Make 'L' a modifier 6972b5f3 Add build variable: FMT_MASTER_PROJECT (#2100) ac352081 Install fmt/args.h (#2096) 532e846b Fix width computation in float formatter f8c2f848 Fix handling of width when formatting int as char 0fe0b15e Fix handling of # in width computation 061e364b Document output_file 018688da Correct a typo on syntax.rst (documentation) (#2081) 9ec5592b Fix writing to stdout when redirected to NUL on Windows (#2080) cdc5ef67 Remove fallback to inline specifier from FMT_CONSTEXPR(20) macro (#2075) c9dd1eb9 Don't change charset d09b5c14 Fix std::byte formatting with compile-time API (#2072) bbd6ed5b Add support of most format_specs for formatting at compile-time (#2056) a750bf3a Update api.rst 1256541d Fix formatting 4fa4c924 Add tests for FMT_ENFORCE_COMPILE_STRING, fix several errors (#2038) aa89e380 add cwchar to format.h for std::fputws (#2073) 5a37e182 Disable warning about format string (#2067) fa43fd14 Forward arguments to work with views (#2068) 3551f5d1 Workaround a gcc 10 -Warray-bounds bug (#2065) e7376726 Remove an old mingw workaround (#2059) 25a41b80 Fix a link to Android.mk (#2057) 9293f707 Suppress gcc warning on privates-only class (#2053) c20874c2 Reenable support for fallback formatter in join (#2040) (#2050) 5de0bc1d Add UDL as replacement for FMT_COMPILE (#2043) a6fafe2f docs: use https for some links (#2051) 33f9a6d3 Fix handling of enums in to_string (#2036) aabe0a84 simplify tests by reordering arguments of `EXPECT_EQ` (#2044) 1f4a76d2 Add a missing include (#2047) 4a6eadbd Make std::byte formattabe (#1981) 683a7450 fix formatting with empty compiled format string (#2042) f43416e1 Add a link to contents from index 5a493560 Move some code from core.h to format.h where it is used 9ed0a981 Fix docs build dac753b8 Basics of formatting at compile-time based on compile-time API (#2019) 119f7dc3 Truncate file by default 22a68d16 Don't emit trailing zeros by default d0110b7e Update README.rst 3f4839ce Merge branch 'release' of github.com:fmtlib/fmt 7bdf0628 Update version fc135511 Update changelog 926233bd Fix test 0683fa7d Bump version 6ce207b9 Fix formatting 07b1c1a1 Update changelog 58992761 Reintroduce ostream support to range formatters (#2014) b8957f50 Fix an overflow in format_to_n (#2029) df66516e Workaround an issue with mixing std versions in gcc (#2017) a57baa69 Fix more linkage errors (#2011) 85534a13 Fix linkage errors when linking with a shared library (#2011) a2fa5d62 Update changelog cd300368 Fix more linkage errors (#2011) d1ef29d6 Fix initialization of iterator_buffer (#1996) 5f41bb0f clang-format a58a6b27 Add a newline a036cc97 Reintroduce ostream support to range formatters (#2014) 38c7def4 Update clang version to 3.4 since there are ICEs on earlier ones 55336413 :new: [CI] Test with C++14 in Windows 2019 (#2020) 55dfdd92 Update README.rst 2c734c9b Fix an overflow in format_to_n (#2029) 6cdd1be9 Update build.gradle for latest AGP (#2026) bcc20b29 Implement compile-time checks by default befd7d4a Always use FMT_STRING internally where possible [Issue #2002] (#2006) f8640d40 Add more standards f81c14aa Workaround an issue with mixing std versions in gcc (#2017) 5555651c Fix more linkage errors (#2011) b268f881 detail::write in one more place relevant to printf with long argument… (#2016) aa9b09a9 :bug: Cannot call non-constexpr function in constexpr context (#2010) 986fa004 Printf get container (#1982) 7abc3c01 Suppress a useless warning (#2004) 6d14f781 Fix linkage errors when linking with a shared library (#2011) 9534b9fe Refactor warning suppression 60dc2735 Simplify on_text b5dac0f0 Reduce <algorithm> usage (#1998) a07627b1 :bug: Implicit sign conversion warning in clang in c++17 and 20 modes (#2009) 1b8f499e :wrench: Silence useless cast warnings (#2008) f428d286 Update README.rst beb248b6 Optimize handling of large format strings 1936dddc fix gcc warning of missing override (#2001) 14f6bd0f Move one more headers to args.h e01d26e1 Optimize includes e528d919 Merge branch 'master' of github.com:fmtlib/fmt 48816772 Update signatures 3302fd10 use memchr for searching for '%' in printf format string (#1984) 4c2d6372 Update signatures beaff396 Update signatures ffa0a083 Use newer versions of Sphinx and Breathe 038057eb Document contexts 5bedcb66 Fix initialization of iterator_buffer (#1996) 2435ea41 Workaround MSVC mess 8c6215f5 Fix fmt/color.h 10ebe6cb Document color 1ac50fcb Suppress more bogus warnings e098be8e Fix warning filtering 8cf0afaf Improve docs e29f93e8 Suppress more bogus warnings 4e8d000f Suppress more bogus warnings 7787792e Fix re usage 6ee5e507 Fix imports 06ee32d1 Filter useless doxygen warnings 86bb7fe6 Add a missing import 959a9f5c Merge branch 'master' of github.com:fmtlib/fmt 4f7df299 Improve docs b3ab0bc7 :art: [CI] Specify the exact version of clang to use (#1991) 701ed6c8 Install deps in github actions instead of script 8f2131cf Document chrono 32c4af8f Document chrono 295a60ec Document chrono a4fae96c Document chrono 263bb0e6 Document chrono 0506b328 Document chrono 4e426c19 Document chrono 9795d873 Update docs 2eb0be0b Remove debug code and fix bot contact cd955798 Move less installation to actions 98639d0f Debug doc build ab5e0632 Debug doc build b123129f Dump the content of html dir 81d2b986 Print less command 7a0b1d57 Add key 9f0617cb Fix branch ref 75b07598 Chrono docs dfbb6975 Remove travis config 5b3052f9 Switch doc build to github actions 506ff320 Fix build failure when not using fcntl with -Werror (#1990) a30b279b Apply clang-format and tweak comments 6a2495c8 -Wattributes visibility warning with some GCC versions (#1975) cba5970c Remove migrated build configs 689081d8 Merge branch 'release' of github.com:fmtlib/fmt cc09f1a6 Update version e4eb242c Update changelog and bump version ce98e0c6 Fix fallback float formatter at assymetric bounds (#1976) 49544ea9 Fuzz fallback formatter 6b7bfed4 Fix fallback float formatter at assymetric bounds (#1976) bcab36da Update CI config 1689e73e Move PR template 0103408a Update CI config 38a16ecb Move build config to github actions 205eb3a8 Update CI config fe61b8c6 Update CI config 867b15d7 Update CI config 98cb9f99 Update CI config 95077d60 Update CI config bc49f094 Update CI config cef6dfb4 Update CI config c8703ba4 Update CI config ab4405be Update README.rst 78a55e28 Update CI config d0a2494a Update cmake.yml 89d009ba Update cmake.yml 1f4ff47b Create cmake.yml eb52ac7a :new: Enable -Wshadow in pedantic mode e904e891 :art: :bug: Rename all shadowed types and variables 771292c3 Remove sizeof from unused variable silencer (#1974) 86bf6045 Merge branch 'release' of github.com:fmtlib/fmt 5f7f7b95 Update version 5d3f0741 Update changelog and bump version 563cbb6c Add a macro to workaround clang/gcc ABI incompatibility on ARM 425778aa Fix ABI compatibility (#1961) 69a84198 Remove accidental parenthesis (#1968) 5c045049 Removed [-Wsign-conversion] warning in GCC 556a1cfb Instantiate to_decimal to make gcc lto happy (#1955) 28a8eae8 Cleanup 236fea1f Workaround bugs in gcc 8 e50ced88 Add a macro to workaround clang/gcc ABI incompatibility on ARM 112755cf Remove FMT_SAFEBUFFERS (#1966) 4081b2fe Fix ABI compatibility (#1961) 2d9311e8 Remove accidental parenthesis (#1968) b3a4f28a Fix implicit signedness conversion warning (#1963) 97c88732 Allocator::max_size support in basic_memory_buffer (#1960) bb68f608 Removed [-Wsign-conversion] warning in GCC f4ca065c Range support cb224eca Instantiate to_decimal to make gcc lto happy (#1955) 7977c2b4 Cleanup e54eb676 Workaround bugs in gcc 8 4fe0b111 Update version df4bd60f Bump version 764fb35e Always install the required version of breathe e1bdc0ec Use the correct version of sphinx 39bde329 Tweak markup 204d299a Tweak markup e0995b1c Update readme 4af178bd Remove outdated build config aa41dc02 Remove unused script 6a77ea3c Tweak markup 62c72059 Update changelog c10e3f7f Update changelog e542e695 Update changelog 530cf316 Point to the release, not dev documentation 740385d6 Update changelog cd465111 Update changelog 46291be3 Update changelog 90071c1d Update ChangeLog.rst 25293d7a Update ChangeLog.rst 5024742f Update ChangeLog.rst 0452a4e7 Update changelog 8de96817 Woraround bugs in gcc 8 47e16767 Simplify arg formatter f0a42346 Move parsing optimization one level up 86287b8d Optimize common case in parse_format_specs 8924211f Update README.rst 525e7649 Update CONTRIBUTING.md 0ecb3d18 Optimize alignment parsing 97553078 Optimize format_uint 7446818f Simplify vformat_to 280b5612 Add option to force usage of inline namespaces e57ec7d5 Merge vformat_to overloads 2a3f4de3 Remove iterator_category 27fdb4ea Unshadow floaty 297e0bad Apply clang-format e3b4c22e Simplify is_output_iterator da8278e1 Update changelog and bump version 17fba753 added position independent documentation (#1939) 71e705a2 Update README.rst 74654c8c Fix compilation for systems without fcntl.h (#1942) f468b203 Avoid conversion from long long to size_t (#1935) 20d4f2e8 Fix handling of weird character types when parsing sign (#1932) 08370c39 Update README.rst bd3c7925 Fix float fuzzer 8d3fd86d Merge branch 'master' of github.com:fmtlib/fmt 40347157 Update README.rst 37d738fa Update README.rst 271eff14 Make classes derived from buffer<T> final to silence the virtual destructor warning. (#1937) 010efc31 Add float fuzzer and cleanup 811c8b58 Add float fuzzer and cleanup 82c4e223 Cleanup fuzzing 63e40c96 Fix naming of fuzzers 2f448ed5 Fix fuzzer timeouts af283059 Cleanup 48ea8193 Explain why assert-test is a separate test 1d112bdd Remove old test 5eb292a6 Update README.rst 7e56b6b6 Fix coding style and remove duplicate fuzzer 41d97e1e Fix a UB on ridiculously large precision 01c37e0a Added check for `-mbig-obj` and ref qualifier check (#1929) a5e7e7db Fix handling of thousand separator (#1927) bf19051a Optimize floating point formatting 3c13a88b Optimize floating point formatting f6d75c53 Refactor write_float e9c0b2d6 Merge write_float overloads 7eddbfed Cleanup exponent handling in write_float b347b302 Update dynamic_formatter comment (#1923) 3541880e Fix integer overflow when using max int precision 7b50dc0b Don't exclude all detail symbols from docs 28052431 Fix the doc config 34f22e88 Cleanup CMake config a18b3fbb Fix fixed precision handling when rounding (#1917) 72770357 Fix long lines in usage.md 7612c1ea Add reference to lhelper package manager in usage b91d39f2 Get rid of float_writer b4b64b9c Refactor float formatting 712abe40 Workaround a bug in gcc 7.5 (#1912) af8a180a Make GetCachedPower test more precise a581e9e5 Fix warning C4018: '<=': signed/unsigned mismatch (#1908) 05a28312 Update docs 4d0aa4d8 Update link 575f4018 Simplify FP formatting and follow coding conventions 6f3536f9 Move zero-check to an earlier branch (#1906) 90ef46df Fix dragonbox integration 3ae88147 Fix declaration 64179525 Improve dragonbox integration 79694d42 Fix WriteConsole signature 51f2e2ca Move nan test to where it belongs 68555fdb Make format-test not depend on color.h 63e0c354 Make dragonbox::to_decimal available in format.h 2213a711 Update README.rst 79ba37f3 Update README.rst a905d8f7 Merge grisu-test into format-test 762c33a9 Simplify windows handling (#1903) 253d6315 Remove dependency on windows.h (#1900) c156093f Fix carry in fallback_format 34179b33 Update format.h (#1898) 0651e459 Minor tweaks to get_cached_power 6c025520 Test that max_k is correctly defined 51f8d0cc Reuse log10_2_significand constant 1305cbeb Fix MSVC2019 error C2049 when compiling with /clr (#1897) 2d4fde3a Don't emit trailing zero for consistency with std::format 5fd89d50 Minor simplifications 605ce5e4 Simplify divisible_by_power_of_2 085171e7 Remove grisu_count_digits aa729bf2 Remove dead code aa2ddf9b Simplify Dragonbox integration c1654ce4 Simplify uint32_or_64_or_128_t definition 33712dc0 Combine pragmas e5942ac9 Tweak comments aae7a133 Remove unused pragmas 6bcde9aa https://github.com/fmtlib/fmt/pull/1882#issuecomment-696823912 (#1894) bb0db5e5 clang-format 16410056 Optimize copy_str for counting_iterator 2591ab91 MSVC optimizations for count_digits. (#1890) d5b8002d Update README.rst 821471e1 qkw: generalizing aliasing | using fmt library and it's features (#1888) 2e620ddb Small improvements that should have zero to negligible impact on the runtime (#1887) 2f7e0885 Disable range formatter if value type is not formattable (#1885) c46a8de4 Simplify test 2696dc92 add forgotten template argument to make_format_args which made some u… (#1877) 0016da7a Don't generate zeros and fix UB on huge precision ce3f7699 Merge intrinsic blocks 3b6248f6 Change formatting 2d9b1dd0 Fix sign mismatch 1f0600a2 Fix bug regarding FMT_SAFEBUFFERS 2ecdbb98 Fix a bug in ctzll 6f81ea15 Fix typo (and thus bug) 0c8ffe9b Implement Dragonbox (first version) 42699bf4 Fix msvc version of clz & clzll (#1880) bc51a8df Disable fallthrough attributes for the Intel compilers on Linux and MacOS (#1879) 45da432d fix compiler warnings in public header files d55e61f1 Improve FMT_ALWAYS_INLINE (#1878) 7e682752 Remove trailing zeros when using fallback formatter (#1873) 1d696dc2 Handle exotic character types in compilation f674434a Add format_to_n overload that accepts FMT_COMPILE (from #1767) (#1869) 5b5a5971 Fix handling of wide alignment f80ed64d Update README.rst 38139664 Simplify fallback format dce8e49b Handle float in fallback formatter 78b59443 Spelling f233b56c Don't generate insignificant digits 595902f8 Update test 4f2ee892 Use built-in FP formatter for any precision 58a044be Use built-in FP formatter for any precision efe3694f Macro tweak and clang-format 9f312fe8 Implement fallback FP formatting with given precision (#1526) fb289cf5 Fix coding conventions 86f0a704 Fix formatting bff4d18e Add color format_to overloads * Fix variable size basic_memory_buffer colorization * Fix an unused arguments warning on GCC that blocks the CI otherwise * Ref #1842 * Ref #1593 f19b8885 Fixed a warning in mingw32/mingw64 (#1860) f8e00a08 NOMINMAX not handled properly (#1855) 6cccdc24 Fix move constructor (#1844) 69902c17 Allow use of <fcntl.h> in Linux when __has_include is not available (#1848) 1edd38b9 Add append mode. (#1847) e66ba169 Added build2 usage instructions. (#1838) f39e6fb6 Add formatters for chrono::time_point<system_clock> (#1837) 77b627be Fix bogus MSVC warnings (#1825) 5dff01d3 Add complex tests d16d585e Update signatures c7e6d8af Fix usage of override (#1836) 92bff2fe Revert "Add missing includes" a0dcfbc5 Add ptr to docs 1651b2d4 Fix detail::write with fallback formatter (#1829) 06895a76 Add missing includes 92a448a0 Apply clang-format 6be65446 Fixing buffer_appender's ++ slicing (#1822) 951e0d23 CMakeLists.txt: Added Wundef warning to clang and gcc. (#1823) f9f02df7 CMakeLists.txt: Clang-warnings: removed -Wno-sign-conversion (#1817) 76e97dc4 Eliminate shadowed variable warnings on intel (#1816) e204df0e nvcc compiler should be EDG-based, but fails test (#1818) 1c8bb547 small changes to reduce clang-9 warnings (#1808) 4b69c787 fix: warning C4100: unreferenced formal parameter (#1814) fb0aeb82 fix: disabled UDL templates for PGI (#1811) (#1812) 54daa086 Add dynamic width support to FMT_COMPILE (#1809) 6fb7c6fb Workaround a bug in gcc10 (#1810) 16985fda Update README.rst 1378ddae Update README.rst 4fd95e4b Don't remove trailing zeros with # e06ae322 Avoid warnings on functions with external linkage that don't have declarations 7fc3d1f5 Add override to grow 065889a5 Use correct capacity in iterator_buffer (#1807) d0dd6786 Adding convenience append(range) 0e7cef06 Merge commit 'c13f79e0' e2c8c455 Update README.rst e4c954ff Update README.rst c13f79e0 Merge release branch d7921d64 Update README.rst 4a4fc225 Update changelog 61602a75 Remove -Wno-shadow 2f8fc29e Update README.rst 717b226b include/fmt/format.h: explicit cast to std::size_t for parameter to buffer.resize() in order to get rid of warning 'implicit conversion changes signedness:' in clang-8 (#1802) 2a69f567 Tweak buffer size ea769338 Simplify ostream 5413713c Remove unused function 57f46242 Increase the default buffer size 0b6e7cc6 Update README.rst e587adb4 Simplify count_digits 279d698e Fix handling of default alignmment with locale (#1801) 76cfb50b Test complex formatter 20829120 Optimize count_digits 8d9ab967 Cut a few cycles from count_digits 73434493 Simplify ostream_params 2a47a1e4 Update README.rst 7c4c5c79 Make buffer size configurable f0b84da5 Don't use 128 bit integers with clang-cl (#1800) a3dfd6f9 Workaround a bug in msvc 51d05521 Workaround broken numeric_limites, part 2 (#1787) 21c8b5c1 Report error on missing named argument (#1796) d82fdcc9 Fix handling of iterators in locale-specific formatting (#1782) 633213d9 Merge release branch e8f2580a Bump version 6cefe55a Update changelog 64e2da15 Update README.rst 1c8c810f Update README.rst c2399ccf Update README.rst a7c5db06 Update README.rst a4c22acd Update README.rst 0c1f4b5a Update README.rst 63b422ee Update README.rst 26e81a67 Update README.rst de5fc6af Update README.rst 9c2edfd1 Partially revert 638db5 because it breaks the doc build 810357c0 Document color 0a7032a4 Update README.rst 95d3abf9 Make format_to_n part of the core API 98626093 Correct the locale format specifier in api.rst (#1792) 47f8d7a3 Make formatted_size part of the core API 46a63b70 Update docs 430f393d Disabled __attribute__((deprecated)) usage for LCC (#1790) febffa4e Make join() handle non-const-only begin/end ranges (#1786) d69e2da2 Fix apidoc ce73ea37 Reorder functions d39d661b Workaround broken numeric_limits (#1725) c228bfe8 Improve docs 38ce19f7 Update README.rst d11849bc Add FMT_REDUCE_INT_INSTANTIATIONS flag (#1781) c08518a2 Move make_args_checked to the public API e2837084 Add a color section 9f0c0033 Simplify format string checks d615137c Improve handling of buffer iterator 26b47b6f Bump tested CMake version to 3.18 7a01c9c5 Update README.rst b17d5c4f Fix a regression in handling digit separators (#1782) eb90da2e Type erase output iterators 9d3cd0af Type erase output iterators 18024853 Fix compatibility with CMake 3.4 (#1779) f5d4215b Trying to clear ambiguous compile time claims (#1775) c26349f4 Improve error reporting f4b11ef6 Add a short anchor 0097cf11 Report unformattable type name more prominently 8fa20b47 dev -> latest a03bd3dd Autodetect MSVC static runtime (#1770) c108ee1d Clarify a comment a8074a86 Update README.rst 5f629548 Update README.rst bd903f96 Clarify precedence 16cac46a Improve handling of streamable and convertible to bool types (#1766) 415cd519 direct_buffered_file -> ostream e1bfb596 Fix handling of code units in compile ba8d98cb Cleanup direct_buffered_file 04a1f6e9 Improve handling of single code units in compile e4f57bfd Add an overload of write for buffer_appender d8704681 Make append work with fixed-size buffer e8ec09ae Cleanup core-test a2c4fed9 Double buffering no more 36406509 Add a fixed buffer 60c43e87 Apply clang-format b998e0f3 Reduce symbol sizes and simplify iterator use c5adfc51 Update README.rst c4ad94ce Update README.rst c1429651 Fix image source link 638db5ca Use Cmake to find Python and Sphinx-doc. c0905697 Update readme 1efdb2dd Simplify readme dc69afad Cleanup example 445f5d39 Break long lines 23063c34 Update readme f57b6257 Move PR template to the top level git-subtree-dir: externals/fmt git-subtree-split: 9e8b86fd2d9806672cc73133d21780dd182bfd24
2021-06-23 08:39:40 +01:00
The *arg_id* is optionally followed by a *format_spec*, which is preceded by a
colon ``':'``. These specify a non-default format for the replacement value.
See also the :ref:`formatspec` section.
If the numerical arg_ids in a format string are 0, 1, 2, ... in sequence,
they can all be omitted (not just some) and the numbers 0, 1, 2, ... will be
automatically inserted in that order.
Squashed 'externals/fmt/' changes from 135ab5cf..3e75ad98 3e75ad98 Update version 4f043f8e Bump version cc02cbc4 Fix formatting 73c0238e Update changelog cb122a4d Fix format_to formatting to wmemory_buffer dc69cc45 Clean tests 9d8021f0 Add checks for NVIDIA's CUDA compiler 9d2221b9 Improve error message when formatting unknown types 70a6a4bb prevent ""fmt/range.h"" from specializing fmt::basic_string_view (#865) e4fc856c Disable android build due to gradle issues 3f4984fb Clean core-test and fix linkage errors on older gcc d4366505 Workaround visit lookup issues in printf.h on gcc 894b6fac Changed to use scoped enum 59f555ad Workaround more visit lookup issues on gcc a7e356cc Update README.rst e758bfba Merge branch 'release' of github.com:fmtlib/fmt 66381e30 Minor cleanup 295a0d84 Update version 1fb1c4c9 Update docs 465a5935 Add table support to rst2md d62f4c3b Formatting a243490a Add more methods to benchmark results 9e12ca60 Update changelog fbca830d Update changelog, readme and improve compat 6146248c Update changelog bc26fbf1 Move experimental color API to fmt/color.h 97cc8893 Workaround a visit lookup issue in gcc 8 (#851) 7110b460 Optimize default formatting c8a8464f Optimize buffer construction 8cbfb6e7 Get rid of conversion warning in gcc-4.8 (#854) 6ffc828a Phasing out null_terminating_iterator aeb6add3 Skip strchr for the common case 5614289d Optimize and simplify format string parsing 10c7f893 Optimize format string processing on dumb compilers 59c268a5 Use strlen when possible since it's constexpr on gcc 918bb1ce Optimize argument capture a3ba6b4f Disable the fmt(...) macro by default (#853) 86716894 Update docs and formatting cc10b460 Make format_to faster on older gcc 981797f0 Get rid of implicit-fallthrough warn. in GCC 7 and 8 21177757 Micro-optimize parsing be0e2684 Optimize processing of trailing '}' fbc38b90 Pass heavy arguments by ref 8dc69b9d Workaround a bug in Intellisense 1489d3b7 Implement exponential notation dd8c5ce4 Implement more FP formatting options 46484da7 Fix a warning 802ff886 Fix compilation of time.h when localtime_t is a macro (#843) 95a71899 Remove conversion compiler warnings (#844) e483a01a Implement some formatting options in Grisu f5108091 Revert "Implement some formatting options in Grisu" 2a952dd0 Implement some formatting options in Grisu 0de44a46 Implement exponent formatting f0d0a1eb Implement Grisu2 digit generation 569ac91e Implement Grisu boundary computation a11eb3a0 Workaround various icc bugs (#822) 62010520 Disable gnu-string-literal-operator-template warning 98751476 Make convert_to_int public (#818) ba95e36a Clarify that '\0' cannot be used as fill (#832) abde38b4 Add compilation support with Newlib nano for embedded targets 18400503 Fix C4127 warning in basic_writer<Range>::write_double 9de31211 Reformat and add a comment 8bbb0b48 Update README.rst 5c0101ab Use the correct function signature in the docs fbe6410e Fix docs 8b9fb9fb Fix ambiguous instantiation with formatter in fmt/ostream.h (#830) 0f04ec68 Fix package upload (#828) 80907385 Update changelog 5d02041c Update changelog 4b868b89 Re-enable compile-time format-string checking 4061a0d3 Parameterize vformat to support custom char types c68bab70 Remove broken fmt::internal::format_enum (#818) 0c63d15e Improve wording ce19309d Workaround a bug in icc 15 c6843491 Move contiguous version of format_to to fmt/core.h 8db14efa util-test -> core-test and minor cleanup ffe414ca Add compile-time format string checks to format_to (#783) c178ab44 Remove FMT_USE_RVALUE_REFERENCES 5befe658 Remove fmt/folly.h and clean up core API 35538ca6 Merge more format overloads 4f164097 Merge format overloads using SFINAE 2a4e9488 Add UTF-8 types d778bded Make line in tests fit within 80chars 7b4f170c Fix warning about using old-style cast b1d10a28 Add support for dynamic arg sets cf2719bd Add support for types explicitly convertible to wstring_view 50584f42 Test formatting of an object with templated conversion to string-like 73bed45b Add support for types explicitly convertible to fmt::string_view 6eaa5074 Fix global initialization issue (#807) 48dff9f3 Update docs a9e26159 Minor cleanup efd8ee8a Reduce warnings, support #809 8615ff2a Micro-optimize argument retrieval 916ed99d Micro-optimize argument retrieval e7e9578e Optimize format string parsing c99a2597 Mark new functions with FMT_API (#808) e0f6a2f8 Add a formatter for folly::StringPiece ae4a3945 Revert "Better support for newer CMake's" a317448b Keep noexcept specifier when exceptions are disabled. 0eb01b83 Better support for newer CMake's 2a4cd6d0 Fix the returned value of `format_to_n` with user-defined types having operator<<. 9c32e73a Fixing return unreachable warning on NVCC e5c93108 Added clear() to basic_buffer 60c662b3 Add an example of reusing formatters f66ba650 Optimize format string parsing f21268aa Revert "Optimize format string parsing" because of a bug in MSVC 07b690a6 Update README.rst f9e9bf02 Optimize format string parsing c2ce7e4f Update version 434eb916 Update README.rst 09d94162 Update changelog e6362642 Fix pedantic conversion warning f0110e81 Update changelog and CI 479ee2a8 Fix MSVC build, take 2 e928b672 Fix MSVC 2013 build ec218a3a Fix redefinition warning for RESET_COLOR c04fb91b Fix handling of user-defined types in format_to (#793) 323b92bf Force linking of inline functions into the library (#795) c6d9730d Fix sign conversion warnings (#790) 2e95823e Move new color support to format.h and mark old as deprecated ab2d88ca Make format_to work with basic_memory_buffer (#776) 3abd036c Fix compilation on gcc 4 c2f38054 Add vformat_to_n (#769) ce500635 Renamed enum color to colors. Added enum colors conversion to rgb struct. Added colors_test.cpp. 0508bbc7 Add wchar_t overload of format_to_n (#764) c2fbadb9 Fixed issue #779 47268ecd Fixed GCC version test 9ff3b6af Fix handling of compile-time strings when including ostream.h (#768) e3707ef1 Document that file should be in wide-oriented mode for wide print 45fa4ee9 Merge branch 'master' of github.com:fmtlib/fmt 9c07b37f Using enum class now. Renamed from hex to color. Changed colr names to snake case. 5b5886a9 Fixed line length. d2bfee13 Added quotes for strings in ranges and tuple likes. aff6e45e Added support for rgb color output. 1b8a7f8f Fix postincrement in truncating and counting iterators 4bc26f0a Merge branch 'master' of github.com:fmtlib/fmt fc6e0fe9 Fix FP formatting to a non-back_insert_iterator with sign & numeric alignment (#756) cd5b5670 Make is_range and is_tuple_like public API, fix #751 6322b47e Minor cleanup 691a7a91 Add more compilers to CI and increase FMT_PEDANTIC warning levels (#736) dd1a5ef7 Let requests close the file d5c46259 Fix formatting of more than 15 named arguments (#754) 47d147b6 Simplify the nvcc warning fix 911a7511 Fix nvcc warnings (#752) 94b47628 Fix docs 252f11f8 Fix a bogus MSVC warning about unreachable code, take 2 81d56638 Fix more bogus MSVC warnings about unreachable code (#748) 68f0ac82 Fix a bogus MSVC warning about unreachable code b60a5c5d Improve floating-point formatting 8dc2360b Fix a comment 4e4b8570 Implement simple version of Grisu 40275579 Fix tests on 64-bit MSVC 5c32aa41 Workaround a bug in MSVC 468c243c Add a function to get cached power of 10 2f257b72 Implement normalization and simplify power table 6a5bb6e2 Move Android.mk to support and update e282d963 Bump version e2cd521b Fix incorrect call to on_align in '{:}=' (#750) fba352a9 Don't use UDL templates on Intel C++ compiler (#742) 6dcc526d Update release script 5386f1df Update version ba6640b2 Fix formatting 507a50c3 Fix changelog 147807c9 Detect integer_sequence support on MSVC 8b246531 Update changelog 5ad54256 Fix a conflict between fmt::join and fmt/ostream.h (#744) 6ebc1a96 Merge locale.h into format-inl.h 6966db1d Update docs 2196025d Fix a warning 589f5f37 Update changelog edd5f144 Fix compilation errors on gcc 4.4 936aba5f Fix compilation errors on gcc 4.4 3e3a2774 Update changelog b76bb796 Improve naming consistency fbd51534 Update changelog 69823bf8 Improve naming consistency d940fa67 Disable unsafe implicit conversion to std::string (#729) d2bf93fe Update changelog 550ef1d2 MSVC improvements and data truncation cleanup. 728e4f5a Fix docs 8c255771 Update docs and changelog a68fd44e Add ranges.h to FMT_HEADERS in CMakeLists.txt (#738) e3f7f3a2 Add support for ranges, containers and tuple-like types in fmt/ranges.h 984232db Remove duplicate ChangeLog entries 78677e3f Update ChangeLog and docs ad23270e Document to_wstring 3c0f8c26 Update ChangeLog 98937893 Detect inline namespaces on gcc dfb65469 Fix docs 3aa29115 Update ChangeLog.rst d3f6c841 Update ChangeLog.rst c1441ae4 Update ChangeLog.rst dece85b3 Fix docs, take 2 6a1df3bd Fix docs 838400d2 Add inline namespace fmt::v5 b64b24eb Update ChangeLog.rst fc908711 Update ChangeLog.rst 46c374a8 Fix compilation with new gcc and -std=c++11 (#734) f0ae7257 Clarify the use of allocators d72d0462 Update paths in fmt.pro edbbf7ce Fix FreeBSD 12 a4e4f745 Fix a -Wundef when FMT_GCC_VERSION < 600 7d3de497 Implement double to fp conversion a4c7d99f Add bit_cast 0adccaef Fix a -Wundef of _LIBCPP_VERSION 2570f1af Provide more overloads for the wide string flavour ca31ca13 Fixed arg_formatter_base::write_pointer to not mutate the format specs. 6cd66610 remove trailing spaces. fe19c266 Move format_string to fmt namespace for ADL 2768af23 Add cached powers of 10 dd296e1d Add a script to compute powers of 10 0efc8a18 Fix compiler warning about narrowing df1ba52b Update example 221b08fd Merge branch 'master' of github.com:fmtlib/fmt fa9066fe context_base::begin -> out 90ff31b3 Fix a -Wundef warning on clang b1f68c43 Merge branch 'master' of github.com:fmtlib/fmt cd90097c Implement handmade FP 822eccc3 Sync API with standards proposal 2ae41242 allow time formatting with wchar_t contexts a1579b0f Update key ded921f0 Fix documentation build, take 2 3284751f Fix documentation build bb738c4c Remove section on Write API since it's being superceeded by compile-time Format API d180c25c Update godbolt link 1ed842a3 Update godbolt link e80aba1c Remove format_float stub 7b8cb313 Make context_base::args() public 48ae0506 fixes MSVC compiler warning bloat (Visual Studio 2017, latest updates) 096c4051 Simplify char_traits 7610c536 Remove unused macro 111fa581 Update README.rst 52fcef1e Update docs 7d28674d make_args -> make_format_args 9382b76f context_t -> format_context_t fd0b07a7 (w)context -> (w)format_context 26aa34f3 basic_context -> basic_format_context 44cc0346 Relax string_view requirements 0829cab8 Remove from_checked cb7bbc62 Improve checked iterator support 5079f924 Fix a narrowing warning 5859e58b Fix msvc warnings 1e747f60 Fix msvc warnings 9d4efd7a Iterator Wars VI: Return of the checked iterator 9764f558 Update docs 4ef97b9b Add a missing comma 23759b26 basic_arg -> basic_format_arg, arg_store -> format_arg_store 4975297e Simplify counting iterators e8e006f4 Fix compile checks for mixing narrow and wide strings (#690) c5ebecf7 Document format_to_n 3cf05263 Return output iterator to the end from format_to_n 174087bf Implement format_to_n 050f3f1f Remove parts of obsolete write API e90b1da3 Fix linker errors using fmt as shared library in MSVC 8e10d404 Fix compile tests 7a41d61d Add make_printf_args 4fea018b Fix string_view detection 6957d28c Detect string_view on libc++ (#686) 0ea70def Update readme 9ce5e30c Update readme 8c29459e Fix handling of empty string_view (#689) a24005d5 Fix a narrowing warning 3651b7fc Fix a narrowing warning b64486da Add format.cc 3da71d51 Move source files to the src directory 7971ed3d Update readme f61ca2ec Update readme 84e520b7 Update readme e8aa0f33 Update docs 17258e9c Update docs 6d339e32 Improve comment c3d05245 Fix a shadowing warning b58c8dde Update docs 505b3ae6 Workaround GCC bug 67371 (#682) 70dffc63 Remove unnecessary check df828f88 Don't define FMT_GCC_VERSION on clang 42f70c8b Avoid narrowing casts 10b939b0 Remove unneeded usage of anonymous struct on clang 3adfaae2 Remove extra semicolon in format_args constructor 40066785 Fix warnings under MSVC (#679) 9c5f54a7 Add format example for padded hex byte 7bab90e5 Remove extra comma 2e21e7d1 Fix util-test acb469ae Fixed UTF8/16 converters to support empty string input c37c4c43 Fix find-package-test 6d21fc43 add alias targets with fmt namespace e02aacc6 Add CMake namespace (#511) aee4512c Gradle (#649) 7db0e94b Fix handling of numeric alignment with no width (#675) 9facc119 Update docs a1d18711 Merge branch 'master' of github.com:fmtlib/fmt daf650c4 Disallow formatting of multibyte strings into a wide buffer (#606) 8fd7e30f Update README.rst ca93be13 Use fmt(s) as an alias for FMT_STRING(s) 80e57c7a Update to new naming conventions ae3cc844 Check format string at compile time in print 585512fc Remove unnecessary instantiations 7755cdc1 Make symbols readable f867d082 Update docs a103b9bc Workaround missed optimization in gcc (#668) bb47109a Cleanup f1ede638 Make inline_buffer_size public and update docs 995b63ad Update copyright 40232917 Update docs 86a9bc82 Cleanup b7632e96 Make format_to return iterator and update docs 5281ea6a do_vformat_to -> vformat_to and update docs d07ba498 Fix docs 418659ad Fix compilation errors on gcc 4.4 1d2adef2 Fix compilation errors on gcc 4.4 45518c3f Fix compilation errors on gcc 4.4 698d9097 Workaround a bug in gcc 5.1 81074c70 Fix more compilation errors on gcc 4.6 1b452538 Fix more compilation errors on gcc 4.6 6090e51b Fix compilation errors on gcc 4.6 0827ec5a Fix compilation errors on gcc 4.6 4d35f941 Always use fallback string_view to pass format string (#664) 34cf54c2 Update README.rst 0565d654 Fix gcc 7.2 issue f5dc0ed3 Break long lines ea06f021 test: comment out one FormatStringErrors constexpr test 5b491773 test: Initialize some local variables f45f70af Use trailing return type instead of deduction db86e8d5 Remove a couple of unused argument names 55f5c9f2 Use FMT_NULL instead of 0 is a few more places. e92ba107 Fix Python str.format link to point to Python 3 docs a7ae5666 Enable join on msvc 24d249b0 Fix formatting of objects convertible to string_view e508e308 Don't define FMT_LOCALE on OpenBSD 0ee4273b Put is_enum check first not to instantiate convert_to_int unnecessarily 8ca3ab2c Revert problematic pragma 18ac9870 Fix formatting of objects convertible to std::string ce4a65ff Add pointer support to basic_writer 91721caa Add detection of wostream operator<< (#650) 1efc15c1 Fix MSVC build 8ed264fc Rename type enum constants to prevent collision with poorly written C libs (#644) 4ba3f7db Update docs 7d2723d5 posix.cc: Fix compilation with -fno-exceptions 24d66c5d compilation fix & warnings 229887bd Make constexpr remove_prefix gcc version check tighter (#648) f3f19e76 Update docs e9fa42ac Fix docs and build issues on gcc-4.6 affb35cf Replace using with typedef for compatibility with gcc-4.6 9710c058 Update documentation building script 1a4e8927 Move output_range to format.h 522de7b5 Replace using with typedef for compatibility with gcc-4.6 0b508fd2 Fix c++0x detection 1849735f Fallback to c++11 if c++14 not available 3239c518 Get rid of generic lambdas 78166ccd Get rid of generic lambdas d8ef8a9e Cleanup 82222218 Update README.rst b0005324 Merge the std branch a502decd Added a fmt.pro to support build using qmake (#641) 61065e1a Fix unreachable code warning when signbit returns bool 403ae0a2 Add debug postfix for libfmt (#636) 5096c0fe Fix string_view detection 5b3f9eab Update syntax.rst e802cf14 Add note about errno to the documentation c96d6465 CMakeLists: Use GNUInstallDirs to set install location dbd84697 Update usage.rst 5013c157 Silence MSVC 2017 constant if expression warning cdfcee27 Use allocator_traits if available 66b25ef0 Add examples 6cb68f94 Fix warnings 0b635c9d Fix handling of fixed enums in clang (#580) 66afd9b3 Fix compilation on gcc 6 67e070fe Make format work with C++17 std::string_view (#571) 867b3309 Remove ANDROID macro check per comment in #458 64599973 Enable stream exceptions (#581) 35f8f036 Use less version 2.6.1 and sudo to fix npm install issues on travis 92a250fd Suppress Clang's warning on zero as a null pointer 2f13d41e Add to_wstring 1e19ae83 Workaround a bug in MSVC 3810d7e4 Workaround a bug in MSVC 5c7474e1 Relax constexpr requirements 1f57243b Relax constexpr requirements dc540361 Conditionally compile constexpr 5d8ba816 Fix a segfault in test on glibc 2.26 #551 a9f810c1 Update README.rst 2582f41e Fix ifdefs 1a7d0ba2 Adding OpenSpace to the list of projects 8921f613 Update build script f62e225e Automatically update version in release script (#431) 94806747 remove 'FMT_CPPFORMAT' CMake option bfce29ff Improve conversion 8cf30aa2 Fix segfault on complex pointer formatting (#642) f164e4c7 Remove old bcc-related comments c57029c1 Add Drake & Lyft Envoy to the list of projects 8fa9acb8 Workaround broken __builtin_clz in clang with MS codegen (#519) 3dae2582 Describe cmake use of header-only target 1c7b751d Fix handling of implicit conversion to integral types larger than int 08dff377 Allow compiling and using as DLL in windows #502 c753a2af Don't include the world with WIN32_LEAN_AND_MEAN (#503) a5185ec8 add SOURCELINK_SUFFIX for compatibility with Sphinx 1.5 768061c8 Fix FormatBuf implementation (#491) 0c136381 Move back_insert_range to format.h 5060568f %.f should have zero precision, not default precision a09f7488 Add Kodi (xbmc) to the list of projects using fmt f9fa7c40 Add FMT_API and FMT_OVERRIDE where needed a980d3b4 Add fmt::join to format ranges (#466) 87eab90e Fix missing intrinsic when included from C++/CLI (#457) 75005bbc Don't export the -std=c++11 flag from the fmt target 19f990a9 Use https to fetch dependencies from github bca9de9e Return iterator from format_to 0555cea5 Added a fmt.pro to support build using qmake (#641) a93270fd Replace a bunch of craft with type_traits, take 2 21429c86 Revert "Replace a bunch of craft with type_traits" 0473c48f Add std::basic_string allocator support (#441) 72d9fffd Fix test compilation for FreeBSD (#433) e79588d6 Replace a bunch of craft with type_traits 3a6c7d0c Fix signbit detection (#423) 5e4c34b2 Add version macro FMT_VERSION (#411) bd8a7e7e More iteratification f78c3e41 Fix unreachable code warning when signbit returns bool 0a402056 Add CONTRIBUTING.rst e35d41ff Add extern templates for format_float (#413) d8c25a17 Use nullptr if available e95e4659 Add syntax.rst to build e5111950 argument index -> argument id 229ee34e Fix compiler warnings 7fe0f3da Update ChangeLog 38b603a4 Update README.rst a1e7e4a7 Fix compilation with -fno-exceptions (#402, #405) 3f24a388 Thread-safe time formatting (#396) f853d94a Remove unnecessary fmt/ prefix (#397) 9649919d Document use of format_arg for user-defined type #393 c8efe145 Add api.rst to build da80005f Fix compilation on Cygwin (#388) 8ed16353 Fix a typo 1760c31b Workaround Doxygen mess 72606f23 Add missing types to counting_iterator c1571003 Add debug postfix for libfmt (#636) 6822466a Handle nested braces in join (#638) 64b349ae More iterator support & fmt::count e3b69efb Suppress msvc warnings in gmock 322736d3 Add support for arbitrary output iterators 10291194 Cleanup c1d137ed Add support for nonconiguous iterators f6fd38bb More iterator support c2fecb9b Clean API 9a53a706 Add support for back_insert_iterator 91ee9c9a Return iterator from the format method 67928eae Don't inherit context from parse_context 217e7c76 Pass ranges by value 22994c62 Decouple arg_formatter_base from buffer 00f1450d Update tesmplate parameter names 3a2e89e1 Reduce dependency on buffer c719d944 Fix experimental/string_view detection cea3c207 Give a better error message for function pointers (#633) 232ceabb Workaround an internal compiler error in MSVC c0954453 Replace buffer with range c3d6c5fc Replace buffer with range 0f987731 add transition helper to format.h d165d9c4 Decouple locale and buffer 36634140 Parameterize basic_writer on buffer type 6f2769d0 Revert "Added support for format string containing '\0' in _format udl (#619) (#620)" 5f1c73db Shorten a comment in locale.h 31934602 Update version 51a16f8c Update ChangeLog.rst a0087460 Merge release branch 941663d0 Merge ostream.cc into ostream.h 955062da Merge printf.cc into printf.h 5705bf1c Added support for pre-c++17 experimental string_view (#607) cabce31f Update syntax.rst ccaae0c0 Refer to jeaiii project e3715102 Add a integer formatter based on jeaiii b3495f2e Update README.rst 61f296e3 Move FMT_HAS_BUILTIN to format.h ce801c90 Remove dependency on <vector> and <array> 41fc2990 Merge branch 'std' of github.com:fmtlib/fmt into std 971fb584 Allow mixing named and automatic arguments af0f21da add missing inline in header-only mode (#626) 7cea1638 numeric -> arithmetic 5328907f Get rid of <limits> dependency faaafc7e Remove <utility> dependency and replace typedefs with using 94edb1a7 Add a lightweight header for the core API 3aaa25fa Added support for format string containing '\0' in _format udl (#619) (#620) 84bd2f19 Merge include/fmt/CMakeLists.txt into the main CMake file 7f351dec Decouple <locale> for better compile times 81bd9e8e args -> format_args 10e70a06 Improve handling of custom arguments e0243000 arg_index -> arg_id ac5f9520 Automatically add package to release 0e914372 Avoid conflict with the macro CHAR_WIDTH f03a35a6 Check string specs at compile time e9da5741 Check char specs at compile time b25a0292 Check pointer type specs are compile time c8a9d902 Check floating-point type specifiers 6570dc31 Disallow formatting of multibyte strings into a wide buffer (#606) 3851994a Fix yet another internal compiler error in MSVC 44e18651 Refactor parse context and fix warnings e7e270f5 Test error on invalid type spec and remove unused alias 692b82d3 UdlArg -> udl_arg c523dd58 Use error handler to report errors 5a32e64b More tests 093e2a47 Improve error handling dc104cba Workaround internal compiler errors in MSVC 39411504 More tests e3eb5ea0 Add parse_context::error_handler() 734e722d Fix warnings 62af25dc Workaround yet another MSVC internal error 594bd8fe More tests f2b52bba More tests dfdb1ade More tests 7967c2f8 Disable test that triggers an MSVC bug 18a0b94b Fix overflow check 686ff942 Fix compile-time parsing and add more tests 5b95b5d7 Test compile-time errors 246bdafc Add FMT_STRING macro for compile-time strings e8055433 Remove FMT_USE_VARIADIC_TEMPLATES dba1ccc4 Update readme e613b3c7 Update readme 9fda7a36 Check integral type specs at compile time 92847a0d Add integral type handler a03842b0 More compile-time checks 1c855a47 Integrate constexpr format specs parsing 780b44bf Add compile-time format string check 8ca6e76d Detect user-defined literal templates a7e98616 Workaround another MSVC madness db9ffa14 Make parse_format_string constexpr e926ae78 Add parse_format_string 57e266ab Rename handlers d29c7c3a Workaround a bug in MSVC aadb38a5 Make specs_checker constexpr dd0b72e1 Remove refactoring artefacts e52b10e3 Merge branch 'vitaut-patch-1' of github.com:fmtlib/fmt into std 529d88ce Make dynamic_format_specs construction constexpr d2f2a8b0 constexpr support of dynamic width and precision 6b3840b7 Make format_specs construction constexpr a38bd9ca Fix formatting and naming 91014f01 Naming conventions 932ab2bf Report error from parse_nonnegative_int via handler 0ebdf41e Fix compile-test 170f5c67 Move headers to include/fmt 3d11eac7 Workaround another MSVC constexpr bug c69e3086 Update README.rst 25aac0be Fix travis build on macOS b83241ff Make format spec parsing constexpr bd5188c8 Remove MinGW because it's not on appveyor image 62616b88 Workaround a bug in MSVC's constexpr handling b8f85f67 Use Visual Studio 2017 image on appveyor 7174de0d Fix contexpr-ness of pointer_from 3785afc5 Pass errors to handler instead of throwing (#566) 1b5ccf6c Make parse_arg_id constexpr 17f93fe0 Make basic_string_view ctors constexpr d5e918b6 Detect C++14 compiler support be5b4552 Make null_terminating_iterator more iteratory 643fb066 Check for argument indexing switch d45544d1 Fix width handling in dynamic formatting 8cbf5447 Add parse context ec4f5175 Replace Range with ParseContext in parse() 83dd2ab9 Simplify dynamic_specs_handler 5a8ae0bb Fix a warning 39bc319b Update test results 534bff7d Fix handling of max packed arguments 0cda806d Fix compile tests a3191a99 Get rid of FMT_MAKE_WSTR_VALUE macro fced79b0 Get rid of old compat macros be887d92 Replace internal::get with std::declval 53cf0735 Get rid of FMT_MAKE_VALUE macro 2972de4b Char -> char_type 9ee7c216 Type -> type 1a09194a Cleanup type handling c18a4041 Remove conditional and to_iterator 1cade7ef Remove FMT_USE_RVALUE_REFERENCES 7413239f Remove unnecessary qualification af00e4f9 Remove printf_arg_formatter from format.h and cleanup 44a26e5e CharPtr -> pointer_type and move to writer 0fbd8465 Replace fmt::internal::make_unsigned with std::make_unsigned 8a2bc0ab Add nullptr support 80505995 Allow delayed type checking b0867f3f AlignSpec -> align_spec and fix a warning f194a418 Replace fmt::is_same with std::is_same 47c84d79 Move part of write API (spec factories) to a separate header 20168147 Add ptr, a helper function for pointer formatting 77c892c8 Fix more warnings be7d72ba Fix expansion-to-defined warning d4c504ae Fix a warning 27ad6cee Use standard enable_if 64681739 Fix a warning 38806167 Remove FMT_HAS_GXX_CXX11 a7320bdc Fix a warning 016acebb Remove legacy code 07f8ffc4 Suppress shadowing warnings 466386d5 Suppress a warning in gmock 70ef82a8 Workaround a bug in MSVC 5e0562ab Separate parsing and formatting 1102d465 Make format spec parsing context-independent 45911770 Separate parsing and formatting in extension API 7bd776e7 Explain why null_terminating_iterator is used 873c8451 Remove system_header pragma 9f7957c0 Separate argument parsing and formatting da439f28 Suppress warning about missing noreturn attribute (#549) eefdb379 Fix an unused argument warning 2f4f49fd Switch from cstring_view to string_view a8d6f309 Minor optimizations d16582a0 Move printf-related code to printf.cc 361911dd Use preinstalled version of cmake on travis 9ea183aa Fix MSVC build 8f4b918c Check argument index 4193485b Remove test files 07123e8f Use Ubuntu Trusty on Travis for a new CMake 586d6363 Implement more efficient handling of large number of format arguments 12252152 CStringRef -> cstring_view 5aa8d6ea Return locale by value 32ec13f1 Switch to C++ locale b4f4b7e2 Clean the buffer API (#477) f423e468 Replace clear() with resize(0) and data_ -> store_ 23b8c24d Add noexcept 7175bd8a Fix error on MinGW 7258d1b8 Fix tests 3610f34c Fix windows build 572491ad Document which header defines formatting functions c333dca0 Follow standard naming conventions 6a2ff287 Follow standard naming conventions eedfd07f internal::MemoryBuffer -> basic_memory_buffer 4ec88607 ArgFormatter -> arg_formatter 50e71673 StringRef -> string_view, LongLong -> long_long e022c21d Fix windows build 87b691d8 Merge StringWriter into StringBuffer c2f02169 Merge ArrayWriter into FixedBuffer fefaf07b Pass buffer instead of writer to format_value 6e568f3a buffer -> basic_buffer bb1c82ef Fix build a13b96ed Simplify API 624c5868 Simplify API 7ae8bd70 basic_format_arg -> basic_arg, Buffer -> buffer bf0f1075 Parameterize format_specs on character type 296e9cad FrmatSpec -> format_spec b5fb8dd1 stream -> buffer 984a1029 Remove IntFormatSpec and StrFormatSpec 4863730e Remove pad aaa0fc39 Improve compatibility with old compilers and fix test aea5d3ab Improve compatibility with older gcc and update tests 84850277 Use named argument emulation instead of nested functions ec15ef7b Replace operator<< with write function b77c8190 FPUtil -> fputil 8428621d BasicWriter -> basic_writer 939aff29 Remove unnecessary template arg from basic_format_args f69786a7 Remove Not b2a0d891 Merge value and MakeValue acd1811c Value -> value 42a31907 Parameterize Value on context a4d6cb32 Clean up basic_format_arg d705d516 Parameterize basic_format_arg on context (#442) 422236af Don't erase writer type abb6996f MakeArg -> make_arg ee1651ce Handle empty format_arg state 3bbc5799 Fix MinGW build 63fcfc57 Fix build on older gcc d86e51e9 Don't inherit basic_format_arg from internal::Value f0588869 Fix handling of unpacked args (#437) 11836218 Add support for exotic character types 763ca978 Parameterize Value on character type 6cba8fe9 Move stuff out of internal::Value e1ee5bf0 Replace StringValue with StringRef 0854f8c3 Parameterize formatting argument on char type. 9cf6c8fd Get rid of fmt::internal::Arg 5f022ae0 Remove FMT_DISPATCH 41d4bcf0 Ingore Xcode files 28429701 Merge BasicArgFormatter and ArgFormatter d4084ac5 Get rid of ArgVisitor d58cc8a4 Merge BasicPrintfArgFormatter and PrintfArgFormatter e2dfd39c Update arg visitors 751ff64b Update ArgConverter to the new visitor API c9dc41ab Replace ArgVisitor::visit with a free visit function caa60b9c Update comment 95a53e1f Refactor argument visitor API (#422) 6d241167 Improve visitor API a1dd524b format_arg -> do_format_arg 55a1ac50 Fix test 85793a18 Simplify API 9998f66f Replace formatter with context 2bba4203 Pass writer directly to format_value (#400) b656a1c1 Make value the second argument to format_value edf98792 Pass writer to format_value 64ca334a CharType -> Char be613204 Char -> char_type f85d5f4d BasicFormatter -> basic_formatter 18dfa257 Pass correct formatters to make_format_args dafbec75 Fix type safety when using custom formatters (#394) 506435bf Fix formatting f2879940 Fix formatting 48fe9783 Add format_arg::operator bool 119a63ab internal::Arg -> format_arg 65a8c2c3 format_arg -> format_value 13b04044 Add format_args::size_type 8a77e792 Enable C++11 in tests. 1e8553d6 Enable C++11 in tests. 06bab3ed Workaround mingw bug https://sourceforge.net/p/mingw/bugs/1531/ 6fd6ecc1 Enable C++11 for no-windows-h-test c4212f9e format -> vformat 21c6700b Don't build std branch with -std=c++0=98 209a1d58 Get rid of macros 9a079732 Test types ea28a637 Get rid of FMT_VARIADIC_CTOR 0d8aca8d Get rid of FMT_VARIADIC_VOID 4ece95a7 Make make_format_args public 0028ce57 Get rid of FMT_VARIADIC ece7ae5f Make format_arg_store convertible to format_args 621447fe Make initialization C++11-compatible a0190e4b Add a missing include b903f5c1 format -> vformat 43c0095a Refactor type mapping 4873685c ArgArray -> format_arg_store fc73e106 ArgList -> format_args 92605eb4 Remove FMT_USE_VARIADIC_TEMPLATES 9bb213e9 FormatError -> format_error REVERT: 135ab5cf Update version REVERT: 93d95f17 Fix markup REVERT: 4f15c72f Fix markup REVERT: e9b19414 Automatically add package to release REVERT: c3d1f604 Fix markup REVERT: c96062bf Update changelog and version number git-subtree-dir: externals/fmt git-subtree-split: 3e75ad9822980e41bc591938f26548f24eb88907
2020-04-22 20:57:22 +01:00
Named arguments can be referred to by their names or indices.
Some simple format string examples::
"First, thou shalt count to {0}" // References the first argument
"Bring me a {}" // Implicitly references the first argument
"From {} to {}" // Same as "From {0} to {1}"
The *format_spec* field contains a specification of how the value should be
presented, including such details as field width, alignment, padding, decimal
precision and so on. Each value type can define its own "formatting
mini-language" or interpretation of the *format_spec*.
Most built-in types support a common formatting mini-language, which is
described in the next section.
A *format_spec* field can also include nested replacement fields in certain
positions within it. These nested replacement fields can contain only an
Squashed 'externals/fmt/' changes from 135ab5cf..3e75ad98 3e75ad98 Update version 4f043f8e Bump version cc02cbc4 Fix formatting 73c0238e Update changelog cb122a4d Fix format_to formatting to wmemory_buffer dc69cc45 Clean tests 9d8021f0 Add checks for NVIDIA's CUDA compiler 9d2221b9 Improve error message when formatting unknown types 70a6a4bb prevent ""fmt/range.h"" from specializing fmt::basic_string_view (#865) e4fc856c Disable android build due to gradle issues 3f4984fb Clean core-test and fix linkage errors on older gcc d4366505 Workaround visit lookup issues in printf.h on gcc 894b6fac Changed to use scoped enum 59f555ad Workaround more visit lookup issues on gcc a7e356cc Update README.rst e758bfba Merge branch 'release' of github.com:fmtlib/fmt 66381e30 Minor cleanup 295a0d84 Update version 1fb1c4c9 Update docs 465a5935 Add table support to rst2md d62f4c3b Formatting a243490a Add more methods to benchmark results 9e12ca60 Update changelog fbca830d Update changelog, readme and improve compat 6146248c Update changelog bc26fbf1 Move experimental color API to fmt/color.h 97cc8893 Workaround a visit lookup issue in gcc 8 (#851) 7110b460 Optimize default formatting c8a8464f Optimize buffer construction 8cbfb6e7 Get rid of conversion warning in gcc-4.8 (#854) 6ffc828a Phasing out null_terminating_iterator aeb6add3 Skip strchr for the common case 5614289d Optimize and simplify format string parsing 10c7f893 Optimize format string processing on dumb compilers 59c268a5 Use strlen when possible since it's constexpr on gcc 918bb1ce Optimize argument capture a3ba6b4f Disable the fmt(...) macro by default (#853) 86716894 Update docs and formatting cc10b460 Make format_to faster on older gcc 981797f0 Get rid of implicit-fallthrough warn. in GCC 7 and 8 21177757 Micro-optimize parsing be0e2684 Optimize processing of trailing '}' fbc38b90 Pass heavy arguments by ref 8dc69b9d Workaround a bug in Intellisense 1489d3b7 Implement exponential notation dd8c5ce4 Implement more FP formatting options 46484da7 Fix a warning 802ff886 Fix compilation of time.h when localtime_t is a macro (#843) 95a71899 Remove conversion compiler warnings (#844) e483a01a Implement some formatting options in Grisu f5108091 Revert "Implement some formatting options in Grisu" 2a952dd0 Implement some formatting options in Grisu 0de44a46 Implement exponent formatting f0d0a1eb Implement Grisu2 digit generation 569ac91e Implement Grisu boundary computation a11eb3a0 Workaround various icc bugs (#822) 62010520 Disable gnu-string-literal-operator-template warning 98751476 Make convert_to_int public (#818) ba95e36a Clarify that '\0' cannot be used as fill (#832) abde38b4 Add compilation support with Newlib nano for embedded targets 18400503 Fix C4127 warning in basic_writer<Range>::write_double 9de31211 Reformat and add a comment 8bbb0b48 Update README.rst 5c0101ab Use the correct function signature in the docs fbe6410e Fix docs 8b9fb9fb Fix ambiguous instantiation with formatter in fmt/ostream.h (#830) 0f04ec68 Fix package upload (#828) 80907385 Update changelog 5d02041c Update changelog 4b868b89 Re-enable compile-time format-string checking 4061a0d3 Parameterize vformat to support custom char types c68bab70 Remove broken fmt::internal::format_enum (#818) 0c63d15e Improve wording ce19309d Workaround a bug in icc 15 c6843491 Move contiguous version of format_to to fmt/core.h 8db14efa util-test -> core-test and minor cleanup ffe414ca Add compile-time format string checks to format_to (#783) c178ab44 Remove FMT_USE_RVALUE_REFERENCES 5befe658 Remove fmt/folly.h and clean up core API 35538ca6 Merge more format overloads 4f164097 Merge format overloads using SFINAE 2a4e9488 Add UTF-8 types d778bded Make line in tests fit within 80chars 7b4f170c Fix warning about using old-style cast b1d10a28 Add support for dynamic arg sets cf2719bd Add support for types explicitly convertible to wstring_view 50584f42 Test formatting of an object with templated conversion to string-like 73bed45b Add support for types explicitly convertible to fmt::string_view 6eaa5074 Fix global initialization issue (#807) 48dff9f3 Update docs a9e26159 Minor cleanup efd8ee8a Reduce warnings, support #809 8615ff2a Micro-optimize argument retrieval 916ed99d Micro-optimize argument retrieval e7e9578e Optimize format string parsing c99a2597 Mark new functions with FMT_API (#808) e0f6a2f8 Add a formatter for folly::StringPiece ae4a3945 Revert "Better support for newer CMake's" a317448b Keep noexcept specifier when exceptions are disabled. 0eb01b83 Better support for newer CMake's 2a4cd6d0 Fix the returned value of `format_to_n` with user-defined types having operator<<. 9c32e73a Fixing return unreachable warning on NVCC e5c93108 Added clear() to basic_buffer 60c662b3 Add an example of reusing formatters f66ba650 Optimize format string parsing f21268aa Revert "Optimize format string parsing" because of a bug in MSVC 07b690a6 Update README.rst f9e9bf02 Optimize format string parsing c2ce7e4f Update version 434eb916 Update README.rst 09d94162 Update changelog e6362642 Fix pedantic conversion warning f0110e81 Update changelog and CI 479ee2a8 Fix MSVC build, take 2 e928b672 Fix MSVC 2013 build ec218a3a Fix redefinition warning for RESET_COLOR c04fb91b Fix handling of user-defined types in format_to (#793) 323b92bf Force linking of inline functions into the library (#795) c6d9730d Fix sign conversion warnings (#790) 2e95823e Move new color support to format.h and mark old as deprecated ab2d88ca Make format_to work with basic_memory_buffer (#776) 3abd036c Fix compilation on gcc 4 c2f38054 Add vformat_to_n (#769) ce500635 Renamed enum color to colors. Added enum colors conversion to rgb struct. Added colors_test.cpp. 0508bbc7 Add wchar_t overload of format_to_n (#764) c2fbadb9 Fixed issue #779 47268ecd Fixed GCC version test 9ff3b6af Fix handling of compile-time strings when including ostream.h (#768) e3707ef1 Document that file should be in wide-oriented mode for wide print 45fa4ee9 Merge branch 'master' of github.com:fmtlib/fmt 9c07b37f Using enum class now. Renamed from hex to color. Changed colr names to snake case. 5b5886a9 Fixed line length. d2bfee13 Added quotes for strings in ranges and tuple likes. aff6e45e Added support for rgb color output. 1b8a7f8f Fix postincrement in truncating and counting iterators 4bc26f0a Merge branch 'master' of github.com:fmtlib/fmt fc6e0fe9 Fix FP formatting to a non-back_insert_iterator with sign & numeric alignment (#756) cd5b5670 Make is_range and is_tuple_like public API, fix #751 6322b47e Minor cleanup 691a7a91 Add more compilers to CI and increase FMT_PEDANTIC warning levels (#736) dd1a5ef7 Let requests close the file d5c46259 Fix formatting of more than 15 named arguments (#754) 47d147b6 Simplify the nvcc warning fix 911a7511 Fix nvcc warnings (#752) 94b47628 Fix docs 252f11f8 Fix a bogus MSVC warning about unreachable code, take 2 81d56638 Fix more bogus MSVC warnings about unreachable code (#748) 68f0ac82 Fix a bogus MSVC warning about unreachable code b60a5c5d Improve floating-point formatting 8dc2360b Fix a comment 4e4b8570 Implement simple version of Grisu 40275579 Fix tests on 64-bit MSVC 5c32aa41 Workaround a bug in MSVC 468c243c Add a function to get cached power of 10 2f257b72 Implement normalization and simplify power table 6a5bb6e2 Move Android.mk to support and update e282d963 Bump version e2cd521b Fix incorrect call to on_align in '{:}=' (#750) fba352a9 Don't use UDL templates on Intel C++ compiler (#742) 6dcc526d Update release script 5386f1df Update version ba6640b2 Fix formatting 507a50c3 Fix changelog 147807c9 Detect integer_sequence support on MSVC 8b246531 Update changelog 5ad54256 Fix a conflict between fmt::join and fmt/ostream.h (#744) 6ebc1a96 Merge locale.h into format-inl.h 6966db1d Update docs 2196025d Fix a warning 589f5f37 Update changelog edd5f144 Fix compilation errors on gcc 4.4 936aba5f Fix compilation errors on gcc 4.4 3e3a2774 Update changelog b76bb796 Improve naming consistency fbd51534 Update changelog 69823bf8 Improve naming consistency d940fa67 Disable unsafe implicit conversion to std::string (#729) d2bf93fe Update changelog 550ef1d2 MSVC improvements and data truncation cleanup. 728e4f5a Fix docs 8c255771 Update docs and changelog a68fd44e Add ranges.h to FMT_HEADERS in CMakeLists.txt (#738) e3f7f3a2 Add support for ranges, containers and tuple-like types in fmt/ranges.h 984232db Remove duplicate ChangeLog entries 78677e3f Update ChangeLog and docs ad23270e Document to_wstring 3c0f8c26 Update ChangeLog 98937893 Detect inline namespaces on gcc dfb65469 Fix docs 3aa29115 Update ChangeLog.rst d3f6c841 Update ChangeLog.rst c1441ae4 Update ChangeLog.rst dece85b3 Fix docs, take 2 6a1df3bd Fix docs 838400d2 Add inline namespace fmt::v5 b64b24eb Update ChangeLog.rst fc908711 Update ChangeLog.rst 46c374a8 Fix compilation with new gcc and -std=c++11 (#734) f0ae7257 Clarify the use of allocators d72d0462 Update paths in fmt.pro edbbf7ce Fix FreeBSD 12 a4e4f745 Fix a -Wundef when FMT_GCC_VERSION < 600 7d3de497 Implement double to fp conversion a4c7d99f Add bit_cast 0adccaef Fix a -Wundef of _LIBCPP_VERSION 2570f1af Provide more overloads for the wide string flavour ca31ca13 Fixed arg_formatter_base::write_pointer to not mutate the format specs. 6cd66610 remove trailing spaces. fe19c266 Move format_string to fmt namespace for ADL 2768af23 Add cached powers of 10 dd296e1d Add a script to compute powers of 10 0efc8a18 Fix compiler warning about narrowing df1ba52b Update example 221b08fd Merge branch 'master' of github.com:fmtlib/fmt fa9066fe context_base::begin -> out 90ff31b3 Fix a -Wundef warning on clang b1f68c43 Merge branch 'master' of github.com:fmtlib/fmt cd90097c Implement handmade FP 822eccc3 Sync API with standards proposal 2ae41242 allow time formatting with wchar_t contexts a1579b0f Update key ded921f0 Fix documentation build, take 2 3284751f Fix documentation build bb738c4c Remove section on Write API since it's being superceeded by compile-time Format API d180c25c Update godbolt link 1ed842a3 Update godbolt link e80aba1c Remove format_float stub 7b8cb313 Make context_base::args() public 48ae0506 fixes MSVC compiler warning bloat (Visual Studio 2017, latest updates) 096c4051 Simplify char_traits 7610c536 Remove unused macro 111fa581 Update README.rst 52fcef1e Update docs 7d28674d make_args -> make_format_args 9382b76f context_t -> format_context_t fd0b07a7 (w)context -> (w)format_context 26aa34f3 basic_context -> basic_format_context 44cc0346 Relax string_view requirements 0829cab8 Remove from_checked cb7bbc62 Improve checked iterator support 5079f924 Fix a narrowing warning 5859e58b Fix msvc warnings 1e747f60 Fix msvc warnings 9d4efd7a Iterator Wars VI: Return of the checked iterator 9764f558 Update docs 4ef97b9b Add a missing comma 23759b26 basic_arg -> basic_format_arg, arg_store -> format_arg_store 4975297e Simplify counting iterators e8e006f4 Fix compile checks for mixing narrow and wide strings (#690) c5ebecf7 Document format_to_n 3cf05263 Return output iterator to the end from format_to_n 174087bf Implement format_to_n 050f3f1f Remove parts of obsolete write API e90b1da3 Fix linker errors using fmt as shared library in MSVC 8e10d404 Fix compile tests 7a41d61d Add make_printf_args 4fea018b Fix string_view detection 6957d28c Detect string_view on libc++ (#686) 0ea70def Update readme 9ce5e30c Update readme 8c29459e Fix handling of empty string_view (#689) a24005d5 Fix a narrowing warning 3651b7fc Fix a narrowing warning b64486da Add format.cc 3da71d51 Move source files to the src directory 7971ed3d Update readme f61ca2ec Update readme 84e520b7 Update readme e8aa0f33 Update docs 17258e9c Update docs 6d339e32 Improve comment c3d05245 Fix a shadowing warning b58c8dde Update docs 505b3ae6 Workaround GCC bug 67371 (#682) 70dffc63 Remove unnecessary check df828f88 Don't define FMT_GCC_VERSION on clang 42f70c8b Avoid narrowing casts 10b939b0 Remove unneeded usage of anonymous struct on clang 3adfaae2 Remove extra semicolon in format_args constructor 40066785 Fix warnings under MSVC (#679) 9c5f54a7 Add format example for padded hex byte 7bab90e5 Remove extra comma 2e21e7d1 Fix util-test acb469ae Fixed UTF8/16 converters to support empty string input c37c4c43 Fix find-package-test 6d21fc43 add alias targets with fmt namespace e02aacc6 Add CMake namespace (#511) aee4512c Gradle (#649) 7db0e94b Fix handling of numeric alignment with no width (#675) 9facc119 Update docs a1d18711 Merge branch 'master' of github.com:fmtlib/fmt daf650c4 Disallow formatting of multibyte strings into a wide buffer (#606) 8fd7e30f Update README.rst ca93be13 Use fmt(s) as an alias for FMT_STRING(s) 80e57c7a Update to new naming conventions ae3cc844 Check format string at compile time in print 585512fc Remove unnecessary instantiations 7755cdc1 Make symbols readable f867d082 Update docs a103b9bc Workaround missed optimization in gcc (#668) bb47109a Cleanup f1ede638 Make inline_buffer_size public and update docs 995b63ad Update copyright 40232917 Update docs 86a9bc82 Cleanup b7632e96 Make format_to return iterator and update docs 5281ea6a do_vformat_to -> vformat_to and update docs d07ba498 Fix docs 418659ad Fix compilation errors on gcc 4.4 1d2adef2 Fix compilation errors on gcc 4.4 45518c3f Fix compilation errors on gcc 4.4 698d9097 Workaround a bug in gcc 5.1 81074c70 Fix more compilation errors on gcc 4.6 1b452538 Fix more compilation errors on gcc 4.6 6090e51b Fix compilation errors on gcc 4.6 0827ec5a Fix compilation errors on gcc 4.6 4d35f941 Always use fallback string_view to pass format string (#664) 34cf54c2 Update README.rst 0565d654 Fix gcc 7.2 issue f5dc0ed3 Break long lines ea06f021 test: comment out one FormatStringErrors constexpr test 5b491773 test: Initialize some local variables f45f70af Use trailing return type instead of deduction db86e8d5 Remove a couple of unused argument names 55f5c9f2 Use FMT_NULL instead of 0 is a few more places. e92ba107 Fix Python str.format link to point to Python 3 docs a7ae5666 Enable join on msvc 24d249b0 Fix formatting of objects convertible to string_view e508e308 Don't define FMT_LOCALE on OpenBSD 0ee4273b Put is_enum check first not to instantiate convert_to_int unnecessarily 8ca3ab2c Revert problematic pragma 18ac9870 Fix formatting of objects convertible to std::string ce4a65ff Add pointer support to basic_writer 91721caa Add detection of wostream operator<< (#650) 1efc15c1 Fix MSVC build 8ed264fc Rename type enum constants to prevent collision with poorly written C libs (#644) 4ba3f7db Update docs 7d2723d5 posix.cc: Fix compilation with -fno-exceptions 24d66c5d compilation fix & warnings 229887bd Make constexpr remove_prefix gcc version check tighter (#648) f3f19e76 Update docs e9fa42ac Fix docs and build issues on gcc-4.6 affb35cf Replace using with typedef for compatibility with gcc-4.6 9710c058 Update documentation building script 1a4e8927 Move output_range to format.h 522de7b5 Replace using with typedef for compatibility with gcc-4.6 0b508fd2 Fix c++0x detection 1849735f Fallback to c++11 if c++14 not available 3239c518 Get rid of generic lambdas 78166ccd Get rid of generic lambdas d8ef8a9e Cleanup 82222218 Update README.rst b0005324 Merge the std branch a502decd Added a fmt.pro to support build using qmake (#641) 61065e1a Fix unreachable code warning when signbit returns bool 403ae0a2 Add debug postfix for libfmt (#636) 5096c0fe Fix string_view detection 5b3f9eab Update syntax.rst e802cf14 Add note about errno to the documentation c96d6465 CMakeLists: Use GNUInstallDirs to set install location dbd84697 Update usage.rst 5013c157 Silence MSVC 2017 constant if expression warning cdfcee27 Use allocator_traits if available 66b25ef0 Add examples 6cb68f94 Fix warnings 0b635c9d Fix handling of fixed enums in clang (#580) 66afd9b3 Fix compilation on gcc 6 67e070fe Make format work with C++17 std::string_view (#571) 867b3309 Remove ANDROID macro check per comment in #458 64599973 Enable stream exceptions (#581) 35f8f036 Use less version 2.6.1 and sudo to fix npm install issues on travis 92a250fd Suppress Clang's warning on zero as a null pointer 2f13d41e Add to_wstring 1e19ae83 Workaround a bug in MSVC 3810d7e4 Workaround a bug in MSVC 5c7474e1 Relax constexpr requirements 1f57243b Relax constexpr requirements dc540361 Conditionally compile constexpr 5d8ba816 Fix a segfault in test on glibc 2.26 #551 a9f810c1 Update README.rst 2582f41e Fix ifdefs 1a7d0ba2 Adding OpenSpace to the list of projects 8921f613 Update build script f62e225e Automatically update version in release script (#431) 94806747 remove 'FMT_CPPFORMAT' CMake option bfce29ff Improve conversion 8cf30aa2 Fix segfault on complex pointer formatting (#642) f164e4c7 Remove old bcc-related comments c57029c1 Add Drake & Lyft Envoy to the list of projects 8fa9acb8 Workaround broken __builtin_clz in clang with MS codegen (#519) 3dae2582 Describe cmake use of header-only target 1c7b751d Fix handling of implicit conversion to integral types larger than int 08dff377 Allow compiling and using as DLL in windows #502 c753a2af Don't include the world with WIN32_LEAN_AND_MEAN (#503) a5185ec8 add SOURCELINK_SUFFIX for compatibility with Sphinx 1.5 768061c8 Fix FormatBuf implementation (#491) 0c136381 Move back_insert_range to format.h 5060568f %.f should have zero precision, not default precision a09f7488 Add Kodi (xbmc) to the list of projects using fmt f9fa7c40 Add FMT_API and FMT_OVERRIDE where needed a980d3b4 Add fmt::join to format ranges (#466) 87eab90e Fix missing intrinsic when included from C++/CLI (#457) 75005bbc Don't export the -std=c++11 flag from the fmt target 19f990a9 Use https to fetch dependencies from github bca9de9e Return iterator from format_to 0555cea5 Added a fmt.pro to support build using qmake (#641) a93270fd Replace a bunch of craft with type_traits, take 2 21429c86 Revert "Replace a bunch of craft with type_traits" 0473c48f Add std::basic_string allocator support (#441) 72d9fffd Fix test compilation for FreeBSD (#433) e79588d6 Replace a bunch of craft with type_traits 3a6c7d0c Fix signbit detection (#423) 5e4c34b2 Add version macro FMT_VERSION (#411) bd8a7e7e More iteratification f78c3e41 Fix unreachable code warning when signbit returns bool 0a402056 Add CONTRIBUTING.rst e35d41ff Add extern templates for format_float (#413) d8c25a17 Use nullptr if available e95e4659 Add syntax.rst to build e5111950 argument index -> argument id 229ee34e Fix compiler warnings 7fe0f3da Update ChangeLog 38b603a4 Update README.rst a1e7e4a7 Fix compilation with -fno-exceptions (#402, #405) 3f24a388 Thread-safe time formatting (#396) f853d94a Remove unnecessary fmt/ prefix (#397) 9649919d Document use of format_arg for user-defined type #393 c8efe145 Add api.rst to build da80005f Fix compilation on Cygwin (#388) 8ed16353 Fix a typo 1760c31b Workaround Doxygen mess 72606f23 Add missing types to counting_iterator c1571003 Add debug postfix for libfmt (#636) 6822466a Handle nested braces in join (#638) 64b349ae More iterator support & fmt::count e3b69efb Suppress msvc warnings in gmock 322736d3 Add support for arbitrary output iterators 10291194 Cleanup c1d137ed Add support for nonconiguous iterators f6fd38bb More iterator support c2fecb9b Clean API 9a53a706 Add support for back_insert_iterator 91ee9c9a Return iterator from the format method 67928eae Don't inherit context from parse_context 217e7c76 Pass ranges by value 22994c62 Decouple arg_formatter_base from buffer 00f1450d Update tesmplate parameter names 3a2e89e1 Reduce dependency on buffer c719d944 Fix experimental/string_view detection cea3c207 Give a better error message for function pointers (#633) 232ceabb Workaround an internal compiler error in MSVC c0954453 Replace buffer with range c3d6c5fc Replace buffer with range 0f987731 add transition helper to format.h d165d9c4 Decouple locale and buffer 36634140 Parameterize basic_writer on buffer type 6f2769d0 Revert "Added support for format string containing '\0' in _format udl (#619) (#620)" 5f1c73db Shorten a comment in locale.h 31934602 Update version 51a16f8c Update ChangeLog.rst a0087460 Merge release branch 941663d0 Merge ostream.cc into ostream.h 955062da Merge printf.cc into printf.h 5705bf1c Added support for pre-c++17 experimental string_view (#607) cabce31f Update syntax.rst ccaae0c0 Refer to jeaiii project e3715102 Add a integer formatter based on jeaiii b3495f2e Update README.rst 61f296e3 Move FMT_HAS_BUILTIN to format.h ce801c90 Remove dependency on <vector> and <array> 41fc2990 Merge branch 'std' of github.com:fmtlib/fmt into std 971fb584 Allow mixing named and automatic arguments af0f21da add missing inline in header-only mode (#626) 7cea1638 numeric -> arithmetic 5328907f Get rid of <limits> dependency faaafc7e Remove <utility> dependency and replace typedefs with using 94edb1a7 Add a lightweight header for the core API 3aaa25fa Added support for format string containing '\0' in _format udl (#619) (#620) 84bd2f19 Merge include/fmt/CMakeLists.txt into the main CMake file 7f351dec Decouple <locale> for better compile times 81bd9e8e args -> format_args 10e70a06 Improve handling of custom arguments e0243000 arg_index -> arg_id ac5f9520 Automatically add package to release 0e914372 Avoid conflict with the macro CHAR_WIDTH f03a35a6 Check string specs at compile time e9da5741 Check char specs at compile time b25a0292 Check pointer type specs are compile time c8a9d902 Check floating-point type specifiers 6570dc31 Disallow formatting of multibyte strings into a wide buffer (#606) 3851994a Fix yet another internal compiler error in MSVC 44e18651 Refactor parse context and fix warnings e7e270f5 Test error on invalid type spec and remove unused alias 692b82d3 UdlArg -> udl_arg c523dd58 Use error handler to report errors 5a32e64b More tests 093e2a47 Improve error handling dc104cba Workaround internal compiler errors in MSVC 39411504 More tests e3eb5ea0 Add parse_context::error_handler() 734e722d Fix warnings 62af25dc Workaround yet another MSVC internal error 594bd8fe More tests f2b52bba More tests dfdb1ade More tests 7967c2f8 Disable test that triggers an MSVC bug 18a0b94b Fix overflow check 686ff942 Fix compile-time parsing and add more tests 5b95b5d7 Test compile-time errors 246bdafc Add FMT_STRING macro for compile-time strings e8055433 Remove FMT_USE_VARIADIC_TEMPLATES dba1ccc4 Update readme e613b3c7 Update readme 9fda7a36 Check integral type specs at compile time 92847a0d Add integral type handler a03842b0 More compile-time checks 1c855a47 Integrate constexpr format specs parsing 780b44bf Add compile-time format string check 8ca6e76d Detect user-defined literal templates a7e98616 Workaround another MSVC madness db9ffa14 Make parse_format_string constexpr e926ae78 Add parse_format_string 57e266ab Rename handlers d29c7c3a Workaround a bug in MSVC aadb38a5 Make specs_checker constexpr dd0b72e1 Remove refactoring artefacts e52b10e3 Merge branch 'vitaut-patch-1' of github.com:fmtlib/fmt into std 529d88ce Make dynamic_format_specs construction constexpr d2f2a8b0 constexpr support of dynamic width and precision 6b3840b7 Make format_specs construction constexpr a38bd9ca Fix formatting and naming 91014f01 Naming conventions 932ab2bf Report error from parse_nonnegative_int via handler 0ebdf41e Fix compile-test 170f5c67 Move headers to include/fmt 3d11eac7 Workaround another MSVC constexpr bug c69e3086 Update README.rst 25aac0be Fix travis build on macOS b83241ff Make format spec parsing constexpr bd5188c8 Remove MinGW because it's not on appveyor image 62616b88 Workaround a bug in MSVC's constexpr handling b8f85f67 Use Visual Studio 2017 image on appveyor 7174de0d Fix contexpr-ness of pointer_from 3785afc5 Pass errors to handler instead of throwing (#566) 1b5ccf6c Make parse_arg_id constexpr 17f93fe0 Make basic_string_view ctors constexpr d5e918b6 Detect C++14 compiler support be5b4552 Make null_terminating_iterator more iteratory 643fb066 Check for argument indexing switch d45544d1 Fix width handling in dynamic formatting 8cbf5447 Add parse context ec4f5175 Replace Range with ParseContext in parse() 83dd2ab9 Simplify dynamic_specs_handler 5a8ae0bb Fix a warning 39bc319b Update test results 534bff7d Fix handling of max packed arguments 0cda806d Fix compile tests a3191a99 Get rid of FMT_MAKE_WSTR_VALUE macro fced79b0 Get rid of old compat macros be887d92 Replace internal::get with std::declval 53cf0735 Get rid of FMT_MAKE_VALUE macro 2972de4b Char -> char_type 9ee7c216 Type -> type 1a09194a Cleanup type handling c18a4041 Remove conditional and to_iterator 1cade7ef Remove FMT_USE_RVALUE_REFERENCES 7413239f Remove unnecessary qualification af00e4f9 Remove printf_arg_formatter from format.h and cleanup 44a26e5e CharPtr -> pointer_type and move to writer 0fbd8465 Replace fmt::internal::make_unsigned with std::make_unsigned 8a2bc0ab Add nullptr support 80505995 Allow delayed type checking b0867f3f AlignSpec -> align_spec and fix a warning f194a418 Replace fmt::is_same with std::is_same 47c84d79 Move part of write API (spec factories) to a separate header 20168147 Add ptr, a helper function for pointer formatting 77c892c8 Fix more warnings be7d72ba Fix expansion-to-defined warning d4c504ae Fix a warning 27ad6cee Use standard enable_if 64681739 Fix a warning 38806167 Remove FMT_HAS_GXX_CXX11 a7320bdc Fix a warning 016acebb Remove legacy code 07f8ffc4 Suppress shadowing warnings 466386d5 Suppress a warning in gmock 70ef82a8 Workaround a bug in MSVC 5e0562ab Separate parsing and formatting 1102d465 Make format spec parsing context-independent 45911770 Separate parsing and formatting in extension API 7bd776e7 Explain why null_terminating_iterator is used 873c8451 Remove system_header pragma 9f7957c0 Separate argument parsing and formatting da439f28 Suppress warning about missing noreturn attribute (#549) eefdb379 Fix an unused argument warning 2f4f49fd Switch from cstring_view to string_view a8d6f309 Minor optimizations d16582a0 Move printf-related code to printf.cc 361911dd Use preinstalled version of cmake on travis 9ea183aa Fix MSVC build 8f4b918c Check argument index 4193485b Remove test files 07123e8f Use Ubuntu Trusty on Travis for a new CMake 586d6363 Implement more efficient handling of large number of format arguments 12252152 CStringRef -> cstring_view 5aa8d6ea Return locale by value 32ec13f1 Switch to C++ locale b4f4b7e2 Clean the buffer API (#477) f423e468 Replace clear() with resize(0) and data_ -> store_ 23b8c24d Add noexcept 7175bd8a Fix error on MinGW 7258d1b8 Fix tests 3610f34c Fix windows build 572491ad Document which header defines formatting functions c333dca0 Follow standard naming conventions 6a2ff287 Follow standard naming conventions eedfd07f internal::MemoryBuffer -> basic_memory_buffer 4ec88607 ArgFormatter -> arg_formatter 50e71673 StringRef -> string_view, LongLong -> long_long e022c21d Fix windows build 87b691d8 Merge StringWriter into StringBuffer c2f02169 Merge ArrayWriter into FixedBuffer fefaf07b Pass buffer instead of writer to format_value 6e568f3a buffer -> basic_buffer bb1c82ef Fix build a13b96ed Simplify API 624c5868 Simplify API 7ae8bd70 basic_format_arg -> basic_arg, Buffer -> buffer bf0f1075 Parameterize format_specs on character type 296e9cad FrmatSpec -> format_spec b5fb8dd1 stream -> buffer 984a1029 Remove IntFormatSpec and StrFormatSpec 4863730e Remove pad aaa0fc39 Improve compatibility with old compilers and fix test aea5d3ab Improve compatibility with older gcc and update tests 84850277 Use named argument emulation instead of nested functions ec15ef7b Replace operator<< with write function b77c8190 FPUtil -> fputil 8428621d BasicWriter -> basic_writer 939aff29 Remove unnecessary template arg from basic_format_args f69786a7 Remove Not b2a0d891 Merge value and MakeValue acd1811c Value -> value 42a31907 Parameterize Value on context a4d6cb32 Clean up basic_format_arg d705d516 Parameterize basic_format_arg on context (#442) 422236af Don't erase writer type abb6996f MakeArg -> make_arg ee1651ce Handle empty format_arg state 3bbc5799 Fix MinGW build 63fcfc57 Fix build on older gcc d86e51e9 Don't inherit basic_format_arg from internal::Value f0588869 Fix handling of unpacked args (#437) 11836218 Add support for exotic character types 763ca978 Parameterize Value on character type 6cba8fe9 Move stuff out of internal::Value e1ee5bf0 Replace StringValue with StringRef 0854f8c3 Parameterize formatting argument on char type. 9cf6c8fd Get rid of fmt::internal::Arg 5f022ae0 Remove FMT_DISPATCH 41d4bcf0 Ingore Xcode files 28429701 Merge BasicArgFormatter and ArgFormatter d4084ac5 Get rid of ArgVisitor d58cc8a4 Merge BasicPrintfArgFormatter and PrintfArgFormatter e2dfd39c Update arg visitors 751ff64b Update ArgConverter to the new visitor API c9dc41ab Replace ArgVisitor::visit with a free visit function caa60b9c Update comment 95a53e1f Refactor argument visitor API (#422) 6d241167 Improve visitor API a1dd524b format_arg -> do_format_arg 55a1ac50 Fix test 85793a18 Simplify API 9998f66f Replace formatter with context 2bba4203 Pass writer directly to format_value (#400) b656a1c1 Make value the second argument to format_value edf98792 Pass writer to format_value 64ca334a CharType -> Char be613204 Char -> char_type f85d5f4d BasicFormatter -> basic_formatter 18dfa257 Pass correct formatters to make_format_args dafbec75 Fix type safety when using custom formatters (#394) 506435bf Fix formatting f2879940 Fix formatting 48fe9783 Add format_arg::operator bool 119a63ab internal::Arg -> format_arg 65a8c2c3 format_arg -> format_value 13b04044 Add format_args::size_type 8a77e792 Enable C++11 in tests. 1e8553d6 Enable C++11 in tests. 06bab3ed Workaround mingw bug https://sourceforge.net/p/mingw/bugs/1531/ 6fd6ecc1 Enable C++11 for no-windows-h-test c4212f9e format -> vformat 21c6700b Don't build std branch with -std=c++0=98 209a1d58 Get rid of macros 9a079732 Test types ea28a637 Get rid of FMT_VARIADIC_CTOR 0d8aca8d Get rid of FMT_VARIADIC_VOID 4ece95a7 Make make_format_args public 0028ce57 Get rid of FMT_VARIADIC ece7ae5f Make format_arg_store convertible to format_args 621447fe Make initialization C++11-compatible a0190e4b Add a missing include b903f5c1 format -> vformat 43c0095a Refactor type mapping 4873685c ArgArray -> format_arg_store fc73e106 ArgList -> format_args 92605eb4 Remove FMT_USE_VARIADIC_TEMPLATES 9bb213e9 FormatError -> format_error REVERT: 135ab5cf Update version REVERT: 93d95f17 Fix markup REVERT: 4f15c72f Fix markup REVERT: e9b19414 Automatically add package to release REVERT: c3d1f604 Fix markup REVERT: c96062bf Update changelog and version number git-subtree-dir: externals/fmt git-subtree-split: 3e75ad9822980e41bc591938f26548f24eb88907
2020-04-22 20:57:22 +01:00
argument id; format specifications are not allowed. This allows the formatting
of a value to be dynamically specified.
See the :ref:`formatexamples` section for some examples.
.. _formatspec:
Format Specification Mini-Language
==================================
"Format specifications" are used within replacement fields contained within a
format string to define how individual values are presented (see
:ref:`syntax`). Each formattable type may define how the format
specification is to be interpreted.
Most built-in types implement the following options for format specifications,
although some of the formatting options are only supported by the numeric types.
The general form of a *standard format specifier* is:
.. productionlist:: sf
Squashed 'externals/fmt/' changes from cd4af11e..9e8b86fd 9e8b86fd Update version 92fec0f0 Bump version 4749cc93 Update changelog 78a0ba0a Improve conversion of paragraphs 7a39837d Use a working breathe version 55b6e92d Fix docs 69dc3a85 Fix docs 27f4cdd5 Update changelog 70d61a0a Update changelog 427b5340 Add no_value state to value e421d527 Simplify error handling in parse_nonnegative_int a59678f3 Fix chrono_test.locale c98254c3 Install locales into CI c123a728 Fix set locale error in chrono formatter 3c8fad12 Optimize parse_nonnegative_int f28cf330 adding a default format for std::chrono::time_point<std::chrono::syst… (#2345) 55010a9d Support non-`char` overloads (module) 0193e7c4 Support compile-time strings and compile-time format string compilation in module 3423d754 Remove the msvc workaround (#2351) f6b5cc9f Fix chrono_test.weekday on legacy glibc 59a298f1 Enable `enforce-checks-test` for MSVC, too 36c29482 Update docs c9fe1fa5 Remove unused flag dccddc2b Apply clang-format 0e36681b Cleanup digit count 1de80f5b Workaround lack of static constexpr in constexpr functions 2039dce7 Detect consteval d551b88a Move is_char specializations to xchar.h 16c3514d wchar-test -> xchar-test 206000a0 Workaround pathological conversion (#2343) 76ee4904 Move wchar/custom char overloads to xchar.h e77b22d6 Deprecate memory buffer overload of format_to 07039f4b Update README.rst 4678192c Remove bsr2log10 7c3d3dfa Update thousands_sep_impl signature ef826b86 Fix docs 5223f552 Remove FMT_ALWAYS_INLINE cfde93af Add FMT_STATIC_CONSTEXPR 986a5a6c Fixed join_view formatter for wchar_t 7c8b35ff fix MSVC Win32 count_digits 3eeb084e Optimize count_digits 2ac0bfe5 Improve handling of thousands separator 024741b4 CI: set up multi-thread build for all platforms f4c95f6d Improve handling of thousands separator d4fbeacc Fix docs build 0eef389d Code style e27b1ce5 Fix docs 9f8b6dac Fix wheel installation 6060bcfc Fix docs ff967346 Fix docs 1085cc21 Fix docs 11addaa1 Update docs 760ca5cc Update docs 290d3f8b Cleanup ranges API aa09e0f5 Update docs d142579e Cleanup the format API f286139d Fix "undefined reference to `fmt::v7::detail::basic_data<void>::digits'" 7b9d69b8 Add xchar.h to docs cbd861f1 Update docs faf972f0 Update docs 622d1c04 Update changelog 634c9487 Update changelog a04e3a2d Comment 87876d54 Cleanup the printf implementation d338d663 Cleanup the printf implementation 272660e7 Remove deprecated printf functions 5a95c5ae Update changelog 70e67ae0 Re-enable module testing Prepare for compilation with gcc (modules branch). ad972589 Merge branch 'master' of github.com:fmtlib/fmt ed2a6377 Workaround msvc constexpr issues 99768695 fix custom types formatting at compile-time, add test 8c1b22ba Workaround a gcc 9.1 bug (#2334) 2dba1cfa Update changelog d7ba6c3e Use qualified name-lookup in module. (#2324) bf9904ee Workaround msvc bugs 577bce90 Apply clang-format ba4c7f19 Swap parameter order to match #2327 (#2329) e9e89b35 Update ChangeLog.rst 9bb406d7 Update changelog 11a14db2 Update format_to taking a buffer and remove undocumented vformat_to overload 832ec098 Fix argument order in locale overload of vformat_to (#2327) 486a80e8 Move wchar_t overloads to xchar.h 19d45f4b Update changelog 5a2b88f6 Reduce binary size 00a39ad5 Enable `Char` types other than `char` (#2323) ff37e416 wchar.h -> xchar.h because it handles other code unit types too 0901176f arg_join -> join_view a9a90181 Move wmemory_buffer to wchar.h 4a7801c3 Update changelog 517578f8 Update changelog 85442ed0 Update changelog 6a12b13a Update changelog 1cfe3c73 Update ChangeLog.rst c0601479 Update changelog 6fe04871 Update changelog 9d67988a FMT_DEPRECATED_WCHAR -> FMT_DEPRECATED_INCLUDE_WCHAR 765b451e Update changelog 17c993c7 Fixed compilation with CMake < 3.7 (#2321) dde69373 Update changelog 272b0f36 More module tests (#2309) 126c8cb4 Export os.h API, too (#2318) 98b9ff47 Align hex floats right as default (#2317) ece4b4b3 Update changelog a70a4ae0 Ignore zero-padding for non-finite floating points (#2310) 7612f18d Update changelog b9f2c276 Update changelog 4e21baff Simplify get_units 683ef11a Update changelog ca466374 qualify make_format_args (#2315) 5a2a1856 Make buffers non-movable ee52a6dc add `fmt::print()` overload to support compiled format (#2304) 82607efb Fixed int conversion warning (#2313) 35a2c2a7 Refactor chrono formatting b955e7a6 Refactor chrono formatting 883d9595 Support alternative locale names in tests 1f308a3c Update integer presentation types documentation. 1cd9899c Add initial support for weekday formatting 069131dc Add unicode-test dd8f38fc Cleanup printf API a216f256 Remove undocumented and obsolete vprintf overload 0c092639 Add is_exotic_char trait bc13c6de Update README.rst 8ec0b9e3 Do *not* export namespace `detail` b99c2bd3 Remove deprecated `locale.h` from module interface unit c04a2439 Update changelog b099a56f Update changelog 703005c8 Deprecate locale.h 51f01786 Cleanup the format API 5d59dcf6 Remove deprecated aliases / undeprecate has_formatter c242dd40 Move cerrno include to where it is used 2216e0b7 Update changelog 1c83a49b Simplify buffer extraction 2617384d Improve buffer extraction 34b8acae More wchar_t-specific API to wchar.h 6326c189 Improve code style consistency 5c4b0c86 Add missing Allocator template argument for basic_memory_buffer in format_to 00149c0b Move detail::null to chrono where it is used c5c968cb Improve binary size 128cbdeb cmake: hide private symbols by default 18af1dc4 Fix binary size regression caused by b268f88 d1e6f0f8 Fix binary size regression caused by b268f88 5a0d99fa Add a test for the module 6e2e6b79 Restore support for `wchar_t` overloads in module 24b677d0 Improve symbol sizes 63271a51 Fix ADL issues 61b4c923 Reduce code bloat 2a2e4c58 addressing nits. be48f4d6 Avoid unwanted sign extensions from MSVC in is_utf8. 13e65293 export missed symbols 71fb1138 fix compile error on msvc preview 4 (16.10) involving lookup clash /w STL 08d22503 Remove outdated comments 56f518a9 Update signatures b7f29337 Update signatures 7483dfc6 Update signatures 95c358f7 Improve separation between code unit types 39c3c4ec Simplify the core API e9c1c415 Improve compile-time checks 21d93bfd Move generic format functions to format.h 9a92eb41 Move more wchar overloads to wchar.h 0dd91e20 Add wchar.h for wide char overloads ce14eafc Simplify format string checks 8d70c0ed Refactor the format API 813ac495 More API cleanups 4ab01fb1 Cleanup printf API d5036b11 Remove deprecated APIs 25819462 Cleanup the core API b35db4e0 Improve handling of 128-bit ints d35f1ad5 Cleanup core 8f1902c0 Move format string checks to core.h 6469b903 Silence msvc warning about an unused named parameter 7d4c92fb Update ChangeLog.rst 0763d8ca Fix Visual Studio warning 5466373a Do *not* export namespace `detail` 588bdb54 Simplify get_arg_index_by_name 54f22a3e add support for statically named arguments with FMT_STRING ea94d6d9 Prevent ambiguity in name lookup 57280762 Move specs checker to core.h ced30375 Move dynamic specs to core.h dd2bc998 Move specs to core.h 08da1adc Remove unused headers 3be0cc20 Fix handling of 128-bit ints 9648bdce add missing header d1aebdbd Inline format_to 8f0fadfa Cleanup docs 02896dab Avoid use after move (#2278) 0036a1d1 Fix issue #2274. 2a9b3146 Replace fmt::error_code to std::error_code 2165bef4 Update README.rst 48629308 Optimize format string compilation 3207a8bb Get rid of unnecessary recursion to enable inlining 6214f15a Optimize standard formatter specialization cd2c78fb Use write directly in formatter specializations 4211d865 Add a formatter specialization for std::error_code. 39f28424 Cleanup tests 84feeb0f Remove redundant comments and put common case check first 2665afb5 Cleanup add-subdirectory-test d0abe7c2 Make chrono formatting locale-independent by default 50fb0b5e Fix formatting 16f2ef91 Replace fmt::system_error with std::system_error 4b885c86 Replace windows_error with system_error 5238055f Move esoteric char type support to format.h 9ac088f3 Add fmtlog to projects 849c9f61 Move is_name_start to core 23892caf Move more parsing to core 8e6390c3 Move FMT_STRING to core 51a33713 Move parsing to core 9c3af11a Cleanup tests 9d7b53cb Remove redundant formatter specialization for byte f0095ccd Add support for ranges of types without formatters to join (#2262) 4f0eadfc Exclude fallback from is_formattable 400b953f Use [] instead of {} in ranges for consistency with Python format 38bcc04a Drop range limit and cleanup tests c738c343 Cleanup tests ed7c4320 Cleanup tests 9155e2de Cleanup tests 38127d9e Cleanup tests c9c0e507 Cleanup tests ccf4ccde Cleanup tests and format string compilation e96a92f8 Cleanup tests and format string compilation fd43e4dc gtest: fix std::is_trivially_copy_constructible for GCC 4.8 & 4.9 properly 3d51ccda gtest: remove obsolete `GTEST_LANG_CXX11` compile definition setting 833377ff gtest: add `.clang-format` file into `test/gtest` directory to prevent formatting there 53ca0cbe gtest: move GTest/GMock files to separate directory, update GTest/GMock usages 342973b3 Make wchar_t overloads usable in module Bring ''detail::find()' into scope. 355be4b1 Make FMT_COMPILE fallback on runtime without if constexpr (#2261) 0cd0fb91 C++17: std::char_traits<>::{compare,length} is constexpr - v2 d1a6e560 Keep defaulted destructors inline applies to exception classes in case of msvc only 84a36b99 Move data to functions ab7c33ed Suppress checked iterator warnings 77258f60 fix FMT_CONSTEXPR_CHAR_TRAITS check for MSVC d23e315e CI windows: add MSVC C++20 build f085c3d7 use proper check for non-type template parameters 69bdc20a Workaround missing std::system on iOS, take 2 847aac43 Follow naming conventions in tests 39818e79 Cleanup core-test 0e6f989b __THROW warning fix for e2k (#2253) 1678ed62 simplify field::format() and spec_field::format(), fix typo ca821982 use named arg with static name in compile-time API ce6e7d86 use fixed_string to create named arg class with static name for _a literal fc56af14 move fixed_string from compile.h to format.h bb006f97 Replace TYPED_TEST_CASE with TYPED_TEST_SUITE 6956b10b Fix gcc 4.8 build b4f9a058 Update gtest 8f9ddf45 Remove deprecated posix.h dacd1356 Add module interface unit d3c523e0 Export printf-related contexts from printf.h 2c25df08 Export replacement type_traits, too 553022dc Don't use std::system on iOS (#2248) 8a040d18 Cleanup core-test 064cac2b Bump version 5b2c740a Remove deprecated APIs b9ab5c88 Remove printf.h dependency on ostream.h c47f2112 Simplify data handling 54d3b171 Move more data out of basic_data 128f007b C++17: std::char_traits<>::{compare,length} is constexpr. (#2246) 841aad95 Move data out of basic_data 1d4199f4 fix udl_compiled_string with non-byte chars (e.g. wchar) (#2242) c5d4fcb1 Appending a space to guarantee non-empty strftime() result. (#2244) 62714062 Fix a warning (#2233) 52bd62c7 Create separate dllexport marking points for clang and msvc. (#2229) f4bbc54c Tag official API for module export (#2235) d8910af8 Use qualified name lookup rather than ADL. (#2239) 92601141 Ranges wide strings support (#2236) 24c97515 Try to suppress MVSC warn of narrowing (#2230) a1c6bfd7 Add a link to llvm diff 42eccac4 Fix clang warning about ignoring __declspec(dllexport) on basic_data<void> template instantitation definition (#2220) aec50434 Update README.rst 0b411454 Update README.rst 00f3d16b Update docs 99c2f7a3 Allow including fmt/core.h in the header-only mode b4415323 CI linux: add clang++-11 C++20 (with LLVM libc++) build 1dbadb65 CI linux: add clang++-11 C++20 build 09dbad47 CI linux: add missing build_type e2facffe CI linux: remove excessive clang++-9 include 273d8865 Suppress redef warning of _CRT_SECURE_NO_WARNINGS if any. (#2218) 5a8bf1f6 Workaround hexfloat inconsistency on windows (#2205) 78776ee4 Fix a conditional expression is constant warning #2210 (#2211) 266107f5 constexpr uint128_wrapper (#2215) 2e0d64cf specify size for `prefixes` static data 95da4847 Fix a link 06b3a100 Add support for time points with arbitrary durations (#2208) dac42f52 Inline fallback is_constant_evaluated 7c43f8b8 Don't use strlen at compile time (#2205) c62e4c30 Make buffer_appender default-constructible when back_insert_iterator is 0d6b70d9 Install gcc 8 15c10b0c Add speech synthesis support 308510eb "Use" `fwrite` result (workaround for `warn_unused_result`) afe23e7f Don't call fileno on NULL file in tests (#2196) b49af043 Remove noexcept from file's move assignment 14848875 Fix: fmt::ostream cannot be moved while holding buffered data #2197 (#2198) 7d8c3401 Update pull_request_template.md b966afcc Remove formattable ec5315a9 Use strlen when possible in fallback basic_string_view 4f8778ba Inline basic_format_args's ctor e2d87548 user-defined constructor f7151d38 Extra flag to prevent Intel compiler with Clang front-end warning of 'unknown attribute no_sanitize' 0fb8ef8f Inline trivial argument handling functions 1b23e25f Simplify formattability check 35c71ff5 Only use -Og with optimizations disabled 243d8beb Enable minimal optimizations in debug mode 9b34681d Work around xl compiler bug when nvcc preprocesses this file (#2190) 4dc7170d Fix C++17 builds: (#2192) 9cb347b4 Simplify argument formatters 0f85a468 add default cases (#2186) 417e1cee Stop using deprecated UDL templates f7e900e1 Simplify UDL definitions d9661c8f Mark grouping as deprecated 14a2a64d Fix handling of formattable types with to_string_view (#2181) 6ae402fd Fix handling of types with to_string_view and formatter specialization (#2180) a6408a3b Add args-test 1147782c Fix an ambiguous call to check caused by ADL (#2184) 2f3f3862 Fix harmless MSVS warning about using undefined _MANAGED symbol (#2183) d0bded59 Fix MSVC /clr builds (#2179) 8308f52c Fix dynamic_format_arg_store::push_back comment 6151d0dc Fix the comment 5a1127b7 Don't wrap named arg in cref and clarify docs b8ff3c18 optimize append (#2164) c8d8b882 fix GCC 7,8,9 warning about unused but set parameter (#2177) d2810187 Document ostream support limitation bac14ef9 Simplify integer spec checking 8f9db3fc Make ubsan happy on empty format specs (#2175) af567538 Bitpack integral prefixes cdf877d4 Workaround missed optimization opportunity eef4ba9c Optimize integer formatting without padding a1ea8a82 Unbloat my heart a457e163 Simplify integer formatter 05bc87a6 Optimize padding 605b6037 Optimize count_digits for powers of 2 85ba2716 Implement 128-bit count_digits in terms of count_digits_fallback d9835737 spec -> specs f9e0e904 Apply clang-format 60f5d244 Simplify arg_formatter 30e1302e Simplify on_format_specs 87c5cd46 Optimize parsing of argument ids 6a9016ea fix `formatted_size` with "compiled format" as argument (#2161) 6e1fc017 Move detail::truncating_iterator to fmt/compile.h e718ec3e Make truncating_iterator an output_iterator (#2158) 772aeca3 Don't include <cassert>. (#2148) (#2152) 684b5b0e Fix fallback to runtime API from compile-time API (#2143) d8b92543 use simplified `void_t` for all compilers other than gcc 4.x (#2160) 835b910e Add an is_formattable trait 57887403 Revert "Optimize handling of integer constants" (#2147) 640acba8 Print x.what() of FMT_THROW when exception is disabled (#2145) d8e1c9f1 fix `fmt::get` for some GCC versions and legacy Clang (#2144) 2797588b Optimize handling of integer constants e8eff3b8 Fix FMT_STATIC_THOUSANDS_SEPARATOR (#2142) ab0f7d7f use const& for arguments 29cc8282 update chrono duration formatter (constness), use it in compile-test for specs checks 3f69af3a update wording in the error inside `arg_id_handler`, use `FMT_ASSERT` instead of `throw` 499047e1 fix incorrect indexing mode for named args, update tests 78c67157 prepare tests, fix incorrect handling of named args with simple `{}` replacement fields b31bc2dc simplify `try_format_argument()`, make `manual_indexing_id()` a variable 95e1aa2d add support for manual indexing and named fields, add tests 7e72673d Improve width estimation (#2033) 13b117b5 Improve code point computation ee0fed63 Fix handling of the + flag with locales (#2133) c5979d56 Fix fmt::localtime formatting not working in wide-char string contexts e6ef927e fmt::ptr: Support function pointers (#2131) 58aa0457 Fix ordering of install commands for CMake (#2122) 1980ca8c fix #2118: FMT_COMPILE did not work with tm formatter (#2119) 2a25e2bf Make ranges-test available with C++11 (#2114) b0b56b43 fix #2116 (FMT_COMPILE requires exceptions enabled) (#2117) 373262f9 Update docs ce519e93 Fix exception propagation from iterators (#2097) acef0bb5 use gcc-10.2 instead of gcc-10.1 on CI, also fix one problem (#2110) 8bf28e6b Add support for s format specifier to bool (#2094) (#2109) 9c418bc4 Update README.rst 456efa46 add missing detail namespace (#2107) 80dc7cce Fixed format.h(1465): warning C4702: unreachable code (#2106) 7fd535c6 Cleanup 'L' handling b4b8917c Update docs e4f2cf45 Make 'L' a modifier 6972b5f3 Add build variable: FMT_MASTER_PROJECT (#2100) ac352081 Install fmt/args.h (#2096) 532e846b Fix width computation in float formatter f8c2f848 Fix handling of width when formatting int as char 0fe0b15e Fix handling of # in width computation 061e364b Document output_file 018688da Correct a typo on syntax.rst (documentation) (#2081) 9ec5592b Fix writing to stdout when redirected to NUL on Windows (#2080) cdc5ef67 Remove fallback to inline specifier from FMT_CONSTEXPR(20) macro (#2075) c9dd1eb9 Don't change charset d09b5c14 Fix std::byte formatting with compile-time API (#2072) bbd6ed5b Add support of most format_specs for formatting at compile-time (#2056) a750bf3a Update api.rst 1256541d Fix formatting 4fa4c924 Add tests for FMT_ENFORCE_COMPILE_STRING, fix several errors (#2038) aa89e380 add cwchar to format.h for std::fputws (#2073) 5a37e182 Disable warning about format string (#2067) fa43fd14 Forward arguments to work with views (#2068) 3551f5d1 Workaround a gcc 10 -Warray-bounds bug (#2065) e7376726 Remove an old mingw workaround (#2059) 25a41b80 Fix a link to Android.mk (#2057) 9293f707 Suppress gcc warning on privates-only class (#2053) c20874c2 Reenable support for fallback formatter in join (#2040) (#2050) 5de0bc1d Add UDL as replacement for FMT_COMPILE (#2043) a6fafe2f docs: use https for some links (#2051) 33f9a6d3 Fix handling of enums in to_string (#2036) aabe0a84 simplify tests by reordering arguments of `EXPECT_EQ` (#2044) 1f4a76d2 Add a missing include (#2047) 4a6eadbd Make std::byte formattabe (#1981) 683a7450 fix formatting with empty compiled format string (#2042) f43416e1 Add a link to contents from index 5a493560 Move some code from core.h to format.h where it is used 9ed0a981 Fix docs build dac753b8 Basics of formatting at compile-time based on compile-time API (#2019) 119f7dc3 Truncate file by default 22a68d16 Don't emit trailing zeros by default d0110b7e Update README.rst 3f4839ce Merge branch 'release' of github.com:fmtlib/fmt 7bdf0628 Update version fc135511 Update changelog 926233bd Fix test 0683fa7d Bump version 6ce207b9 Fix formatting 07b1c1a1 Update changelog 58992761 Reintroduce ostream support to range formatters (#2014) b8957f50 Fix an overflow in format_to_n (#2029) df66516e Workaround an issue with mixing std versions in gcc (#2017) a57baa69 Fix more linkage errors (#2011) 85534a13 Fix linkage errors when linking with a shared library (#2011) a2fa5d62 Update changelog cd300368 Fix more linkage errors (#2011) d1ef29d6 Fix initialization of iterator_buffer (#1996) 5f41bb0f clang-format a58a6b27 Add a newline a036cc97 Reintroduce ostream support to range formatters (#2014) 38c7def4 Update clang version to 3.4 since there are ICEs on earlier ones 55336413 :new: [CI] Test with C++14 in Windows 2019 (#2020) 55dfdd92 Update README.rst 2c734c9b Fix an overflow in format_to_n (#2029) 6cdd1be9 Update build.gradle for latest AGP (#2026) bcc20b29 Implement compile-time checks by default befd7d4a Always use FMT_STRING internally where possible [Issue #2002] (#2006) f8640d40 Add more standards f81c14aa Workaround an issue with mixing std versions in gcc (#2017) 5555651c Fix more linkage errors (#2011) b268f881 detail::write in one more place relevant to printf with long argument… (#2016) aa9b09a9 :bug: Cannot call non-constexpr function in constexpr context (#2010) 986fa004 Printf get container (#1982) 7abc3c01 Suppress a useless warning (#2004) 6d14f781 Fix linkage errors when linking with a shared library (#2011) 9534b9fe Refactor warning suppression 60dc2735 Simplify on_text b5dac0f0 Reduce <algorithm> usage (#1998) a07627b1 :bug: Implicit sign conversion warning in clang in c++17 and 20 modes (#2009) 1b8f499e :wrench: Silence useless cast warnings (#2008) f428d286 Update README.rst beb248b6 Optimize handling of large format strings 1936dddc fix gcc warning of missing override (#2001) 14f6bd0f Move one more headers to args.h e01d26e1 Optimize includes e528d919 Merge branch 'master' of github.com:fmtlib/fmt 48816772 Update signatures 3302fd10 use memchr for searching for '%' in printf format string (#1984) 4c2d6372 Update signatures beaff396 Update signatures ffa0a083 Use newer versions of Sphinx and Breathe 038057eb Document contexts 5bedcb66 Fix initialization of iterator_buffer (#1996) 2435ea41 Workaround MSVC mess 8c6215f5 Fix fmt/color.h 10ebe6cb Document color 1ac50fcb Suppress more bogus warnings e098be8e Fix warning filtering 8cf0afaf Improve docs e29f93e8 Suppress more bogus warnings 4e8d000f Suppress more bogus warnings 7787792e Fix re usage 6ee5e507 Fix imports 06ee32d1 Filter useless doxygen warnings 86bb7fe6 Add a missing import 959a9f5c Merge branch 'master' of github.com:fmtlib/fmt 4f7df299 Improve docs b3ab0bc7 :art: [CI] Specify the exact version of clang to use (#1991) 701ed6c8 Install deps in github actions instead of script 8f2131cf Document chrono 32c4af8f Document chrono 295a60ec Document chrono a4fae96c Document chrono 263bb0e6 Document chrono 0506b328 Document chrono 4e426c19 Document chrono 9795d873 Update docs 2eb0be0b Remove debug code and fix bot contact cd955798 Move less installation to actions 98639d0f Debug doc build ab5e0632 Debug doc build b123129f Dump the content of html dir 81d2b986 Print less command 7a0b1d57 Add key 9f0617cb Fix branch ref 75b07598 Chrono docs dfbb6975 Remove travis config 5b3052f9 Switch doc build to github actions 506ff320 Fix build failure when not using fcntl with -Werror (#1990) a30b279b Apply clang-format and tweak comments 6a2495c8 -Wattributes visibility warning with some GCC versions (#1975) cba5970c Remove migrated build configs 689081d8 Merge branch 'release' of github.com:fmtlib/fmt cc09f1a6 Update version e4eb242c Update changelog and bump version ce98e0c6 Fix fallback float formatter at assymetric bounds (#1976) 49544ea9 Fuzz fallback formatter 6b7bfed4 Fix fallback float formatter at assymetric bounds (#1976) bcab36da Update CI config 1689e73e Move PR template 0103408a Update CI config 38a16ecb Move build config to github actions 205eb3a8 Update CI config fe61b8c6 Update CI config 867b15d7 Update CI config 98cb9f99 Update CI config 95077d60 Update CI config bc49f094 Update CI config cef6dfb4 Update CI config c8703ba4 Update CI config ab4405be Update README.rst 78a55e28 Update CI config d0a2494a Update cmake.yml 89d009ba Update cmake.yml 1f4ff47b Create cmake.yml eb52ac7a :new: Enable -Wshadow in pedantic mode e904e891 :art: :bug: Rename all shadowed types and variables 771292c3 Remove sizeof from unused variable silencer (#1974) 86bf6045 Merge branch 'release' of github.com:fmtlib/fmt 5f7f7b95 Update version 5d3f0741 Update changelog and bump version 563cbb6c Add a macro to workaround clang/gcc ABI incompatibility on ARM 425778aa Fix ABI compatibility (#1961) 69a84198 Remove accidental parenthesis (#1968) 5c045049 Removed [-Wsign-conversion] warning in GCC 556a1cfb Instantiate to_decimal to make gcc lto happy (#1955) 28a8eae8 Cleanup 236fea1f Workaround bugs in gcc 8 e50ced88 Add a macro to workaround clang/gcc ABI incompatibility on ARM 112755cf Remove FMT_SAFEBUFFERS (#1966) 4081b2fe Fix ABI compatibility (#1961) 2d9311e8 Remove accidental parenthesis (#1968) b3a4f28a Fix implicit signedness conversion warning (#1963) 97c88732 Allocator::max_size support in basic_memory_buffer (#1960) bb68f608 Removed [-Wsign-conversion] warning in GCC f4ca065c Range support cb224eca Instantiate to_decimal to make gcc lto happy (#1955) 7977c2b4 Cleanup e54eb676 Workaround bugs in gcc 8 4fe0b111 Update version df4bd60f Bump version 764fb35e Always install the required version of breathe e1bdc0ec Use the correct version of sphinx 39bde329 Tweak markup 204d299a Tweak markup e0995b1c Update readme 4af178bd Remove outdated build config aa41dc02 Remove unused script 6a77ea3c Tweak markup 62c72059 Update changelog c10e3f7f Update changelog e542e695 Update changelog 530cf316 Point to the release, not dev documentation 740385d6 Update changelog cd465111 Update changelog 46291be3 Update changelog 90071c1d Update ChangeLog.rst 25293d7a Update ChangeLog.rst 5024742f Update ChangeLog.rst 0452a4e7 Update changelog 8de96817 Woraround bugs in gcc 8 47e16767 Simplify arg formatter f0a42346 Move parsing optimization one level up 86287b8d Optimize common case in parse_format_specs 8924211f Update README.rst 525e7649 Update CONTRIBUTING.md 0ecb3d18 Optimize alignment parsing 97553078 Optimize format_uint 7446818f Simplify vformat_to 280b5612 Add option to force usage of inline namespaces e57ec7d5 Merge vformat_to overloads 2a3f4de3 Remove iterator_category 27fdb4ea Unshadow floaty 297e0bad Apply clang-format e3b4c22e Simplify is_output_iterator da8278e1 Update changelog and bump version 17fba753 added position independent documentation (#1939) 71e705a2 Update README.rst 74654c8c Fix compilation for systems without fcntl.h (#1942) f468b203 Avoid conversion from long long to size_t (#1935) 20d4f2e8 Fix handling of weird character types when parsing sign (#1932) 08370c39 Update README.rst bd3c7925 Fix float fuzzer 8d3fd86d Merge branch 'master' of github.com:fmtlib/fmt 40347157 Update README.rst 37d738fa Update README.rst 271eff14 Make classes derived from buffer<T> final to silence the virtual destructor warning. (#1937) 010efc31 Add float fuzzer and cleanup 811c8b58 Add float fuzzer and cleanup 82c4e223 Cleanup fuzzing 63e40c96 Fix naming of fuzzers 2f448ed5 Fix fuzzer timeouts af283059 Cleanup 48ea8193 Explain why assert-test is a separate test 1d112bdd Remove old test 5eb292a6 Update README.rst 7e56b6b6 Fix coding style and remove duplicate fuzzer 41d97e1e Fix a UB on ridiculously large precision 01c37e0a Added check for `-mbig-obj` and ref qualifier check (#1929) a5e7e7db Fix handling of thousand separator (#1927) bf19051a Optimize floating point formatting 3c13a88b Optimize floating point formatting f6d75c53 Refactor write_float e9c0b2d6 Merge write_float overloads 7eddbfed Cleanup exponent handling in write_float b347b302 Update dynamic_formatter comment (#1923) 3541880e Fix integer overflow when using max int precision 7b50dc0b Don't exclude all detail symbols from docs 28052431 Fix the doc config 34f22e88 Cleanup CMake config a18b3fbb Fix fixed precision handling when rounding (#1917) 72770357 Fix long lines in usage.md 7612c1ea Add reference to lhelper package manager in usage b91d39f2 Get rid of float_writer b4b64b9c Refactor float formatting 712abe40 Workaround a bug in gcc 7.5 (#1912) af8a180a Make GetCachedPower test more precise a581e9e5 Fix warning C4018: '<=': signed/unsigned mismatch (#1908) 05a28312 Update docs 4d0aa4d8 Update link 575f4018 Simplify FP formatting and follow coding conventions 6f3536f9 Move zero-check to an earlier branch (#1906) 90ef46df Fix dragonbox integration 3ae88147 Fix declaration 64179525 Improve dragonbox integration 79694d42 Fix WriteConsole signature 51f2e2ca Move nan test to where it belongs 68555fdb Make format-test not depend on color.h 63e0c354 Make dragonbox::to_decimal available in format.h 2213a711 Update README.rst 79ba37f3 Update README.rst a905d8f7 Merge grisu-test into format-test 762c33a9 Simplify windows handling (#1903) 253d6315 Remove dependency on windows.h (#1900) c156093f Fix carry in fallback_format 34179b33 Update format.h (#1898) 0651e459 Minor tweaks to get_cached_power 6c025520 Test that max_k is correctly defined 51f8d0cc Reuse log10_2_significand constant 1305cbeb Fix MSVC2019 error C2049 when compiling with /clr (#1897) 2d4fde3a Don't emit trailing zero for consistency with std::format 5fd89d50 Minor simplifications 605ce5e4 Simplify divisible_by_power_of_2 085171e7 Remove grisu_count_digits aa729bf2 Remove dead code aa2ddf9b Simplify Dragonbox integration c1654ce4 Simplify uint32_or_64_or_128_t definition 33712dc0 Combine pragmas e5942ac9 Tweak comments aae7a133 Remove unused pragmas 6bcde9aa https://github.com/fmtlib/fmt/pull/1882#issuecomment-696823912 (#1894) bb0db5e5 clang-format 16410056 Optimize copy_str for counting_iterator 2591ab91 MSVC optimizations for count_digits. (#1890) d5b8002d Update README.rst 821471e1 qkw: generalizing aliasing | using fmt library and it's features (#1888) 2e620ddb Small improvements that should have zero to negligible impact on the runtime (#1887) 2f7e0885 Disable range formatter if value type is not formattable (#1885) c46a8de4 Simplify test 2696dc92 add forgotten template argument to make_format_args which made some u… (#1877) 0016da7a Don't generate zeros and fix UB on huge precision ce3f7699 Merge intrinsic blocks 3b6248f6 Change formatting 2d9b1dd0 Fix sign mismatch 1f0600a2 Fix bug regarding FMT_SAFEBUFFERS 2ecdbb98 Fix a bug in ctzll 6f81ea15 Fix typo (and thus bug) 0c8ffe9b Implement Dragonbox (first version) 42699bf4 Fix msvc version of clz & clzll (#1880) bc51a8df Disable fallthrough attributes for the Intel compilers on Linux and MacOS (#1879) 45da432d fix compiler warnings in public header files d55e61f1 Improve FMT_ALWAYS_INLINE (#1878) 7e682752 Remove trailing zeros when using fallback formatter (#1873) 1d696dc2 Handle exotic character types in compilation f674434a Add format_to_n overload that accepts FMT_COMPILE (from #1767) (#1869) 5b5a5971 Fix handling of wide alignment f80ed64d Update README.rst 38139664 Simplify fallback format dce8e49b Handle float in fallback formatter 78b59443 Spelling f233b56c Don't generate insignificant digits 595902f8 Update test 4f2ee892 Use built-in FP formatter for any precision 58a044be Use built-in FP formatter for any precision efe3694f Macro tweak and clang-format 9f312fe8 Implement fallback FP formatting with given precision (#1526) fb289cf5 Fix coding conventions 86f0a704 Fix formatting bff4d18e Add color format_to overloads * Fix variable size basic_memory_buffer colorization * Fix an unused arguments warning on GCC that blocks the CI otherwise * Ref #1842 * Ref #1593 f19b8885 Fixed a warning in mingw32/mingw64 (#1860) f8e00a08 NOMINMAX not handled properly (#1855) 6cccdc24 Fix move constructor (#1844) 69902c17 Allow use of <fcntl.h> in Linux when __has_include is not available (#1848) 1edd38b9 Add append mode. (#1847) e66ba169 Added build2 usage instructions. (#1838) f39e6fb6 Add formatters for chrono::time_point<system_clock> (#1837) 77b627be Fix bogus MSVC warnings (#1825) 5dff01d3 Add complex tests d16d585e Update signatures c7e6d8af Fix usage of override (#1836) 92bff2fe Revert "Add missing includes" a0dcfbc5 Add ptr to docs 1651b2d4 Fix detail::write with fallback formatter (#1829) 06895a76 Add missing includes 92a448a0 Apply clang-format 6be65446 Fixing buffer_appender's ++ slicing (#1822) 951e0d23 CMakeLists.txt: Added Wundef warning to clang and gcc. (#1823) f9f02df7 CMakeLists.txt: Clang-warnings: removed -Wno-sign-conversion (#1817) 76e97dc4 Eliminate shadowed variable warnings on intel (#1816) e204df0e nvcc compiler should be EDG-based, but fails test (#1818) 1c8bb547 small changes to reduce clang-9 warnings (#1808) 4b69c787 fix: warning C4100: unreferenced formal parameter (#1814) fb0aeb82 fix: disabled UDL templates for PGI (#1811) (#1812) 54daa086 Add dynamic width support to FMT_COMPILE (#1809) 6fb7c6fb Workaround a bug in gcc10 (#1810) 16985fda Update README.rst 1378ddae Update README.rst 4fd95e4b Don't remove trailing zeros with # e06ae322 Avoid warnings on functions with external linkage that don't have declarations 7fc3d1f5 Add override to grow 065889a5 Use correct capacity in iterator_buffer (#1807) d0dd6786 Adding convenience append(range) 0e7cef06 Merge commit 'c13f79e0' e2c8c455 Update README.rst e4c954ff Update README.rst c13f79e0 Merge release branch d7921d64 Update README.rst 4a4fc225 Update changelog 61602a75 Remove -Wno-shadow 2f8fc29e Update README.rst 717b226b include/fmt/format.h: explicit cast to std::size_t for parameter to buffer.resize() in order to get rid of warning 'implicit conversion changes signedness:' in clang-8 (#1802) 2a69f567 Tweak buffer size ea769338 Simplify ostream 5413713c Remove unused function 57f46242 Increase the default buffer size 0b6e7cc6 Update README.rst e587adb4 Simplify count_digits 279d698e Fix handling of default alignmment with locale (#1801) 76cfb50b Test complex formatter 20829120 Optimize count_digits 8d9ab967 Cut a few cycles from count_digits 73434493 Simplify ostream_params 2a47a1e4 Update README.rst 7c4c5c79 Make buffer size configurable f0b84da5 Don't use 128 bit integers with clang-cl (#1800) a3dfd6f9 Workaround a bug in msvc 51d05521 Workaround broken numeric_limites, part 2 (#1787) 21c8b5c1 Report error on missing named argument (#1796) d82fdcc9 Fix handling of iterators in locale-specific formatting (#1782) 633213d9 Merge release branch e8f2580a Bump version 6cefe55a Update changelog 64e2da15 Update README.rst 1c8c810f Update README.rst c2399ccf Update README.rst a7c5db06 Update README.rst a4c22acd Update README.rst 0c1f4b5a Update README.rst 63b422ee Update README.rst 26e81a67 Update README.rst de5fc6af Update README.rst 9c2edfd1 Partially revert 638db5 because it breaks the doc build 810357c0 Document color 0a7032a4 Update README.rst 95d3abf9 Make format_to_n part of the core API 98626093 Correct the locale format specifier in api.rst (#1792) 47f8d7a3 Make formatted_size part of the core API 46a63b70 Update docs 430f393d Disabled __attribute__((deprecated)) usage for LCC (#1790) febffa4e Make join() handle non-const-only begin/end ranges (#1786) d69e2da2 Fix apidoc ce73ea37 Reorder functions d39d661b Workaround broken numeric_limits (#1725) c228bfe8 Improve docs 38ce19f7 Update README.rst d11849bc Add FMT_REDUCE_INT_INSTANTIATIONS flag (#1781) c08518a2 Move make_args_checked to the public API e2837084 Add a color section 9f0c0033 Simplify format string checks d615137c Improve handling of buffer iterator 26b47b6f Bump tested CMake version to 3.18 7a01c9c5 Update README.rst b17d5c4f Fix a regression in handling digit separators (#1782) eb90da2e Type erase output iterators 9d3cd0af Type erase output iterators 18024853 Fix compatibility with CMake 3.4 (#1779) f5d4215b Trying to clear ambiguous compile time claims (#1775) c26349f4 Improve error reporting f4b11ef6 Add a short anchor 0097cf11 Report unformattable type name more prominently 8fa20b47 dev -> latest a03bd3dd Autodetect MSVC static runtime (#1770) c108ee1d Clarify a comment a8074a86 Update README.rst 5f629548 Update README.rst bd903f96 Clarify precedence 16cac46a Improve handling of streamable and convertible to bool types (#1766) 415cd519 direct_buffered_file -> ostream e1bfb596 Fix handling of code units in compile ba8d98cb Cleanup direct_buffered_file 04a1f6e9 Improve handling of single code units in compile e4f57bfd Add an overload of write for buffer_appender d8704681 Make append work with fixed-size buffer e8ec09ae Cleanup core-test a2c4fed9 Double buffering no more 36406509 Add a fixed buffer 60c43e87 Apply clang-format b998e0f3 Reduce symbol sizes and simplify iterator use c5adfc51 Update README.rst c4ad94ce Update README.rst c1429651 Fix image source link 638db5ca Use Cmake to find Python and Sphinx-doc. c0905697 Update readme 1efdb2dd Simplify readme dc69afad Cleanup example 445f5d39 Break long lines 23063c34 Update readme f57b6257 Move PR template to the top level git-subtree-dir: externals/fmt git-subtree-split: 9e8b86fd2d9806672cc73133d21780dd182bfd24
2021-06-23 08:39:40 +01:00
format_spec: [[`fill`]`align`][`sign`]["#"]["0"][`width`]["." `precision`]["L"][`type`]
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 21:03:34 +01:00
fill: <a character other than '{' or '}'>
align: "<" | ">" | "^"
sign: "+" | "-" | " "
Squashed 'externals/fmt/' changes from 9bdd1596c..cd4af11ef cd4af11ef Update version 1ebc2f7cc Bump version f4c997062 Fix changelog 72920ba30 Update changelog 0907c08ae Fix handling of default alignmment with locale (#1801) 37c8f4eaf Don't use 128 bit integers with clang-cl (#1800) eaaaec999 Workaround a bug in msvc ccf8561cb Workaround broken numeric_limites, part 2 (#1787) 0cc73ebf7 Report error on missing named argument (#1796) 33efc3c94 Fix handling of iterators in locale-specific formatting (#1782) b9d749095 Update version 86b63bb71 Bump version cbf6be960 Update changelog 229ee9b46 Workaround broken numeric_limits (#1725) 2b7a146fa Fix a regression in handling digit separators (#1782) 89d0c7124 Fix compatibility with CMake 3.4 (#1779) f19b1a521 Update version 5c67fefb2 Fix a changelog entry 1d2a556e1 Fix undefined reference error 04c9b62fb Merge release branch 6be6762e5 Fix date f1dd2eb3c Bump version fbf3b943c Workaround a bug in gcc a29a01d30 Fix docs 9f0b3afb7 Bump version in namespace 86b2f99f8 Fix the docs c472ff12d Update version 5173a76ba Update version 1614af352 Minor corrections in the changelog 569a9b3a7 Bump version 4e7e3c65a Update docs 0f7a6bfa1 Add a section on std::format compatibility 4faec5a5e Update README.rst 7dbc8ac71 Update changelog c87dd746f Update changelog 372175caf Revert changelog changes 904754876 Add ClickHouse to the list of projects (#1751) d30bca64e Revert changelog conversion since GFM is not supported there d6047cdc4 Update changelog 810241b36 Convert changlog to markdown 661c47473 Rename changelog 7c33059fa Update ChangeLog.rst 9e20883ab Update README.rst 41899d522 Update changelog f42f45908 Update changelog 2381df654 Update readme 7ae816563 Update README.rst c56cf3d07 Update changelog and readme 01309a34a Deprecate arg_formatter a62d06055 Update changelog 23e3a2eee Update changelog d8e0554b9 Disable numeric formatting by default 1e8eea4f4 Update changelog 44bd5384a Fix formatting 20e19387a Update changelog 56fed7814 FMT_NUMERIC_ALIGN -> FMT_DEPRECATED_NUMERIC_ALIGN 56e63078f Make the n specifier an opt-in 31ce6bc70 Fix a conversion warning with Clang10 on Windows (#1750) c9c5b90da Fix a typo. Thanks Tracy Chapman from TripleChecker 1f3f84631 Fix a typo 5de62af60 Fix possible infinite recursion in FMT_ASSERT (#1744) cbddab2fe Use consistent include style f69b6eaab Add a simple buffered stream with no sync ba363b3a2 Use digit pairs as in unrolledlut a6f8e7d86 Update changelog e753244ab Update changelog 98a7a8b40 Update changelog and disable internal 3135d95fd Don't use non-portable attribute 8630a8f5f Tweak the docs cc3a88e6b Extract docs from compile.h 79c4b6bd7 Apply clang-format d130ee070 Document format string compilation d0f90b5be Spelling fixes 6e080660d Update README.rst 31c3a2426 Spelling fixes 613b3b459 Spelling fixes 978521bb8 Fix a compile error introduced in #1738 4e94c649f Deprecate compile 1a83443e6 Add user-defined type support to compilation 8bef1c3b3 Tweaks for EDG based compilers (Intel, nVidia, MCST/Elbrus, etc). b287c37c6 Do not use -Wl,--as-needed with emscripten. 2cac8a9d2 Reintroduce UDT support to fmt::to_string and test ADL 9a4cc8842 Add FMT_COMPILE support to format_to 5ddf9ee1b Streamline default FP formatting 0b3a83f7f Update README.rst 5aa5c9873 Added #define WIN32_LEAN_AND_MEAN before including windows.h (#1729) 397ad1bec Optimize common case 7431165f3 Make to_string bypass format ee4d4c7fd Inline compiled format ab2f8484e Finish text::format e900d735b Re-enable assert in format_decimal f4de7b684 Fix ambiguity 1f8f5450b Reuse format_decimal d702a68df Fix formatting of bool with FMT_COMPILE and add more tests e956a14e9 Use write instead of format_int in to_string 98dcc251e Undo branching reduction 5b8641ddd Undo branching reduction 8c88abde6 Fix sign handling in 'L' 23b976a61 Reduce branching 9edee0e72 Optimize small string parsing a909d42b7 Fix a warning 16637341b Enable compilation for all types 2d71d7e03 Add a simple format string compilation API d259fcfb0 Tweak comments 704ed557a Move project in order to solve a CMake warning 8603bd20d Update README.rst 547f12ae6 Fix a warning (#1722) f904e8a1b c++11 use formatting user-defined types (#1721) 100e8af08 Update README.rst c11d0f056 Update README.rst 2453ee576 Improve default formatting 47ae52155 MINGW cross compiler fixes 936a1833c Add default_arg_formatter f2c9cb624 Fix a UB d3107f855 Cleanup arg_formatter_base 5e7c70e20 Simplify arg_formatter_base 38cc68b3e Inline visitor 6732ea500 Make symbols readable 57ddc77ce Make advance_to a noop for back_insert_iterator 50bad7d62 Optimize format string parsing 8f7a824e4 Inline visit f11e96870 Optimize format string parsing 09737dd83 Optimize format handler d9e3d6e6e Move format_handler to detail 795b47a7b Fix a warning (#1712) 95c6ac0cc fix typo which caused the loss of the counting information when using a printf context with a truncating_iterator 21409cfdd Fix warnings 88c8d534e Move digits10 to where they belong and add comments 0f3eaeac0 Fix a warning 344218510 Ignore /doc/node_modules directory 16aec0617 Cleanup arg_formatter_base 1e1193590 Fix format_decimal overloads 0893c9c2e Inline parse_format_string 3245145a4 Remove undocumented buffer_range and output_range 57fc44907 Increase VM disk size 7d22bebb6 Remove uses of buffer_range 8f2b5fe74 Don't install sphinx cache files f095c67b6 Remove uses of buffer_range 5aabf1f71 Simplify copy_str 19c5b5d15 Simplify arg_formatter 519571ede Simplify arg_formatter_base ac8dfd841 Improve handling of separators 2c6165a22 Reduce the number of comparisons 28639969e Use memcpy for copying digits f5fa1dee5 Support custom FMT_INC_DIR in pkgconfig and cmake configs (#1702) 51bf9cfac Fix Mingw support 1a716caf5 Optimize common case 98d4bbf81 Update README.rst 8c8f74a87 fix zero flag for char types and make zero flag ignored if a precision is specified bc1b89da2 Temporarily revert parsing changes a7fb321ac Remove a redundant branch 8cadb9650 fix max/min macro (#1697) 297c3b2ed Fix an example (thanks Alexey Kuzmenko) 943532fec Make ostream formatter work with compile-time format strings (#1692) bd8804019 Update README.rst f230300ac Knuth is using fmt library (#1691) a265e25b7 Optimize small string parsing 2aa2526f6 Optimize small string concatenation 8d78045e7 Move void_t to where it's used 7aafa6bc6 Update analytics c66aae165 Adding sentinel support to fmt::join(). (#1689) 6d66de380 Add c specifier support to integral types (#1652) 6b219a58d fix interaction of space flag and '+' flag, as well as '-' flag and '0' flag (#1687) eee2023c2 Update signatures c5ed73aab Add fmt::detail::buffer to the docs (#704) ea1cd9638 Fix apidoc d3964d7b1 Merge branch 'master' of github.com:fmtlib/fmt d18c6723a Update docs 96c18b26c make plus flag for printf not be ignored for char argument (#1683) ba25baeb9 Apply doc patch to 6.2.1 981b517cc nested replacement fields may omit arg_id (#1681) 922ea924b Make dynamic_format_arg_store reusable and add reserve() (#1677) e0d98923c Update version 806926537 internal -> detail (#1538) 963ee0831 Simplify named arguments 02a6fe59f Named arguments go brrr de290f5c4 Ditch internal::arg_map d0623de51 Bump version 73e335ed3 Make implicit capture explicit for C++20 (#1669) b4d46e398 Update changelog a182f7341 Update changelog 68201831a Support named args in dynamic_format_arg_store (#1655). (#1663) 7f723fbcb Consistently namespace qualify size_t c06851456 Purge basic_writer 2f05054dd Purge basic_writer f0ce21164 Revert enum change 44639b11f Fix some warnings (#1667) 1c86a99e8 Purge basic_writer 8f511fc12 Make copyfmt not throw (#1666) 59fe455f3 Remove compatibility stubs b0f47a13e Separate nonfinite formatting d6cea50d0 Remove deprecated APIs 40bc7163f Move FMT_MAYBE_UNUSED to where it's actually used 080e44d0b Fix inconsistent type detection (#1662) 7e57cace5 Exclude std::abort from compilation when compiling CUDA with Clang (#1661) 7b66e2f21 Inherit arg_formatter_base from basic_writer bab3f5800 Refactor pointer formatting 9cc7edfdd Move int_writer to the namespace scope 8d9d528bf Improve handling of alignment 8efd1a8ef Improve handling of alignment a71bc9c82 Use '0' fill with numeric align for consistency with std::format 60d85d598 Suppress ubsan warning c3099beb6 Cleanup cbb4cb899 Remove undocumented deprecated APIs b85e9ac38 Simplify vformat_to e3710ab97 FMT_CONSTEXPR -> constexpr d59751f0f Update date formatting example to use threadsafe localtime d6abb2fa0 Reduce library size e9fdea90b Update README.rst 44b6584f2 Update README.rst 78f041ab5 build: Fix installation paths 7ca89bf87 Reduce template bloat in write_int 3c114d091 Fix a shadowing warning (#1658) e2ef12a8c Allow to avoid inclusion of os.cc in fmt target bca82719a Pass iterator by value 99da38962 Make write_padded non-members f19d66794 Bump fuzzer allocation limit 3e6984761 Reduce branching in write_padded 9ac1eebd4 Reduce library size e2ff91067 Replace FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION with fmt-specific macro (#1650) f2ed03b91 Fix a warning (#1649) 9dde9f013 Reduce library size b1af642d1 Reduce library size 4a617f25c Clarify encoding conversion in chrono 6f435f55c Improve compile time by using extern template (#1452) cb475cb88 Clarify why we don't check argument id 1e1ac6e96 Check dynamic width/precision id at compile time (#1614) e51c449fe Revert "Check dynamic widht/precision id at compile time (#1614)" 0463665ef Don't access a C string past precision in printf (#1595) 7d748a6f8 Check dynamic widht/precision id at compile time (#1614) 2b75bd7ce Get rid of do_check_format_string 4a1d5931c Simplify udl_formatter with FMT_STRING 811b0f905 Enable compile-time error tests 450e8eed9 Fix markup b8fbcec1b Clarify formatter reuse 56bc86ffa Suppress bogus MSVC analysis warnings 3f79357ef Fix a recent regression in handling max packed arguments 8a11148f9 Add Facebook Folly to the list of projects e371e8b68 Tweak readme 813732fed Improve readme formatting 3670d5b3f README: add vectorized.io/redpanda in the list of users 9e2ad7cf6 Add windows terminal to the projects using {fmt} 63479c851 Use a delegating ctor and add inlines 5944fcad3 Remove remaining wchar_t instantiation e253b371b Don't generate RTTI for allocator 0c86f467b Fix build on ancient gcc 1929df4bc Simplify format_args a13822181 Always inline arg_data functions 04e0dfd4b Always inline value ctors 04cde756b Simplify checks c9a57b9a8 Fix incorrect assumptions about nul termination f46f5ecaf Reenable constexpr _compile on GCC 9 6e8d7e277 Don't use constexpr on Intel compiler (#1628) 567ed03f8 Merge arg overloads and cleanup c3fa33314 Remove warning in core.h with when compiling with gcc and -Wshadow 84898b462 Remove warning in format.h when compiling with gcc and -Wshadow 538d83fd0 Cleanup named arguments 8a4630686 Improve handling of named arguments a9d62d3f3 Add check for CompiledFormat to avoid ambiguous call fdcf7870a Add stack-based named argument storage 5899267c4 Fix a clang-tidy warning 07b4c246e Fix a typo e99809f29 Fix ostream support in sprintf (#1631) 3cd5179f3 Fixed clang tidy warning -multiple declarations in a single statement reduces readability 7404e33a7 Fix clang warning about explicit ctor 3aab2171e Clean up basic_format_args 7645ca072 Clean up printf e30d8391e Suppress an MSVC warning (#1622) 8cd8ef03e Simplify warning suppression bbb6b357c Add floating-point L specifier (#1624) 36ea32640 Suppress a bogus MSVC warning 141a00d64 Define FMT_EXTERN_TEMPLATE_API on export 3860edc5d Bump version 7d01859ef Fix handling of unsigned char strings in printf 63b23e786 Merge branch 'master' of github.com:fmtlib/fmt 4999796c1 Fix the docs 34b3f7b7a Avoid windows issue with min() max() macros 27e3c0fe9 Update signature in the docs git-subtree-dir: externals/fmt git-subtree-split: cd4af11efc9c622896a3e4cb599fa28668ca3d05
2020-09-19 19:25:26 +01:00
width: `integer` | "{" [`arg_id`] "}"
precision: `integer` | "{" [`arg_id`] "}"
Squashed 'externals/fmt/' changes from cd4af11e..9e8b86fd 9e8b86fd Update version 92fec0f0 Bump version 4749cc93 Update changelog 78a0ba0a Improve conversion of paragraphs 7a39837d Use a working breathe version 55b6e92d Fix docs 69dc3a85 Fix docs 27f4cdd5 Update changelog 70d61a0a Update changelog 427b5340 Add no_value state to value e421d527 Simplify error handling in parse_nonnegative_int a59678f3 Fix chrono_test.locale c98254c3 Install locales into CI c123a728 Fix set locale error in chrono formatter 3c8fad12 Optimize parse_nonnegative_int f28cf330 adding a default format for std::chrono::time_point<std::chrono::syst… (#2345) 55010a9d Support non-`char` overloads (module) 0193e7c4 Support compile-time strings and compile-time format string compilation in module 3423d754 Remove the msvc workaround (#2351) f6b5cc9f Fix chrono_test.weekday on legacy glibc 59a298f1 Enable `enforce-checks-test` for MSVC, too 36c29482 Update docs c9fe1fa5 Remove unused flag dccddc2b Apply clang-format 0e36681b Cleanup digit count 1de80f5b Workaround lack of static constexpr in constexpr functions 2039dce7 Detect consteval d551b88a Move is_char specializations to xchar.h 16c3514d wchar-test -> xchar-test 206000a0 Workaround pathological conversion (#2343) 76ee4904 Move wchar/custom char overloads to xchar.h e77b22d6 Deprecate memory buffer overload of format_to 07039f4b Update README.rst 4678192c Remove bsr2log10 7c3d3dfa Update thousands_sep_impl signature ef826b86 Fix docs 5223f552 Remove FMT_ALWAYS_INLINE cfde93af Add FMT_STATIC_CONSTEXPR 986a5a6c Fixed join_view formatter for wchar_t 7c8b35ff fix MSVC Win32 count_digits 3eeb084e Optimize count_digits 2ac0bfe5 Improve handling of thousands separator 024741b4 CI: set up multi-thread build for all platforms f4c95f6d Improve handling of thousands separator d4fbeacc Fix docs build 0eef389d Code style e27b1ce5 Fix docs 9f8b6dac Fix wheel installation 6060bcfc Fix docs ff967346 Fix docs 1085cc21 Fix docs 11addaa1 Update docs 760ca5cc Update docs 290d3f8b Cleanup ranges API aa09e0f5 Update docs d142579e Cleanup the format API f286139d Fix "undefined reference to `fmt::v7::detail::basic_data<void>::digits'" 7b9d69b8 Add xchar.h to docs cbd861f1 Update docs faf972f0 Update docs 622d1c04 Update changelog 634c9487 Update changelog a04e3a2d Comment 87876d54 Cleanup the printf implementation d338d663 Cleanup the printf implementation 272660e7 Remove deprecated printf functions 5a95c5ae Update changelog 70e67ae0 Re-enable module testing Prepare for compilation with gcc (modules branch). ad972589 Merge branch 'master' of github.com:fmtlib/fmt ed2a6377 Workaround msvc constexpr issues 99768695 fix custom types formatting at compile-time, add test 8c1b22ba Workaround a gcc 9.1 bug (#2334) 2dba1cfa Update changelog d7ba6c3e Use qualified name-lookup in module. (#2324) bf9904ee Workaround msvc bugs 577bce90 Apply clang-format ba4c7f19 Swap parameter order to match #2327 (#2329) e9e89b35 Update ChangeLog.rst 9bb406d7 Update changelog 11a14db2 Update format_to taking a buffer and remove undocumented vformat_to overload 832ec098 Fix argument order in locale overload of vformat_to (#2327) 486a80e8 Move wchar_t overloads to xchar.h 19d45f4b Update changelog 5a2b88f6 Reduce binary size 00a39ad5 Enable `Char` types other than `char` (#2323) ff37e416 wchar.h -> xchar.h because it handles other code unit types too 0901176f arg_join -> join_view a9a90181 Move wmemory_buffer to wchar.h 4a7801c3 Update changelog 517578f8 Update changelog 85442ed0 Update changelog 6a12b13a Update changelog 1cfe3c73 Update ChangeLog.rst c0601479 Update changelog 6fe04871 Update changelog 9d67988a FMT_DEPRECATED_WCHAR -> FMT_DEPRECATED_INCLUDE_WCHAR 765b451e Update changelog 17c993c7 Fixed compilation with CMake < 3.7 (#2321) dde69373 Update changelog 272b0f36 More module tests (#2309) 126c8cb4 Export os.h API, too (#2318) 98b9ff47 Align hex floats right as default (#2317) ece4b4b3 Update changelog a70a4ae0 Ignore zero-padding for non-finite floating points (#2310) 7612f18d Update changelog b9f2c276 Update changelog 4e21baff Simplify get_units 683ef11a Update changelog ca466374 qualify make_format_args (#2315) 5a2a1856 Make buffers non-movable ee52a6dc add `fmt::print()` overload to support compiled format (#2304) 82607efb Fixed int conversion warning (#2313) 35a2c2a7 Refactor chrono formatting b955e7a6 Refactor chrono formatting 883d9595 Support alternative locale names in tests 1f308a3c Update integer presentation types documentation. 1cd9899c Add initial support for weekday formatting 069131dc Add unicode-test dd8f38fc Cleanup printf API a216f256 Remove undocumented and obsolete vprintf overload 0c092639 Add is_exotic_char trait bc13c6de Update README.rst 8ec0b9e3 Do *not* export namespace `detail` b99c2bd3 Remove deprecated `locale.h` from module interface unit c04a2439 Update changelog b099a56f Update changelog 703005c8 Deprecate locale.h 51f01786 Cleanup the format API 5d59dcf6 Remove deprecated aliases / undeprecate has_formatter c242dd40 Move cerrno include to where it is used 2216e0b7 Update changelog 1c83a49b Simplify buffer extraction 2617384d Improve buffer extraction 34b8acae More wchar_t-specific API to wchar.h 6326c189 Improve code style consistency 5c4b0c86 Add missing Allocator template argument for basic_memory_buffer in format_to 00149c0b Move detail::null to chrono where it is used c5c968cb Improve binary size 128cbdeb cmake: hide private symbols by default 18af1dc4 Fix binary size regression caused by b268f88 d1e6f0f8 Fix binary size regression caused by b268f88 5a0d99fa Add a test for the module 6e2e6b79 Restore support for `wchar_t` overloads in module 24b677d0 Improve symbol sizes 63271a51 Fix ADL issues 61b4c923 Reduce code bloat 2a2e4c58 addressing nits. be48f4d6 Avoid unwanted sign extensions from MSVC in is_utf8. 13e65293 export missed symbols 71fb1138 fix compile error on msvc preview 4 (16.10) involving lookup clash /w STL 08d22503 Remove outdated comments 56f518a9 Update signatures b7f29337 Update signatures 7483dfc6 Update signatures 95c358f7 Improve separation between code unit types 39c3c4ec Simplify the core API e9c1c415 Improve compile-time checks 21d93bfd Move generic format functions to format.h 9a92eb41 Move more wchar overloads to wchar.h 0dd91e20 Add wchar.h for wide char overloads ce14eafc Simplify format string checks 8d70c0ed Refactor the format API 813ac495 More API cleanups 4ab01fb1 Cleanup printf API d5036b11 Remove deprecated APIs 25819462 Cleanup the core API b35db4e0 Improve handling of 128-bit ints d35f1ad5 Cleanup core 8f1902c0 Move format string checks to core.h 6469b903 Silence msvc warning about an unused named parameter 7d4c92fb Update ChangeLog.rst 0763d8ca Fix Visual Studio warning 5466373a Do *not* export namespace `detail` 588bdb54 Simplify get_arg_index_by_name 54f22a3e add support for statically named arguments with FMT_STRING ea94d6d9 Prevent ambiguity in name lookup 57280762 Move specs checker to core.h ced30375 Move dynamic specs to core.h dd2bc998 Move specs to core.h 08da1adc Remove unused headers 3be0cc20 Fix handling of 128-bit ints 9648bdce add missing header d1aebdbd Inline format_to 8f0fadfa Cleanup docs 02896dab Avoid use after move (#2278) 0036a1d1 Fix issue #2274. 2a9b3146 Replace fmt::error_code to std::error_code 2165bef4 Update README.rst 48629308 Optimize format string compilation 3207a8bb Get rid of unnecessary recursion to enable inlining 6214f15a Optimize standard formatter specialization cd2c78fb Use write directly in formatter specializations 4211d865 Add a formatter specialization for std::error_code. 39f28424 Cleanup tests 84feeb0f Remove redundant comments and put common case check first 2665afb5 Cleanup add-subdirectory-test d0abe7c2 Make chrono formatting locale-independent by default 50fb0b5e Fix formatting 16f2ef91 Replace fmt::system_error with std::system_error 4b885c86 Replace windows_error with system_error 5238055f Move esoteric char type support to format.h 9ac088f3 Add fmtlog to projects 849c9f61 Move is_name_start to core 23892caf Move more parsing to core 8e6390c3 Move FMT_STRING to core 51a33713 Move parsing to core 9c3af11a Cleanup tests 9d7b53cb Remove redundant formatter specialization for byte f0095ccd Add support for ranges of types without formatters to join (#2262) 4f0eadfc Exclude fallback from is_formattable 400b953f Use [] instead of {} in ranges for consistency with Python format 38bcc04a Drop range limit and cleanup tests c738c343 Cleanup tests ed7c4320 Cleanup tests 9155e2de Cleanup tests 38127d9e Cleanup tests c9c0e507 Cleanup tests ccf4ccde Cleanup tests and format string compilation e96a92f8 Cleanup tests and format string compilation fd43e4dc gtest: fix std::is_trivially_copy_constructible for GCC 4.8 & 4.9 properly 3d51ccda gtest: remove obsolete `GTEST_LANG_CXX11` compile definition setting 833377ff gtest: add `.clang-format` file into `test/gtest` directory to prevent formatting there 53ca0cbe gtest: move GTest/GMock files to separate directory, update GTest/GMock usages 342973b3 Make wchar_t overloads usable in module Bring ''detail::find()' into scope. 355be4b1 Make FMT_COMPILE fallback on runtime without if constexpr (#2261) 0cd0fb91 C++17: std::char_traits<>::{compare,length} is constexpr - v2 d1a6e560 Keep defaulted destructors inline applies to exception classes in case of msvc only 84a36b99 Move data to functions ab7c33ed Suppress checked iterator warnings 77258f60 fix FMT_CONSTEXPR_CHAR_TRAITS check for MSVC d23e315e CI windows: add MSVC C++20 build f085c3d7 use proper check for non-type template parameters 69bdc20a Workaround missing std::system on iOS, take 2 847aac43 Follow naming conventions in tests 39818e79 Cleanup core-test 0e6f989b __THROW warning fix for e2k (#2253) 1678ed62 simplify field::format() and spec_field::format(), fix typo ca821982 use named arg with static name in compile-time API ce6e7d86 use fixed_string to create named arg class with static name for _a literal fc56af14 move fixed_string from compile.h to format.h bb006f97 Replace TYPED_TEST_CASE with TYPED_TEST_SUITE 6956b10b Fix gcc 4.8 build b4f9a058 Update gtest 8f9ddf45 Remove deprecated posix.h dacd1356 Add module interface unit d3c523e0 Export printf-related contexts from printf.h 2c25df08 Export replacement type_traits, too 553022dc Don't use std::system on iOS (#2248) 8a040d18 Cleanup core-test 064cac2b Bump version 5b2c740a Remove deprecated APIs b9ab5c88 Remove printf.h dependency on ostream.h c47f2112 Simplify data handling 54d3b171 Move more data out of basic_data 128f007b C++17: std::char_traits<>::{compare,length} is constexpr. (#2246) 841aad95 Move data out of basic_data 1d4199f4 fix udl_compiled_string with non-byte chars (e.g. wchar) (#2242) c5d4fcb1 Appending a space to guarantee non-empty strftime() result. (#2244) 62714062 Fix a warning (#2233) 52bd62c7 Create separate dllexport marking points for clang and msvc. (#2229) f4bbc54c Tag official API for module export (#2235) d8910af8 Use qualified name lookup rather than ADL. (#2239) 92601141 Ranges wide strings support (#2236) 24c97515 Try to suppress MVSC warn of narrowing (#2230) a1c6bfd7 Add a link to llvm diff 42eccac4 Fix clang warning about ignoring __declspec(dllexport) on basic_data<void> template instantitation definition (#2220) aec50434 Update README.rst 0b411454 Update README.rst 00f3d16b Update docs 99c2f7a3 Allow including fmt/core.h in the header-only mode b4415323 CI linux: add clang++-11 C++20 (with LLVM libc++) build 1dbadb65 CI linux: add clang++-11 C++20 build 09dbad47 CI linux: add missing build_type e2facffe CI linux: remove excessive clang++-9 include 273d8865 Suppress redef warning of _CRT_SECURE_NO_WARNINGS if any. (#2218) 5a8bf1f6 Workaround hexfloat inconsistency on windows (#2205) 78776ee4 Fix a conditional expression is constant warning #2210 (#2211) 266107f5 constexpr uint128_wrapper (#2215) 2e0d64cf specify size for `prefixes` static data 95da4847 Fix a link 06b3a100 Add support for time points with arbitrary durations (#2208) dac42f52 Inline fallback is_constant_evaluated 7c43f8b8 Don't use strlen at compile time (#2205) c62e4c30 Make buffer_appender default-constructible when back_insert_iterator is 0d6b70d9 Install gcc 8 15c10b0c Add speech synthesis support 308510eb "Use" `fwrite` result (workaround for `warn_unused_result`) afe23e7f Don't call fileno on NULL file in tests (#2196) b49af043 Remove noexcept from file's move assignment 14848875 Fix: fmt::ostream cannot be moved while holding buffered data #2197 (#2198) 7d8c3401 Update pull_request_template.md b966afcc Remove formattable ec5315a9 Use strlen when possible in fallback basic_string_view 4f8778ba Inline basic_format_args's ctor e2d87548 user-defined constructor f7151d38 Extra flag to prevent Intel compiler with Clang front-end warning of 'unknown attribute no_sanitize' 0fb8ef8f Inline trivial argument handling functions 1b23e25f Simplify formattability check 35c71ff5 Only use -Og with optimizations disabled 243d8beb Enable minimal optimizations in debug mode 9b34681d Work around xl compiler bug when nvcc preprocesses this file (#2190) 4dc7170d Fix C++17 builds: (#2192) 9cb347b4 Simplify argument formatters 0f85a468 add default cases (#2186) 417e1cee Stop using deprecated UDL templates f7e900e1 Simplify UDL definitions d9661c8f Mark grouping as deprecated 14a2a64d Fix handling of formattable types with to_string_view (#2181) 6ae402fd Fix handling of types with to_string_view and formatter specialization (#2180) a6408a3b Add args-test 1147782c Fix an ambiguous call to check caused by ADL (#2184) 2f3f3862 Fix harmless MSVS warning about using undefined _MANAGED symbol (#2183) d0bded59 Fix MSVC /clr builds (#2179) 8308f52c Fix dynamic_format_arg_store::push_back comment 6151d0dc Fix the comment 5a1127b7 Don't wrap named arg in cref and clarify docs b8ff3c18 optimize append (#2164) c8d8b882 fix GCC 7,8,9 warning about unused but set parameter (#2177) d2810187 Document ostream support limitation bac14ef9 Simplify integer spec checking 8f9db3fc Make ubsan happy on empty format specs (#2175) af567538 Bitpack integral prefixes cdf877d4 Workaround missed optimization opportunity eef4ba9c Optimize integer formatting without padding a1ea8a82 Unbloat my heart a457e163 Simplify integer formatter 05bc87a6 Optimize padding 605b6037 Optimize count_digits for powers of 2 85ba2716 Implement 128-bit count_digits in terms of count_digits_fallback d9835737 spec -> specs f9e0e904 Apply clang-format 60f5d244 Simplify arg_formatter 30e1302e Simplify on_format_specs 87c5cd46 Optimize parsing of argument ids 6a9016ea fix `formatted_size` with "compiled format" as argument (#2161) 6e1fc017 Move detail::truncating_iterator to fmt/compile.h e718ec3e Make truncating_iterator an output_iterator (#2158) 772aeca3 Don't include <cassert>. (#2148) (#2152) 684b5b0e Fix fallback to runtime API from compile-time API (#2143) d8b92543 use simplified `void_t` for all compilers other than gcc 4.x (#2160) 835b910e Add an is_formattable trait 57887403 Revert "Optimize handling of integer constants" (#2147) 640acba8 Print x.what() of FMT_THROW when exception is disabled (#2145) d8e1c9f1 fix `fmt::get` for some GCC versions and legacy Clang (#2144) 2797588b Optimize handling of integer constants e8eff3b8 Fix FMT_STATIC_THOUSANDS_SEPARATOR (#2142) ab0f7d7f use const& for arguments 29cc8282 update chrono duration formatter (constness), use it in compile-test for specs checks 3f69af3a update wording in the error inside `arg_id_handler`, use `FMT_ASSERT` instead of `throw` 499047e1 fix incorrect indexing mode for named args, update tests 78c67157 prepare tests, fix incorrect handling of named args with simple `{}` replacement fields b31bc2dc simplify `try_format_argument()`, make `manual_indexing_id()` a variable 95e1aa2d add support for manual indexing and named fields, add tests 7e72673d Improve width estimation (#2033) 13b117b5 Improve code point computation ee0fed63 Fix handling of the + flag with locales (#2133) c5979d56 Fix fmt::localtime formatting not working in wide-char string contexts e6ef927e fmt::ptr: Support function pointers (#2131) 58aa0457 Fix ordering of install commands for CMake (#2122) 1980ca8c fix #2118: FMT_COMPILE did not work with tm formatter (#2119) 2a25e2bf Make ranges-test available with C++11 (#2114) b0b56b43 fix #2116 (FMT_COMPILE requires exceptions enabled) (#2117) 373262f9 Update docs ce519e93 Fix exception propagation from iterators (#2097) acef0bb5 use gcc-10.2 instead of gcc-10.1 on CI, also fix one problem (#2110) 8bf28e6b Add support for s format specifier to bool (#2094) (#2109) 9c418bc4 Update README.rst 456efa46 add missing detail namespace (#2107) 80dc7cce Fixed format.h(1465): warning C4702: unreachable code (#2106) 7fd535c6 Cleanup 'L' handling b4b8917c Update docs e4f2cf45 Make 'L' a modifier 6972b5f3 Add build variable: FMT_MASTER_PROJECT (#2100) ac352081 Install fmt/args.h (#2096) 532e846b Fix width computation in float formatter f8c2f848 Fix handling of width when formatting int as char 0fe0b15e Fix handling of # in width computation 061e364b Document output_file 018688da Correct a typo on syntax.rst (documentation) (#2081) 9ec5592b Fix writing to stdout when redirected to NUL on Windows (#2080) cdc5ef67 Remove fallback to inline specifier from FMT_CONSTEXPR(20) macro (#2075) c9dd1eb9 Don't change charset d09b5c14 Fix std::byte formatting with compile-time API (#2072) bbd6ed5b Add support of most format_specs for formatting at compile-time (#2056) a750bf3a Update api.rst 1256541d Fix formatting 4fa4c924 Add tests for FMT_ENFORCE_COMPILE_STRING, fix several errors (#2038) aa89e380 add cwchar to format.h for std::fputws (#2073) 5a37e182 Disable warning about format string (#2067) fa43fd14 Forward arguments to work with views (#2068) 3551f5d1 Workaround a gcc 10 -Warray-bounds bug (#2065) e7376726 Remove an old mingw workaround (#2059) 25a41b80 Fix a link to Android.mk (#2057) 9293f707 Suppress gcc warning on privates-only class (#2053) c20874c2 Reenable support for fallback formatter in join (#2040) (#2050) 5de0bc1d Add UDL as replacement for FMT_COMPILE (#2043) a6fafe2f docs: use https for some links (#2051) 33f9a6d3 Fix handling of enums in to_string (#2036) aabe0a84 simplify tests by reordering arguments of `EXPECT_EQ` (#2044) 1f4a76d2 Add a missing include (#2047) 4a6eadbd Make std::byte formattabe (#1981) 683a7450 fix formatting with empty compiled format string (#2042) f43416e1 Add a link to contents from index 5a493560 Move some code from core.h to format.h where it is used 9ed0a981 Fix docs build dac753b8 Basics of formatting at compile-time based on compile-time API (#2019) 119f7dc3 Truncate file by default 22a68d16 Don't emit trailing zeros by default d0110b7e Update README.rst 3f4839ce Merge branch 'release' of github.com:fmtlib/fmt 7bdf0628 Update version fc135511 Update changelog 926233bd Fix test 0683fa7d Bump version 6ce207b9 Fix formatting 07b1c1a1 Update changelog 58992761 Reintroduce ostream support to range formatters (#2014) b8957f50 Fix an overflow in format_to_n (#2029) df66516e Workaround an issue with mixing std versions in gcc (#2017) a57baa69 Fix more linkage errors (#2011) 85534a13 Fix linkage errors when linking with a shared library (#2011) a2fa5d62 Update changelog cd300368 Fix more linkage errors (#2011) d1ef29d6 Fix initialization of iterator_buffer (#1996) 5f41bb0f clang-format a58a6b27 Add a newline a036cc97 Reintroduce ostream support to range formatters (#2014) 38c7def4 Update clang version to 3.4 since there are ICEs on earlier ones 55336413 :new: [CI] Test with C++14 in Windows 2019 (#2020) 55dfdd92 Update README.rst 2c734c9b Fix an overflow in format_to_n (#2029) 6cdd1be9 Update build.gradle for latest AGP (#2026) bcc20b29 Implement compile-time checks by default befd7d4a Always use FMT_STRING internally where possible [Issue #2002] (#2006) f8640d40 Add more standards f81c14aa Workaround an issue with mixing std versions in gcc (#2017) 5555651c Fix more linkage errors (#2011) b268f881 detail::write in one more place relevant to printf with long argument… (#2016) aa9b09a9 :bug: Cannot call non-constexpr function in constexpr context (#2010) 986fa004 Printf get container (#1982) 7abc3c01 Suppress a useless warning (#2004) 6d14f781 Fix linkage errors when linking with a shared library (#2011) 9534b9fe Refactor warning suppression 60dc2735 Simplify on_text b5dac0f0 Reduce <algorithm> usage (#1998) a07627b1 :bug: Implicit sign conversion warning in clang in c++17 and 20 modes (#2009) 1b8f499e :wrench: Silence useless cast warnings (#2008) f428d286 Update README.rst beb248b6 Optimize handling of large format strings 1936dddc fix gcc warning of missing override (#2001) 14f6bd0f Move one more headers to args.h e01d26e1 Optimize includes e528d919 Merge branch 'master' of github.com:fmtlib/fmt 48816772 Update signatures 3302fd10 use memchr for searching for '%' in printf format string (#1984) 4c2d6372 Update signatures beaff396 Update signatures ffa0a083 Use newer versions of Sphinx and Breathe 038057eb Document contexts 5bedcb66 Fix initialization of iterator_buffer (#1996) 2435ea41 Workaround MSVC mess 8c6215f5 Fix fmt/color.h 10ebe6cb Document color 1ac50fcb Suppress more bogus warnings e098be8e Fix warning filtering 8cf0afaf Improve docs e29f93e8 Suppress more bogus warnings 4e8d000f Suppress more bogus warnings 7787792e Fix re usage 6ee5e507 Fix imports 06ee32d1 Filter useless doxygen warnings 86bb7fe6 Add a missing import 959a9f5c Merge branch 'master' of github.com:fmtlib/fmt 4f7df299 Improve docs b3ab0bc7 :art: [CI] Specify the exact version of clang to use (#1991) 701ed6c8 Install deps in github actions instead of script 8f2131cf Document chrono 32c4af8f Document chrono 295a60ec Document chrono a4fae96c Document chrono 263bb0e6 Document chrono 0506b328 Document chrono 4e426c19 Document chrono 9795d873 Update docs 2eb0be0b Remove debug code and fix bot contact cd955798 Move less installation to actions 98639d0f Debug doc build ab5e0632 Debug doc build b123129f Dump the content of html dir 81d2b986 Print less command 7a0b1d57 Add key 9f0617cb Fix branch ref 75b07598 Chrono docs dfbb6975 Remove travis config 5b3052f9 Switch doc build to github actions 506ff320 Fix build failure when not using fcntl with -Werror (#1990) a30b279b Apply clang-format and tweak comments 6a2495c8 -Wattributes visibility warning with some GCC versions (#1975) cba5970c Remove migrated build configs 689081d8 Merge branch 'release' of github.com:fmtlib/fmt cc09f1a6 Update version e4eb242c Update changelog and bump version ce98e0c6 Fix fallback float formatter at assymetric bounds (#1976) 49544ea9 Fuzz fallback formatter 6b7bfed4 Fix fallback float formatter at assymetric bounds (#1976) bcab36da Update CI config 1689e73e Move PR template 0103408a Update CI config 38a16ecb Move build config to github actions 205eb3a8 Update CI config fe61b8c6 Update CI config 867b15d7 Update CI config 98cb9f99 Update CI config 95077d60 Update CI config bc49f094 Update CI config cef6dfb4 Update CI config c8703ba4 Update CI config ab4405be Update README.rst 78a55e28 Update CI config d0a2494a Update cmake.yml 89d009ba Update cmake.yml 1f4ff47b Create cmake.yml eb52ac7a :new: Enable -Wshadow in pedantic mode e904e891 :art: :bug: Rename all shadowed types and variables 771292c3 Remove sizeof from unused variable silencer (#1974) 86bf6045 Merge branch 'release' of github.com:fmtlib/fmt 5f7f7b95 Update version 5d3f0741 Update changelog and bump version 563cbb6c Add a macro to workaround clang/gcc ABI incompatibility on ARM 425778aa Fix ABI compatibility (#1961) 69a84198 Remove accidental parenthesis (#1968) 5c045049 Removed [-Wsign-conversion] warning in GCC 556a1cfb Instantiate to_decimal to make gcc lto happy (#1955) 28a8eae8 Cleanup 236fea1f Workaround bugs in gcc 8 e50ced88 Add a macro to workaround clang/gcc ABI incompatibility on ARM 112755cf Remove FMT_SAFEBUFFERS (#1966) 4081b2fe Fix ABI compatibility (#1961) 2d9311e8 Remove accidental parenthesis (#1968) b3a4f28a Fix implicit signedness conversion warning (#1963) 97c88732 Allocator::max_size support in basic_memory_buffer (#1960) bb68f608 Removed [-Wsign-conversion] warning in GCC f4ca065c Range support cb224eca Instantiate to_decimal to make gcc lto happy (#1955) 7977c2b4 Cleanup e54eb676 Workaround bugs in gcc 8 4fe0b111 Update version df4bd60f Bump version 764fb35e Always install the required version of breathe e1bdc0ec Use the correct version of sphinx 39bde329 Tweak markup 204d299a Tweak markup e0995b1c Update readme 4af178bd Remove outdated build config aa41dc02 Remove unused script 6a77ea3c Tweak markup 62c72059 Update changelog c10e3f7f Update changelog e542e695 Update changelog 530cf316 Point to the release, not dev documentation 740385d6 Update changelog cd465111 Update changelog 46291be3 Update changelog 90071c1d Update ChangeLog.rst 25293d7a Update ChangeLog.rst 5024742f Update ChangeLog.rst 0452a4e7 Update changelog 8de96817 Woraround bugs in gcc 8 47e16767 Simplify arg formatter f0a42346 Move parsing optimization one level up 86287b8d Optimize common case in parse_format_specs 8924211f Update README.rst 525e7649 Update CONTRIBUTING.md 0ecb3d18 Optimize alignment parsing 97553078 Optimize format_uint 7446818f Simplify vformat_to 280b5612 Add option to force usage of inline namespaces e57ec7d5 Merge vformat_to overloads 2a3f4de3 Remove iterator_category 27fdb4ea Unshadow floaty 297e0bad Apply clang-format e3b4c22e Simplify is_output_iterator da8278e1 Update changelog and bump version 17fba753 added position independent documentation (#1939) 71e705a2 Update README.rst 74654c8c Fix compilation for systems without fcntl.h (#1942) f468b203 Avoid conversion from long long to size_t (#1935) 20d4f2e8 Fix handling of weird character types when parsing sign (#1932) 08370c39 Update README.rst bd3c7925 Fix float fuzzer 8d3fd86d Merge branch 'master' of github.com:fmtlib/fmt 40347157 Update README.rst 37d738fa Update README.rst 271eff14 Make classes derived from buffer<T> final to silence the virtual destructor warning. (#1937) 010efc31 Add float fuzzer and cleanup 811c8b58 Add float fuzzer and cleanup 82c4e223 Cleanup fuzzing 63e40c96 Fix naming of fuzzers 2f448ed5 Fix fuzzer timeouts af283059 Cleanup 48ea8193 Explain why assert-test is a separate test 1d112bdd Remove old test 5eb292a6 Update README.rst 7e56b6b6 Fix coding style and remove duplicate fuzzer 41d97e1e Fix a UB on ridiculously large precision 01c37e0a Added check for `-mbig-obj` and ref qualifier check (#1929) a5e7e7db Fix handling of thousand separator (#1927) bf19051a Optimize floating point formatting 3c13a88b Optimize floating point formatting f6d75c53 Refactor write_float e9c0b2d6 Merge write_float overloads 7eddbfed Cleanup exponent handling in write_float b347b302 Update dynamic_formatter comment (#1923) 3541880e Fix integer overflow when using max int precision 7b50dc0b Don't exclude all detail symbols from docs 28052431 Fix the doc config 34f22e88 Cleanup CMake config a18b3fbb Fix fixed precision handling when rounding (#1917) 72770357 Fix long lines in usage.md 7612c1ea Add reference to lhelper package manager in usage b91d39f2 Get rid of float_writer b4b64b9c Refactor float formatting 712abe40 Workaround a bug in gcc 7.5 (#1912) af8a180a Make GetCachedPower test more precise a581e9e5 Fix warning C4018: '<=': signed/unsigned mismatch (#1908) 05a28312 Update docs 4d0aa4d8 Update link 575f4018 Simplify FP formatting and follow coding conventions 6f3536f9 Move zero-check to an earlier branch (#1906) 90ef46df Fix dragonbox integration 3ae88147 Fix declaration 64179525 Improve dragonbox integration 79694d42 Fix WriteConsole signature 51f2e2ca Move nan test to where it belongs 68555fdb Make format-test not depend on color.h 63e0c354 Make dragonbox::to_decimal available in format.h 2213a711 Update README.rst 79ba37f3 Update README.rst a905d8f7 Merge grisu-test into format-test 762c33a9 Simplify windows handling (#1903) 253d6315 Remove dependency on windows.h (#1900) c156093f Fix carry in fallback_format 34179b33 Update format.h (#1898) 0651e459 Minor tweaks to get_cached_power 6c025520 Test that max_k is correctly defined 51f8d0cc Reuse log10_2_significand constant 1305cbeb Fix MSVC2019 error C2049 when compiling with /clr (#1897) 2d4fde3a Don't emit trailing zero for consistency with std::format 5fd89d50 Minor simplifications 605ce5e4 Simplify divisible_by_power_of_2 085171e7 Remove grisu_count_digits aa729bf2 Remove dead code aa2ddf9b Simplify Dragonbox integration c1654ce4 Simplify uint32_or_64_or_128_t definition 33712dc0 Combine pragmas e5942ac9 Tweak comments aae7a133 Remove unused pragmas 6bcde9aa https://github.com/fmtlib/fmt/pull/1882#issuecomment-696823912 (#1894) bb0db5e5 clang-format 16410056 Optimize copy_str for counting_iterator 2591ab91 MSVC optimizations for count_digits. (#1890) d5b8002d Update README.rst 821471e1 qkw: generalizing aliasing | using fmt library and it's features (#1888) 2e620ddb Small improvements that should have zero to negligible impact on the runtime (#1887) 2f7e0885 Disable range formatter if value type is not formattable (#1885) c46a8de4 Simplify test 2696dc92 add forgotten template argument to make_format_args which made some u… (#1877) 0016da7a Don't generate zeros and fix UB on huge precision ce3f7699 Merge intrinsic blocks 3b6248f6 Change formatting 2d9b1dd0 Fix sign mismatch 1f0600a2 Fix bug regarding FMT_SAFEBUFFERS 2ecdbb98 Fix a bug in ctzll 6f81ea15 Fix typo (and thus bug) 0c8ffe9b Implement Dragonbox (first version) 42699bf4 Fix msvc version of clz & clzll (#1880) bc51a8df Disable fallthrough attributes for the Intel compilers on Linux and MacOS (#1879) 45da432d fix compiler warnings in public header files d55e61f1 Improve FMT_ALWAYS_INLINE (#1878) 7e682752 Remove trailing zeros when using fallback formatter (#1873) 1d696dc2 Handle exotic character types in compilation f674434a Add format_to_n overload that accepts FMT_COMPILE (from #1767) (#1869) 5b5a5971 Fix handling of wide alignment f80ed64d Update README.rst 38139664 Simplify fallback format dce8e49b Handle float in fallback formatter 78b59443 Spelling f233b56c Don't generate insignificant digits 595902f8 Update test 4f2ee892 Use built-in FP formatter for any precision 58a044be Use built-in FP formatter for any precision efe3694f Macro tweak and clang-format 9f312fe8 Implement fallback FP formatting with given precision (#1526) fb289cf5 Fix coding conventions 86f0a704 Fix formatting bff4d18e Add color format_to overloads * Fix variable size basic_memory_buffer colorization * Fix an unused arguments warning on GCC that blocks the CI otherwise * Ref #1842 * Ref #1593 f19b8885 Fixed a warning in mingw32/mingw64 (#1860) f8e00a08 NOMINMAX not handled properly (#1855) 6cccdc24 Fix move constructor (#1844) 69902c17 Allow use of <fcntl.h> in Linux when __has_include is not available (#1848) 1edd38b9 Add append mode. (#1847) e66ba169 Added build2 usage instructions. (#1838) f39e6fb6 Add formatters for chrono::time_point<system_clock> (#1837) 77b627be Fix bogus MSVC warnings (#1825) 5dff01d3 Add complex tests d16d585e Update signatures c7e6d8af Fix usage of override (#1836) 92bff2fe Revert "Add missing includes" a0dcfbc5 Add ptr to docs 1651b2d4 Fix detail::write with fallback formatter (#1829) 06895a76 Add missing includes 92a448a0 Apply clang-format 6be65446 Fixing buffer_appender's ++ slicing (#1822) 951e0d23 CMakeLists.txt: Added Wundef warning to clang and gcc. (#1823) f9f02df7 CMakeLists.txt: Clang-warnings: removed -Wno-sign-conversion (#1817) 76e97dc4 Eliminate shadowed variable warnings on intel (#1816) e204df0e nvcc compiler should be EDG-based, but fails test (#1818) 1c8bb547 small changes to reduce clang-9 warnings (#1808) 4b69c787 fix: warning C4100: unreferenced formal parameter (#1814) fb0aeb82 fix: disabled UDL templates for PGI (#1811) (#1812) 54daa086 Add dynamic width support to FMT_COMPILE (#1809) 6fb7c6fb Workaround a bug in gcc10 (#1810) 16985fda Update README.rst 1378ddae Update README.rst 4fd95e4b Don't remove trailing zeros with # e06ae322 Avoid warnings on functions with external linkage that don't have declarations 7fc3d1f5 Add override to grow 065889a5 Use correct capacity in iterator_buffer (#1807) d0dd6786 Adding convenience append(range) 0e7cef06 Merge commit 'c13f79e0' e2c8c455 Update README.rst e4c954ff Update README.rst c13f79e0 Merge release branch d7921d64 Update README.rst 4a4fc225 Update changelog 61602a75 Remove -Wno-shadow 2f8fc29e Update README.rst 717b226b include/fmt/format.h: explicit cast to std::size_t for parameter to buffer.resize() in order to get rid of warning 'implicit conversion changes signedness:' in clang-8 (#1802) 2a69f567 Tweak buffer size ea769338 Simplify ostream 5413713c Remove unused function 57f46242 Increase the default buffer size 0b6e7cc6 Update README.rst e587adb4 Simplify count_digits 279d698e Fix handling of default alignmment with locale (#1801) 76cfb50b Test complex formatter 20829120 Optimize count_digits 8d9ab967 Cut a few cycles from count_digits 73434493 Simplify ostream_params 2a47a1e4 Update README.rst 7c4c5c79 Make buffer size configurable f0b84da5 Don't use 128 bit integers with clang-cl (#1800) a3dfd6f9 Workaround a bug in msvc 51d05521 Workaround broken numeric_limites, part 2 (#1787) 21c8b5c1 Report error on missing named argument (#1796) d82fdcc9 Fix handling of iterators in locale-specific formatting (#1782) 633213d9 Merge release branch e8f2580a Bump version 6cefe55a Update changelog 64e2da15 Update README.rst 1c8c810f Update README.rst c2399ccf Update README.rst a7c5db06 Update README.rst a4c22acd Update README.rst 0c1f4b5a Update README.rst 63b422ee Update README.rst 26e81a67 Update README.rst de5fc6af Update README.rst 9c2edfd1 Partially revert 638db5 because it breaks the doc build 810357c0 Document color 0a7032a4 Update README.rst 95d3abf9 Make format_to_n part of the core API 98626093 Correct the locale format specifier in api.rst (#1792) 47f8d7a3 Make formatted_size part of the core API 46a63b70 Update docs 430f393d Disabled __attribute__((deprecated)) usage for LCC (#1790) febffa4e Make join() handle non-const-only begin/end ranges (#1786) d69e2da2 Fix apidoc ce73ea37 Reorder functions d39d661b Workaround broken numeric_limits (#1725) c228bfe8 Improve docs 38ce19f7 Update README.rst d11849bc Add FMT_REDUCE_INT_INSTANTIATIONS flag (#1781) c08518a2 Move make_args_checked to the public API e2837084 Add a color section 9f0c0033 Simplify format string checks d615137c Improve handling of buffer iterator 26b47b6f Bump tested CMake version to 3.18 7a01c9c5 Update README.rst b17d5c4f Fix a regression in handling digit separators (#1782) eb90da2e Type erase output iterators 9d3cd0af Type erase output iterators 18024853 Fix compatibility with CMake 3.4 (#1779) f5d4215b Trying to clear ambiguous compile time claims (#1775) c26349f4 Improve error reporting f4b11ef6 Add a short anchor 0097cf11 Report unformattable type name more prominently 8fa20b47 dev -> latest a03bd3dd Autodetect MSVC static runtime (#1770) c108ee1d Clarify a comment a8074a86 Update README.rst 5f629548 Update README.rst bd903f96 Clarify precedence 16cac46a Improve handling of streamable and convertible to bool types (#1766) 415cd519 direct_buffered_file -> ostream e1bfb596 Fix handling of code units in compile ba8d98cb Cleanup direct_buffered_file 04a1f6e9 Improve handling of single code units in compile e4f57bfd Add an overload of write for buffer_appender d8704681 Make append work with fixed-size buffer e8ec09ae Cleanup core-test a2c4fed9 Double buffering no more 36406509 Add a fixed buffer 60c43e87 Apply clang-format b998e0f3 Reduce symbol sizes and simplify iterator use c5adfc51 Update README.rst c4ad94ce Update README.rst c1429651 Fix image source link 638db5ca Use Cmake to find Python and Sphinx-doc. c0905697 Update readme 1efdb2dd Simplify readme dc69afad Cleanup example 445f5d39 Break long lines 23063c34 Update readme f57b6257 Move PR template to the top level git-subtree-dir: externals/fmt git-subtree-split: 9e8b86fd2d9806672cc73133d21780dd182bfd24
2021-06-23 08:39:40 +01:00
type: "a" | "A" | "b" | "B" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" |
: "o" | "p" | "s" | "x" | "X"
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 21:03:34 +01:00
The *fill* character can be any Unicode code point other than ``'{'`` or
``'}'``. The presence of a fill character is signaled by the character following
it, which must be one of the alignment options. If the second character of
*format_spec* is not a valid alignment option, then it is assumed that both the
fill character and the alignment option are absent.
The meaning of the various alignment options is as follows:
+---------+----------------------------------------------------------+
| Option | Meaning |
+=========+==========================================================+
| ``'<'`` | Forces the field to be left-aligned within the available |
| | space (this is the default for most objects). |
+---------+----------------------------------------------------------+
| ``'>'`` | Forces the field to be right-aligned within the |
| | available space (this is the default for numbers). |
+---------+----------------------------------------------------------+
| ``'^'`` | Forces the field to be centered within the available |
| | space. |
+---------+----------------------------------------------------------+
Note that unless a minimum field width is defined, the field width will always
be the same size as the data to fill it, so that the alignment option has no
meaning in this case.
The *sign* option is only valid for number types, and can be one of the
following:
Squashed 'externals/fmt/' changes from 9e8b86fd2..b6f4ceaed b6f4ceaed Update version 15f812dae Update changelog 6884aab49 Update changelog 88ec4e706 Bump version dd3d2490e Update changelog 739055ae7 Fix apidocs dbbd711f4 Suppress a warning 98cbb6a43 Fix ABI compatiblity issue 214cf13f1 Fix endianness bug in write_digit2_separated (#2699) 17a5c808d Restore FMT_API on error_handler::on_error() (#2696) fc1783fcc Avoid undefined symbols with mingw-w64 (#2692) 1b193e7b3 Deprecate more 8e59744b8 Switch to new github auth mechanism 7081a6aa3 Update version 64dc8fbad Bump version fc8e3de7d Fix manage.py script 57bee9fcd Fix formating dce52e491 Update changelog 9405a4724 Update changelog 495b8bf12 Update changelog e221166fa Update changelog 035cab8da Update changelog 89c6ed12b Clarify in comments (for now) deprecated map functions e462da828 Add some noexcept (#2684) 79c66d66b Update changelog 5d37f705f Update changelog 6bb370cec Update changelog bb6920157 Fix tuple join 4fac7daae Cleanup bit_cast 3617c2795 Update changelog 9c0c1bcdb Simplify tuple formatting 187e8db1b Update changelog c7f88180f add tests for format string compile-time checks 8a2c3fb88 add reverse tests to compile-error-test 1164eda5a disable compile-error-test on Windows 4482f6f1f rewrite compile-error-test to use non-header-only library 796662a61 Escape range items convertible to std::string_view 33ee4cc51 Improve noexception test 3bbf2c673 Fix throw with exceptions disabled 074c9c52e Update changelog 3110ec5a2 Update changelog 3014b3d77 Clarify that C strings must be null-terminated eab2ea9fc Replace an assert with an exception 21ed92a6e Update changelog 04111dd1e Fix issue #2670 (#2671) 817788fbf remove incorrect C++20 check from test/CMakeLists.txt (#2663) 4511030af Minor code style tweaks for consistency 7812813a3 Don't explicitly delete copy ctor of dynamic_format_arg_store (#2664) 664cd6067 Remove std-format-test 784e2a7b4 Fix an overflow when formatting very large durations fc2a376d8 Remove two expressions which had no effect (reported by LGTM) c5aafd8f9 expose headers as SYSTEM depending on special configuration option eaddd1e3c Fix handling of byte 2d4457758 Try fixing byte regression e46392ea2 deprecate _format UDL in code using FMT_DEPRECATED c882790a2 Add a set formatter 121002d70 Add a map formatter be51ee1ce Disable broken copy ctor of dynamic_format_arg_store 659de779e Fix a UB in parse_format_specs when begin is null 51b14b6c0 remove commented out lines 223a0fa55 move gtest-specific check into gtest/CMakeLists.txt ef72b471f enable named arguments check in compile-time checks (#2649) 82246b876 fix throw with exceptions disabled (#2647) 35f60377a Update ChangeLog.rst 3a951a66c Avoid qualifying by inline namespace. Fixes #2642. (#2643) e0136fc8b Qualify calls to make_wformat_args. Fixes #2639. (#2641) ac1b5f3da Refactor problematic trailing returns in arg_mapper fd62fba98 Don't convert scoped enums to integers c652f8243 Make header guard consistent with header name a9c7b9b8f Clarify that _format is deprecated e4f0564aa Disable is_streamable for string[_view] 91533d3c3 Minor tweaks to chrono subsecond formatting 0bbc9708f Implement c++20 std::chrono::duration subsecond formatting (#2623) 9d5b9defd Enable tzset only on Windows desktop app (#2633) 215f21a03 Detect overflow on large precision c240d98ff Optimize tm formatting (Non C-locales and %Z) (#2617) 6ab73113f Mark grow as FMT_CONSTEXPR20 (#2630) 713c7c7c6 Cleanup os.cc 9b1807a8a fix int -> uint warning (#2611) ec3b097cb [doc] FMT_STRING supports C++14 and no-op in C++11 (#2620) c472a2781 Fix handling of very large precision in fixed format 201971e29 Make MSVC use [[nodiscard]] (#2615) acad8cfab Reformat all source code; no functional changes 491ba2dda Annotate fmt::format and fmt::formatted_size as [[nodiscard]] 5abe9e826 Add platform-specific 'z' formatter be3a3a5ae Use predefined formats for C-locale a3ab36c80 Formatting of function pointers, member function pointers, member object pointers... (#2610) 19cac63fe Broken link in README.rst 43419a4ad Workaround a bug in gcc c089f7d49 Simplify std::tm formatter aa5517f6b Reuse tm_writer in chrono_formatter 50140be7a Reuse tm_writer in weekday formatter 8b8945499 Improve consistency 5380ff4d8 Detect types convertible to unformattable pointers 094b66e81 changed locale retrieval way to a fancy one b69ae4854 Reorder classes (#2591) 0b843af56 sped up chrono.h formatting for cases without providing locale (#2576) 12b1d8b14 Fix precision 0 with std::chrono::duration and added additional tests. (#2588) e67f92c55 Cleanup warnings with nvhpc/21.9. (#2582) 812733cc9 const qualify format function for systen_clock 028f22775 Handle implicit conversions in write 5b0aa638c Minor grammar fix 6eaceb5f7 Fix incompatible between docutils 1.18.0 and sphinx 3.3.0 (#2575) 0697c5edb FMT_USE_FCNTL can be predefined (#2573) 1031eedf2 Replacing strftime with std::time_put (#2550) 90034e4c4 Add FMT_ASSERT and validation of values of struct tm members (#2564) df40e9467 Upgrade `module-test` to msvc 16.11.5 and 17.0-pre5 (#2558) e6d5059cb Simplify js tag in basic-bootstrap theme (#2562) 3b6e409cd Enable `consteval` for msvc 17.0-pre5 (#2559) 249f03bbb do not detect LLVM based IBMXL compiler (on ppc) as clang (#2555) 7463c8320 Fix overflow for very bigger years (>2*10^9) (#2551) 1266c2b60 Fix handling of exotic character types 684e2fdc9 Minor cleanup a1d586302 Minor cleanup 7a604cdd9 Cleanup aeb54b0dd Fix bug on '%Y' and '%C' formats with negative years Requested changes f88c020fc Generalization of strftime/wcsftime function calls in tests 2eeddba75 Renaming, splitting of functions 275454608 Fix errors in ISO week-base-year formatter 218cecb6d Fix error in test e9f4453b0 Fix Microsoft Visual Studio 14.0 build 27c3674ce Improve performance 5dc3dd3d4 New tests f8542cd98 Unified formatters for std::chrono::time_point<std::chrono::system_clock, Duration> and std::tm 4707373d3 Fix year formatter 79c00ad8f Improve ISO week-base-year formatter fbaaa5906 Improve week of the year formatter cde44ddb7 Improve year formatter b04601b91 Switch from std::strftime/std::wcsftime to internal implementation for locale independent formats d3d30a46f New tests 7911d8d3f Add format spec checker fbbfc3b03 Reorder formatters 509eac957 Workarounds for implementation-defined std::strftime behavior 85b38190d New tests for all C++11 std::strftime format specifiers 7aca36bca Extending fmt::join to support C++20-only ranges. (#2549) f5371a75f locale.h -> format.h febdef43f fix: add workaround for intel parameter pack bug f56756986 fix: check to make sure both 'if constexpr' and return type deduction are available dcd282bb2 Namespace qualify calls to get 9c14474d3 Include `<bit>` when using `std::bit_cast` 1e96e0176 Fix compiler flag check (#2540) 7e4bc9451 Speeding up write_significand() (#2499) 26c1ca4c3 Replaced default spec with equivalent one, which is potentially more optimizable (#2537) 1e865b353 Fix docs 4a85db1ce Change default open mode to -rw-r--r-- (#2530) 0a985fd4c Move size_ initialization to initializer list (#2529) 012cc709d Workaround gcc _Pragma bug 59884 d6590e3bd Fix compiler check 134aec40f Fix search in docs 48a476ae0 Update example (#2522) 023c2018f Don't use strlen in constexpr 800d4c8ac Refactor Windows workarounds 32865aeaa changed detection of Intel Compiler Classic to distinguish MS-Windows (#2510) 7b339795a Describe a better approach of how to use {fmt} as a depency in a Bazel project (#2516) ae9bbe116 Suppress warning C4127 in chrono.h (conditional expression is constant) (#2518) 927dbd134 Misplaced comma in README.rst (#2515) 2a9a77dd8 Remove misplaced comment 1aee4bc90 Refactor FP formatting e1bd6cc91 Refactor FP formatting 027fcaf05 Replace use_grisu with fallback since Grisu is only one of multiple implemented algorithms 716d69f27 Refactor FP formatting ff7e73af6 Always run grisu_gen_digits before fallback_format 2976e31ac Refactor format_float 807ee5ec3 Disable consteval in Apple clang d9a731d48 Add basic support for Bazel (#2505) 9c57357e0 Add `static` to a table (#2509) 2742611ca Fix formatting 5092b198b Document group_digits b4d9d82e1 make FP formatting available to be used at compile-time (#2426) d9fd695ac Fix wchar_t tm formatting 92614ecbf Optimize %T in tm formatting aaeca12d8 Move FMT_MAYBE_UNUSED to format.h where it is used 3d0c7ae38 Move data to format.cc 04e3a79f7 Use memcpy in more cases in copy2 e47e99bb0 Simplify format_decimal (#2498) 9b6b0e403 Remove data 4d1c6034e Deprecate basic_data a3348eccd Deprecate most of basic_data 3a0448148 Remove data::hex_digits ad77331c0 Move log10_2_significand to format-inl.h d9ebc4e82 Add a function to get sign char c00eb4f4c Add missing inline 25af02f21 positive -> nonnegative (#2493) 67cb2dad3 Optimize %F in tm formatting 1aa98f8b9 Eliminate double copying in vformat_to_n (#2489) a58c13382 Improve code_point_length codegen on older gcc aeee70a81 Remove unnecessary cast c771ba361 Fix build for the clang-10 / libstdc++-9 couple (#2491) ab6e2272c Clarify shifts encoding e4728409e Use throw_format_error in more places to reduce bloat e3ebf366a Inline padding shifts 894faf3fe Refactor presentation types 4eb97fa4e Reduce code bloat 6b55c8325 is_const_formattable -> has_const_formatter 2fe94ad7e Make specifiers support in tuple_join an opt-in 3940de595 thousands -> group_digits c4d0f96a6 Implement format specs in fmt::thousands 3b9c44268 Implement thousands separators without locales 08f98c7fa Simplify get_arg_index_by_name a151f955a Remove FMT_OVERRIDE 42a225cbd Remove redundand final bf20d1990 Simplify the core API fc0884037 Move FMT_GCC_VISIBILITY_HIDDEN to format.h 1aeed2dbc Require inline namespaces 799bea473 Remove FMT_HAS_GXX_CXX11 60cd5ea3f Add support for more formattable types in ranges 4fd9a00f3 Simplify ostream interface 568156389 Cleanup ostream interface 20931baf1 Disable fallback_formatter for arrays d58d19ba3 Fix an odr violation in ranges.h (#2483) ee0659f8b Fix formatting of abstract classes via ostream 8029bf955 Fix copy_str performance (#2477) 2520f410c Workaround for #2478 (#2482) ee63f5f04 Workaround to MSVC bug (#2474) (#2476) 1aaf72fb6 Add an example to fmt::runtime c1313c205 Clarify that format_to[_n] do not append a terminating null cb0f177c3 Improve docs 71677e520 Improve docs 4db572352 add fuzzers for chrono timepoint and localtime,gmtime (#2469) dc7f3ef2b Fix header name 419ba86a9 Improve docs 6a5b4d5fa Document format_string 2599163b8 Document format_string 8ef22f774 Update docs c0c4d1ada Update docs 729a44e67 Depreate strtod and remove problematic tests 74c111896 Apply force inline 596508a92 Cleanup 043e3b342 Remove static_assert from arg_mapper 8b0cb944d Fix error reporting when mixing character types 117fc6707 CI: replace g++ C++20 build to test FP formatting at compile-time c79a3841e make detail::fp and detail::bigit constexpr 5888de9f3 make detail::make_checked() constexpr 04b4b69b1 make detail::bit_cast() constexpr with C++20 fd34a3d24 make detail::basic_memory_buffer constexpr with C++20 6d597e39c Fix overload ambiguity in arg_mapper b9ce56d93 Improve comments f889e52a1 Improve error reporting 34caecd6b Use consistent initialization style a44c8f651 reimplement `formatter<tuple_join_view>` (#2457) 4b8bda25c Fix 2462 6b5e6119e set clang in one place 7af1dc1d2 fix UB in fuzzer common (memcpy on nullptr) e77686f7a clang format 2207ea0b3 More escaping a212ff757 Escape invalid code points a76031e11 check -> is_printable a7f280765 Improve naming 07d033ecb Fix is_printable cdb4299ac Add Unicode support to is_printable 7df2c82a8 Rewrite printable.py codegen to emit C++ 6cf90d7ce Add script license and fix python version 2f1ad8ed3 Add printable codegen from Rust 371d8e2ee Escape Unicode 6397095ca More escaping f69a57253 Don't overescape wide strings 11b07a56b We should escape b559cfd4c Implement basic escaping 11d49491c Handle global locale 6ea6cf946 Add decimal separator support to float 9730a2af0 Update ChangeLog.rst c2ed5f686 Update ChangeLog.rst 7b66e72e2 Use builtin intrinsics on intel (#2450) d57b2a652 Suppress a warning bdfbd794e Cleanup begin/end usage 111de881f Don't copy non-const-iterable ranges d6e882ed8 Undo the move because the doc is not a GH template f488eed10 Resolve default constructor error in Xcode 7.2.1 and 8.2.1 652c3653b Move CONTRIBUTING.md to .github fb19faa31 Improves README with svg badge (#2446) 07211701f Disable the -Wstringop-overflow warning from GCC 7 (#2442) bba0a9d96 Make flush public f1794a885 Switch to threadsafe death test style 0544a2279 Exclude fallback functions when FMT_BUILTIN_CLZ(LL) is not defined (#2434) 5c222f056 Add support for nonconst formattable types 3def950b8 Set FMT_CAN_MODULE=OFF for MSVC 19.29.30035+ 63fe2d5bd Add copy constructor for dynamic_format_arg_store, and test 561834650 Improve digit count f20f50368 Replace `throw` with `FMT_THROW` (#2427) 00235d8a9 fix module test odr violations (#2414) 2038bf618 Update format_to usage e41ac1f87 Don't use deprecated API in docs 8465869d7 Move ignore_unused to detail 3d53d1539 Warning removals in test code (#2399) 20e4ef8b4 Pass significand_size by value c4a3c2342 Refactor locale handling 7a0d30175 Update README.rst f2b03facd Include test sources to pick up functions and classes from the module rather than from the non-modular library which is baked into the `test-main` library. (#2356) 02ad5e11d Add faint, blink, reverse and conceal to the emphases (#2394) d141cdbeb Update version cfc05e05f Bump version 8ea312633 Update changelog e461f3dbb Minor consitency and comment tweaks 54014e42e silence warning C4100 on MSVC 2019 when exceptions are disabled (#2397) 3e7a29cc9 Workaround clang/gcc incompatibility 00a57a9f8 Update changelog 1d7384530 Add missing presentation type checks for std::string (#2402) 889bbf27a Fix missing std::get overload in MSVC (#2407) 5f8473914 Remove outdated apidoc 785908ee3 Fix warnings fbb70eec5 suppress unused variable warnings (#2381) 002bb759f Remove unneeded `num_result_bigits` decrement a3f762c5a [doc] Minor: fix ``code``. c3c27e5ab Fix MSVC warning C4819 c6b1f181a Fix docs 94564b058 Fix docs 0fc73a2a8 Merge branch 'master' of github.com:fmtlib/fmt 3156fcf5f Switch to older breathe version f85fb9fdf Adjust definition for FMT_HAS_INCLUDE 0bc3d664e Fix docs e5c46e13e Fix docs: breathe 18 and earlier corrupts trailing return type 49a3b58c8 Specify size for static data arrays d0c8d45a2 apt update before install c9a10631c format: do not use udl_{arg,formatter} return types when UDL is not in use 3bd806f12 Eliminate intel compiler warning fd16bcb20 Fix bug in cmake join function 5221242f6 Instruct msvc to report the _true_ value in `__cplusplus` and force _full_ C++ conformance 31a5f0d39 Bump version in inline namespace 102a4d492 Bump version in inline namespace f68508b6c Update ChangeLog.rst git-subtree-dir: externals/fmt git-subtree-split: b6f4ceaed0a0a24ccf575fab6c56dd50ccf6f1a9
2022-02-15 11:15:34 +00:00
+---------+------------------------------------------------------------+
| Option | Meaning |
+=========+============================================================+
| ``'+'`` | indicates that a sign should be used for both |
| | nonnegative as well as negative numbers. |
+---------+------------------------------------------------------------+
| ``'-'`` | indicates that a sign should be used only for negative |
| | numbers (this is the default behavior). |
+---------+------------------------------------------------------------+
| space | indicates that a leading space should be used on |
| | nonnegative numbers, and a minus sign on negative numbers. |
+---------+------------------------------------------------------------+
The ``'#'`` option causes the "alternate form" to be used for the
conversion. The alternate form is defined differently for different
types. This option is only valid for integer and floating-point types.
For integers, when binary, octal, or hexadecimal output is used, this
option adds the prefix respective ``"0b"`` (``"0B"``), ``"0"``, or
``"0x"`` (``"0X"``) to the output value. Whether the prefix is
lower-case or upper-case is determined by the case of the type
specifier, for example, the prefix ``"0x"`` is used for the type ``'x'``
and ``"0X"`` is used for ``'X'``. For floating-point numbers the
alternate form causes the result of the conversion to always contain a
decimal-point character, even if no digits follow it. Normally, a
decimal-point character appears in the result of these conversions
only if a digit follows it. In addition, for ``'g'`` and ``'G'``
conversions, trailing zeros are not removed from the result.
.. ifconfig:: False
The ``','`` option signals the use of a comma for a thousands separator.
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 21:03:34 +01:00
For a locale aware separator, use the ``'L'`` integer presentation type
instead.
*width* is a decimal integer defining the minimum field width. If not
specified, then the field width will be determined by the content.
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 21:03:34 +01:00
Preceding the *width* field by a zero (``'0'``) character enables sign-aware
zero-padding for numeric types. It forces the padding to be placed after the
sign or base (if any) but before the digits. This is used for printing fields in
the form '+000000120'. This option is only valid for numeric types and it has no
effect on formatting of infinity and NaN.
The *precision* is a decimal number indicating how many digits should be
displayed after the decimal point for a floating-point value formatted with
``'f'`` and ``'F'``, or before and after the decimal point for a floating-point
value formatted with ``'g'`` or ``'G'``. For non-number types the field
indicates the maximum field size - in other words, how many characters will be
used from the field content. The *precision* is not allowed for integer,
Squashed 'externals/fmt/' changes from 9e8b86fd2..b6f4ceaed b6f4ceaed Update version 15f812dae Update changelog 6884aab49 Update changelog 88ec4e706 Bump version dd3d2490e Update changelog 739055ae7 Fix apidocs dbbd711f4 Suppress a warning 98cbb6a43 Fix ABI compatiblity issue 214cf13f1 Fix endianness bug in write_digit2_separated (#2699) 17a5c808d Restore FMT_API on error_handler::on_error() (#2696) fc1783fcc Avoid undefined symbols with mingw-w64 (#2692) 1b193e7b3 Deprecate more 8e59744b8 Switch to new github auth mechanism 7081a6aa3 Update version 64dc8fbad Bump version fc8e3de7d Fix manage.py script 57bee9fcd Fix formating dce52e491 Update changelog 9405a4724 Update changelog 495b8bf12 Update changelog e221166fa Update changelog 035cab8da Update changelog 89c6ed12b Clarify in comments (for now) deprecated map functions e462da828 Add some noexcept (#2684) 79c66d66b Update changelog 5d37f705f Update changelog 6bb370cec Update changelog bb6920157 Fix tuple join 4fac7daae Cleanup bit_cast 3617c2795 Update changelog 9c0c1bcdb Simplify tuple formatting 187e8db1b Update changelog c7f88180f add tests for format string compile-time checks 8a2c3fb88 add reverse tests to compile-error-test 1164eda5a disable compile-error-test on Windows 4482f6f1f rewrite compile-error-test to use non-header-only library 796662a61 Escape range items convertible to std::string_view 33ee4cc51 Improve noexception test 3bbf2c673 Fix throw with exceptions disabled 074c9c52e Update changelog 3110ec5a2 Update changelog 3014b3d77 Clarify that C strings must be null-terminated eab2ea9fc Replace an assert with an exception 21ed92a6e Update changelog 04111dd1e Fix issue #2670 (#2671) 817788fbf remove incorrect C++20 check from test/CMakeLists.txt (#2663) 4511030af Minor code style tweaks for consistency 7812813a3 Don't explicitly delete copy ctor of dynamic_format_arg_store (#2664) 664cd6067 Remove std-format-test 784e2a7b4 Fix an overflow when formatting very large durations fc2a376d8 Remove two expressions which had no effect (reported by LGTM) c5aafd8f9 expose headers as SYSTEM depending on special configuration option eaddd1e3c Fix handling of byte 2d4457758 Try fixing byte regression e46392ea2 deprecate _format UDL in code using FMT_DEPRECATED c882790a2 Add a set formatter 121002d70 Add a map formatter be51ee1ce Disable broken copy ctor of dynamic_format_arg_store 659de779e Fix a UB in parse_format_specs when begin is null 51b14b6c0 remove commented out lines 223a0fa55 move gtest-specific check into gtest/CMakeLists.txt ef72b471f enable named arguments check in compile-time checks (#2649) 82246b876 fix throw with exceptions disabled (#2647) 35f60377a Update ChangeLog.rst 3a951a66c Avoid qualifying by inline namespace. Fixes #2642. (#2643) e0136fc8b Qualify calls to make_wformat_args. Fixes #2639. (#2641) ac1b5f3da Refactor problematic trailing returns in arg_mapper fd62fba98 Don't convert scoped enums to integers c652f8243 Make header guard consistent with header name a9c7b9b8f Clarify that _format is deprecated e4f0564aa Disable is_streamable for string[_view] 91533d3c3 Minor tweaks to chrono subsecond formatting 0bbc9708f Implement c++20 std::chrono::duration subsecond formatting (#2623) 9d5b9defd Enable tzset only on Windows desktop app (#2633) 215f21a03 Detect overflow on large precision c240d98ff Optimize tm formatting (Non C-locales and %Z) (#2617) 6ab73113f Mark grow as FMT_CONSTEXPR20 (#2630) 713c7c7c6 Cleanup os.cc 9b1807a8a fix int -> uint warning (#2611) ec3b097cb [doc] FMT_STRING supports C++14 and no-op in C++11 (#2620) c472a2781 Fix handling of very large precision in fixed format 201971e29 Make MSVC use [[nodiscard]] (#2615) acad8cfab Reformat all source code; no functional changes 491ba2dda Annotate fmt::format and fmt::formatted_size as [[nodiscard]] 5abe9e826 Add platform-specific 'z' formatter be3a3a5ae Use predefined formats for C-locale a3ab36c80 Formatting of function pointers, member function pointers, member object pointers... (#2610) 19cac63fe Broken link in README.rst 43419a4ad Workaround a bug in gcc c089f7d49 Simplify std::tm formatter aa5517f6b Reuse tm_writer in chrono_formatter 50140be7a Reuse tm_writer in weekday formatter 8b8945499 Improve consistency 5380ff4d8 Detect types convertible to unformattable pointers 094b66e81 changed locale retrieval way to a fancy one b69ae4854 Reorder classes (#2591) 0b843af56 sped up chrono.h formatting for cases without providing locale (#2576) 12b1d8b14 Fix precision 0 with std::chrono::duration and added additional tests. (#2588) e67f92c55 Cleanup warnings with nvhpc/21.9. (#2582) 812733cc9 const qualify format function for systen_clock 028f22775 Handle implicit conversions in write 5b0aa638c Minor grammar fix 6eaceb5f7 Fix incompatible between docutils 1.18.0 and sphinx 3.3.0 (#2575) 0697c5edb FMT_USE_FCNTL can be predefined (#2573) 1031eedf2 Replacing strftime with std::time_put (#2550) 90034e4c4 Add FMT_ASSERT and validation of values of struct tm members (#2564) df40e9467 Upgrade `module-test` to msvc 16.11.5 and 17.0-pre5 (#2558) e6d5059cb Simplify js tag in basic-bootstrap theme (#2562) 3b6e409cd Enable `consteval` for msvc 17.0-pre5 (#2559) 249f03bbb do not detect LLVM based IBMXL compiler (on ppc) as clang (#2555) 7463c8320 Fix overflow for very bigger years (>2*10^9) (#2551) 1266c2b60 Fix handling of exotic character types 684e2fdc9 Minor cleanup a1d586302 Minor cleanup 7a604cdd9 Cleanup aeb54b0dd Fix bug on '%Y' and '%C' formats with negative years Requested changes f88c020fc Generalization of strftime/wcsftime function calls in tests 2eeddba75 Renaming, splitting of functions 275454608 Fix errors in ISO week-base-year formatter 218cecb6d Fix error in test e9f4453b0 Fix Microsoft Visual Studio 14.0 build 27c3674ce Improve performance 5dc3dd3d4 New tests f8542cd98 Unified formatters for std::chrono::time_point<std::chrono::system_clock, Duration> and std::tm 4707373d3 Fix year formatter 79c00ad8f Improve ISO week-base-year formatter fbaaa5906 Improve week of the year formatter cde44ddb7 Improve year formatter b04601b91 Switch from std::strftime/std::wcsftime to internal implementation for locale independent formats d3d30a46f New tests 7911d8d3f Add format spec checker fbbfc3b03 Reorder formatters 509eac957 Workarounds for implementation-defined std::strftime behavior 85b38190d New tests for all C++11 std::strftime format specifiers 7aca36bca Extending fmt::join to support C++20-only ranges. (#2549) f5371a75f locale.h -> format.h febdef43f fix: add workaround for intel parameter pack bug f56756986 fix: check to make sure both 'if constexpr' and return type deduction are available dcd282bb2 Namespace qualify calls to get 9c14474d3 Include `<bit>` when using `std::bit_cast` 1e96e0176 Fix compiler flag check (#2540) 7e4bc9451 Speeding up write_significand() (#2499) 26c1ca4c3 Replaced default spec with equivalent one, which is potentially more optimizable (#2537) 1e865b353 Fix docs 4a85db1ce Change default open mode to -rw-r--r-- (#2530) 0a985fd4c Move size_ initialization to initializer list (#2529) 012cc709d Workaround gcc _Pragma bug 59884 d6590e3bd Fix compiler check 134aec40f Fix search in docs 48a476ae0 Update example (#2522) 023c2018f Don't use strlen in constexpr 800d4c8ac Refactor Windows workarounds 32865aeaa changed detection of Intel Compiler Classic to distinguish MS-Windows (#2510) 7b339795a Describe a better approach of how to use {fmt} as a depency in a Bazel project (#2516) ae9bbe116 Suppress warning C4127 in chrono.h (conditional expression is constant) (#2518) 927dbd134 Misplaced comma in README.rst (#2515) 2a9a77dd8 Remove misplaced comment 1aee4bc90 Refactor FP formatting e1bd6cc91 Refactor FP formatting 027fcaf05 Replace use_grisu with fallback since Grisu is only one of multiple implemented algorithms 716d69f27 Refactor FP formatting ff7e73af6 Always run grisu_gen_digits before fallback_format 2976e31ac Refactor format_float 807ee5ec3 Disable consteval in Apple clang d9a731d48 Add basic support for Bazel (#2505) 9c57357e0 Add `static` to a table (#2509) 2742611ca Fix formatting 5092b198b Document group_digits b4d9d82e1 make FP formatting available to be used at compile-time (#2426) d9fd695ac Fix wchar_t tm formatting 92614ecbf Optimize %T in tm formatting aaeca12d8 Move FMT_MAYBE_UNUSED to format.h where it is used 3d0c7ae38 Move data to format.cc 04e3a79f7 Use memcpy in more cases in copy2 e47e99bb0 Simplify format_decimal (#2498) 9b6b0e403 Remove data 4d1c6034e Deprecate basic_data a3348eccd Deprecate most of basic_data 3a0448148 Remove data::hex_digits ad77331c0 Move log10_2_significand to format-inl.h d9ebc4e82 Add a function to get sign char c00eb4f4c Add missing inline 25af02f21 positive -> nonnegative (#2493) 67cb2dad3 Optimize %F in tm formatting 1aa98f8b9 Eliminate double copying in vformat_to_n (#2489) a58c13382 Improve code_point_length codegen on older gcc aeee70a81 Remove unnecessary cast c771ba361 Fix build for the clang-10 / libstdc++-9 couple (#2491) ab6e2272c Clarify shifts encoding e4728409e Use throw_format_error in more places to reduce bloat e3ebf366a Inline padding shifts 894faf3fe Refactor presentation types 4eb97fa4e Reduce code bloat 6b55c8325 is_const_formattable -> has_const_formatter 2fe94ad7e Make specifiers support in tuple_join an opt-in 3940de595 thousands -> group_digits c4d0f96a6 Implement format specs in fmt::thousands 3b9c44268 Implement thousands separators without locales 08f98c7fa Simplify get_arg_index_by_name a151f955a Remove FMT_OVERRIDE 42a225cbd Remove redundand final bf20d1990 Simplify the core API fc0884037 Move FMT_GCC_VISIBILITY_HIDDEN to format.h 1aeed2dbc Require inline namespaces 799bea473 Remove FMT_HAS_GXX_CXX11 60cd5ea3f Add support for more formattable types in ranges 4fd9a00f3 Simplify ostream interface 568156389 Cleanup ostream interface 20931baf1 Disable fallback_formatter for arrays d58d19ba3 Fix an odr violation in ranges.h (#2483) ee0659f8b Fix formatting of abstract classes via ostream 8029bf955 Fix copy_str performance (#2477) 2520f410c Workaround for #2478 (#2482) ee63f5f04 Workaround to MSVC bug (#2474) (#2476) 1aaf72fb6 Add an example to fmt::runtime c1313c205 Clarify that format_to[_n] do not append a terminating null cb0f177c3 Improve docs 71677e520 Improve docs 4db572352 add fuzzers for chrono timepoint and localtime,gmtime (#2469) dc7f3ef2b Fix header name 419ba86a9 Improve docs 6a5b4d5fa Document format_string 2599163b8 Document format_string 8ef22f774 Update docs c0c4d1ada Update docs 729a44e67 Depreate strtod and remove problematic tests 74c111896 Apply force inline 596508a92 Cleanup 043e3b342 Remove static_assert from arg_mapper 8b0cb944d Fix error reporting when mixing character types 117fc6707 CI: replace g++ C++20 build to test FP formatting at compile-time c79a3841e make detail::fp and detail::bigit constexpr 5888de9f3 make detail::make_checked() constexpr 04b4b69b1 make detail::bit_cast() constexpr with C++20 fd34a3d24 make detail::basic_memory_buffer constexpr with C++20 6d597e39c Fix overload ambiguity in arg_mapper b9ce56d93 Improve comments f889e52a1 Improve error reporting 34caecd6b Use consistent initialization style a44c8f651 reimplement `formatter<tuple_join_view>` (#2457) 4b8bda25c Fix 2462 6b5e6119e set clang in one place 7af1dc1d2 fix UB in fuzzer common (memcpy on nullptr) e77686f7a clang format 2207ea0b3 More escaping a212ff757 Escape invalid code points a76031e11 check -> is_printable a7f280765 Improve naming 07d033ecb Fix is_printable cdb4299ac Add Unicode support to is_printable 7df2c82a8 Rewrite printable.py codegen to emit C++ 6cf90d7ce Add script license and fix python version 2f1ad8ed3 Add printable codegen from Rust 371d8e2ee Escape Unicode 6397095ca More escaping f69a57253 Don't overescape wide strings 11b07a56b We should escape b559cfd4c Implement basic escaping 11d49491c Handle global locale 6ea6cf946 Add decimal separator support to float 9730a2af0 Update ChangeLog.rst c2ed5f686 Update ChangeLog.rst 7b66e72e2 Use builtin intrinsics on intel (#2450) d57b2a652 Suppress a warning bdfbd794e Cleanup begin/end usage 111de881f Don't copy non-const-iterable ranges d6e882ed8 Undo the move because the doc is not a GH template f488eed10 Resolve default constructor error in Xcode 7.2.1 and 8.2.1 652c3653b Move CONTRIBUTING.md to .github fb19faa31 Improves README with svg badge (#2446) 07211701f Disable the -Wstringop-overflow warning from GCC 7 (#2442) bba0a9d96 Make flush public f1794a885 Switch to threadsafe death test style 0544a2279 Exclude fallback functions when FMT_BUILTIN_CLZ(LL) is not defined (#2434) 5c222f056 Add support for nonconst formattable types 3def950b8 Set FMT_CAN_MODULE=OFF for MSVC 19.29.30035+ 63fe2d5bd Add copy constructor for dynamic_format_arg_store, and test 561834650 Improve digit count f20f50368 Replace `throw` with `FMT_THROW` (#2427) 00235d8a9 fix module test odr violations (#2414) 2038bf618 Update format_to usage e41ac1f87 Don't use deprecated API in docs 8465869d7 Move ignore_unused to detail 3d53d1539 Warning removals in test code (#2399) 20e4ef8b4 Pass significand_size by value c4a3c2342 Refactor locale handling 7a0d30175 Update README.rst f2b03facd Include test sources to pick up functions and classes from the module rather than from the non-modular library which is baked into the `test-main` library. (#2356) 02ad5e11d Add faint, blink, reverse and conceal to the emphases (#2394) d141cdbeb Update version cfc05e05f Bump version 8ea312633 Update changelog e461f3dbb Minor consitency and comment tweaks 54014e42e silence warning C4100 on MSVC 2019 when exceptions are disabled (#2397) 3e7a29cc9 Workaround clang/gcc incompatibility 00a57a9f8 Update changelog 1d7384530 Add missing presentation type checks for std::string (#2402) 889bbf27a Fix missing std::get overload in MSVC (#2407) 5f8473914 Remove outdated apidoc 785908ee3 Fix warnings fbb70eec5 suppress unused variable warnings (#2381) 002bb759f Remove unneeded `num_result_bigits` decrement a3f762c5a [doc] Minor: fix ``code``. c3c27e5ab Fix MSVC warning C4819 c6b1f181a Fix docs 94564b058 Fix docs 0fc73a2a8 Merge branch 'master' of github.com:fmtlib/fmt 3156fcf5f Switch to older breathe version f85fb9fdf Adjust definition for FMT_HAS_INCLUDE 0bc3d664e Fix docs e5c46e13e Fix docs: breathe 18 and earlier corrupts trailing return type 49a3b58c8 Specify size for static data arrays d0c8d45a2 apt update before install c9a10631c format: do not use udl_{arg,formatter} return types when UDL is not in use 3bd806f12 Eliminate intel compiler warning fd16bcb20 Fix bug in cmake join function 5221242f6 Instruct msvc to report the _true_ value in `__cplusplus` and force _full_ C++ conformance 31a5f0d39 Bump version in inline namespace 102a4d492 Bump version in inline namespace f68508b6c Update ChangeLog.rst git-subtree-dir: externals/fmt git-subtree-split: b6f4ceaed0a0a24ccf575fab6c56dd50ccf6f1a9
2022-02-15 11:15:34 +00:00
character, Boolean, and pointer values. Note that a C string must be
null-terminated even if precision is specified.
Squashed 'externals/fmt/' changes from cd4af11e..9e8b86fd 9e8b86fd Update version 92fec0f0 Bump version 4749cc93 Update changelog 78a0ba0a Improve conversion of paragraphs 7a39837d Use a working breathe version 55b6e92d Fix docs 69dc3a85 Fix docs 27f4cdd5 Update changelog 70d61a0a Update changelog 427b5340 Add no_value state to value e421d527 Simplify error handling in parse_nonnegative_int a59678f3 Fix chrono_test.locale c98254c3 Install locales into CI c123a728 Fix set locale error in chrono formatter 3c8fad12 Optimize parse_nonnegative_int f28cf330 adding a default format for std::chrono::time_point<std::chrono::syst… (#2345) 55010a9d Support non-`char` overloads (module) 0193e7c4 Support compile-time strings and compile-time format string compilation in module 3423d754 Remove the msvc workaround (#2351) f6b5cc9f Fix chrono_test.weekday on legacy glibc 59a298f1 Enable `enforce-checks-test` for MSVC, too 36c29482 Update docs c9fe1fa5 Remove unused flag dccddc2b Apply clang-format 0e36681b Cleanup digit count 1de80f5b Workaround lack of static constexpr in constexpr functions 2039dce7 Detect consteval d551b88a Move is_char specializations to xchar.h 16c3514d wchar-test -> xchar-test 206000a0 Workaround pathological conversion (#2343) 76ee4904 Move wchar/custom char overloads to xchar.h e77b22d6 Deprecate memory buffer overload of format_to 07039f4b Update README.rst 4678192c Remove bsr2log10 7c3d3dfa Update thousands_sep_impl signature ef826b86 Fix docs 5223f552 Remove FMT_ALWAYS_INLINE cfde93af Add FMT_STATIC_CONSTEXPR 986a5a6c Fixed join_view formatter for wchar_t 7c8b35ff fix MSVC Win32 count_digits 3eeb084e Optimize count_digits 2ac0bfe5 Improve handling of thousands separator 024741b4 CI: set up multi-thread build for all platforms f4c95f6d Improve handling of thousands separator d4fbeacc Fix docs build 0eef389d Code style e27b1ce5 Fix docs 9f8b6dac Fix wheel installation 6060bcfc Fix docs ff967346 Fix docs 1085cc21 Fix docs 11addaa1 Update docs 760ca5cc Update docs 290d3f8b Cleanup ranges API aa09e0f5 Update docs d142579e Cleanup the format API f286139d Fix "undefined reference to `fmt::v7::detail::basic_data<void>::digits'" 7b9d69b8 Add xchar.h to docs cbd861f1 Update docs faf972f0 Update docs 622d1c04 Update changelog 634c9487 Update changelog a04e3a2d Comment 87876d54 Cleanup the printf implementation d338d663 Cleanup the printf implementation 272660e7 Remove deprecated printf functions 5a95c5ae Update changelog 70e67ae0 Re-enable module testing Prepare for compilation with gcc (modules branch). ad972589 Merge branch 'master' of github.com:fmtlib/fmt ed2a6377 Workaround msvc constexpr issues 99768695 fix custom types formatting at compile-time, add test 8c1b22ba Workaround a gcc 9.1 bug (#2334) 2dba1cfa Update changelog d7ba6c3e Use qualified name-lookup in module. (#2324) bf9904ee Workaround msvc bugs 577bce90 Apply clang-format ba4c7f19 Swap parameter order to match #2327 (#2329) e9e89b35 Update ChangeLog.rst 9bb406d7 Update changelog 11a14db2 Update format_to taking a buffer and remove undocumented vformat_to overload 832ec098 Fix argument order in locale overload of vformat_to (#2327) 486a80e8 Move wchar_t overloads to xchar.h 19d45f4b Update changelog 5a2b88f6 Reduce binary size 00a39ad5 Enable `Char` types other than `char` (#2323) ff37e416 wchar.h -> xchar.h because it handles other code unit types too 0901176f arg_join -> join_view a9a90181 Move wmemory_buffer to wchar.h 4a7801c3 Update changelog 517578f8 Update changelog 85442ed0 Update changelog 6a12b13a Update changelog 1cfe3c73 Update ChangeLog.rst c0601479 Update changelog 6fe04871 Update changelog 9d67988a FMT_DEPRECATED_WCHAR -> FMT_DEPRECATED_INCLUDE_WCHAR 765b451e Update changelog 17c993c7 Fixed compilation with CMake < 3.7 (#2321) dde69373 Update changelog 272b0f36 More module tests (#2309) 126c8cb4 Export os.h API, too (#2318) 98b9ff47 Align hex floats right as default (#2317) ece4b4b3 Update changelog a70a4ae0 Ignore zero-padding for non-finite floating points (#2310) 7612f18d Update changelog b9f2c276 Update changelog 4e21baff Simplify get_units 683ef11a Update changelog ca466374 qualify make_format_args (#2315) 5a2a1856 Make buffers non-movable ee52a6dc add `fmt::print()` overload to support compiled format (#2304) 82607efb Fixed int conversion warning (#2313) 35a2c2a7 Refactor chrono formatting b955e7a6 Refactor chrono formatting 883d9595 Support alternative locale names in tests 1f308a3c Update integer presentation types documentation. 1cd9899c Add initial support for weekday formatting 069131dc Add unicode-test dd8f38fc Cleanup printf API a216f256 Remove undocumented and obsolete vprintf overload 0c092639 Add is_exotic_char trait bc13c6de Update README.rst 8ec0b9e3 Do *not* export namespace `detail` b99c2bd3 Remove deprecated `locale.h` from module interface unit c04a2439 Update changelog b099a56f Update changelog 703005c8 Deprecate locale.h 51f01786 Cleanup the format API 5d59dcf6 Remove deprecated aliases / undeprecate has_formatter c242dd40 Move cerrno include to where it is used 2216e0b7 Update changelog 1c83a49b Simplify buffer extraction 2617384d Improve buffer extraction 34b8acae More wchar_t-specific API to wchar.h 6326c189 Improve code style consistency 5c4b0c86 Add missing Allocator template argument for basic_memory_buffer in format_to 00149c0b Move detail::null to chrono where it is used c5c968cb Improve binary size 128cbdeb cmake: hide private symbols by default 18af1dc4 Fix binary size regression caused by b268f88 d1e6f0f8 Fix binary size regression caused by b268f88 5a0d99fa Add a test for the module 6e2e6b79 Restore support for `wchar_t` overloads in module 24b677d0 Improve symbol sizes 63271a51 Fix ADL issues 61b4c923 Reduce code bloat 2a2e4c58 addressing nits. be48f4d6 Avoid unwanted sign extensions from MSVC in is_utf8. 13e65293 export missed symbols 71fb1138 fix compile error on msvc preview 4 (16.10) involving lookup clash /w STL 08d22503 Remove outdated comments 56f518a9 Update signatures b7f29337 Update signatures 7483dfc6 Update signatures 95c358f7 Improve separation between code unit types 39c3c4ec Simplify the core API e9c1c415 Improve compile-time checks 21d93bfd Move generic format functions to format.h 9a92eb41 Move more wchar overloads to wchar.h 0dd91e20 Add wchar.h for wide char overloads ce14eafc Simplify format string checks 8d70c0ed Refactor the format API 813ac495 More API cleanups 4ab01fb1 Cleanup printf API d5036b11 Remove deprecated APIs 25819462 Cleanup the core API b35db4e0 Improve handling of 128-bit ints d35f1ad5 Cleanup core 8f1902c0 Move format string checks to core.h 6469b903 Silence msvc warning about an unused named parameter 7d4c92fb Update ChangeLog.rst 0763d8ca Fix Visual Studio warning 5466373a Do *not* export namespace `detail` 588bdb54 Simplify get_arg_index_by_name 54f22a3e add support for statically named arguments with FMT_STRING ea94d6d9 Prevent ambiguity in name lookup 57280762 Move specs checker to core.h ced30375 Move dynamic specs to core.h dd2bc998 Move specs to core.h 08da1adc Remove unused headers 3be0cc20 Fix handling of 128-bit ints 9648bdce add missing header d1aebdbd Inline format_to 8f0fadfa Cleanup docs 02896dab Avoid use after move (#2278) 0036a1d1 Fix issue #2274. 2a9b3146 Replace fmt::error_code to std::error_code 2165bef4 Update README.rst 48629308 Optimize format string compilation 3207a8bb Get rid of unnecessary recursion to enable inlining 6214f15a Optimize standard formatter specialization cd2c78fb Use write directly in formatter specializations 4211d865 Add a formatter specialization for std::error_code. 39f28424 Cleanup tests 84feeb0f Remove redundant comments and put common case check first 2665afb5 Cleanup add-subdirectory-test d0abe7c2 Make chrono formatting locale-independent by default 50fb0b5e Fix formatting 16f2ef91 Replace fmt::system_error with std::system_error 4b885c86 Replace windows_error with system_error 5238055f Move esoteric char type support to format.h 9ac088f3 Add fmtlog to projects 849c9f61 Move is_name_start to core 23892caf Move more parsing to core 8e6390c3 Move FMT_STRING to core 51a33713 Move parsing to core 9c3af11a Cleanup tests 9d7b53cb Remove redundant formatter specialization for byte f0095ccd Add support for ranges of types without formatters to join (#2262) 4f0eadfc Exclude fallback from is_formattable 400b953f Use [] instead of {} in ranges for consistency with Python format 38bcc04a Drop range limit and cleanup tests c738c343 Cleanup tests ed7c4320 Cleanup tests 9155e2de Cleanup tests 38127d9e Cleanup tests c9c0e507 Cleanup tests ccf4ccde Cleanup tests and format string compilation e96a92f8 Cleanup tests and format string compilation fd43e4dc gtest: fix std::is_trivially_copy_constructible for GCC 4.8 & 4.9 properly 3d51ccda gtest: remove obsolete `GTEST_LANG_CXX11` compile definition setting 833377ff gtest: add `.clang-format` file into `test/gtest` directory to prevent formatting there 53ca0cbe gtest: move GTest/GMock files to separate directory, update GTest/GMock usages 342973b3 Make wchar_t overloads usable in module Bring ''detail::find()' into scope. 355be4b1 Make FMT_COMPILE fallback on runtime without if constexpr (#2261) 0cd0fb91 C++17: std::char_traits<>::{compare,length} is constexpr - v2 d1a6e560 Keep defaulted destructors inline applies to exception classes in case of msvc only 84a36b99 Move data to functions ab7c33ed Suppress checked iterator warnings 77258f60 fix FMT_CONSTEXPR_CHAR_TRAITS check for MSVC d23e315e CI windows: add MSVC C++20 build f085c3d7 use proper check for non-type template parameters 69bdc20a Workaround missing std::system on iOS, take 2 847aac43 Follow naming conventions in tests 39818e79 Cleanup core-test 0e6f989b __THROW warning fix for e2k (#2253) 1678ed62 simplify field::format() and spec_field::format(), fix typo ca821982 use named arg with static name in compile-time API ce6e7d86 use fixed_string to create named arg class with static name for _a literal fc56af14 move fixed_string from compile.h to format.h bb006f97 Replace TYPED_TEST_CASE with TYPED_TEST_SUITE 6956b10b Fix gcc 4.8 build b4f9a058 Update gtest 8f9ddf45 Remove deprecated posix.h dacd1356 Add module interface unit d3c523e0 Export printf-related contexts from printf.h 2c25df08 Export replacement type_traits, too 553022dc Don't use std::system on iOS (#2248) 8a040d18 Cleanup core-test 064cac2b Bump version 5b2c740a Remove deprecated APIs b9ab5c88 Remove printf.h dependency on ostream.h c47f2112 Simplify data handling 54d3b171 Move more data out of basic_data 128f007b C++17: std::char_traits<>::{compare,length} is constexpr. (#2246) 841aad95 Move data out of basic_data 1d4199f4 fix udl_compiled_string with non-byte chars (e.g. wchar) (#2242) c5d4fcb1 Appending a space to guarantee non-empty strftime() result. (#2244) 62714062 Fix a warning (#2233) 52bd62c7 Create separate dllexport marking points for clang and msvc. (#2229) f4bbc54c Tag official API for module export (#2235) d8910af8 Use qualified name lookup rather than ADL. (#2239) 92601141 Ranges wide strings support (#2236) 24c97515 Try to suppress MVSC warn of narrowing (#2230) a1c6bfd7 Add a link to llvm diff 42eccac4 Fix clang warning about ignoring __declspec(dllexport) on basic_data<void> template instantitation definition (#2220) aec50434 Update README.rst 0b411454 Update README.rst 00f3d16b Update docs 99c2f7a3 Allow including fmt/core.h in the header-only mode b4415323 CI linux: add clang++-11 C++20 (with LLVM libc++) build 1dbadb65 CI linux: add clang++-11 C++20 build 09dbad47 CI linux: add missing build_type e2facffe CI linux: remove excessive clang++-9 include 273d8865 Suppress redef warning of _CRT_SECURE_NO_WARNINGS if any. (#2218) 5a8bf1f6 Workaround hexfloat inconsistency on windows (#2205) 78776ee4 Fix a conditional expression is constant warning #2210 (#2211) 266107f5 constexpr uint128_wrapper (#2215) 2e0d64cf specify size for `prefixes` static data 95da4847 Fix a link 06b3a100 Add support for time points with arbitrary durations (#2208) dac42f52 Inline fallback is_constant_evaluated 7c43f8b8 Don't use strlen at compile time (#2205) c62e4c30 Make buffer_appender default-constructible when back_insert_iterator is 0d6b70d9 Install gcc 8 15c10b0c Add speech synthesis support 308510eb "Use" `fwrite` result (workaround for `warn_unused_result`) afe23e7f Don't call fileno on NULL file in tests (#2196) b49af043 Remove noexcept from file's move assignment 14848875 Fix: fmt::ostream cannot be moved while holding buffered data #2197 (#2198) 7d8c3401 Update pull_request_template.md b966afcc Remove formattable ec5315a9 Use strlen when possible in fallback basic_string_view 4f8778ba Inline basic_format_args's ctor e2d87548 user-defined constructor f7151d38 Extra flag to prevent Intel compiler with Clang front-end warning of 'unknown attribute no_sanitize' 0fb8ef8f Inline trivial argument handling functions 1b23e25f Simplify formattability check 35c71ff5 Only use -Og with optimizations disabled 243d8beb Enable minimal optimizations in debug mode 9b34681d Work around xl compiler bug when nvcc preprocesses this file (#2190) 4dc7170d Fix C++17 builds: (#2192) 9cb347b4 Simplify argument formatters 0f85a468 add default cases (#2186) 417e1cee Stop using deprecated UDL templates f7e900e1 Simplify UDL definitions d9661c8f Mark grouping as deprecated 14a2a64d Fix handling of formattable types with to_string_view (#2181) 6ae402fd Fix handling of types with to_string_view and formatter specialization (#2180) a6408a3b Add args-test 1147782c Fix an ambiguous call to check caused by ADL (#2184) 2f3f3862 Fix harmless MSVS warning about using undefined _MANAGED symbol (#2183) d0bded59 Fix MSVC /clr builds (#2179) 8308f52c Fix dynamic_format_arg_store::push_back comment 6151d0dc Fix the comment 5a1127b7 Don't wrap named arg in cref and clarify docs b8ff3c18 optimize append (#2164) c8d8b882 fix GCC 7,8,9 warning about unused but set parameter (#2177) d2810187 Document ostream support limitation bac14ef9 Simplify integer spec checking 8f9db3fc Make ubsan happy on empty format specs (#2175) af567538 Bitpack integral prefixes cdf877d4 Workaround missed optimization opportunity eef4ba9c Optimize integer formatting without padding a1ea8a82 Unbloat my heart a457e163 Simplify integer formatter 05bc87a6 Optimize padding 605b6037 Optimize count_digits for powers of 2 85ba2716 Implement 128-bit count_digits in terms of count_digits_fallback d9835737 spec -> specs f9e0e904 Apply clang-format 60f5d244 Simplify arg_formatter 30e1302e Simplify on_format_specs 87c5cd46 Optimize parsing of argument ids 6a9016ea fix `formatted_size` with "compiled format" as argument (#2161) 6e1fc017 Move detail::truncating_iterator to fmt/compile.h e718ec3e Make truncating_iterator an output_iterator (#2158) 772aeca3 Don't include <cassert>. (#2148) (#2152) 684b5b0e Fix fallback to runtime API from compile-time API (#2143) d8b92543 use simplified `void_t` for all compilers other than gcc 4.x (#2160) 835b910e Add an is_formattable trait 57887403 Revert "Optimize handling of integer constants" (#2147) 640acba8 Print x.what() of FMT_THROW when exception is disabled (#2145) d8e1c9f1 fix `fmt::get` for some GCC versions and legacy Clang (#2144) 2797588b Optimize handling of integer constants e8eff3b8 Fix FMT_STATIC_THOUSANDS_SEPARATOR (#2142) ab0f7d7f use const& for arguments 29cc8282 update chrono duration formatter (constness), use it in compile-test for specs checks 3f69af3a update wording in the error inside `arg_id_handler`, use `FMT_ASSERT` instead of `throw` 499047e1 fix incorrect indexing mode for named args, update tests 78c67157 prepare tests, fix incorrect handling of named args with simple `{}` replacement fields b31bc2dc simplify `try_format_argument()`, make `manual_indexing_id()` a variable 95e1aa2d add support for manual indexing and named fields, add tests 7e72673d Improve width estimation (#2033) 13b117b5 Improve code point computation ee0fed63 Fix handling of the + flag with locales (#2133) c5979d56 Fix fmt::localtime formatting not working in wide-char string contexts e6ef927e fmt::ptr: Support function pointers (#2131) 58aa0457 Fix ordering of install commands for CMake (#2122) 1980ca8c fix #2118: FMT_COMPILE did not work with tm formatter (#2119) 2a25e2bf Make ranges-test available with C++11 (#2114) b0b56b43 fix #2116 (FMT_COMPILE requires exceptions enabled) (#2117) 373262f9 Update docs ce519e93 Fix exception propagation from iterators (#2097) acef0bb5 use gcc-10.2 instead of gcc-10.1 on CI, also fix one problem (#2110) 8bf28e6b Add support for s format specifier to bool (#2094) (#2109) 9c418bc4 Update README.rst 456efa46 add missing detail namespace (#2107) 80dc7cce Fixed format.h(1465): warning C4702: unreachable code (#2106) 7fd535c6 Cleanup 'L' handling b4b8917c Update docs e4f2cf45 Make 'L' a modifier 6972b5f3 Add build variable: FMT_MASTER_PROJECT (#2100) ac352081 Install fmt/args.h (#2096) 532e846b Fix width computation in float formatter f8c2f848 Fix handling of width when formatting int as char 0fe0b15e Fix handling of # in width computation 061e364b Document output_file 018688da Correct a typo on syntax.rst (documentation) (#2081) 9ec5592b Fix writing to stdout when redirected to NUL on Windows (#2080) cdc5ef67 Remove fallback to inline specifier from FMT_CONSTEXPR(20) macro (#2075) c9dd1eb9 Don't change charset d09b5c14 Fix std::byte formatting with compile-time API (#2072) bbd6ed5b Add support of most format_specs for formatting at compile-time (#2056) a750bf3a Update api.rst 1256541d Fix formatting 4fa4c924 Add tests for FMT_ENFORCE_COMPILE_STRING, fix several errors (#2038) aa89e380 add cwchar to format.h for std::fputws (#2073) 5a37e182 Disable warning about format string (#2067) fa43fd14 Forward arguments to work with views (#2068) 3551f5d1 Workaround a gcc 10 -Warray-bounds bug (#2065) e7376726 Remove an old mingw workaround (#2059) 25a41b80 Fix a link to Android.mk (#2057) 9293f707 Suppress gcc warning on privates-only class (#2053) c20874c2 Reenable support for fallback formatter in join (#2040) (#2050) 5de0bc1d Add UDL as replacement for FMT_COMPILE (#2043) a6fafe2f docs: use https for some links (#2051) 33f9a6d3 Fix handling of enums in to_string (#2036) aabe0a84 simplify tests by reordering arguments of `EXPECT_EQ` (#2044) 1f4a76d2 Add a missing include (#2047) 4a6eadbd Make std::byte formattabe (#1981) 683a7450 fix formatting with empty compiled format string (#2042) f43416e1 Add a link to contents from index 5a493560 Move some code from core.h to format.h where it is used 9ed0a981 Fix docs build dac753b8 Basics of formatting at compile-time based on compile-time API (#2019) 119f7dc3 Truncate file by default 22a68d16 Don't emit trailing zeros by default d0110b7e Update README.rst 3f4839ce Merge branch 'release' of github.com:fmtlib/fmt 7bdf0628 Update version fc135511 Update changelog 926233bd Fix test 0683fa7d Bump version 6ce207b9 Fix formatting 07b1c1a1 Update changelog 58992761 Reintroduce ostream support to range formatters (#2014) b8957f50 Fix an overflow in format_to_n (#2029) df66516e Workaround an issue with mixing std versions in gcc (#2017) a57baa69 Fix more linkage errors (#2011) 85534a13 Fix linkage errors when linking with a shared library (#2011) a2fa5d62 Update changelog cd300368 Fix more linkage errors (#2011) d1ef29d6 Fix initialization of iterator_buffer (#1996) 5f41bb0f clang-format a58a6b27 Add a newline a036cc97 Reintroduce ostream support to range formatters (#2014) 38c7def4 Update clang version to 3.4 since there are ICEs on earlier ones 55336413 :new: [CI] Test with C++14 in Windows 2019 (#2020) 55dfdd92 Update README.rst 2c734c9b Fix an overflow in format_to_n (#2029) 6cdd1be9 Update build.gradle for latest AGP (#2026) bcc20b29 Implement compile-time checks by default befd7d4a Always use FMT_STRING internally where possible [Issue #2002] (#2006) f8640d40 Add more standards f81c14aa Workaround an issue with mixing std versions in gcc (#2017) 5555651c Fix more linkage errors (#2011) b268f881 detail::write in one more place relevant to printf with long argument… (#2016) aa9b09a9 :bug: Cannot call non-constexpr function in constexpr context (#2010) 986fa004 Printf get container (#1982) 7abc3c01 Suppress a useless warning (#2004) 6d14f781 Fix linkage errors when linking with a shared library (#2011) 9534b9fe Refactor warning suppression 60dc2735 Simplify on_text b5dac0f0 Reduce <algorithm> usage (#1998) a07627b1 :bug: Implicit sign conversion warning in clang in c++17 and 20 modes (#2009) 1b8f499e :wrench: Silence useless cast warnings (#2008) f428d286 Update README.rst beb248b6 Optimize handling of large format strings 1936dddc fix gcc warning of missing override (#2001) 14f6bd0f Move one more headers to args.h e01d26e1 Optimize includes e528d919 Merge branch 'master' of github.com:fmtlib/fmt 48816772 Update signatures 3302fd10 use memchr for searching for '%' in printf format string (#1984) 4c2d6372 Update signatures beaff396 Update signatures ffa0a083 Use newer versions of Sphinx and Breathe 038057eb Document contexts 5bedcb66 Fix initialization of iterator_buffer (#1996) 2435ea41 Workaround MSVC mess 8c6215f5 Fix fmt/color.h 10ebe6cb Document color 1ac50fcb Suppress more bogus warnings e098be8e Fix warning filtering 8cf0afaf Improve docs e29f93e8 Suppress more bogus warnings 4e8d000f Suppress more bogus warnings 7787792e Fix re usage 6ee5e507 Fix imports 06ee32d1 Filter useless doxygen warnings 86bb7fe6 Add a missing import 959a9f5c Merge branch 'master' of github.com:fmtlib/fmt 4f7df299 Improve docs b3ab0bc7 :art: [CI] Specify the exact version of clang to use (#1991) 701ed6c8 Install deps in github actions instead of script 8f2131cf Document chrono 32c4af8f Document chrono 295a60ec Document chrono a4fae96c Document chrono 263bb0e6 Document chrono 0506b328 Document chrono 4e426c19 Document chrono 9795d873 Update docs 2eb0be0b Remove debug code and fix bot contact cd955798 Move less installation to actions 98639d0f Debug doc build ab5e0632 Debug doc build b123129f Dump the content of html dir 81d2b986 Print less command 7a0b1d57 Add key 9f0617cb Fix branch ref 75b07598 Chrono docs dfbb6975 Remove travis config 5b3052f9 Switch doc build to github actions 506ff320 Fix build failure when not using fcntl with -Werror (#1990) a30b279b Apply clang-format and tweak comments 6a2495c8 -Wattributes visibility warning with some GCC versions (#1975) cba5970c Remove migrated build configs 689081d8 Merge branch 'release' of github.com:fmtlib/fmt cc09f1a6 Update version e4eb242c Update changelog and bump version ce98e0c6 Fix fallback float formatter at assymetric bounds (#1976) 49544ea9 Fuzz fallback formatter 6b7bfed4 Fix fallback float formatter at assymetric bounds (#1976) bcab36da Update CI config 1689e73e Move PR template 0103408a Update CI config 38a16ecb Move build config to github actions 205eb3a8 Update CI config fe61b8c6 Update CI config 867b15d7 Update CI config 98cb9f99 Update CI config 95077d60 Update CI config bc49f094 Update CI config cef6dfb4 Update CI config c8703ba4 Update CI config ab4405be Update README.rst 78a55e28 Update CI config d0a2494a Update cmake.yml 89d009ba Update cmake.yml 1f4ff47b Create cmake.yml eb52ac7a :new: Enable -Wshadow in pedantic mode e904e891 :art: :bug: Rename all shadowed types and variables 771292c3 Remove sizeof from unused variable silencer (#1974) 86bf6045 Merge branch 'release' of github.com:fmtlib/fmt 5f7f7b95 Update version 5d3f0741 Update changelog and bump version 563cbb6c Add a macro to workaround clang/gcc ABI incompatibility on ARM 425778aa Fix ABI compatibility (#1961) 69a84198 Remove accidental parenthesis (#1968) 5c045049 Removed [-Wsign-conversion] warning in GCC 556a1cfb Instantiate to_decimal to make gcc lto happy (#1955) 28a8eae8 Cleanup 236fea1f Workaround bugs in gcc 8 e50ced88 Add a macro to workaround clang/gcc ABI incompatibility on ARM 112755cf Remove FMT_SAFEBUFFERS (#1966) 4081b2fe Fix ABI compatibility (#1961) 2d9311e8 Remove accidental parenthesis (#1968) b3a4f28a Fix implicit signedness conversion warning (#1963) 97c88732 Allocator::max_size support in basic_memory_buffer (#1960) bb68f608 Removed [-Wsign-conversion] warning in GCC f4ca065c Range support cb224eca Instantiate to_decimal to make gcc lto happy (#1955) 7977c2b4 Cleanup e54eb676 Workaround bugs in gcc 8 4fe0b111 Update version df4bd60f Bump version 764fb35e Always install the required version of breathe e1bdc0ec Use the correct version of sphinx 39bde329 Tweak markup 204d299a Tweak markup e0995b1c Update readme 4af178bd Remove outdated build config aa41dc02 Remove unused script 6a77ea3c Tweak markup 62c72059 Update changelog c10e3f7f Update changelog e542e695 Update changelog 530cf316 Point to the release, not dev documentation 740385d6 Update changelog cd465111 Update changelog 46291be3 Update changelog 90071c1d Update ChangeLog.rst 25293d7a Update ChangeLog.rst 5024742f Update ChangeLog.rst 0452a4e7 Update changelog 8de96817 Woraround bugs in gcc 8 47e16767 Simplify arg formatter f0a42346 Move parsing optimization one level up 86287b8d Optimize common case in parse_format_specs 8924211f Update README.rst 525e7649 Update CONTRIBUTING.md 0ecb3d18 Optimize alignment parsing 97553078 Optimize format_uint 7446818f Simplify vformat_to 280b5612 Add option to force usage of inline namespaces e57ec7d5 Merge vformat_to overloads 2a3f4de3 Remove iterator_category 27fdb4ea Unshadow floaty 297e0bad Apply clang-format e3b4c22e Simplify is_output_iterator da8278e1 Update changelog and bump version 17fba753 added position independent documentation (#1939) 71e705a2 Update README.rst 74654c8c Fix compilation for systems without fcntl.h (#1942) f468b203 Avoid conversion from long long to size_t (#1935) 20d4f2e8 Fix handling of weird character types when parsing sign (#1932) 08370c39 Update README.rst bd3c7925 Fix float fuzzer 8d3fd86d Merge branch 'master' of github.com:fmtlib/fmt 40347157 Update README.rst 37d738fa Update README.rst 271eff14 Make classes derived from buffer<T> final to silence the virtual destructor warning. (#1937) 010efc31 Add float fuzzer and cleanup 811c8b58 Add float fuzzer and cleanup 82c4e223 Cleanup fuzzing 63e40c96 Fix naming of fuzzers 2f448ed5 Fix fuzzer timeouts af283059 Cleanup 48ea8193 Explain why assert-test is a separate test 1d112bdd Remove old test 5eb292a6 Update README.rst 7e56b6b6 Fix coding style and remove duplicate fuzzer 41d97e1e Fix a UB on ridiculously large precision 01c37e0a Added check for `-mbig-obj` and ref qualifier check (#1929) a5e7e7db Fix handling of thousand separator (#1927) bf19051a Optimize floating point formatting 3c13a88b Optimize floating point formatting f6d75c53 Refactor write_float e9c0b2d6 Merge write_float overloads 7eddbfed Cleanup exponent handling in write_float b347b302 Update dynamic_formatter comment (#1923) 3541880e Fix integer overflow when using max int precision 7b50dc0b Don't exclude all detail symbols from docs 28052431 Fix the doc config 34f22e88 Cleanup CMake config a18b3fbb Fix fixed precision handling when rounding (#1917) 72770357 Fix long lines in usage.md 7612c1ea Add reference to lhelper package manager in usage b91d39f2 Get rid of float_writer b4b64b9c Refactor float formatting 712abe40 Workaround a bug in gcc 7.5 (#1912) af8a180a Make GetCachedPower test more precise a581e9e5 Fix warning C4018: '<=': signed/unsigned mismatch (#1908) 05a28312 Update docs 4d0aa4d8 Update link 575f4018 Simplify FP formatting and follow coding conventions 6f3536f9 Move zero-check to an earlier branch (#1906) 90ef46df Fix dragonbox integration 3ae88147 Fix declaration 64179525 Improve dragonbox integration 79694d42 Fix WriteConsole signature 51f2e2ca Move nan test to where it belongs 68555fdb Make format-test not depend on color.h 63e0c354 Make dragonbox::to_decimal available in format.h 2213a711 Update README.rst 79ba37f3 Update README.rst a905d8f7 Merge grisu-test into format-test 762c33a9 Simplify windows handling (#1903) 253d6315 Remove dependency on windows.h (#1900) c156093f Fix carry in fallback_format 34179b33 Update format.h (#1898) 0651e459 Minor tweaks to get_cached_power 6c025520 Test that max_k is correctly defined 51f8d0cc Reuse log10_2_significand constant 1305cbeb Fix MSVC2019 error C2049 when compiling with /clr (#1897) 2d4fde3a Don't emit trailing zero for consistency with std::format 5fd89d50 Minor simplifications 605ce5e4 Simplify divisible_by_power_of_2 085171e7 Remove grisu_count_digits aa729bf2 Remove dead code aa2ddf9b Simplify Dragonbox integration c1654ce4 Simplify uint32_or_64_or_128_t definition 33712dc0 Combine pragmas e5942ac9 Tweak comments aae7a133 Remove unused pragmas 6bcde9aa https://github.com/fmtlib/fmt/pull/1882#issuecomment-696823912 (#1894) bb0db5e5 clang-format 16410056 Optimize copy_str for counting_iterator 2591ab91 MSVC optimizations for count_digits. (#1890) d5b8002d Update README.rst 821471e1 qkw: generalizing aliasing | using fmt library and it's features (#1888) 2e620ddb Small improvements that should have zero to negligible impact on the runtime (#1887) 2f7e0885 Disable range formatter if value type is not formattable (#1885) c46a8de4 Simplify test 2696dc92 add forgotten template argument to make_format_args which made some u… (#1877) 0016da7a Don't generate zeros and fix UB on huge precision ce3f7699 Merge intrinsic blocks 3b6248f6 Change formatting 2d9b1dd0 Fix sign mismatch 1f0600a2 Fix bug regarding FMT_SAFEBUFFERS 2ecdbb98 Fix a bug in ctzll 6f81ea15 Fix typo (and thus bug) 0c8ffe9b Implement Dragonbox (first version) 42699bf4 Fix msvc version of clz & clzll (#1880) bc51a8df Disable fallthrough attributes for the Intel compilers on Linux and MacOS (#1879) 45da432d fix compiler warnings in public header files d55e61f1 Improve FMT_ALWAYS_INLINE (#1878) 7e682752 Remove trailing zeros when using fallback formatter (#1873) 1d696dc2 Handle exotic character types in compilation f674434a Add format_to_n overload that accepts FMT_COMPILE (from #1767) (#1869) 5b5a5971 Fix handling of wide alignment f80ed64d Update README.rst 38139664 Simplify fallback format dce8e49b Handle float in fallback formatter 78b59443 Spelling f233b56c Don't generate insignificant digits 595902f8 Update test 4f2ee892 Use built-in FP formatter for any precision 58a044be Use built-in FP formatter for any precision efe3694f Macro tweak and clang-format 9f312fe8 Implement fallback FP formatting with given precision (#1526) fb289cf5 Fix coding conventions 86f0a704 Fix formatting bff4d18e Add color format_to overloads * Fix variable size basic_memory_buffer colorization * Fix an unused arguments warning on GCC that blocks the CI otherwise * Ref #1842 * Ref #1593 f19b8885 Fixed a warning in mingw32/mingw64 (#1860) f8e00a08 NOMINMAX not handled properly (#1855) 6cccdc24 Fix move constructor (#1844) 69902c17 Allow use of <fcntl.h> in Linux when __has_include is not available (#1848) 1edd38b9 Add append mode. (#1847) e66ba169 Added build2 usage instructions. (#1838) f39e6fb6 Add formatters for chrono::time_point<system_clock> (#1837) 77b627be Fix bogus MSVC warnings (#1825) 5dff01d3 Add complex tests d16d585e Update signatures c7e6d8af Fix usage of override (#1836) 92bff2fe Revert "Add missing includes" a0dcfbc5 Add ptr to docs 1651b2d4 Fix detail::write with fallback formatter (#1829) 06895a76 Add missing includes 92a448a0 Apply clang-format 6be65446 Fixing buffer_appender's ++ slicing (#1822) 951e0d23 CMakeLists.txt: Added Wundef warning to clang and gcc. (#1823) f9f02df7 CMakeLists.txt: Clang-warnings: removed -Wno-sign-conversion (#1817) 76e97dc4 Eliminate shadowed variable warnings on intel (#1816) e204df0e nvcc compiler should be EDG-based, but fails test (#1818) 1c8bb547 small changes to reduce clang-9 warnings (#1808) 4b69c787 fix: warning C4100: unreferenced formal parameter (#1814) fb0aeb82 fix: disabled UDL templates for PGI (#1811) (#1812) 54daa086 Add dynamic width support to FMT_COMPILE (#1809) 6fb7c6fb Workaround a bug in gcc10 (#1810) 16985fda Update README.rst 1378ddae Update README.rst 4fd95e4b Don't remove trailing zeros with # e06ae322 Avoid warnings on functions with external linkage that don't have declarations 7fc3d1f5 Add override to grow 065889a5 Use correct capacity in iterator_buffer (#1807) d0dd6786 Adding convenience append(range) 0e7cef06 Merge commit 'c13f79e0' e2c8c455 Update README.rst e4c954ff Update README.rst c13f79e0 Merge release branch d7921d64 Update README.rst 4a4fc225 Update changelog 61602a75 Remove -Wno-shadow 2f8fc29e Update README.rst 717b226b include/fmt/format.h: explicit cast to std::size_t for parameter to buffer.resize() in order to get rid of warning 'implicit conversion changes signedness:' in clang-8 (#1802) 2a69f567 Tweak buffer size ea769338 Simplify ostream 5413713c Remove unused function 57f46242 Increase the default buffer size 0b6e7cc6 Update README.rst e587adb4 Simplify count_digits 279d698e Fix handling of default alignmment with locale (#1801) 76cfb50b Test complex formatter 20829120 Optimize count_digits 8d9ab967 Cut a few cycles from count_digits 73434493 Simplify ostream_params 2a47a1e4 Update README.rst 7c4c5c79 Make buffer size configurable f0b84da5 Don't use 128 bit integers with clang-cl (#1800) a3dfd6f9 Workaround a bug in msvc 51d05521 Workaround broken numeric_limites, part 2 (#1787) 21c8b5c1 Report error on missing named argument (#1796) d82fdcc9 Fix handling of iterators in locale-specific formatting (#1782) 633213d9 Merge release branch e8f2580a Bump version 6cefe55a Update changelog 64e2da15 Update README.rst 1c8c810f Update README.rst c2399ccf Update README.rst a7c5db06 Update README.rst a4c22acd Update README.rst 0c1f4b5a Update README.rst 63b422ee Update README.rst 26e81a67 Update README.rst de5fc6af Update README.rst 9c2edfd1 Partially revert 638db5 because it breaks the doc build 810357c0 Document color 0a7032a4 Update README.rst 95d3abf9 Make format_to_n part of the core API 98626093 Correct the locale format specifier in api.rst (#1792) 47f8d7a3 Make formatted_size part of the core API 46a63b70 Update docs 430f393d Disabled __attribute__((deprecated)) usage for LCC (#1790) febffa4e Make join() handle non-const-only begin/end ranges (#1786) d69e2da2 Fix apidoc ce73ea37 Reorder functions d39d661b Workaround broken numeric_limits (#1725) c228bfe8 Improve docs 38ce19f7 Update README.rst d11849bc Add FMT_REDUCE_INT_INSTANTIATIONS flag (#1781) c08518a2 Move make_args_checked to the public API e2837084 Add a color section 9f0c0033 Simplify format string checks d615137c Improve handling of buffer iterator 26b47b6f Bump tested CMake version to 3.18 7a01c9c5 Update README.rst b17d5c4f Fix a regression in handling digit separators (#1782) eb90da2e Type erase output iterators 9d3cd0af Type erase output iterators 18024853 Fix compatibility with CMake 3.4 (#1779) f5d4215b Trying to clear ambiguous compile time claims (#1775) c26349f4 Improve error reporting f4b11ef6 Add a short anchor 0097cf11 Report unformattable type name more prominently 8fa20b47 dev -> latest a03bd3dd Autodetect MSVC static runtime (#1770) c108ee1d Clarify a comment a8074a86 Update README.rst 5f629548 Update README.rst bd903f96 Clarify precedence 16cac46a Improve handling of streamable and convertible to bool types (#1766) 415cd519 direct_buffered_file -> ostream e1bfb596 Fix handling of code units in compile ba8d98cb Cleanup direct_buffered_file 04a1f6e9 Improve handling of single code units in compile e4f57bfd Add an overload of write for buffer_appender d8704681 Make append work with fixed-size buffer e8ec09ae Cleanup core-test a2c4fed9 Double buffering no more 36406509 Add a fixed buffer 60c43e87 Apply clang-format b998e0f3 Reduce symbol sizes and simplify iterator use c5adfc51 Update README.rst c4ad94ce Update README.rst c1429651 Fix image source link 638db5ca Use Cmake to find Python and Sphinx-doc. c0905697 Update readme 1efdb2dd Simplify readme dc69afad Cleanup example 445f5d39 Break long lines 23063c34 Update readme f57b6257 Move PR template to the top level git-subtree-dir: externals/fmt git-subtree-split: 9e8b86fd2d9806672cc73133d21780dd182bfd24
2021-06-23 08:39:40 +01:00
The ``'L'`` option uses the current locale setting to insert the appropriate
number separator characters. This option is only valid for numeric types.
Finally, the *type* determines how the data should be presented.
The available string presentation types are:
+---------+----------------------------------------------------------+
| Type | Meaning |
+=========+==========================================================+
| ``'s'`` | String format. This is the default type for strings and |
| | may be omitted. |
+---------+----------------------------------------------------------+
| none | The same as ``'s'``. |
+---------+----------------------------------------------------------+
The available character presentation types are:
+---------+----------------------------------------------------------+
| Type | Meaning |
+=========+==========================================================+
| ``'c'`` | Character format. This is the default type for |
| | characters and may be omitted. |
+---------+----------------------------------------------------------+
| none | The same as ``'c'``. |
+---------+----------------------------------------------------------+
The available integer presentation types are:
+---------+----------------------------------------------------------+
| Type | Meaning |
+=========+==========================================================+
| ``'b'`` | Binary format. Outputs the number in base 2. Using the |
| | ``'#'`` option with this type adds the prefix ``"0b"`` |
| | to the output value. |
+---------+----------------------------------------------------------+
| ``'B'`` | Binary format. Outputs the number in base 2. Using the |
| | ``'#'`` option with this type adds the prefix ``"0B"`` |
| | to the output value. |
+---------+----------------------------------------------------------+
Squashed 'externals/fmt/' changes from cd4af11e..9e8b86fd 9e8b86fd Update version 92fec0f0 Bump version 4749cc93 Update changelog 78a0ba0a Improve conversion of paragraphs 7a39837d Use a working breathe version 55b6e92d Fix docs 69dc3a85 Fix docs 27f4cdd5 Update changelog 70d61a0a Update changelog 427b5340 Add no_value state to value e421d527 Simplify error handling in parse_nonnegative_int a59678f3 Fix chrono_test.locale c98254c3 Install locales into CI c123a728 Fix set locale error in chrono formatter 3c8fad12 Optimize parse_nonnegative_int f28cf330 adding a default format for std::chrono::time_point<std::chrono::syst… (#2345) 55010a9d Support non-`char` overloads (module) 0193e7c4 Support compile-time strings and compile-time format string compilation in module 3423d754 Remove the msvc workaround (#2351) f6b5cc9f Fix chrono_test.weekday on legacy glibc 59a298f1 Enable `enforce-checks-test` for MSVC, too 36c29482 Update docs c9fe1fa5 Remove unused flag dccddc2b Apply clang-format 0e36681b Cleanup digit count 1de80f5b Workaround lack of static constexpr in constexpr functions 2039dce7 Detect consteval d551b88a Move is_char specializations to xchar.h 16c3514d wchar-test -> xchar-test 206000a0 Workaround pathological conversion (#2343) 76ee4904 Move wchar/custom char overloads to xchar.h e77b22d6 Deprecate memory buffer overload of format_to 07039f4b Update README.rst 4678192c Remove bsr2log10 7c3d3dfa Update thousands_sep_impl signature ef826b86 Fix docs 5223f552 Remove FMT_ALWAYS_INLINE cfde93af Add FMT_STATIC_CONSTEXPR 986a5a6c Fixed join_view formatter for wchar_t 7c8b35ff fix MSVC Win32 count_digits 3eeb084e Optimize count_digits 2ac0bfe5 Improve handling of thousands separator 024741b4 CI: set up multi-thread build for all platforms f4c95f6d Improve handling of thousands separator d4fbeacc Fix docs build 0eef389d Code style e27b1ce5 Fix docs 9f8b6dac Fix wheel installation 6060bcfc Fix docs ff967346 Fix docs 1085cc21 Fix docs 11addaa1 Update docs 760ca5cc Update docs 290d3f8b Cleanup ranges API aa09e0f5 Update docs d142579e Cleanup the format API f286139d Fix "undefined reference to `fmt::v7::detail::basic_data<void>::digits'" 7b9d69b8 Add xchar.h to docs cbd861f1 Update docs faf972f0 Update docs 622d1c04 Update changelog 634c9487 Update changelog a04e3a2d Comment 87876d54 Cleanup the printf implementation d338d663 Cleanup the printf implementation 272660e7 Remove deprecated printf functions 5a95c5ae Update changelog 70e67ae0 Re-enable module testing Prepare for compilation with gcc (modules branch). ad972589 Merge branch 'master' of github.com:fmtlib/fmt ed2a6377 Workaround msvc constexpr issues 99768695 fix custom types formatting at compile-time, add test 8c1b22ba Workaround a gcc 9.1 bug (#2334) 2dba1cfa Update changelog d7ba6c3e Use qualified name-lookup in module. (#2324) bf9904ee Workaround msvc bugs 577bce90 Apply clang-format ba4c7f19 Swap parameter order to match #2327 (#2329) e9e89b35 Update ChangeLog.rst 9bb406d7 Update changelog 11a14db2 Update format_to taking a buffer and remove undocumented vformat_to overload 832ec098 Fix argument order in locale overload of vformat_to (#2327) 486a80e8 Move wchar_t overloads to xchar.h 19d45f4b Update changelog 5a2b88f6 Reduce binary size 00a39ad5 Enable `Char` types other than `char` (#2323) ff37e416 wchar.h -> xchar.h because it handles other code unit types too 0901176f arg_join -> join_view a9a90181 Move wmemory_buffer to wchar.h 4a7801c3 Update changelog 517578f8 Update changelog 85442ed0 Update changelog 6a12b13a Update changelog 1cfe3c73 Update ChangeLog.rst c0601479 Update changelog 6fe04871 Update changelog 9d67988a FMT_DEPRECATED_WCHAR -> FMT_DEPRECATED_INCLUDE_WCHAR 765b451e Update changelog 17c993c7 Fixed compilation with CMake < 3.7 (#2321) dde69373 Update changelog 272b0f36 More module tests (#2309) 126c8cb4 Export os.h API, too (#2318) 98b9ff47 Align hex floats right as default (#2317) ece4b4b3 Update changelog a70a4ae0 Ignore zero-padding for non-finite floating points (#2310) 7612f18d Update changelog b9f2c276 Update changelog 4e21baff Simplify get_units 683ef11a Update changelog ca466374 qualify make_format_args (#2315) 5a2a1856 Make buffers non-movable ee52a6dc add `fmt::print()` overload to support compiled format (#2304) 82607efb Fixed int conversion warning (#2313) 35a2c2a7 Refactor chrono formatting b955e7a6 Refactor chrono formatting 883d9595 Support alternative locale names in tests 1f308a3c Update integer presentation types documentation. 1cd9899c Add initial support for weekday formatting 069131dc Add unicode-test dd8f38fc Cleanup printf API a216f256 Remove undocumented and obsolete vprintf overload 0c092639 Add is_exotic_char trait bc13c6de Update README.rst 8ec0b9e3 Do *not* export namespace `detail` b99c2bd3 Remove deprecated `locale.h` from module interface unit c04a2439 Update changelog b099a56f Update changelog 703005c8 Deprecate locale.h 51f01786 Cleanup the format API 5d59dcf6 Remove deprecated aliases / undeprecate has_formatter c242dd40 Move cerrno include to where it is used 2216e0b7 Update changelog 1c83a49b Simplify buffer extraction 2617384d Improve buffer extraction 34b8acae More wchar_t-specific API to wchar.h 6326c189 Improve code style consistency 5c4b0c86 Add missing Allocator template argument for basic_memory_buffer in format_to 00149c0b Move detail::null to chrono where it is used c5c968cb Improve binary size 128cbdeb cmake: hide private symbols by default 18af1dc4 Fix binary size regression caused by b268f88 d1e6f0f8 Fix binary size regression caused by b268f88 5a0d99fa Add a test for the module 6e2e6b79 Restore support for `wchar_t` overloads in module 24b677d0 Improve symbol sizes 63271a51 Fix ADL issues 61b4c923 Reduce code bloat 2a2e4c58 addressing nits. be48f4d6 Avoid unwanted sign extensions from MSVC in is_utf8. 13e65293 export missed symbols 71fb1138 fix compile error on msvc preview 4 (16.10) involving lookup clash /w STL 08d22503 Remove outdated comments 56f518a9 Update signatures b7f29337 Update signatures 7483dfc6 Update signatures 95c358f7 Improve separation between code unit types 39c3c4ec Simplify the core API e9c1c415 Improve compile-time checks 21d93bfd Move generic format functions to format.h 9a92eb41 Move more wchar overloads to wchar.h 0dd91e20 Add wchar.h for wide char overloads ce14eafc Simplify format string checks 8d70c0ed Refactor the format API 813ac495 More API cleanups 4ab01fb1 Cleanup printf API d5036b11 Remove deprecated APIs 25819462 Cleanup the core API b35db4e0 Improve handling of 128-bit ints d35f1ad5 Cleanup core 8f1902c0 Move format string checks to core.h 6469b903 Silence msvc warning about an unused named parameter 7d4c92fb Update ChangeLog.rst 0763d8ca Fix Visual Studio warning 5466373a Do *not* export namespace `detail` 588bdb54 Simplify get_arg_index_by_name 54f22a3e add support for statically named arguments with FMT_STRING ea94d6d9 Prevent ambiguity in name lookup 57280762 Move specs checker to core.h ced30375 Move dynamic specs to core.h dd2bc998 Move specs to core.h 08da1adc Remove unused headers 3be0cc20 Fix handling of 128-bit ints 9648bdce add missing header d1aebdbd Inline format_to 8f0fadfa Cleanup docs 02896dab Avoid use after move (#2278) 0036a1d1 Fix issue #2274. 2a9b3146 Replace fmt::error_code to std::error_code 2165bef4 Update README.rst 48629308 Optimize format string compilation 3207a8bb Get rid of unnecessary recursion to enable inlining 6214f15a Optimize standard formatter specialization cd2c78fb Use write directly in formatter specializations 4211d865 Add a formatter specialization for std::error_code. 39f28424 Cleanup tests 84feeb0f Remove redundant comments and put common case check first 2665afb5 Cleanup add-subdirectory-test d0abe7c2 Make chrono formatting locale-independent by default 50fb0b5e Fix formatting 16f2ef91 Replace fmt::system_error with std::system_error 4b885c86 Replace windows_error with system_error 5238055f Move esoteric char type support to format.h 9ac088f3 Add fmtlog to projects 849c9f61 Move is_name_start to core 23892caf Move more parsing to core 8e6390c3 Move FMT_STRING to core 51a33713 Move parsing to core 9c3af11a Cleanup tests 9d7b53cb Remove redundant formatter specialization for byte f0095ccd Add support for ranges of types without formatters to join (#2262) 4f0eadfc Exclude fallback from is_formattable 400b953f Use [] instead of {} in ranges for consistency with Python format 38bcc04a Drop range limit and cleanup tests c738c343 Cleanup tests ed7c4320 Cleanup tests 9155e2de Cleanup tests 38127d9e Cleanup tests c9c0e507 Cleanup tests ccf4ccde Cleanup tests and format string compilation e96a92f8 Cleanup tests and format string compilation fd43e4dc gtest: fix std::is_trivially_copy_constructible for GCC 4.8 & 4.9 properly 3d51ccda gtest: remove obsolete `GTEST_LANG_CXX11` compile definition setting 833377ff gtest: add `.clang-format` file into `test/gtest` directory to prevent formatting there 53ca0cbe gtest: move GTest/GMock files to separate directory, update GTest/GMock usages 342973b3 Make wchar_t overloads usable in module Bring ''detail::find()' into scope. 355be4b1 Make FMT_COMPILE fallback on runtime without if constexpr (#2261) 0cd0fb91 C++17: std::char_traits<>::{compare,length} is constexpr - v2 d1a6e560 Keep defaulted destructors inline applies to exception classes in case of msvc only 84a36b99 Move data to functions ab7c33ed Suppress checked iterator warnings 77258f60 fix FMT_CONSTEXPR_CHAR_TRAITS check for MSVC d23e315e CI windows: add MSVC C++20 build f085c3d7 use proper check for non-type template parameters 69bdc20a Workaround missing std::system on iOS, take 2 847aac43 Follow naming conventions in tests 39818e79 Cleanup core-test 0e6f989b __THROW warning fix for e2k (#2253) 1678ed62 simplify field::format() and spec_field::format(), fix typo ca821982 use named arg with static name in compile-time API ce6e7d86 use fixed_string to create named arg class with static name for _a literal fc56af14 move fixed_string from compile.h to format.h bb006f97 Replace TYPED_TEST_CASE with TYPED_TEST_SUITE 6956b10b Fix gcc 4.8 build b4f9a058 Update gtest 8f9ddf45 Remove deprecated posix.h dacd1356 Add module interface unit d3c523e0 Export printf-related contexts from printf.h 2c25df08 Export replacement type_traits, too 553022dc Don't use std::system on iOS (#2248) 8a040d18 Cleanup core-test 064cac2b Bump version 5b2c740a Remove deprecated APIs b9ab5c88 Remove printf.h dependency on ostream.h c47f2112 Simplify data handling 54d3b171 Move more data out of basic_data 128f007b C++17: std::char_traits<>::{compare,length} is constexpr. (#2246) 841aad95 Move data out of basic_data 1d4199f4 fix udl_compiled_string with non-byte chars (e.g. wchar) (#2242) c5d4fcb1 Appending a space to guarantee non-empty strftime() result. (#2244) 62714062 Fix a warning (#2233) 52bd62c7 Create separate dllexport marking points for clang and msvc. (#2229) f4bbc54c Tag official API for module export (#2235) d8910af8 Use qualified name lookup rather than ADL. (#2239) 92601141 Ranges wide strings support (#2236) 24c97515 Try to suppress MVSC warn of narrowing (#2230) a1c6bfd7 Add a link to llvm diff 42eccac4 Fix clang warning about ignoring __declspec(dllexport) on basic_data<void> template instantitation definition (#2220) aec50434 Update README.rst 0b411454 Update README.rst 00f3d16b Update docs 99c2f7a3 Allow including fmt/core.h in the header-only mode b4415323 CI linux: add clang++-11 C++20 (with LLVM libc++) build 1dbadb65 CI linux: add clang++-11 C++20 build 09dbad47 CI linux: add missing build_type e2facffe CI linux: remove excessive clang++-9 include 273d8865 Suppress redef warning of _CRT_SECURE_NO_WARNINGS if any. (#2218) 5a8bf1f6 Workaround hexfloat inconsistency on windows (#2205) 78776ee4 Fix a conditional expression is constant warning #2210 (#2211) 266107f5 constexpr uint128_wrapper (#2215) 2e0d64cf specify size for `prefixes` static data 95da4847 Fix a link 06b3a100 Add support for time points with arbitrary durations (#2208) dac42f52 Inline fallback is_constant_evaluated 7c43f8b8 Don't use strlen at compile time (#2205) c62e4c30 Make buffer_appender default-constructible when back_insert_iterator is 0d6b70d9 Install gcc 8 15c10b0c Add speech synthesis support 308510eb "Use" `fwrite` result (workaround for `warn_unused_result`) afe23e7f Don't call fileno on NULL file in tests (#2196) b49af043 Remove noexcept from file's move assignment 14848875 Fix: fmt::ostream cannot be moved while holding buffered data #2197 (#2198) 7d8c3401 Update pull_request_template.md b966afcc Remove formattable ec5315a9 Use strlen when possible in fallback basic_string_view 4f8778ba Inline basic_format_args's ctor e2d87548 user-defined constructor f7151d38 Extra flag to prevent Intel compiler with Clang front-end warning of 'unknown attribute no_sanitize' 0fb8ef8f Inline trivial argument handling functions 1b23e25f Simplify formattability check 35c71ff5 Only use -Og with optimizations disabled 243d8beb Enable minimal optimizations in debug mode 9b34681d Work around xl compiler bug when nvcc preprocesses this file (#2190) 4dc7170d Fix C++17 builds: (#2192) 9cb347b4 Simplify argument formatters 0f85a468 add default cases (#2186) 417e1cee Stop using deprecated UDL templates f7e900e1 Simplify UDL definitions d9661c8f Mark grouping as deprecated 14a2a64d Fix handling of formattable types with to_string_view (#2181) 6ae402fd Fix handling of types with to_string_view and formatter specialization (#2180) a6408a3b Add args-test 1147782c Fix an ambiguous call to check caused by ADL (#2184) 2f3f3862 Fix harmless MSVS warning about using undefined _MANAGED symbol (#2183) d0bded59 Fix MSVC /clr builds (#2179) 8308f52c Fix dynamic_format_arg_store::push_back comment 6151d0dc Fix the comment 5a1127b7 Don't wrap named arg in cref and clarify docs b8ff3c18 optimize append (#2164) c8d8b882 fix GCC 7,8,9 warning about unused but set parameter (#2177) d2810187 Document ostream support limitation bac14ef9 Simplify integer spec checking 8f9db3fc Make ubsan happy on empty format specs (#2175) af567538 Bitpack integral prefixes cdf877d4 Workaround missed optimization opportunity eef4ba9c Optimize integer formatting without padding a1ea8a82 Unbloat my heart a457e163 Simplify integer formatter 05bc87a6 Optimize padding 605b6037 Optimize count_digits for powers of 2 85ba2716 Implement 128-bit count_digits in terms of count_digits_fallback d9835737 spec -> specs f9e0e904 Apply clang-format 60f5d244 Simplify arg_formatter 30e1302e Simplify on_format_specs 87c5cd46 Optimize parsing of argument ids 6a9016ea fix `formatted_size` with "compiled format" as argument (#2161) 6e1fc017 Move detail::truncating_iterator to fmt/compile.h e718ec3e Make truncating_iterator an output_iterator (#2158) 772aeca3 Don't include <cassert>. (#2148) (#2152) 684b5b0e Fix fallback to runtime API from compile-time API (#2143) d8b92543 use simplified `void_t` for all compilers other than gcc 4.x (#2160) 835b910e Add an is_formattable trait 57887403 Revert "Optimize handling of integer constants" (#2147) 640acba8 Print x.what() of FMT_THROW when exception is disabled (#2145) d8e1c9f1 fix `fmt::get` for some GCC versions and legacy Clang (#2144) 2797588b Optimize handling of integer constants e8eff3b8 Fix FMT_STATIC_THOUSANDS_SEPARATOR (#2142) ab0f7d7f use const& for arguments 29cc8282 update chrono duration formatter (constness), use it in compile-test for specs checks 3f69af3a update wording in the error inside `arg_id_handler`, use `FMT_ASSERT` instead of `throw` 499047e1 fix incorrect indexing mode for named args, update tests 78c67157 prepare tests, fix incorrect handling of named args with simple `{}` replacement fields b31bc2dc simplify `try_format_argument()`, make `manual_indexing_id()` a variable 95e1aa2d add support for manual indexing and named fields, add tests 7e72673d Improve width estimation (#2033) 13b117b5 Improve code point computation ee0fed63 Fix handling of the + flag with locales (#2133) c5979d56 Fix fmt::localtime formatting not working in wide-char string contexts e6ef927e fmt::ptr: Support function pointers (#2131) 58aa0457 Fix ordering of install commands for CMake (#2122) 1980ca8c fix #2118: FMT_COMPILE did not work with tm formatter (#2119) 2a25e2bf Make ranges-test available with C++11 (#2114) b0b56b43 fix #2116 (FMT_COMPILE requires exceptions enabled) (#2117) 373262f9 Update docs ce519e93 Fix exception propagation from iterators (#2097) acef0bb5 use gcc-10.2 instead of gcc-10.1 on CI, also fix one problem (#2110) 8bf28e6b Add support for s format specifier to bool (#2094) (#2109) 9c418bc4 Update README.rst 456efa46 add missing detail namespace (#2107) 80dc7cce Fixed format.h(1465): warning C4702: unreachable code (#2106) 7fd535c6 Cleanup 'L' handling b4b8917c Update docs e4f2cf45 Make 'L' a modifier 6972b5f3 Add build variable: FMT_MASTER_PROJECT (#2100) ac352081 Install fmt/args.h (#2096) 532e846b Fix width computation in float formatter f8c2f848 Fix handling of width when formatting int as char 0fe0b15e Fix handling of # in width computation 061e364b Document output_file 018688da Correct a typo on syntax.rst (documentation) (#2081) 9ec5592b Fix writing to stdout when redirected to NUL on Windows (#2080) cdc5ef67 Remove fallback to inline specifier from FMT_CONSTEXPR(20) macro (#2075) c9dd1eb9 Don't change charset d09b5c14 Fix std::byte formatting with compile-time API (#2072) bbd6ed5b Add support of most format_specs for formatting at compile-time (#2056) a750bf3a Update api.rst 1256541d Fix formatting 4fa4c924 Add tests for FMT_ENFORCE_COMPILE_STRING, fix several errors (#2038) aa89e380 add cwchar to format.h for std::fputws (#2073) 5a37e182 Disable warning about format string (#2067) fa43fd14 Forward arguments to work with views (#2068) 3551f5d1 Workaround a gcc 10 -Warray-bounds bug (#2065) e7376726 Remove an old mingw workaround (#2059) 25a41b80 Fix a link to Android.mk (#2057) 9293f707 Suppress gcc warning on privates-only class (#2053) c20874c2 Reenable support for fallback formatter in join (#2040) (#2050) 5de0bc1d Add UDL as replacement for FMT_COMPILE (#2043) a6fafe2f docs: use https for some links (#2051) 33f9a6d3 Fix handling of enums in to_string (#2036) aabe0a84 simplify tests by reordering arguments of `EXPECT_EQ` (#2044) 1f4a76d2 Add a missing include (#2047) 4a6eadbd Make std::byte formattabe (#1981) 683a7450 fix formatting with empty compiled format string (#2042) f43416e1 Add a link to contents from index 5a493560 Move some code from core.h to format.h where it is used 9ed0a981 Fix docs build dac753b8 Basics of formatting at compile-time based on compile-time API (#2019) 119f7dc3 Truncate file by default 22a68d16 Don't emit trailing zeros by default d0110b7e Update README.rst 3f4839ce Merge branch 'release' of github.com:fmtlib/fmt 7bdf0628 Update version fc135511 Update changelog 926233bd Fix test 0683fa7d Bump version 6ce207b9 Fix formatting 07b1c1a1 Update changelog 58992761 Reintroduce ostream support to range formatters (#2014) b8957f50 Fix an overflow in format_to_n (#2029) df66516e Workaround an issue with mixing std versions in gcc (#2017) a57baa69 Fix more linkage errors (#2011) 85534a13 Fix linkage errors when linking with a shared library (#2011) a2fa5d62 Update changelog cd300368 Fix more linkage errors (#2011) d1ef29d6 Fix initialization of iterator_buffer (#1996) 5f41bb0f clang-format a58a6b27 Add a newline a036cc97 Reintroduce ostream support to range formatters (#2014) 38c7def4 Update clang version to 3.4 since there are ICEs on earlier ones 55336413 :new: [CI] Test with C++14 in Windows 2019 (#2020) 55dfdd92 Update README.rst 2c734c9b Fix an overflow in format_to_n (#2029) 6cdd1be9 Update build.gradle for latest AGP (#2026) bcc20b29 Implement compile-time checks by default befd7d4a Always use FMT_STRING internally where possible [Issue #2002] (#2006) f8640d40 Add more standards f81c14aa Workaround an issue with mixing std versions in gcc (#2017) 5555651c Fix more linkage errors (#2011) b268f881 detail::write in one more place relevant to printf with long argument… (#2016) aa9b09a9 :bug: Cannot call non-constexpr function in constexpr context (#2010) 986fa004 Printf get container (#1982) 7abc3c01 Suppress a useless warning (#2004) 6d14f781 Fix linkage errors when linking with a shared library (#2011) 9534b9fe Refactor warning suppression 60dc2735 Simplify on_text b5dac0f0 Reduce <algorithm> usage (#1998) a07627b1 :bug: Implicit sign conversion warning in clang in c++17 and 20 modes (#2009) 1b8f499e :wrench: Silence useless cast warnings (#2008) f428d286 Update README.rst beb248b6 Optimize handling of large format strings 1936dddc fix gcc warning of missing override (#2001) 14f6bd0f Move one more headers to args.h e01d26e1 Optimize includes e528d919 Merge branch 'master' of github.com:fmtlib/fmt 48816772 Update signatures 3302fd10 use memchr for searching for '%' in printf format string (#1984) 4c2d6372 Update signatures beaff396 Update signatures ffa0a083 Use newer versions of Sphinx and Breathe 038057eb Document contexts 5bedcb66 Fix initialization of iterator_buffer (#1996) 2435ea41 Workaround MSVC mess 8c6215f5 Fix fmt/color.h 10ebe6cb Document color 1ac50fcb Suppress more bogus warnings e098be8e Fix warning filtering 8cf0afaf Improve docs e29f93e8 Suppress more bogus warnings 4e8d000f Suppress more bogus warnings 7787792e Fix re usage 6ee5e507 Fix imports 06ee32d1 Filter useless doxygen warnings 86bb7fe6 Add a missing import 959a9f5c Merge branch 'master' of github.com:fmtlib/fmt 4f7df299 Improve docs b3ab0bc7 :art: [CI] Specify the exact version of clang to use (#1991) 701ed6c8 Install deps in github actions instead of script 8f2131cf Document chrono 32c4af8f Document chrono 295a60ec Document chrono a4fae96c Document chrono 263bb0e6 Document chrono 0506b328 Document chrono 4e426c19 Document chrono 9795d873 Update docs 2eb0be0b Remove debug code and fix bot contact cd955798 Move less installation to actions 98639d0f Debug doc build ab5e0632 Debug doc build b123129f Dump the content of html dir 81d2b986 Print less command 7a0b1d57 Add key 9f0617cb Fix branch ref 75b07598 Chrono docs dfbb6975 Remove travis config 5b3052f9 Switch doc build to github actions 506ff320 Fix build failure when not using fcntl with -Werror (#1990) a30b279b Apply clang-format and tweak comments 6a2495c8 -Wattributes visibility warning with some GCC versions (#1975) cba5970c Remove migrated build configs 689081d8 Merge branch 'release' of github.com:fmtlib/fmt cc09f1a6 Update version e4eb242c Update changelog and bump version ce98e0c6 Fix fallback float formatter at assymetric bounds (#1976) 49544ea9 Fuzz fallback formatter 6b7bfed4 Fix fallback float formatter at assymetric bounds (#1976) bcab36da Update CI config 1689e73e Move PR template 0103408a Update CI config 38a16ecb Move build config to github actions 205eb3a8 Update CI config fe61b8c6 Update CI config 867b15d7 Update CI config 98cb9f99 Update CI config 95077d60 Update CI config bc49f094 Update CI config cef6dfb4 Update CI config c8703ba4 Update CI config ab4405be Update README.rst 78a55e28 Update CI config d0a2494a Update cmake.yml 89d009ba Update cmake.yml 1f4ff47b Create cmake.yml eb52ac7a :new: Enable -Wshadow in pedantic mode e904e891 :art: :bug: Rename all shadowed types and variables 771292c3 Remove sizeof from unused variable silencer (#1974) 86bf6045 Merge branch 'release' of github.com:fmtlib/fmt 5f7f7b95 Update version 5d3f0741 Update changelog and bump version 563cbb6c Add a macro to workaround clang/gcc ABI incompatibility on ARM 425778aa Fix ABI compatibility (#1961) 69a84198 Remove accidental parenthesis (#1968) 5c045049 Removed [-Wsign-conversion] warning in GCC 556a1cfb Instantiate to_decimal to make gcc lto happy (#1955) 28a8eae8 Cleanup 236fea1f Workaround bugs in gcc 8 e50ced88 Add a macro to workaround clang/gcc ABI incompatibility on ARM 112755cf Remove FMT_SAFEBUFFERS (#1966) 4081b2fe Fix ABI compatibility (#1961) 2d9311e8 Remove accidental parenthesis (#1968) b3a4f28a Fix implicit signedness conversion warning (#1963) 97c88732 Allocator::max_size support in basic_memory_buffer (#1960) bb68f608 Removed [-Wsign-conversion] warning in GCC f4ca065c Range support cb224eca Instantiate to_decimal to make gcc lto happy (#1955) 7977c2b4 Cleanup e54eb676 Workaround bugs in gcc 8 4fe0b111 Update version df4bd60f Bump version 764fb35e Always install the required version of breathe e1bdc0ec Use the correct version of sphinx 39bde329 Tweak markup 204d299a Tweak markup e0995b1c Update readme 4af178bd Remove outdated build config aa41dc02 Remove unused script 6a77ea3c Tweak markup 62c72059 Update changelog c10e3f7f Update changelog e542e695 Update changelog 530cf316 Point to the release, not dev documentation 740385d6 Update changelog cd465111 Update changelog 46291be3 Update changelog 90071c1d Update ChangeLog.rst 25293d7a Update ChangeLog.rst 5024742f Update ChangeLog.rst 0452a4e7 Update changelog 8de96817 Woraround bugs in gcc 8 47e16767 Simplify arg formatter f0a42346 Move parsing optimization one level up 86287b8d Optimize common case in parse_format_specs 8924211f Update README.rst 525e7649 Update CONTRIBUTING.md 0ecb3d18 Optimize alignment parsing 97553078 Optimize format_uint 7446818f Simplify vformat_to 280b5612 Add option to force usage of inline namespaces e57ec7d5 Merge vformat_to overloads 2a3f4de3 Remove iterator_category 27fdb4ea Unshadow floaty 297e0bad Apply clang-format e3b4c22e Simplify is_output_iterator da8278e1 Update changelog and bump version 17fba753 added position independent documentation (#1939) 71e705a2 Update README.rst 74654c8c Fix compilation for systems without fcntl.h (#1942) f468b203 Avoid conversion from long long to size_t (#1935) 20d4f2e8 Fix handling of weird character types when parsing sign (#1932) 08370c39 Update README.rst bd3c7925 Fix float fuzzer 8d3fd86d Merge branch 'master' of github.com:fmtlib/fmt 40347157 Update README.rst 37d738fa Update README.rst 271eff14 Make classes derived from buffer<T> final to silence the virtual destructor warning. (#1937) 010efc31 Add float fuzzer and cleanup 811c8b58 Add float fuzzer and cleanup 82c4e223 Cleanup fuzzing 63e40c96 Fix naming of fuzzers 2f448ed5 Fix fuzzer timeouts af283059 Cleanup 48ea8193 Explain why assert-test is a separate test 1d112bdd Remove old test 5eb292a6 Update README.rst 7e56b6b6 Fix coding style and remove duplicate fuzzer 41d97e1e Fix a UB on ridiculously large precision 01c37e0a Added check for `-mbig-obj` and ref qualifier check (#1929) a5e7e7db Fix handling of thousand separator (#1927) bf19051a Optimize floating point formatting 3c13a88b Optimize floating point formatting f6d75c53 Refactor write_float e9c0b2d6 Merge write_float overloads 7eddbfed Cleanup exponent handling in write_float b347b302 Update dynamic_formatter comment (#1923) 3541880e Fix integer overflow when using max int precision 7b50dc0b Don't exclude all detail symbols from docs 28052431 Fix the doc config 34f22e88 Cleanup CMake config a18b3fbb Fix fixed precision handling when rounding (#1917) 72770357 Fix long lines in usage.md 7612c1ea Add reference to lhelper package manager in usage b91d39f2 Get rid of float_writer b4b64b9c Refactor float formatting 712abe40 Workaround a bug in gcc 7.5 (#1912) af8a180a Make GetCachedPower test more precise a581e9e5 Fix warning C4018: '<=': signed/unsigned mismatch (#1908) 05a28312 Update docs 4d0aa4d8 Update link 575f4018 Simplify FP formatting and follow coding conventions 6f3536f9 Move zero-check to an earlier branch (#1906) 90ef46df Fix dragonbox integration 3ae88147 Fix declaration 64179525 Improve dragonbox integration 79694d42 Fix WriteConsole signature 51f2e2ca Move nan test to where it belongs 68555fdb Make format-test not depend on color.h 63e0c354 Make dragonbox::to_decimal available in format.h 2213a711 Update README.rst 79ba37f3 Update README.rst a905d8f7 Merge grisu-test into format-test 762c33a9 Simplify windows handling (#1903) 253d6315 Remove dependency on windows.h (#1900) c156093f Fix carry in fallback_format 34179b33 Update format.h (#1898) 0651e459 Minor tweaks to get_cached_power 6c025520 Test that max_k is correctly defined 51f8d0cc Reuse log10_2_significand constant 1305cbeb Fix MSVC2019 error C2049 when compiling with /clr (#1897) 2d4fde3a Don't emit trailing zero for consistency with std::format 5fd89d50 Minor simplifications 605ce5e4 Simplify divisible_by_power_of_2 085171e7 Remove grisu_count_digits aa729bf2 Remove dead code aa2ddf9b Simplify Dragonbox integration c1654ce4 Simplify uint32_or_64_or_128_t definition 33712dc0 Combine pragmas e5942ac9 Tweak comments aae7a133 Remove unused pragmas 6bcde9aa https://github.com/fmtlib/fmt/pull/1882#issuecomment-696823912 (#1894) bb0db5e5 clang-format 16410056 Optimize copy_str for counting_iterator 2591ab91 MSVC optimizations for count_digits. (#1890) d5b8002d Update README.rst 821471e1 qkw: generalizing aliasing | using fmt library and it's features (#1888) 2e620ddb Small improvements that should have zero to negligible impact on the runtime (#1887) 2f7e0885 Disable range formatter if value type is not formattable (#1885) c46a8de4 Simplify test 2696dc92 add forgotten template argument to make_format_args which made some u… (#1877) 0016da7a Don't generate zeros and fix UB on huge precision ce3f7699 Merge intrinsic blocks 3b6248f6 Change formatting 2d9b1dd0 Fix sign mismatch 1f0600a2 Fix bug regarding FMT_SAFEBUFFERS 2ecdbb98 Fix a bug in ctzll 6f81ea15 Fix typo (and thus bug) 0c8ffe9b Implement Dragonbox (first version) 42699bf4 Fix msvc version of clz & clzll (#1880) bc51a8df Disable fallthrough attributes for the Intel compilers on Linux and MacOS (#1879) 45da432d fix compiler warnings in public header files d55e61f1 Improve FMT_ALWAYS_INLINE (#1878) 7e682752 Remove trailing zeros when using fallback formatter (#1873) 1d696dc2 Handle exotic character types in compilation f674434a Add format_to_n overload that accepts FMT_COMPILE (from #1767) (#1869) 5b5a5971 Fix handling of wide alignment f80ed64d Update README.rst 38139664 Simplify fallback format dce8e49b Handle float in fallback formatter 78b59443 Spelling f233b56c Don't generate insignificant digits 595902f8 Update test 4f2ee892 Use built-in FP formatter for any precision 58a044be Use built-in FP formatter for any precision efe3694f Macro tweak and clang-format 9f312fe8 Implement fallback FP formatting with given precision (#1526) fb289cf5 Fix coding conventions 86f0a704 Fix formatting bff4d18e Add color format_to overloads * Fix variable size basic_memory_buffer colorization * Fix an unused arguments warning on GCC that blocks the CI otherwise * Ref #1842 * Ref #1593 f19b8885 Fixed a warning in mingw32/mingw64 (#1860) f8e00a08 NOMINMAX not handled properly (#1855) 6cccdc24 Fix move constructor (#1844) 69902c17 Allow use of <fcntl.h> in Linux when __has_include is not available (#1848) 1edd38b9 Add append mode. (#1847) e66ba169 Added build2 usage instructions. (#1838) f39e6fb6 Add formatters for chrono::time_point<system_clock> (#1837) 77b627be Fix bogus MSVC warnings (#1825) 5dff01d3 Add complex tests d16d585e Update signatures c7e6d8af Fix usage of override (#1836) 92bff2fe Revert "Add missing includes" a0dcfbc5 Add ptr to docs 1651b2d4 Fix detail::write with fallback formatter (#1829) 06895a76 Add missing includes 92a448a0 Apply clang-format 6be65446 Fixing buffer_appender's ++ slicing (#1822) 951e0d23 CMakeLists.txt: Added Wundef warning to clang and gcc. (#1823) f9f02df7 CMakeLists.txt: Clang-warnings: removed -Wno-sign-conversion (#1817) 76e97dc4 Eliminate shadowed variable warnings on intel (#1816) e204df0e nvcc compiler should be EDG-based, but fails test (#1818) 1c8bb547 small changes to reduce clang-9 warnings (#1808) 4b69c787 fix: warning C4100: unreferenced formal parameter (#1814) fb0aeb82 fix: disabled UDL templates for PGI (#1811) (#1812) 54daa086 Add dynamic width support to FMT_COMPILE (#1809) 6fb7c6fb Workaround a bug in gcc10 (#1810) 16985fda Update README.rst 1378ddae Update README.rst 4fd95e4b Don't remove trailing zeros with # e06ae322 Avoid warnings on functions with external linkage that don't have declarations 7fc3d1f5 Add override to grow 065889a5 Use correct capacity in iterator_buffer (#1807) d0dd6786 Adding convenience append(range) 0e7cef06 Merge commit 'c13f79e0' e2c8c455 Update README.rst e4c954ff Update README.rst c13f79e0 Merge release branch d7921d64 Update README.rst 4a4fc225 Update changelog 61602a75 Remove -Wno-shadow 2f8fc29e Update README.rst 717b226b include/fmt/format.h: explicit cast to std::size_t for parameter to buffer.resize() in order to get rid of warning 'implicit conversion changes signedness:' in clang-8 (#1802) 2a69f567 Tweak buffer size ea769338 Simplify ostream 5413713c Remove unused function 57f46242 Increase the default buffer size 0b6e7cc6 Update README.rst e587adb4 Simplify count_digits 279d698e Fix handling of default alignmment with locale (#1801) 76cfb50b Test complex formatter 20829120 Optimize count_digits 8d9ab967 Cut a few cycles from count_digits 73434493 Simplify ostream_params 2a47a1e4 Update README.rst 7c4c5c79 Make buffer size configurable f0b84da5 Don't use 128 bit integers with clang-cl (#1800) a3dfd6f9 Workaround a bug in msvc 51d05521 Workaround broken numeric_limites, part 2 (#1787) 21c8b5c1 Report error on missing named argument (#1796) d82fdcc9 Fix handling of iterators in locale-specific formatting (#1782) 633213d9 Merge release branch e8f2580a Bump version 6cefe55a Update changelog 64e2da15 Update README.rst 1c8c810f Update README.rst c2399ccf Update README.rst a7c5db06 Update README.rst a4c22acd Update README.rst 0c1f4b5a Update README.rst 63b422ee Update README.rst 26e81a67 Update README.rst de5fc6af Update README.rst 9c2edfd1 Partially revert 638db5 because it breaks the doc build 810357c0 Document color 0a7032a4 Update README.rst 95d3abf9 Make format_to_n part of the core API 98626093 Correct the locale format specifier in api.rst (#1792) 47f8d7a3 Make formatted_size part of the core API 46a63b70 Update docs 430f393d Disabled __attribute__((deprecated)) usage for LCC (#1790) febffa4e Make join() handle non-const-only begin/end ranges (#1786) d69e2da2 Fix apidoc ce73ea37 Reorder functions d39d661b Workaround broken numeric_limits (#1725) c228bfe8 Improve docs 38ce19f7 Update README.rst d11849bc Add FMT_REDUCE_INT_INSTANTIATIONS flag (#1781) c08518a2 Move make_args_checked to the public API e2837084 Add a color section 9f0c0033 Simplify format string checks d615137c Improve handling of buffer iterator 26b47b6f Bump tested CMake version to 3.18 7a01c9c5 Update README.rst b17d5c4f Fix a regression in handling digit separators (#1782) eb90da2e Type erase output iterators 9d3cd0af Type erase output iterators 18024853 Fix compatibility with CMake 3.4 (#1779) f5d4215b Trying to clear ambiguous compile time claims (#1775) c26349f4 Improve error reporting f4b11ef6 Add a short anchor 0097cf11 Report unformattable type name more prominently 8fa20b47 dev -> latest a03bd3dd Autodetect MSVC static runtime (#1770) c108ee1d Clarify a comment a8074a86 Update README.rst 5f629548 Update README.rst bd903f96 Clarify precedence 16cac46a Improve handling of streamable and convertible to bool types (#1766) 415cd519 direct_buffered_file -> ostream e1bfb596 Fix handling of code units in compile ba8d98cb Cleanup direct_buffered_file 04a1f6e9 Improve handling of single code units in compile e4f57bfd Add an overload of write for buffer_appender d8704681 Make append work with fixed-size buffer e8ec09ae Cleanup core-test a2c4fed9 Double buffering no more 36406509 Add a fixed buffer 60c43e87 Apply clang-format b998e0f3 Reduce symbol sizes and simplify iterator use c5adfc51 Update README.rst c4ad94ce Update README.rst c1429651 Fix image source link 638db5ca Use Cmake to find Python and Sphinx-doc. c0905697 Update readme 1efdb2dd Simplify readme dc69afad Cleanup example 445f5d39 Break long lines 23063c34 Update readme f57b6257 Move PR template to the top level git-subtree-dir: externals/fmt git-subtree-split: 9e8b86fd2d9806672cc73133d21780dd182bfd24
2021-06-23 08:39:40 +01:00
| ``'c'`` | Character format. Outputs the number as a character. |
+---------+----------------------------------------------------------+
| ``'d'`` | Decimal integer. Outputs the number in base 10. |
+---------+----------------------------------------------------------+
| ``'o'`` | Octal format. Outputs the number in base 8. |
+---------+----------------------------------------------------------+
| ``'x'`` | Hex format. Outputs the number in base 16, using |
| | lower-case letters for the digits above 9. Using the |
| | ``'#'`` option with this type adds the prefix ``"0x"`` |
| | to the output value. |
+---------+----------------------------------------------------------+
| ``'X'`` | Hex format. Outputs the number in base 16, using |
| | upper-case letters for the digits above 9. Using the |
| | ``'#'`` option with this type adds the prefix ``"0X"`` |
| | to the output value. |
+---------+----------------------------------------------------------+
| none | The same as ``'d'``. |
+---------+----------------------------------------------------------+
Integer presentation types can also be used with character and Boolean values.
Boolean values are formatted using textual representation, either ``true`` or
``false``, if the presentation type is not specified.
The available presentation types for floating-point values are:
+---------+----------------------------------------------------------+
| Type | Meaning |
+=========+==========================================================+
| ``'a'`` | Hexadecimal floating point format. Prints the number in |
| | base 16 with prefix ``"0x"`` and lower-case letters for |
| | digits above 9. Uses ``'p'`` to indicate the exponent. |
+---------+----------------------------------------------------------+
| ``'A'`` | Same as ``'a'`` except it uses upper-case letters for |
| | the prefix, digits above 9 and to indicate the exponent. |
+---------+----------------------------------------------------------+
| ``'e'`` | Exponent notation. Prints the number in scientific |
| | notation using the letter 'e' to indicate the exponent. |
+---------+----------------------------------------------------------+
| ``'E'`` | Exponent notation. Same as ``'e'`` except it uses an |
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 21:03:34 +01:00
| | upper-case ``'E'`` as the separator character. |
+---------+----------------------------------------------------------+
| ``'f'`` | Fixed point. Displays the number as a fixed-point |
| | number. |
+---------+----------------------------------------------------------+
| ``'F'`` | Fixed point. Same as ``'f'``, but converts ``nan`` to |
| | ``NAN`` and ``inf`` to ``INF``. |
+---------+----------------------------------------------------------+
| ``'g'`` | General format. For a given precision ``p >= 1``, |
| | this rounds the number to ``p`` significant digits and |
| | then formats the result in either fixed-point format |
| | or in scientific notation, depending on its magnitude. |
| | |
| | A precision of ``0`` is treated as equivalent to a |
| | precision of ``1``. |
+---------+----------------------------------------------------------+
| ``'G'`` | General format. Same as ``'g'`` except switches to |
| | ``'E'`` if the number gets too large. The |
| | representations of infinity and NaN are uppercased, too. |
+---------+----------------------------------------------------------+
Squashed 'externals/fmt/' changes from cd4af11e..9e8b86fd 9e8b86fd Update version 92fec0f0 Bump version 4749cc93 Update changelog 78a0ba0a Improve conversion of paragraphs 7a39837d Use a working breathe version 55b6e92d Fix docs 69dc3a85 Fix docs 27f4cdd5 Update changelog 70d61a0a Update changelog 427b5340 Add no_value state to value e421d527 Simplify error handling in parse_nonnegative_int a59678f3 Fix chrono_test.locale c98254c3 Install locales into CI c123a728 Fix set locale error in chrono formatter 3c8fad12 Optimize parse_nonnegative_int f28cf330 adding a default format for std::chrono::time_point<std::chrono::syst… (#2345) 55010a9d Support non-`char` overloads (module) 0193e7c4 Support compile-time strings and compile-time format string compilation in module 3423d754 Remove the msvc workaround (#2351) f6b5cc9f Fix chrono_test.weekday on legacy glibc 59a298f1 Enable `enforce-checks-test` for MSVC, too 36c29482 Update docs c9fe1fa5 Remove unused flag dccddc2b Apply clang-format 0e36681b Cleanup digit count 1de80f5b Workaround lack of static constexpr in constexpr functions 2039dce7 Detect consteval d551b88a Move is_char specializations to xchar.h 16c3514d wchar-test -> xchar-test 206000a0 Workaround pathological conversion (#2343) 76ee4904 Move wchar/custom char overloads to xchar.h e77b22d6 Deprecate memory buffer overload of format_to 07039f4b Update README.rst 4678192c Remove bsr2log10 7c3d3dfa Update thousands_sep_impl signature ef826b86 Fix docs 5223f552 Remove FMT_ALWAYS_INLINE cfde93af Add FMT_STATIC_CONSTEXPR 986a5a6c Fixed join_view formatter for wchar_t 7c8b35ff fix MSVC Win32 count_digits 3eeb084e Optimize count_digits 2ac0bfe5 Improve handling of thousands separator 024741b4 CI: set up multi-thread build for all platforms f4c95f6d Improve handling of thousands separator d4fbeacc Fix docs build 0eef389d Code style e27b1ce5 Fix docs 9f8b6dac Fix wheel installation 6060bcfc Fix docs ff967346 Fix docs 1085cc21 Fix docs 11addaa1 Update docs 760ca5cc Update docs 290d3f8b Cleanup ranges API aa09e0f5 Update docs d142579e Cleanup the format API f286139d Fix "undefined reference to `fmt::v7::detail::basic_data<void>::digits'" 7b9d69b8 Add xchar.h to docs cbd861f1 Update docs faf972f0 Update docs 622d1c04 Update changelog 634c9487 Update changelog a04e3a2d Comment 87876d54 Cleanup the printf implementation d338d663 Cleanup the printf implementation 272660e7 Remove deprecated printf functions 5a95c5ae Update changelog 70e67ae0 Re-enable module testing Prepare for compilation with gcc (modules branch). ad972589 Merge branch 'master' of github.com:fmtlib/fmt ed2a6377 Workaround msvc constexpr issues 99768695 fix custom types formatting at compile-time, add test 8c1b22ba Workaround a gcc 9.1 bug (#2334) 2dba1cfa Update changelog d7ba6c3e Use qualified name-lookup in module. (#2324) bf9904ee Workaround msvc bugs 577bce90 Apply clang-format ba4c7f19 Swap parameter order to match #2327 (#2329) e9e89b35 Update ChangeLog.rst 9bb406d7 Update changelog 11a14db2 Update format_to taking a buffer and remove undocumented vformat_to overload 832ec098 Fix argument order in locale overload of vformat_to (#2327) 486a80e8 Move wchar_t overloads to xchar.h 19d45f4b Update changelog 5a2b88f6 Reduce binary size 00a39ad5 Enable `Char` types other than `char` (#2323) ff37e416 wchar.h -> xchar.h because it handles other code unit types too 0901176f arg_join -> join_view a9a90181 Move wmemory_buffer to wchar.h 4a7801c3 Update changelog 517578f8 Update changelog 85442ed0 Update changelog 6a12b13a Update changelog 1cfe3c73 Update ChangeLog.rst c0601479 Update changelog 6fe04871 Update changelog 9d67988a FMT_DEPRECATED_WCHAR -> FMT_DEPRECATED_INCLUDE_WCHAR 765b451e Update changelog 17c993c7 Fixed compilation with CMake < 3.7 (#2321) dde69373 Update changelog 272b0f36 More module tests (#2309) 126c8cb4 Export os.h API, too (#2318) 98b9ff47 Align hex floats right as default (#2317) ece4b4b3 Update changelog a70a4ae0 Ignore zero-padding for non-finite floating points (#2310) 7612f18d Update changelog b9f2c276 Update changelog 4e21baff Simplify get_units 683ef11a Update changelog ca466374 qualify make_format_args (#2315) 5a2a1856 Make buffers non-movable ee52a6dc add `fmt::print()` overload to support compiled format (#2304) 82607efb Fixed int conversion warning (#2313) 35a2c2a7 Refactor chrono formatting b955e7a6 Refactor chrono formatting 883d9595 Support alternative locale names in tests 1f308a3c Update integer presentation types documentation. 1cd9899c Add initial support for weekday formatting 069131dc Add unicode-test dd8f38fc Cleanup printf API a216f256 Remove undocumented and obsolete vprintf overload 0c092639 Add is_exotic_char trait bc13c6de Update README.rst 8ec0b9e3 Do *not* export namespace `detail` b99c2bd3 Remove deprecated `locale.h` from module interface unit c04a2439 Update changelog b099a56f Update changelog 703005c8 Deprecate locale.h 51f01786 Cleanup the format API 5d59dcf6 Remove deprecated aliases / undeprecate has_formatter c242dd40 Move cerrno include to where it is used 2216e0b7 Update changelog 1c83a49b Simplify buffer extraction 2617384d Improve buffer extraction 34b8acae More wchar_t-specific API to wchar.h 6326c189 Improve code style consistency 5c4b0c86 Add missing Allocator template argument for basic_memory_buffer in format_to 00149c0b Move detail::null to chrono where it is used c5c968cb Improve binary size 128cbdeb cmake: hide private symbols by default 18af1dc4 Fix binary size regression caused by b268f88 d1e6f0f8 Fix binary size regression caused by b268f88 5a0d99fa Add a test for the module 6e2e6b79 Restore support for `wchar_t` overloads in module 24b677d0 Improve symbol sizes 63271a51 Fix ADL issues 61b4c923 Reduce code bloat 2a2e4c58 addressing nits. be48f4d6 Avoid unwanted sign extensions from MSVC in is_utf8. 13e65293 export missed symbols 71fb1138 fix compile error on msvc preview 4 (16.10) involving lookup clash /w STL 08d22503 Remove outdated comments 56f518a9 Update signatures b7f29337 Update signatures 7483dfc6 Update signatures 95c358f7 Improve separation between code unit types 39c3c4ec Simplify the core API e9c1c415 Improve compile-time checks 21d93bfd Move generic format functions to format.h 9a92eb41 Move more wchar overloads to wchar.h 0dd91e20 Add wchar.h for wide char overloads ce14eafc Simplify format string checks 8d70c0ed Refactor the format API 813ac495 More API cleanups 4ab01fb1 Cleanup printf API d5036b11 Remove deprecated APIs 25819462 Cleanup the core API b35db4e0 Improve handling of 128-bit ints d35f1ad5 Cleanup core 8f1902c0 Move format string checks to core.h 6469b903 Silence msvc warning about an unused named parameter 7d4c92fb Update ChangeLog.rst 0763d8ca Fix Visual Studio warning 5466373a Do *not* export namespace `detail` 588bdb54 Simplify get_arg_index_by_name 54f22a3e add support for statically named arguments with FMT_STRING ea94d6d9 Prevent ambiguity in name lookup 57280762 Move specs checker to core.h ced30375 Move dynamic specs to core.h dd2bc998 Move specs to core.h 08da1adc Remove unused headers 3be0cc20 Fix handling of 128-bit ints 9648bdce add missing header d1aebdbd Inline format_to 8f0fadfa Cleanup docs 02896dab Avoid use after move (#2278) 0036a1d1 Fix issue #2274. 2a9b3146 Replace fmt::error_code to std::error_code 2165bef4 Update README.rst 48629308 Optimize format string compilation 3207a8bb Get rid of unnecessary recursion to enable inlining 6214f15a Optimize standard formatter specialization cd2c78fb Use write directly in formatter specializations 4211d865 Add a formatter specialization for std::error_code. 39f28424 Cleanup tests 84feeb0f Remove redundant comments and put common case check first 2665afb5 Cleanup add-subdirectory-test d0abe7c2 Make chrono formatting locale-independent by default 50fb0b5e Fix formatting 16f2ef91 Replace fmt::system_error with std::system_error 4b885c86 Replace windows_error with system_error 5238055f Move esoteric char type support to format.h 9ac088f3 Add fmtlog to projects 849c9f61 Move is_name_start to core 23892caf Move more parsing to core 8e6390c3 Move FMT_STRING to core 51a33713 Move parsing to core 9c3af11a Cleanup tests 9d7b53cb Remove redundant formatter specialization for byte f0095ccd Add support for ranges of types without formatters to join (#2262) 4f0eadfc Exclude fallback from is_formattable 400b953f Use [] instead of {} in ranges for consistency with Python format 38bcc04a Drop range limit and cleanup tests c738c343 Cleanup tests ed7c4320 Cleanup tests 9155e2de Cleanup tests 38127d9e Cleanup tests c9c0e507 Cleanup tests ccf4ccde Cleanup tests and format string compilation e96a92f8 Cleanup tests and format string compilation fd43e4dc gtest: fix std::is_trivially_copy_constructible for GCC 4.8 & 4.9 properly 3d51ccda gtest: remove obsolete `GTEST_LANG_CXX11` compile definition setting 833377ff gtest: add `.clang-format` file into `test/gtest` directory to prevent formatting there 53ca0cbe gtest: move GTest/GMock files to separate directory, update GTest/GMock usages 342973b3 Make wchar_t overloads usable in module Bring ''detail::find()' into scope. 355be4b1 Make FMT_COMPILE fallback on runtime without if constexpr (#2261) 0cd0fb91 C++17: std::char_traits<>::{compare,length} is constexpr - v2 d1a6e560 Keep defaulted destructors inline applies to exception classes in case of msvc only 84a36b99 Move data to functions ab7c33ed Suppress checked iterator warnings 77258f60 fix FMT_CONSTEXPR_CHAR_TRAITS check for MSVC d23e315e CI windows: add MSVC C++20 build f085c3d7 use proper check for non-type template parameters 69bdc20a Workaround missing std::system on iOS, take 2 847aac43 Follow naming conventions in tests 39818e79 Cleanup core-test 0e6f989b __THROW warning fix for e2k (#2253) 1678ed62 simplify field::format() and spec_field::format(), fix typo ca821982 use named arg with static name in compile-time API ce6e7d86 use fixed_string to create named arg class with static name for _a literal fc56af14 move fixed_string from compile.h to format.h bb006f97 Replace TYPED_TEST_CASE with TYPED_TEST_SUITE 6956b10b Fix gcc 4.8 build b4f9a058 Update gtest 8f9ddf45 Remove deprecated posix.h dacd1356 Add module interface unit d3c523e0 Export printf-related contexts from printf.h 2c25df08 Export replacement type_traits, too 553022dc Don't use std::system on iOS (#2248) 8a040d18 Cleanup core-test 064cac2b Bump version 5b2c740a Remove deprecated APIs b9ab5c88 Remove printf.h dependency on ostream.h c47f2112 Simplify data handling 54d3b171 Move more data out of basic_data 128f007b C++17: std::char_traits<>::{compare,length} is constexpr. (#2246) 841aad95 Move data out of basic_data 1d4199f4 fix udl_compiled_string with non-byte chars (e.g. wchar) (#2242) c5d4fcb1 Appending a space to guarantee non-empty strftime() result. (#2244) 62714062 Fix a warning (#2233) 52bd62c7 Create separate dllexport marking points for clang and msvc. (#2229) f4bbc54c Tag official API for module export (#2235) d8910af8 Use qualified name lookup rather than ADL. (#2239) 92601141 Ranges wide strings support (#2236) 24c97515 Try to suppress MVSC warn of narrowing (#2230) a1c6bfd7 Add a link to llvm diff 42eccac4 Fix clang warning about ignoring __declspec(dllexport) on basic_data<void> template instantitation definition (#2220) aec50434 Update README.rst 0b411454 Update README.rst 00f3d16b Update docs 99c2f7a3 Allow including fmt/core.h in the header-only mode b4415323 CI linux: add clang++-11 C++20 (with LLVM libc++) build 1dbadb65 CI linux: add clang++-11 C++20 build 09dbad47 CI linux: add missing build_type e2facffe CI linux: remove excessive clang++-9 include 273d8865 Suppress redef warning of _CRT_SECURE_NO_WARNINGS if any. (#2218) 5a8bf1f6 Workaround hexfloat inconsistency on windows (#2205) 78776ee4 Fix a conditional expression is constant warning #2210 (#2211) 266107f5 constexpr uint128_wrapper (#2215) 2e0d64cf specify size for `prefixes` static data 95da4847 Fix a link 06b3a100 Add support for time points with arbitrary durations (#2208) dac42f52 Inline fallback is_constant_evaluated 7c43f8b8 Don't use strlen at compile time (#2205) c62e4c30 Make buffer_appender default-constructible when back_insert_iterator is 0d6b70d9 Install gcc 8 15c10b0c Add speech synthesis support 308510eb "Use" `fwrite` result (workaround for `warn_unused_result`) afe23e7f Don't call fileno on NULL file in tests (#2196) b49af043 Remove noexcept from file's move assignment 14848875 Fix: fmt::ostream cannot be moved while holding buffered data #2197 (#2198) 7d8c3401 Update pull_request_template.md b966afcc Remove formattable ec5315a9 Use strlen when possible in fallback basic_string_view 4f8778ba Inline basic_format_args's ctor e2d87548 user-defined constructor f7151d38 Extra flag to prevent Intel compiler with Clang front-end warning of 'unknown attribute no_sanitize' 0fb8ef8f Inline trivial argument handling functions 1b23e25f Simplify formattability check 35c71ff5 Only use -Og with optimizations disabled 243d8beb Enable minimal optimizations in debug mode 9b34681d Work around xl compiler bug when nvcc preprocesses this file (#2190) 4dc7170d Fix C++17 builds: (#2192) 9cb347b4 Simplify argument formatters 0f85a468 add default cases (#2186) 417e1cee Stop using deprecated UDL templates f7e900e1 Simplify UDL definitions d9661c8f Mark grouping as deprecated 14a2a64d Fix handling of formattable types with to_string_view (#2181) 6ae402fd Fix handling of types with to_string_view and formatter specialization (#2180) a6408a3b Add args-test 1147782c Fix an ambiguous call to check caused by ADL (#2184) 2f3f3862 Fix harmless MSVS warning about using undefined _MANAGED symbol (#2183) d0bded59 Fix MSVC /clr builds (#2179) 8308f52c Fix dynamic_format_arg_store::push_back comment 6151d0dc Fix the comment 5a1127b7 Don't wrap named arg in cref and clarify docs b8ff3c18 optimize append (#2164) c8d8b882 fix GCC 7,8,9 warning about unused but set parameter (#2177) d2810187 Document ostream support limitation bac14ef9 Simplify integer spec checking 8f9db3fc Make ubsan happy on empty format specs (#2175) af567538 Bitpack integral prefixes cdf877d4 Workaround missed optimization opportunity eef4ba9c Optimize integer formatting without padding a1ea8a82 Unbloat my heart a457e163 Simplify integer formatter 05bc87a6 Optimize padding 605b6037 Optimize count_digits for powers of 2 85ba2716 Implement 128-bit count_digits in terms of count_digits_fallback d9835737 spec -> specs f9e0e904 Apply clang-format 60f5d244 Simplify arg_formatter 30e1302e Simplify on_format_specs 87c5cd46 Optimize parsing of argument ids 6a9016ea fix `formatted_size` with "compiled format" as argument (#2161) 6e1fc017 Move detail::truncating_iterator to fmt/compile.h e718ec3e Make truncating_iterator an output_iterator (#2158) 772aeca3 Don't include <cassert>. (#2148) (#2152) 684b5b0e Fix fallback to runtime API from compile-time API (#2143) d8b92543 use simplified `void_t` for all compilers other than gcc 4.x (#2160) 835b910e Add an is_formattable trait 57887403 Revert "Optimize handling of integer constants" (#2147) 640acba8 Print x.what() of FMT_THROW when exception is disabled (#2145) d8e1c9f1 fix `fmt::get` for some GCC versions and legacy Clang (#2144) 2797588b Optimize handling of integer constants e8eff3b8 Fix FMT_STATIC_THOUSANDS_SEPARATOR (#2142) ab0f7d7f use const& for arguments 29cc8282 update chrono duration formatter (constness), use it in compile-test for specs checks 3f69af3a update wording in the error inside `arg_id_handler`, use `FMT_ASSERT` instead of `throw` 499047e1 fix incorrect indexing mode for named args, update tests 78c67157 prepare tests, fix incorrect handling of named args with simple `{}` replacement fields b31bc2dc simplify `try_format_argument()`, make `manual_indexing_id()` a variable 95e1aa2d add support for manual indexing and named fields, add tests 7e72673d Improve width estimation (#2033) 13b117b5 Improve code point computation ee0fed63 Fix handling of the + flag with locales (#2133) c5979d56 Fix fmt::localtime formatting not working in wide-char string contexts e6ef927e fmt::ptr: Support function pointers (#2131) 58aa0457 Fix ordering of install commands for CMake (#2122) 1980ca8c fix #2118: FMT_COMPILE did not work with tm formatter (#2119) 2a25e2bf Make ranges-test available with C++11 (#2114) b0b56b43 fix #2116 (FMT_COMPILE requires exceptions enabled) (#2117) 373262f9 Update docs ce519e93 Fix exception propagation from iterators (#2097) acef0bb5 use gcc-10.2 instead of gcc-10.1 on CI, also fix one problem (#2110) 8bf28e6b Add support for s format specifier to bool (#2094) (#2109) 9c418bc4 Update README.rst 456efa46 add missing detail namespace (#2107) 80dc7cce Fixed format.h(1465): warning C4702: unreachable code (#2106) 7fd535c6 Cleanup 'L' handling b4b8917c Update docs e4f2cf45 Make 'L' a modifier 6972b5f3 Add build variable: FMT_MASTER_PROJECT (#2100) ac352081 Install fmt/args.h (#2096) 532e846b Fix width computation in float formatter f8c2f848 Fix handling of width when formatting int as char 0fe0b15e Fix handling of # in width computation 061e364b Document output_file 018688da Correct a typo on syntax.rst (documentation) (#2081) 9ec5592b Fix writing to stdout when redirected to NUL on Windows (#2080) cdc5ef67 Remove fallback to inline specifier from FMT_CONSTEXPR(20) macro (#2075) c9dd1eb9 Don't change charset d09b5c14 Fix std::byte formatting with compile-time API (#2072) bbd6ed5b Add support of most format_specs for formatting at compile-time (#2056) a750bf3a Update api.rst 1256541d Fix formatting 4fa4c924 Add tests for FMT_ENFORCE_COMPILE_STRING, fix several errors (#2038) aa89e380 add cwchar to format.h for std::fputws (#2073) 5a37e182 Disable warning about format string (#2067) fa43fd14 Forward arguments to work with views (#2068) 3551f5d1 Workaround a gcc 10 -Warray-bounds bug (#2065) e7376726 Remove an old mingw workaround (#2059) 25a41b80 Fix a link to Android.mk (#2057) 9293f707 Suppress gcc warning on privates-only class (#2053) c20874c2 Reenable support for fallback formatter in join (#2040) (#2050) 5de0bc1d Add UDL as replacement for FMT_COMPILE (#2043) a6fafe2f docs: use https for some links (#2051) 33f9a6d3 Fix handling of enums in to_string (#2036) aabe0a84 simplify tests by reordering arguments of `EXPECT_EQ` (#2044) 1f4a76d2 Add a missing include (#2047) 4a6eadbd Make std::byte formattabe (#1981) 683a7450 fix formatting with empty compiled format string (#2042) f43416e1 Add a link to contents from index 5a493560 Move some code from core.h to format.h where it is used 9ed0a981 Fix docs build dac753b8 Basics of formatting at compile-time based on compile-time API (#2019) 119f7dc3 Truncate file by default 22a68d16 Don't emit trailing zeros by default d0110b7e Update README.rst 3f4839ce Merge branch 'release' of github.com:fmtlib/fmt 7bdf0628 Update version fc135511 Update changelog 926233bd Fix test 0683fa7d Bump version 6ce207b9 Fix formatting 07b1c1a1 Update changelog 58992761 Reintroduce ostream support to range formatters (#2014) b8957f50 Fix an overflow in format_to_n (#2029) df66516e Workaround an issue with mixing std versions in gcc (#2017) a57baa69 Fix more linkage errors (#2011) 85534a13 Fix linkage errors when linking with a shared library (#2011) a2fa5d62 Update changelog cd300368 Fix more linkage errors (#2011) d1ef29d6 Fix initialization of iterator_buffer (#1996) 5f41bb0f clang-format a58a6b27 Add a newline a036cc97 Reintroduce ostream support to range formatters (#2014) 38c7def4 Update clang version to 3.4 since there are ICEs on earlier ones 55336413 :new: [CI] Test with C++14 in Windows 2019 (#2020) 55dfdd92 Update README.rst 2c734c9b Fix an overflow in format_to_n (#2029) 6cdd1be9 Update build.gradle for latest AGP (#2026) bcc20b29 Implement compile-time checks by default befd7d4a Always use FMT_STRING internally where possible [Issue #2002] (#2006) f8640d40 Add more standards f81c14aa Workaround an issue with mixing std versions in gcc (#2017) 5555651c Fix more linkage errors (#2011) b268f881 detail::write in one more place relevant to printf with long argument… (#2016) aa9b09a9 :bug: Cannot call non-constexpr function in constexpr context (#2010) 986fa004 Printf get container (#1982) 7abc3c01 Suppress a useless warning (#2004) 6d14f781 Fix linkage errors when linking with a shared library (#2011) 9534b9fe Refactor warning suppression 60dc2735 Simplify on_text b5dac0f0 Reduce <algorithm> usage (#1998) a07627b1 :bug: Implicit sign conversion warning in clang in c++17 and 20 modes (#2009) 1b8f499e :wrench: Silence useless cast warnings (#2008) f428d286 Update README.rst beb248b6 Optimize handling of large format strings 1936dddc fix gcc warning of missing override (#2001) 14f6bd0f Move one more headers to args.h e01d26e1 Optimize includes e528d919 Merge branch 'master' of github.com:fmtlib/fmt 48816772 Update signatures 3302fd10 use memchr for searching for '%' in printf format string (#1984) 4c2d6372 Update signatures beaff396 Update signatures ffa0a083 Use newer versions of Sphinx and Breathe 038057eb Document contexts 5bedcb66 Fix initialization of iterator_buffer (#1996) 2435ea41 Workaround MSVC mess 8c6215f5 Fix fmt/color.h 10ebe6cb Document color 1ac50fcb Suppress more bogus warnings e098be8e Fix warning filtering 8cf0afaf Improve docs e29f93e8 Suppress more bogus warnings 4e8d000f Suppress more bogus warnings 7787792e Fix re usage 6ee5e507 Fix imports 06ee32d1 Filter useless doxygen warnings 86bb7fe6 Add a missing import 959a9f5c Merge branch 'master' of github.com:fmtlib/fmt 4f7df299 Improve docs b3ab0bc7 :art: [CI] Specify the exact version of clang to use (#1991) 701ed6c8 Install deps in github actions instead of script 8f2131cf Document chrono 32c4af8f Document chrono 295a60ec Document chrono a4fae96c Document chrono 263bb0e6 Document chrono 0506b328 Document chrono 4e426c19 Document chrono 9795d873 Update docs 2eb0be0b Remove debug code and fix bot contact cd955798 Move less installation to actions 98639d0f Debug doc build ab5e0632 Debug doc build b123129f Dump the content of html dir 81d2b986 Print less command 7a0b1d57 Add key 9f0617cb Fix branch ref 75b07598 Chrono docs dfbb6975 Remove travis config 5b3052f9 Switch doc build to github actions 506ff320 Fix build failure when not using fcntl with -Werror (#1990) a30b279b Apply clang-format and tweak comments 6a2495c8 -Wattributes visibility warning with some GCC versions (#1975) cba5970c Remove migrated build configs 689081d8 Merge branch 'release' of github.com:fmtlib/fmt cc09f1a6 Update version e4eb242c Update changelog and bump version ce98e0c6 Fix fallback float formatter at assymetric bounds (#1976) 49544ea9 Fuzz fallback formatter 6b7bfed4 Fix fallback float formatter at assymetric bounds (#1976) bcab36da Update CI config 1689e73e Move PR template 0103408a Update CI config 38a16ecb Move build config to github actions 205eb3a8 Update CI config fe61b8c6 Update CI config 867b15d7 Update CI config 98cb9f99 Update CI config 95077d60 Update CI config bc49f094 Update CI config cef6dfb4 Update CI config c8703ba4 Update CI config ab4405be Update README.rst 78a55e28 Update CI config d0a2494a Update cmake.yml 89d009ba Update cmake.yml 1f4ff47b Create cmake.yml eb52ac7a :new: Enable -Wshadow in pedantic mode e904e891 :art: :bug: Rename all shadowed types and variables 771292c3 Remove sizeof from unused variable silencer (#1974) 86bf6045 Merge branch 'release' of github.com:fmtlib/fmt 5f7f7b95 Update version 5d3f0741 Update changelog and bump version 563cbb6c Add a macro to workaround clang/gcc ABI incompatibility on ARM 425778aa Fix ABI compatibility (#1961) 69a84198 Remove accidental parenthesis (#1968) 5c045049 Removed [-Wsign-conversion] warning in GCC 556a1cfb Instantiate to_decimal to make gcc lto happy (#1955) 28a8eae8 Cleanup 236fea1f Workaround bugs in gcc 8 e50ced88 Add a macro to workaround clang/gcc ABI incompatibility on ARM 112755cf Remove FMT_SAFEBUFFERS (#1966) 4081b2fe Fix ABI compatibility (#1961) 2d9311e8 Remove accidental parenthesis (#1968) b3a4f28a Fix implicit signedness conversion warning (#1963) 97c88732 Allocator::max_size support in basic_memory_buffer (#1960) bb68f608 Removed [-Wsign-conversion] warning in GCC f4ca065c Range support cb224eca Instantiate to_decimal to make gcc lto happy (#1955) 7977c2b4 Cleanup e54eb676 Workaround bugs in gcc 8 4fe0b111 Update version df4bd60f Bump version 764fb35e Always install the required version of breathe e1bdc0ec Use the correct version of sphinx 39bde329 Tweak markup 204d299a Tweak markup e0995b1c Update readme 4af178bd Remove outdated build config aa41dc02 Remove unused script 6a77ea3c Tweak markup 62c72059 Update changelog c10e3f7f Update changelog e542e695 Update changelog 530cf316 Point to the release, not dev documentation 740385d6 Update changelog cd465111 Update changelog 46291be3 Update changelog 90071c1d Update ChangeLog.rst 25293d7a Update ChangeLog.rst 5024742f Update ChangeLog.rst 0452a4e7 Update changelog 8de96817 Woraround bugs in gcc 8 47e16767 Simplify arg formatter f0a42346 Move parsing optimization one level up 86287b8d Optimize common case in parse_format_specs 8924211f Update README.rst 525e7649 Update CONTRIBUTING.md 0ecb3d18 Optimize alignment parsing 97553078 Optimize format_uint 7446818f Simplify vformat_to 280b5612 Add option to force usage of inline namespaces e57ec7d5 Merge vformat_to overloads 2a3f4de3 Remove iterator_category 27fdb4ea Unshadow floaty 297e0bad Apply clang-format e3b4c22e Simplify is_output_iterator da8278e1 Update changelog and bump version 17fba753 added position independent documentation (#1939) 71e705a2 Update README.rst 74654c8c Fix compilation for systems without fcntl.h (#1942) f468b203 Avoid conversion from long long to size_t (#1935) 20d4f2e8 Fix handling of weird character types when parsing sign (#1932) 08370c39 Update README.rst bd3c7925 Fix float fuzzer 8d3fd86d Merge branch 'master' of github.com:fmtlib/fmt 40347157 Update README.rst 37d738fa Update README.rst 271eff14 Make classes derived from buffer<T> final to silence the virtual destructor warning. (#1937) 010efc31 Add float fuzzer and cleanup 811c8b58 Add float fuzzer and cleanup 82c4e223 Cleanup fuzzing 63e40c96 Fix naming of fuzzers 2f448ed5 Fix fuzzer timeouts af283059 Cleanup 48ea8193 Explain why assert-test is a separate test 1d112bdd Remove old test 5eb292a6 Update README.rst 7e56b6b6 Fix coding style and remove duplicate fuzzer 41d97e1e Fix a UB on ridiculously large precision 01c37e0a Added check for `-mbig-obj` and ref qualifier check (#1929) a5e7e7db Fix handling of thousand separator (#1927) bf19051a Optimize floating point formatting 3c13a88b Optimize floating point formatting f6d75c53 Refactor write_float e9c0b2d6 Merge write_float overloads 7eddbfed Cleanup exponent handling in write_float b347b302 Update dynamic_formatter comment (#1923) 3541880e Fix integer overflow when using max int precision 7b50dc0b Don't exclude all detail symbols from docs 28052431 Fix the doc config 34f22e88 Cleanup CMake config a18b3fbb Fix fixed precision handling when rounding (#1917) 72770357 Fix long lines in usage.md 7612c1ea Add reference to lhelper package manager in usage b91d39f2 Get rid of float_writer b4b64b9c Refactor float formatting 712abe40 Workaround a bug in gcc 7.5 (#1912) af8a180a Make GetCachedPower test more precise a581e9e5 Fix warning C4018: '<=': signed/unsigned mismatch (#1908) 05a28312 Update docs 4d0aa4d8 Update link 575f4018 Simplify FP formatting and follow coding conventions 6f3536f9 Move zero-check to an earlier branch (#1906) 90ef46df Fix dragonbox integration 3ae88147 Fix declaration 64179525 Improve dragonbox integration 79694d42 Fix WriteConsole signature 51f2e2ca Move nan test to where it belongs 68555fdb Make format-test not depend on color.h 63e0c354 Make dragonbox::to_decimal available in format.h 2213a711 Update README.rst 79ba37f3 Update README.rst a905d8f7 Merge grisu-test into format-test 762c33a9 Simplify windows handling (#1903) 253d6315 Remove dependency on windows.h (#1900) c156093f Fix carry in fallback_format 34179b33 Update format.h (#1898) 0651e459 Minor tweaks to get_cached_power 6c025520 Test that max_k is correctly defined 51f8d0cc Reuse log10_2_significand constant 1305cbeb Fix MSVC2019 error C2049 when compiling with /clr (#1897) 2d4fde3a Don't emit trailing zero for consistency with std::format 5fd89d50 Minor simplifications 605ce5e4 Simplify divisible_by_power_of_2 085171e7 Remove grisu_count_digits aa729bf2 Remove dead code aa2ddf9b Simplify Dragonbox integration c1654ce4 Simplify uint32_or_64_or_128_t definition 33712dc0 Combine pragmas e5942ac9 Tweak comments aae7a133 Remove unused pragmas 6bcde9aa https://github.com/fmtlib/fmt/pull/1882#issuecomment-696823912 (#1894) bb0db5e5 clang-format 16410056 Optimize copy_str for counting_iterator 2591ab91 MSVC optimizations for count_digits. (#1890) d5b8002d Update README.rst 821471e1 qkw: generalizing aliasing | using fmt library and it's features (#1888) 2e620ddb Small improvements that should have zero to negligible impact on the runtime (#1887) 2f7e0885 Disable range formatter if value type is not formattable (#1885) c46a8de4 Simplify test 2696dc92 add forgotten template argument to make_format_args which made some u… (#1877) 0016da7a Don't generate zeros and fix UB on huge precision ce3f7699 Merge intrinsic blocks 3b6248f6 Change formatting 2d9b1dd0 Fix sign mismatch 1f0600a2 Fix bug regarding FMT_SAFEBUFFERS 2ecdbb98 Fix a bug in ctzll 6f81ea15 Fix typo (and thus bug) 0c8ffe9b Implement Dragonbox (first version) 42699bf4 Fix msvc version of clz & clzll (#1880) bc51a8df Disable fallthrough attributes for the Intel compilers on Linux and MacOS (#1879) 45da432d fix compiler warnings in public header files d55e61f1 Improve FMT_ALWAYS_INLINE (#1878) 7e682752 Remove trailing zeros when using fallback formatter (#1873) 1d696dc2 Handle exotic character types in compilation f674434a Add format_to_n overload that accepts FMT_COMPILE (from #1767) (#1869) 5b5a5971 Fix handling of wide alignment f80ed64d Update README.rst 38139664 Simplify fallback format dce8e49b Handle float in fallback formatter 78b59443 Spelling f233b56c Don't generate insignificant digits 595902f8 Update test 4f2ee892 Use built-in FP formatter for any precision 58a044be Use built-in FP formatter for any precision efe3694f Macro tweak and clang-format 9f312fe8 Implement fallback FP formatting with given precision (#1526) fb289cf5 Fix coding conventions 86f0a704 Fix formatting bff4d18e Add color format_to overloads * Fix variable size basic_memory_buffer colorization * Fix an unused arguments warning on GCC that blocks the CI otherwise * Ref #1842 * Ref #1593 f19b8885 Fixed a warning in mingw32/mingw64 (#1860) f8e00a08 NOMINMAX not handled properly (#1855) 6cccdc24 Fix move constructor (#1844) 69902c17 Allow use of <fcntl.h> in Linux when __has_include is not available (#1848) 1edd38b9 Add append mode. (#1847) e66ba169 Added build2 usage instructions. (#1838) f39e6fb6 Add formatters for chrono::time_point<system_clock> (#1837) 77b627be Fix bogus MSVC warnings (#1825) 5dff01d3 Add complex tests d16d585e Update signatures c7e6d8af Fix usage of override (#1836) 92bff2fe Revert "Add missing includes" a0dcfbc5 Add ptr to docs 1651b2d4 Fix detail::write with fallback formatter (#1829) 06895a76 Add missing includes 92a448a0 Apply clang-format 6be65446 Fixing buffer_appender's ++ slicing (#1822) 951e0d23 CMakeLists.txt: Added Wundef warning to clang and gcc. (#1823) f9f02df7 CMakeLists.txt: Clang-warnings: removed -Wno-sign-conversion (#1817) 76e97dc4 Eliminate shadowed variable warnings on intel (#1816) e204df0e nvcc compiler should be EDG-based, but fails test (#1818) 1c8bb547 small changes to reduce clang-9 warnings (#1808) 4b69c787 fix: warning C4100: unreferenced formal parameter (#1814) fb0aeb82 fix: disabled UDL templates for PGI (#1811) (#1812) 54daa086 Add dynamic width support to FMT_COMPILE (#1809) 6fb7c6fb Workaround a bug in gcc10 (#1810) 16985fda Update README.rst 1378ddae Update README.rst 4fd95e4b Don't remove trailing zeros with # e06ae322 Avoid warnings on functions with external linkage that don't have declarations 7fc3d1f5 Add override to grow 065889a5 Use correct capacity in iterator_buffer (#1807) d0dd6786 Adding convenience append(range) 0e7cef06 Merge commit 'c13f79e0' e2c8c455 Update README.rst e4c954ff Update README.rst c13f79e0 Merge release branch d7921d64 Update README.rst 4a4fc225 Update changelog 61602a75 Remove -Wno-shadow 2f8fc29e Update README.rst 717b226b include/fmt/format.h: explicit cast to std::size_t for parameter to buffer.resize() in order to get rid of warning 'implicit conversion changes signedness:' in clang-8 (#1802) 2a69f567 Tweak buffer size ea769338 Simplify ostream 5413713c Remove unused function 57f46242 Increase the default buffer size 0b6e7cc6 Update README.rst e587adb4 Simplify count_digits 279d698e Fix handling of default alignmment with locale (#1801) 76cfb50b Test complex formatter 20829120 Optimize count_digits 8d9ab967 Cut a few cycles from count_digits 73434493 Simplify ostream_params 2a47a1e4 Update README.rst 7c4c5c79 Make buffer size configurable f0b84da5 Don't use 128 bit integers with clang-cl (#1800) a3dfd6f9 Workaround a bug in msvc 51d05521 Workaround broken numeric_limites, part 2 (#1787) 21c8b5c1 Report error on missing named argument (#1796) d82fdcc9 Fix handling of iterators in locale-specific formatting (#1782) 633213d9 Merge release branch e8f2580a Bump version 6cefe55a Update changelog 64e2da15 Update README.rst 1c8c810f Update README.rst c2399ccf Update README.rst a7c5db06 Update README.rst a4c22acd Update README.rst 0c1f4b5a Update README.rst 63b422ee Update README.rst 26e81a67 Update README.rst de5fc6af Update README.rst 9c2edfd1 Partially revert 638db5 because it breaks the doc build 810357c0 Document color 0a7032a4 Update README.rst 95d3abf9 Make format_to_n part of the core API 98626093 Correct the locale format specifier in api.rst (#1792) 47f8d7a3 Make formatted_size part of the core API 46a63b70 Update docs 430f393d Disabled __attribute__((deprecated)) usage for LCC (#1790) febffa4e Make join() handle non-const-only begin/end ranges (#1786) d69e2da2 Fix apidoc ce73ea37 Reorder functions d39d661b Workaround broken numeric_limits (#1725) c228bfe8 Improve docs 38ce19f7 Update README.rst d11849bc Add FMT_REDUCE_INT_INSTANTIATIONS flag (#1781) c08518a2 Move make_args_checked to the public API e2837084 Add a color section 9f0c0033 Simplify format string checks d615137c Improve handling of buffer iterator 26b47b6f Bump tested CMake version to 3.18 7a01c9c5 Update README.rst b17d5c4f Fix a regression in handling digit separators (#1782) eb90da2e Type erase output iterators 9d3cd0af Type erase output iterators 18024853 Fix compatibility with CMake 3.4 (#1779) f5d4215b Trying to clear ambiguous compile time claims (#1775) c26349f4 Improve error reporting f4b11ef6 Add a short anchor 0097cf11 Report unformattable type name more prominently 8fa20b47 dev -> latest a03bd3dd Autodetect MSVC static runtime (#1770) c108ee1d Clarify a comment a8074a86 Update README.rst 5f629548 Update README.rst bd903f96 Clarify precedence 16cac46a Improve handling of streamable and convertible to bool types (#1766) 415cd519 direct_buffered_file -> ostream e1bfb596 Fix handling of code units in compile ba8d98cb Cleanup direct_buffered_file 04a1f6e9 Improve handling of single code units in compile e4f57bfd Add an overload of write for buffer_appender d8704681 Make append work with fixed-size buffer e8ec09ae Cleanup core-test a2c4fed9 Double buffering no more 36406509 Add a fixed buffer 60c43e87 Apply clang-format b998e0f3 Reduce symbol sizes and simplify iterator use c5adfc51 Update README.rst c4ad94ce Update README.rst c1429651 Fix image source link 638db5ca Use Cmake to find Python and Sphinx-doc. c0905697 Update readme 1efdb2dd Simplify readme dc69afad Cleanup example 445f5d39 Break long lines 23063c34 Update readme f57b6257 Move PR template to the top level git-subtree-dir: externals/fmt git-subtree-split: 9e8b86fd2d9806672cc73133d21780dd182bfd24
2021-06-23 08:39:40 +01:00
| none | Similar to ``'g'``, except that the default precision is |
| | as high as needed to represent the particular value. |
+---------+----------------------------------------------------------+
.. ifconfig:: False
+---------+----------------------------------------------------------+
| | The precise rules are as follows: suppose that the |
| | result formatted with presentation type ``'e'`` and |
| | precision ``p-1`` would have exponent ``exp``. Then |
| | if ``-4 <= exp < p``, the number is formatted |
| | with presentation type ``'f'`` and precision |
| | ``p-1-exp``. Otherwise, the number is formatted |
| | with presentation type ``'e'`` and precision ``p-1``. |
| | In both cases insignificant trailing zeros are removed |
| | from the significand, and the decimal point is also |
| | removed if there are no remaining digits following it. |
| | |
| | Positive and negative infinity, positive and negative |
| | zero, and nans, are formatted as ``inf``, ``-inf``, |
| | ``0``, ``-0`` and ``nan`` respectively, regardless of |
| | the precision. |
| | |
+---------+----------------------------------------------------------+
The available presentation types for pointers are:
+---------+----------------------------------------------------------+
| Type | Meaning |
+=========+==========================================================+
| ``'p'`` | Pointer format. This is the default type for |
| | pointers and may be omitted. |
+---------+----------------------------------------------------------+
| none | The same as ``'p'``. |
+---------+----------------------------------------------------------+
Squashed 'externals/fmt/' changes from cd4af11e..9e8b86fd 9e8b86fd Update version 92fec0f0 Bump version 4749cc93 Update changelog 78a0ba0a Improve conversion of paragraphs 7a39837d Use a working breathe version 55b6e92d Fix docs 69dc3a85 Fix docs 27f4cdd5 Update changelog 70d61a0a Update changelog 427b5340 Add no_value state to value e421d527 Simplify error handling in parse_nonnegative_int a59678f3 Fix chrono_test.locale c98254c3 Install locales into CI c123a728 Fix set locale error in chrono formatter 3c8fad12 Optimize parse_nonnegative_int f28cf330 adding a default format for std::chrono::time_point<std::chrono::syst… (#2345) 55010a9d Support non-`char` overloads (module) 0193e7c4 Support compile-time strings and compile-time format string compilation in module 3423d754 Remove the msvc workaround (#2351) f6b5cc9f Fix chrono_test.weekday on legacy glibc 59a298f1 Enable `enforce-checks-test` for MSVC, too 36c29482 Update docs c9fe1fa5 Remove unused flag dccddc2b Apply clang-format 0e36681b Cleanup digit count 1de80f5b Workaround lack of static constexpr in constexpr functions 2039dce7 Detect consteval d551b88a Move is_char specializations to xchar.h 16c3514d wchar-test -> xchar-test 206000a0 Workaround pathological conversion (#2343) 76ee4904 Move wchar/custom char overloads to xchar.h e77b22d6 Deprecate memory buffer overload of format_to 07039f4b Update README.rst 4678192c Remove bsr2log10 7c3d3dfa Update thousands_sep_impl signature ef826b86 Fix docs 5223f552 Remove FMT_ALWAYS_INLINE cfde93af Add FMT_STATIC_CONSTEXPR 986a5a6c Fixed join_view formatter for wchar_t 7c8b35ff fix MSVC Win32 count_digits 3eeb084e Optimize count_digits 2ac0bfe5 Improve handling of thousands separator 024741b4 CI: set up multi-thread build for all platforms f4c95f6d Improve handling of thousands separator d4fbeacc Fix docs build 0eef389d Code style e27b1ce5 Fix docs 9f8b6dac Fix wheel installation 6060bcfc Fix docs ff967346 Fix docs 1085cc21 Fix docs 11addaa1 Update docs 760ca5cc Update docs 290d3f8b Cleanup ranges API aa09e0f5 Update docs d142579e Cleanup the format API f286139d Fix "undefined reference to `fmt::v7::detail::basic_data<void>::digits'" 7b9d69b8 Add xchar.h to docs cbd861f1 Update docs faf972f0 Update docs 622d1c04 Update changelog 634c9487 Update changelog a04e3a2d Comment 87876d54 Cleanup the printf implementation d338d663 Cleanup the printf implementation 272660e7 Remove deprecated printf functions 5a95c5ae Update changelog 70e67ae0 Re-enable module testing Prepare for compilation with gcc (modules branch). ad972589 Merge branch 'master' of github.com:fmtlib/fmt ed2a6377 Workaround msvc constexpr issues 99768695 fix custom types formatting at compile-time, add test 8c1b22ba Workaround a gcc 9.1 bug (#2334) 2dba1cfa Update changelog d7ba6c3e Use qualified name-lookup in module. (#2324) bf9904ee Workaround msvc bugs 577bce90 Apply clang-format ba4c7f19 Swap parameter order to match #2327 (#2329) e9e89b35 Update ChangeLog.rst 9bb406d7 Update changelog 11a14db2 Update format_to taking a buffer and remove undocumented vformat_to overload 832ec098 Fix argument order in locale overload of vformat_to (#2327) 486a80e8 Move wchar_t overloads to xchar.h 19d45f4b Update changelog 5a2b88f6 Reduce binary size 00a39ad5 Enable `Char` types other than `char` (#2323) ff37e416 wchar.h -> xchar.h because it handles other code unit types too 0901176f arg_join -> join_view a9a90181 Move wmemory_buffer to wchar.h 4a7801c3 Update changelog 517578f8 Update changelog 85442ed0 Update changelog 6a12b13a Update changelog 1cfe3c73 Update ChangeLog.rst c0601479 Update changelog 6fe04871 Update changelog 9d67988a FMT_DEPRECATED_WCHAR -> FMT_DEPRECATED_INCLUDE_WCHAR 765b451e Update changelog 17c993c7 Fixed compilation with CMake < 3.7 (#2321) dde69373 Update changelog 272b0f36 More module tests (#2309) 126c8cb4 Export os.h API, too (#2318) 98b9ff47 Align hex floats right as default (#2317) ece4b4b3 Update changelog a70a4ae0 Ignore zero-padding for non-finite floating points (#2310) 7612f18d Update changelog b9f2c276 Update changelog 4e21baff Simplify get_units 683ef11a Update changelog ca466374 qualify make_format_args (#2315) 5a2a1856 Make buffers non-movable ee52a6dc add `fmt::print()` overload to support compiled format (#2304) 82607efb Fixed int conversion warning (#2313) 35a2c2a7 Refactor chrono formatting b955e7a6 Refactor chrono formatting 883d9595 Support alternative locale names in tests 1f308a3c Update integer presentation types documentation. 1cd9899c Add initial support for weekday formatting 069131dc Add unicode-test dd8f38fc Cleanup printf API a216f256 Remove undocumented and obsolete vprintf overload 0c092639 Add is_exotic_char trait bc13c6de Update README.rst 8ec0b9e3 Do *not* export namespace `detail` b99c2bd3 Remove deprecated `locale.h` from module interface unit c04a2439 Update changelog b099a56f Update changelog 703005c8 Deprecate locale.h 51f01786 Cleanup the format API 5d59dcf6 Remove deprecated aliases / undeprecate has_formatter c242dd40 Move cerrno include to where it is used 2216e0b7 Update changelog 1c83a49b Simplify buffer extraction 2617384d Improve buffer extraction 34b8acae More wchar_t-specific API to wchar.h 6326c189 Improve code style consistency 5c4b0c86 Add missing Allocator template argument for basic_memory_buffer in format_to 00149c0b Move detail::null to chrono where it is used c5c968cb Improve binary size 128cbdeb cmake: hide private symbols by default 18af1dc4 Fix binary size regression caused by b268f88 d1e6f0f8 Fix binary size regression caused by b268f88 5a0d99fa Add a test for the module 6e2e6b79 Restore support for `wchar_t` overloads in module 24b677d0 Improve symbol sizes 63271a51 Fix ADL issues 61b4c923 Reduce code bloat 2a2e4c58 addressing nits. be48f4d6 Avoid unwanted sign extensions from MSVC in is_utf8. 13e65293 export missed symbols 71fb1138 fix compile error on msvc preview 4 (16.10) involving lookup clash /w STL 08d22503 Remove outdated comments 56f518a9 Update signatures b7f29337 Update signatures 7483dfc6 Update signatures 95c358f7 Improve separation between code unit types 39c3c4ec Simplify the core API e9c1c415 Improve compile-time checks 21d93bfd Move generic format functions to format.h 9a92eb41 Move more wchar overloads to wchar.h 0dd91e20 Add wchar.h for wide char overloads ce14eafc Simplify format string checks 8d70c0ed Refactor the format API 813ac495 More API cleanups 4ab01fb1 Cleanup printf API d5036b11 Remove deprecated APIs 25819462 Cleanup the core API b35db4e0 Improve handling of 128-bit ints d35f1ad5 Cleanup core 8f1902c0 Move format string checks to core.h 6469b903 Silence msvc warning about an unused named parameter 7d4c92fb Update ChangeLog.rst 0763d8ca Fix Visual Studio warning 5466373a Do *not* export namespace `detail` 588bdb54 Simplify get_arg_index_by_name 54f22a3e add support for statically named arguments with FMT_STRING ea94d6d9 Prevent ambiguity in name lookup 57280762 Move specs checker to core.h ced30375 Move dynamic specs to core.h dd2bc998 Move specs to core.h 08da1adc Remove unused headers 3be0cc20 Fix handling of 128-bit ints 9648bdce add missing header d1aebdbd Inline format_to 8f0fadfa Cleanup docs 02896dab Avoid use after move (#2278) 0036a1d1 Fix issue #2274. 2a9b3146 Replace fmt::error_code to std::error_code 2165bef4 Update README.rst 48629308 Optimize format string compilation 3207a8bb Get rid of unnecessary recursion to enable inlining 6214f15a Optimize standard formatter specialization cd2c78fb Use write directly in formatter specializations 4211d865 Add a formatter specialization for std::error_code. 39f28424 Cleanup tests 84feeb0f Remove redundant comments and put common case check first 2665afb5 Cleanup add-subdirectory-test d0abe7c2 Make chrono formatting locale-independent by default 50fb0b5e Fix formatting 16f2ef91 Replace fmt::system_error with std::system_error 4b885c86 Replace windows_error with system_error 5238055f Move esoteric char type support to format.h 9ac088f3 Add fmtlog to projects 849c9f61 Move is_name_start to core 23892caf Move more parsing to core 8e6390c3 Move FMT_STRING to core 51a33713 Move parsing to core 9c3af11a Cleanup tests 9d7b53cb Remove redundant formatter specialization for byte f0095ccd Add support for ranges of types without formatters to join (#2262) 4f0eadfc Exclude fallback from is_formattable 400b953f Use [] instead of {} in ranges for consistency with Python format 38bcc04a Drop range limit and cleanup tests c738c343 Cleanup tests ed7c4320 Cleanup tests 9155e2de Cleanup tests 38127d9e Cleanup tests c9c0e507 Cleanup tests ccf4ccde Cleanup tests and format string compilation e96a92f8 Cleanup tests and format string compilation fd43e4dc gtest: fix std::is_trivially_copy_constructible for GCC 4.8 & 4.9 properly 3d51ccda gtest: remove obsolete `GTEST_LANG_CXX11` compile definition setting 833377ff gtest: add `.clang-format` file into `test/gtest` directory to prevent formatting there 53ca0cbe gtest: move GTest/GMock files to separate directory, update GTest/GMock usages 342973b3 Make wchar_t overloads usable in module Bring ''detail::find()' into scope. 355be4b1 Make FMT_COMPILE fallback on runtime without if constexpr (#2261) 0cd0fb91 C++17: std::char_traits<>::{compare,length} is constexpr - v2 d1a6e560 Keep defaulted destructors inline applies to exception classes in case of msvc only 84a36b99 Move data to functions ab7c33ed Suppress checked iterator warnings 77258f60 fix FMT_CONSTEXPR_CHAR_TRAITS check for MSVC d23e315e CI windows: add MSVC C++20 build f085c3d7 use proper check for non-type template parameters 69bdc20a Workaround missing std::system on iOS, take 2 847aac43 Follow naming conventions in tests 39818e79 Cleanup core-test 0e6f989b __THROW warning fix for e2k (#2253) 1678ed62 simplify field::format() and spec_field::format(), fix typo ca821982 use named arg with static name in compile-time API ce6e7d86 use fixed_string to create named arg class with static name for _a literal fc56af14 move fixed_string from compile.h to format.h bb006f97 Replace TYPED_TEST_CASE with TYPED_TEST_SUITE 6956b10b Fix gcc 4.8 build b4f9a058 Update gtest 8f9ddf45 Remove deprecated posix.h dacd1356 Add module interface unit d3c523e0 Export printf-related contexts from printf.h 2c25df08 Export replacement type_traits, too 553022dc Don't use std::system on iOS (#2248) 8a040d18 Cleanup core-test 064cac2b Bump version 5b2c740a Remove deprecated APIs b9ab5c88 Remove printf.h dependency on ostream.h c47f2112 Simplify data handling 54d3b171 Move more data out of basic_data 128f007b C++17: std::char_traits<>::{compare,length} is constexpr. (#2246) 841aad95 Move data out of basic_data 1d4199f4 fix udl_compiled_string with non-byte chars (e.g. wchar) (#2242) c5d4fcb1 Appending a space to guarantee non-empty strftime() result. (#2244) 62714062 Fix a warning (#2233) 52bd62c7 Create separate dllexport marking points for clang and msvc. (#2229) f4bbc54c Tag official API for module export (#2235) d8910af8 Use qualified name lookup rather than ADL. (#2239) 92601141 Ranges wide strings support (#2236) 24c97515 Try to suppress MVSC warn of narrowing (#2230) a1c6bfd7 Add a link to llvm diff 42eccac4 Fix clang warning about ignoring __declspec(dllexport) on basic_data<void> template instantitation definition (#2220) aec50434 Update README.rst 0b411454 Update README.rst 00f3d16b Update docs 99c2f7a3 Allow including fmt/core.h in the header-only mode b4415323 CI linux: add clang++-11 C++20 (with LLVM libc++) build 1dbadb65 CI linux: add clang++-11 C++20 build 09dbad47 CI linux: add missing build_type e2facffe CI linux: remove excessive clang++-9 include 273d8865 Suppress redef warning of _CRT_SECURE_NO_WARNINGS if any. (#2218) 5a8bf1f6 Workaround hexfloat inconsistency on windows (#2205) 78776ee4 Fix a conditional expression is constant warning #2210 (#2211) 266107f5 constexpr uint128_wrapper (#2215) 2e0d64cf specify size for `prefixes` static data 95da4847 Fix a link 06b3a100 Add support for time points with arbitrary durations (#2208) dac42f52 Inline fallback is_constant_evaluated 7c43f8b8 Don't use strlen at compile time (#2205) c62e4c30 Make buffer_appender default-constructible when back_insert_iterator is 0d6b70d9 Install gcc 8 15c10b0c Add speech synthesis support 308510eb "Use" `fwrite` result (workaround for `warn_unused_result`) afe23e7f Don't call fileno on NULL file in tests (#2196) b49af043 Remove noexcept from file's move assignment 14848875 Fix: fmt::ostream cannot be moved while holding buffered data #2197 (#2198) 7d8c3401 Update pull_request_template.md b966afcc Remove formattable ec5315a9 Use strlen when possible in fallback basic_string_view 4f8778ba Inline basic_format_args's ctor e2d87548 user-defined constructor f7151d38 Extra flag to prevent Intel compiler with Clang front-end warning of 'unknown attribute no_sanitize' 0fb8ef8f Inline trivial argument handling functions 1b23e25f Simplify formattability check 35c71ff5 Only use -Og with optimizations disabled 243d8beb Enable minimal optimizations in debug mode 9b34681d Work around xl compiler bug when nvcc preprocesses this file (#2190) 4dc7170d Fix C++17 builds: (#2192) 9cb347b4 Simplify argument formatters 0f85a468 add default cases (#2186) 417e1cee Stop using deprecated UDL templates f7e900e1 Simplify UDL definitions d9661c8f Mark grouping as deprecated 14a2a64d Fix handling of formattable types with to_string_view (#2181) 6ae402fd Fix handling of types with to_string_view and formatter specialization (#2180) a6408a3b Add args-test 1147782c Fix an ambiguous call to check caused by ADL (#2184) 2f3f3862 Fix harmless MSVS warning about using undefined _MANAGED symbol (#2183) d0bded59 Fix MSVC /clr builds (#2179) 8308f52c Fix dynamic_format_arg_store::push_back comment 6151d0dc Fix the comment 5a1127b7 Don't wrap named arg in cref and clarify docs b8ff3c18 optimize append (#2164) c8d8b882 fix GCC 7,8,9 warning about unused but set parameter (#2177) d2810187 Document ostream support limitation bac14ef9 Simplify integer spec checking 8f9db3fc Make ubsan happy on empty format specs (#2175) af567538 Bitpack integral prefixes cdf877d4 Workaround missed optimization opportunity eef4ba9c Optimize integer formatting without padding a1ea8a82 Unbloat my heart a457e163 Simplify integer formatter 05bc87a6 Optimize padding 605b6037 Optimize count_digits for powers of 2 85ba2716 Implement 128-bit count_digits in terms of count_digits_fallback d9835737 spec -> specs f9e0e904 Apply clang-format 60f5d244 Simplify arg_formatter 30e1302e Simplify on_format_specs 87c5cd46 Optimize parsing of argument ids 6a9016ea fix `formatted_size` with "compiled format" as argument (#2161) 6e1fc017 Move detail::truncating_iterator to fmt/compile.h e718ec3e Make truncating_iterator an output_iterator (#2158) 772aeca3 Don't include <cassert>. (#2148) (#2152) 684b5b0e Fix fallback to runtime API from compile-time API (#2143) d8b92543 use simplified `void_t` for all compilers other than gcc 4.x (#2160) 835b910e Add an is_formattable trait 57887403 Revert "Optimize handling of integer constants" (#2147) 640acba8 Print x.what() of FMT_THROW when exception is disabled (#2145) d8e1c9f1 fix `fmt::get` for some GCC versions and legacy Clang (#2144) 2797588b Optimize handling of integer constants e8eff3b8 Fix FMT_STATIC_THOUSANDS_SEPARATOR (#2142) ab0f7d7f use const& for arguments 29cc8282 update chrono duration formatter (constness), use it in compile-test for specs checks 3f69af3a update wording in the error inside `arg_id_handler`, use `FMT_ASSERT` instead of `throw` 499047e1 fix incorrect indexing mode for named args, update tests 78c67157 prepare tests, fix incorrect handling of named args with simple `{}` replacement fields b31bc2dc simplify `try_format_argument()`, make `manual_indexing_id()` a variable 95e1aa2d add support for manual indexing and named fields, add tests 7e72673d Improve width estimation (#2033) 13b117b5 Improve code point computation ee0fed63 Fix handling of the + flag with locales (#2133) c5979d56 Fix fmt::localtime formatting not working in wide-char string contexts e6ef927e fmt::ptr: Support function pointers (#2131) 58aa0457 Fix ordering of install commands for CMake (#2122) 1980ca8c fix #2118: FMT_COMPILE did not work with tm formatter (#2119) 2a25e2bf Make ranges-test available with C++11 (#2114) b0b56b43 fix #2116 (FMT_COMPILE requires exceptions enabled) (#2117) 373262f9 Update docs ce519e93 Fix exception propagation from iterators (#2097) acef0bb5 use gcc-10.2 instead of gcc-10.1 on CI, also fix one problem (#2110) 8bf28e6b Add support for s format specifier to bool (#2094) (#2109) 9c418bc4 Update README.rst 456efa46 add missing detail namespace (#2107) 80dc7cce Fixed format.h(1465): warning C4702: unreachable code (#2106) 7fd535c6 Cleanup 'L' handling b4b8917c Update docs e4f2cf45 Make 'L' a modifier 6972b5f3 Add build variable: FMT_MASTER_PROJECT (#2100) ac352081 Install fmt/args.h (#2096) 532e846b Fix width computation in float formatter f8c2f848 Fix handling of width when formatting int as char 0fe0b15e Fix handling of # in width computation 061e364b Document output_file 018688da Correct a typo on syntax.rst (documentation) (#2081) 9ec5592b Fix writing to stdout when redirected to NUL on Windows (#2080) cdc5ef67 Remove fallback to inline specifier from FMT_CONSTEXPR(20) macro (#2075) c9dd1eb9 Don't change charset d09b5c14 Fix std::byte formatting with compile-time API (#2072) bbd6ed5b Add support of most format_specs for formatting at compile-time (#2056) a750bf3a Update api.rst 1256541d Fix formatting 4fa4c924 Add tests for FMT_ENFORCE_COMPILE_STRING, fix several errors (#2038) aa89e380 add cwchar to format.h for std::fputws (#2073) 5a37e182 Disable warning about format string (#2067) fa43fd14 Forward arguments to work with views (#2068) 3551f5d1 Workaround a gcc 10 -Warray-bounds bug (#2065) e7376726 Remove an old mingw workaround (#2059) 25a41b80 Fix a link to Android.mk (#2057) 9293f707 Suppress gcc warning on privates-only class (#2053) c20874c2 Reenable support for fallback formatter in join (#2040) (#2050) 5de0bc1d Add UDL as replacement for FMT_COMPILE (#2043) a6fafe2f docs: use https for some links (#2051) 33f9a6d3 Fix handling of enums in to_string (#2036) aabe0a84 simplify tests by reordering arguments of `EXPECT_EQ` (#2044) 1f4a76d2 Add a missing include (#2047) 4a6eadbd Make std::byte formattabe (#1981) 683a7450 fix formatting with empty compiled format string (#2042) f43416e1 Add a link to contents from index 5a493560 Move some code from core.h to format.h where it is used 9ed0a981 Fix docs build dac753b8 Basics of formatting at compile-time based on compile-time API (#2019) 119f7dc3 Truncate file by default 22a68d16 Don't emit trailing zeros by default d0110b7e Update README.rst 3f4839ce Merge branch 'release' of github.com:fmtlib/fmt 7bdf0628 Update version fc135511 Update changelog 926233bd Fix test 0683fa7d Bump version 6ce207b9 Fix formatting 07b1c1a1 Update changelog 58992761 Reintroduce ostream support to range formatters (#2014) b8957f50 Fix an overflow in format_to_n (#2029) df66516e Workaround an issue with mixing std versions in gcc (#2017) a57baa69 Fix more linkage errors (#2011) 85534a13 Fix linkage errors when linking with a shared library (#2011) a2fa5d62 Update changelog cd300368 Fix more linkage errors (#2011) d1ef29d6 Fix initialization of iterator_buffer (#1996) 5f41bb0f clang-format a58a6b27 Add a newline a036cc97 Reintroduce ostream support to range formatters (#2014) 38c7def4 Update clang version to 3.4 since there are ICEs on earlier ones 55336413 :new: [CI] Test with C++14 in Windows 2019 (#2020) 55dfdd92 Update README.rst 2c734c9b Fix an overflow in format_to_n (#2029) 6cdd1be9 Update build.gradle for latest AGP (#2026) bcc20b29 Implement compile-time checks by default befd7d4a Always use FMT_STRING internally where possible [Issue #2002] (#2006) f8640d40 Add more standards f81c14aa Workaround an issue with mixing std versions in gcc (#2017) 5555651c Fix more linkage errors (#2011) b268f881 detail::write in one more place relevant to printf with long argument… (#2016) aa9b09a9 :bug: Cannot call non-constexpr function in constexpr context (#2010) 986fa004 Printf get container (#1982) 7abc3c01 Suppress a useless warning (#2004) 6d14f781 Fix linkage errors when linking with a shared library (#2011) 9534b9fe Refactor warning suppression 60dc2735 Simplify on_text b5dac0f0 Reduce <algorithm> usage (#1998) a07627b1 :bug: Implicit sign conversion warning in clang in c++17 and 20 modes (#2009) 1b8f499e :wrench: Silence useless cast warnings (#2008) f428d286 Update README.rst beb248b6 Optimize handling of large format strings 1936dddc fix gcc warning of missing override (#2001) 14f6bd0f Move one more headers to args.h e01d26e1 Optimize includes e528d919 Merge branch 'master' of github.com:fmtlib/fmt 48816772 Update signatures 3302fd10 use memchr for searching for '%' in printf format string (#1984) 4c2d6372 Update signatures beaff396 Update signatures ffa0a083 Use newer versions of Sphinx and Breathe 038057eb Document contexts 5bedcb66 Fix initialization of iterator_buffer (#1996) 2435ea41 Workaround MSVC mess 8c6215f5 Fix fmt/color.h 10ebe6cb Document color 1ac50fcb Suppress more bogus warnings e098be8e Fix warning filtering 8cf0afaf Improve docs e29f93e8 Suppress more bogus warnings 4e8d000f Suppress more bogus warnings 7787792e Fix re usage 6ee5e507 Fix imports 06ee32d1 Filter useless doxygen warnings 86bb7fe6 Add a missing import 959a9f5c Merge branch 'master' of github.com:fmtlib/fmt 4f7df299 Improve docs b3ab0bc7 :art: [CI] Specify the exact version of clang to use (#1991) 701ed6c8 Install deps in github actions instead of script 8f2131cf Document chrono 32c4af8f Document chrono 295a60ec Document chrono a4fae96c Document chrono 263bb0e6 Document chrono 0506b328 Document chrono 4e426c19 Document chrono 9795d873 Update docs 2eb0be0b Remove debug code and fix bot contact cd955798 Move less installation to actions 98639d0f Debug doc build ab5e0632 Debug doc build b123129f Dump the content of html dir 81d2b986 Print less command 7a0b1d57 Add key 9f0617cb Fix branch ref 75b07598 Chrono docs dfbb6975 Remove travis config 5b3052f9 Switch doc build to github actions 506ff320 Fix build failure when not using fcntl with -Werror (#1990) a30b279b Apply clang-format and tweak comments 6a2495c8 -Wattributes visibility warning with some GCC versions (#1975) cba5970c Remove migrated build configs 689081d8 Merge branch 'release' of github.com:fmtlib/fmt cc09f1a6 Update version e4eb242c Update changelog and bump version ce98e0c6 Fix fallback float formatter at assymetric bounds (#1976) 49544ea9 Fuzz fallback formatter 6b7bfed4 Fix fallback float formatter at assymetric bounds (#1976) bcab36da Update CI config 1689e73e Move PR template 0103408a Update CI config 38a16ecb Move build config to github actions 205eb3a8 Update CI config fe61b8c6 Update CI config 867b15d7 Update CI config 98cb9f99 Update CI config 95077d60 Update CI config bc49f094 Update CI config cef6dfb4 Update CI config c8703ba4 Update CI config ab4405be Update README.rst 78a55e28 Update CI config d0a2494a Update cmake.yml 89d009ba Update cmake.yml 1f4ff47b Create cmake.yml eb52ac7a :new: Enable -Wshadow in pedantic mode e904e891 :art: :bug: Rename all shadowed types and variables 771292c3 Remove sizeof from unused variable silencer (#1974) 86bf6045 Merge branch 'release' of github.com:fmtlib/fmt 5f7f7b95 Update version 5d3f0741 Update changelog and bump version 563cbb6c Add a macro to workaround clang/gcc ABI incompatibility on ARM 425778aa Fix ABI compatibility (#1961) 69a84198 Remove accidental parenthesis (#1968) 5c045049 Removed [-Wsign-conversion] warning in GCC 556a1cfb Instantiate to_decimal to make gcc lto happy (#1955) 28a8eae8 Cleanup 236fea1f Workaround bugs in gcc 8 e50ced88 Add a macro to workaround clang/gcc ABI incompatibility on ARM 112755cf Remove FMT_SAFEBUFFERS (#1966) 4081b2fe Fix ABI compatibility (#1961) 2d9311e8 Remove accidental parenthesis (#1968) b3a4f28a Fix implicit signedness conversion warning (#1963) 97c88732 Allocator::max_size support in basic_memory_buffer (#1960) bb68f608 Removed [-Wsign-conversion] warning in GCC f4ca065c Range support cb224eca Instantiate to_decimal to make gcc lto happy (#1955) 7977c2b4 Cleanup e54eb676 Workaround bugs in gcc 8 4fe0b111 Update version df4bd60f Bump version 764fb35e Always install the required version of breathe e1bdc0ec Use the correct version of sphinx 39bde329 Tweak markup 204d299a Tweak markup e0995b1c Update readme 4af178bd Remove outdated build config aa41dc02 Remove unused script 6a77ea3c Tweak markup 62c72059 Update changelog c10e3f7f Update changelog e542e695 Update changelog 530cf316 Point to the release, not dev documentation 740385d6 Update changelog cd465111 Update changelog 46291be3 Update changelog 90071c1d Update ChangeLog.rst 25293d7a Update ChangeLog.rst 5024742f Update ChangeLog.rst 0452a4e7 Update changelog 8de96817 Woraround bugs in gcc 8 47e16767 Simplify arg formatter f0a42346 Move parsing optimization one level up 86287b8d Optimize common case in parse_format_specs 8924211f Update README.rst 525e7649 Update CONTRIBUTING.md 0ecb3d18 Optimize alignment parsing 97553078 Optimize format_uint 7446818f Simplify vformat_to 280b5612 Add option to force usage of inline namespaces e57ec7d5 Merge vformat_to overloads 2a3f4de3 Remove iterator_category 27fdb4ea Unshadow floaty 297e0bad Apply clang-format e3b4c22e Simplify is_output_iterator da8278e1 Update changelog and bump version 17fba753 added position independent documentation (#1939) 71e705a2 Update README.rst 74654c8c Fix compilation for systems without fcntl.h (#1942) f468b203 Avoid conversion from long long to size_t (#1935) 20d4f2e8 Fix handling of weird character types when parsing sign (#1932) 08370c39 Update README.rst bd3c7925 Fix float fuzzer 8d3fd86d Merge branch 'master' of github.com:fmtlib/fmt 40347157 Update README.rst 37d738fa Update README.rst 271eff14 Make classes derived from buffer<T> final to silence the virtual destructor warning. (#1937) 010efc31 Add float fuzzer and cleanup 811c8b58 Add float fuzzer and cleanup 82c4e223 Cleanup fuzzing 63e40c96 Fix naming of fuzzers 2f448ed5 Fix fuzzer timeouts af283059 Cleanup 48ea8193 Explain why assert-test is a separate test 1d112bdd Remove old test 5eb292a6 Update README.rst 7e56b6b6 Fix coding style and remove duplicate fuzzer 41d97e1e Fix a UB on ridiculously large precision 01c37e0a Added check for `-mbig-obj` and ref qualifier check (#1929) a5e7e7db Fix handling of thousand separator (#1927) bf19051a Optimize floating point formatting 3c13a88b Optimize floating point formatting f6d75c53 Refactor write_float e9c0b2d6 Merge write_float overloads 7eddbfed Cleanup exponent handling in write_float b347b302 Update dynamic_formatter comment (#1923) 3541880e Fix integer overflow when using max int precision 7b50dc0b Don't exclude all detail symbols from docs 28052431 Fix the doc config 34f22e88 Cleanup CMake config a18b3fbb Fix fixed precision handling when rounding (#1917) 72770357 Fix long lines in usage.md 7612c1ea Add reference to lhelper package manager in usage b91d39f2 Get rid of float_writer b4b64b9c Refactor float formatting 712abe40 Workaround a bug in gcc 7.5 (#1912) af8a180a Make GetCachedPower test more precise a581e9e5 Fix warning C4018: '<=': signed/unsigned mismatch (#1908) 05a28312 Update docs 4d0aa4d8 Update link 575f4018 Simplify FP formatting and follow coding conventions 6f3536f9 Move zero-check to an earlier branch (#1906) 90ef46df Fix dragonbox integration 3ae88147 Fix declaration 64179525 Improve dragonbox integration 79694d42 Fix WriteConsole signature 51f2e2ca Move nan test to where it belongs 68555fdb Make format-test not depend on color.h 63e0c354 Make dragonbox::to_decimal available in format.h 2213a711 Update README.rst 79ba37f3 Update README.rst a905d8f7 Merge grisu-test into format-test 762c33a9 Simplify windows handling (#1903) 253d6315 Remove dependency on windows.h (#1900) c156093f Fix carry in fallback_format 34179b33 Update format.h (#1898) 0651e459 Minor tweaks to get_cached_power 6c025520 Test that max_k is correctly defined 51f8d0cc Reuse log10_2_significand constant 1305cbeb Fix MSVC2019 error C2049 when compiling with /clr (#1897) 2d4fde3a Don't emit trailing zero for consistency with std::format 5fd89d50 Minor simplifications 605ce5e4 Simplify divisible_by_power_of_2 085171e7 Remove grisu_count_digits aa729bf2 Remove dead code aa2ddf9b Simplify Dragonbox integration c1654ce4 Simplify uint32_or_64_or_128_t definition 33712dc0 Combine pragmas e5942ac9 Tweak comments aae7a133 Remove unused pragmas 6bcde9aa https://github.com/fmtlib/fmt/pull/1882#issuecomment-696823912 (#1894) bb0db5e5 clang-format 16410056 Optimize copy_str for counting_iterator 2591ab91 MSVC optimizations for count_digits. (#1890) d5b8002d Update README.rst 821471e1 qkw: generalizing aliasing | using fmt library and it's features (#1888) 2e620ddb Small improvements that should have zero to negligible impact on the runtime (#1887) 2f7e0885 Disable range formatter if value type is not formattable (#1885) c46a8de4 Simplify test 2696dc92 add forgotten template argument to make_format_args which made some u… (#1877) 0016da7a Don't generate zeros and fix UB on huge precision ce3f7699 Merge intrinsic blocks 3b6248f6 Change formatting 2d9b1dd0 Fix sign mismatch 1f0600a2 Fix bug regarding FMT_SAFEBUFFERS 2ecdbb98 Fix a bug in ctzll 6f81ea15 Fix typo (and thus bug) 0c8ffe9b Implement Dragonbox (first version) 42699bf4 Fix msvc version of clz & clzll (#1880) bc51a8df Disable fallthrough attributes for the Intel compilers on Linux and MacOS (#1879) 45da432d fix compiler warnings in public header files d55e61f1 Improve FMT_ALWAYS_INLINE (#1878) 7e682752 Remove trailing zeros when using fallback formatter (#1873) 1d696dc2 Handle exotic character types in compilation f674434a Add format_to_n overload that accepts FMT_COMPILE (from #1767) (#1869) 5b5a5971 Fix handling of wide alignment f80ed64d Update README.rst 38139664 Simplify fallback format dce8e49b Handle float in fallback formatter 78b59443 Spelling f233b56c Don't generate insignificant digits 595902f8 Update test 4f2ee892 Use built-in FP formatter for any precision 58a044be Use built-in FP formatter for any precision efe3694f Macro tweak and clang-format 9f312fe8 Implement fallback FP formatting with given precision (#1526) fb289cf5 Fix coding conventions 86f0a704 Fix formatting bff4d18e Add color format_to overloads * Fix variable size basic_memory_buffer colorization * Fix an unused arguments warning on GCC that blocks the CI otherwise * Ref #1842 * Ref #1593 f19b8885 Fixed a warning in mingw32/mingw64 (#1860) f8e00a08 NOMINMAX not handled properly (#1855) 6cccdc24 Fix move constructor (#1844) 69902c17 Allow use of <fcntl.h> in Linux when __has_include is not available (#1848) 1edd38b9 Add append mode. (#1847) e66ba169 Added build2 usage instructions. (#1838) f39e6fb6 Add formatters for chrono::time_point<system_clock> (#1837) 77b627be Fix bogus MSVC warnings (#1825) 5dff01d3 Add complex tests d16d585e Update signatures c7e6d8af Fix usage of override (#1836) 92bff2fe Revert "Add missing includes" a0dcfbc5 Add ptr to docs 1651b2d4 Fix detail::write with fallback formatter (#1829) 06895a76 Add missing includes 92a448a0 Apply clang-format 6be65446 Fixing buffer_appender's ++ slicing (#1822) 951e0d23 CMakeLists.txt: Added Wundef warning to clang and gcc. (#1823) f9f02df7 CMakeLists.txt: Clang-warnings: removed -Wno-sign-conversion (#1817) 76e97dc4 Eliminate shadowed variable warnings on intel (#1816) e204df0e nvcc compiler should be EDG-based, but fails test (#1818) 1c8bb547 small changes to reduce clang-9 warnings (#1808) 4b69c787 fix: warning C4100: unreferenced formal parameter (#1814) fb0aeb82 fix: disabled UDL templates for PGI (#1811) (#1812) 54daa086 Add dynamic width support to FMT_COMPILE (#1809) 6fb7c6fb Workaround a bug in gcc10 (#1810) 16985fda Update README.rst 1378ddae Update README.rst 4fd95e4b Don't remove trailing zeros with # e06ae322 Avoid warnings on functions with external linkage that don't have declarations 7fc3d1f5 Add override to grow 065889a5 Use correct capacity in iterator_buffer (#1807) d0dd6786 Adding convenience append(range) 0e7cef06 Merge commit 'c13f79e0' e2c8c455 Update README.rst e4c954ff Update README.rst c13f79e0 Merge release branch d7921d64 Update README.rst 4a4fc225 Update changelog 61602a75 Remove -Wno-shadow 2f8fc29e Update README.rst 717b226b include/fmt/format.h: explicit cast to std::size_t for parameter to buffer.resize() in order to get rid of warning 'implicit conversion changes signedness:' in clang-8 (#1802) 2a69f567 Tweak buffer size ea769338 Simplify ostream 5413713c Remove unused function 57f46242 Increase the default buffer size 0b6e7cc6 Update README.rst e587adb4 Simplify count_digits 279d698e Fix handling of default alignmment with locale (#1801) 76cfb50b Test complex formatter 20829120 Optimize count_digits 8d9ab967 Cut a few cycles from count_digits 73434493 Simplify ostream_params 2a47a1e4 Update README.rst 7c4c5c79 Make buffer size configurable f0b84da5 Don't use 128 bit integers with clang-cl (#1800) a3dfd6f9 Workaround a bug in msvc 51d05521 Workaround broken numeric_limites, part 2 (#1787) 21c8b5c1 Report error on missing named argument (#1796) d82fdcc9 Fix handling of iterators in locale-specific formatting (#1782) 633213d9 Merge release branch e8f2580a Bump version 6cefe55a Update changelog 64e2da15 Update README.rst 1c8c810f Update README.rst c2399ccf Update README.rst a7c5db06 Update README.rst a4c22acd Update README.rst 0c1f4b5a Update README.rst 63b422ee Update README.rst 26e81a67 Update README.rst de5fc6af Update README.rst 9c2edfd1 Partially revert 638db5 because it breaks the doc build 810357c0 Document color 0a7032a4 Update README.rst 95d3abf9 Make format_to_n part of the core API 98626093 Correct the locale format specifier in api.rst (#1792) 47f8d7a3 Make formatted_size part of the core API 46a63b70 Update docs 430f393d Disabled __attribute__((deprecated)) usage for LCC (#1790) febffa4e Make join() handle non-const-only begin/end ranges (#1786) d69e2da2 Fix apidoc ce73ea37 Reorder functions d39d661b Workaround broken numeric_limits (#1725) c228bfe8 Improve docs 38ce19f7 Update README.rst d11849bc Add FMT_REDUCE_INT_INSTANTIATIONS flag (#1781) c08518a2 Move make_args_checked to the public API e2837084 Add a color section 9f0c0033 Simplify format string checks d615137c Improve handling of buffer iterator 26b47b6f Bump tested CMake version to 3.18 7a01c9c5 Update README.rst b17d5c4f Fix a regression in handling digit separators (#1782) eb90da2e Type erase output iterators 9d3cd0af Type erase output iterators 18024853 Fix compatibility with CMake 3.4 (#1779) f5d4215b Trying to clear ambiguous compile time claims (#1775) c26349f4 Improve error reporting f4b11ef6 Add a short anchor 0097cf11 Report unformattable type name more prominently 8fa20b47 dev -> latest a03bd3dd Autodetect MSVC static runtime (#1770) c108ee1d Clarify a comment a8074a86 Update README.rst 5f629548 Update README.rst bd903f96 Clarify precedence 16cac46a Improve handling of streamable and convertible to bool types (#1766) 415cd519 direct_buffered_file -> ostream e1bfb596 Fix handling of code units in compile ba8d98cb Cleanup direct_buffered_file 04a1f6e9 Improve handling of single code units in compile e4f57bfd Add an overload of write for buffer_appender d8704681 Make append work with fixed-size buffer e8ec09ae Cleanup core-test a2c4fed9 Double buffering no more 36406509 Add a fixed buffer 60c43e87 Apply clang-format b998e0f3 Reduce symbol sizes and simplify iterator use c5adfc51 Update README.rst c4ad94ce Update README.rst c1429651 Fix image source link 638db5ca Use Cmake to find Python and Sphinx-doc. c0905697 Update readme 1efdb2dd Simplify readme dc69afad Cleanup example 445f5d39 Break long lines 23063c34 Update readme f57b6257 Move PR template to the top level git-subtree-dir: externals/fmt git-subtree-split: 9e8b86fd2d9806672cc73133d21780dd182bfd24
2021-06-23 08:39:40 +01:00
.. _chrono-specs:
Chrono Format Specifications
============================
Squashed 'externals/fmt/' changes from b6f4ceaed..c4ee72653 c4ee72653 Update version fa2eb2d2e Bump version 35f72bf21 Bump version d22f00d7e Update changelog 4e8d21560 Update changelog 84eecb656 Prune CI configs 55727e3b2 More compile-time checks 1010b7f14 Update docs 2ac51fc44 Update changelog 831132293 Workaround for Microsoft Visual Studio 2022 Internal compiler error. 115e00e0b Replace __cplusplus with FMT_CPLUSPLUS. 94114b05c New CI: Microsoft Visual Studio 2022. d2a232082 Fix partial specialization problem for filesystem for Visual Studio (#2957) 0c06c81da Deprecated implicit conversion of enums to ints for consistency with scoped enums c12b4c0cf New CI: GCC-8 C++17, Clang-8 C++17. 99bb5b1d1 Fix std::variant, std::filesystem::path tests on GCC-8, Clang-7,8. e29c2bc60 Update docs c65e4286b Update changelog 69c24e47e Update changelog 6a775e956 Add support for 'std::variant' in C++17 (#2941) 51535866d Update docs 3ef5caa9f Update docs dccd3e674 Fix docs 9cb02aaaa Fix UDLs e6d478f8e Update changelog and docs 2d931b149 Add fmt::streamed 0506a5733 Update changelog e8bd2a804 Fix enable_ifs for map formatter (#2944) 7c56e11ec Update changelog 69a20db08 Update changelog and fix an apidoc comment 7a2a97c88 Update changelog 568233889 Fix is_formattable for tuple-like types. (#2940) f0de12844 Remove /source-charset:utf-8 compile option. eaa8efb95 Fix ofstream handling in msvc fb991e9d3 Update changelog 8e47cfd1c fix -Wsign-conversion warning 247187586 Make the tests pass on a CHERI system. b135f1c01 Refactor handling of argument types f61a1e813 Add format_arg_types 48b7e3daf Added a FMT_STRING wrapper for system_error() call. 4bb3af7a6 Improve compile-time checks d02c582b9 Fix 'duplicate symbol' error. b59d8c3a2 Make std::filesystem::path formatter utf-8 compatible. 232e21d51 Add utf-8 test for std::filesystem::path formatter. 864465419 Docs: add comment about empty format context range ba50c19e8 use qualified call to avoid ADL conflict with std::format_to 9d6039595 Fix compilation on ppc64 a2681aabc Debug ppc failure bfc576736 Add support for std.h in Bazel build 798d09bb7 Debug ppc failure 8c7cf5139 Cleanup cdfacb434 Cleanup parse_format_string 926ddd063 Move compile string to detail cb682f36f Move to_string_view to detail 156744ad4 Simplify fmt::runtime d9c7166cf bi_iterator -> base 11316b29a chore: Set permissions for GitHub actions fe6eb792d Cleanup check_format_string 054b1d980 Remove unused include e927149f8 Cleanup macros 1761e2666 Remove FMT_CONSTEXPR_DECL d6b568a6c Cleanup string_view checks c83a5d42b FMT_MSC_VER -> FMT_MSC_VERSION 27cd68c30 Cleanup macros 08be4abb3 Remove FMT_NVCOMPILER_VERSION 661b19254 Remove FMT_HEADER_ONLY_CONSTEXPR20 d1026fa5d Remove extern format_float 7e63b600b Make to_string work with __float128 b2ea212cd Update README.rst c2fcdc54e Move format_float to format.h for __float128 2b9037a19 Move basic_fp to format.h for compile-time formatting 542785ccb Get rid of detail::bits 65dd2ea52 Use write_escaped_string to std::filesystem::path. 9860f67cd Improve xchar support for std formatters. 03b1b2838 Improve std::filesystem::path formatter. 4f9311e68 Fix definition of error_handler::on_error 652fea45a Visual Studio 2022: fmt/format.h(1526,27): warning C4127: conditional expression is constant #2908 1f9eae7e3 Add xchar support for write_escaped_string. 90b68783f Skip cmake targets inclusion if fmt::fmt already exists (#2907) ce246aaf7 Remove deprecated APIs edeb3d809 Remove deprecated APIs 496aff7c3 Remove deprecated APIs f5cdf7cb0 Simplify snprintf_float 440512f08 Remove deprecated APIs 621eb80bb Remove deprecated APIs 5c7d315de Remove locale.h c6324009b Add initial double-double support 147e8ca58 Fix Windows max mix-up (#2903) 6bf039d75 Add std::thread::id formatter 9730fb015 Fix path formatter f0903ad9d Add a path formatter 8833f386e Merge branch 'master' of github.com:fmtlib/fmt 5ab9d3925 Namespace-qualify format_to to avoid conflict with std::format_to af5644c27 Update README.rst 3e28dc021 VS2022 17.2: C4189: 'zero': local variable is initialized but not referenced #2891 (#2892) f6f920a1a Tweak a comment and apply clang-format ae963e444 Implement constexpr isfinite to avoid producing NaN 358f5a7e5 Make precision computation consistent with width f63afd161 Fixed all clang -Wsigned-enum-bitfield warnings (#2882) 7e4ad4017 Add initial support for double-double ffb5e6a73 Suppress a -Wliteral-range warning on Apple M1 (#2861) 5d804ee7f Fix handling of subnormals in exotic FP 86e27ccb4 Suppress a warning 192f79aaa Fix handling of locale separators in FP formatting 395cf0f03 Fix detection of unformattable pointers fc429d18b Avoid overhead on sensible platforms ce7ecdb7a Replace conditional compilation with SFINAE 8751a03a0 Fix Unicode handling when writing to an ostream c55175a58 Add an issue template a935ac3e6 MSVC CMake generation optimization (#2852) 22d31b31f Add a __float128 test f607e3e97 Add __float128 support 686de5888 Implement 128-bit constant mul in bigint 02eb215f2 Replace uint128_wrapper with uint128_fallback b4dc7a1d3 Add 128-bit operations to bigint ef54f9aa3 Suppress -Wfloat-equal 288c3b928 Remove dead code in ostream.h format_value 96930161f Implement 128-bit operator+= for uint128_fallback b41890c1e Make arg_mapper SFINAE-friendly again e2408f37c Check if formatter is not defined if there is format_as db5b8993a Fix formatting of std::byte via format_as 1c83eaf75 Fix incompatible between Jinja2 >= 3.1 and sphinx 3.3.0 5379063b5 Fixed clang -Wreserved-identifier warings b591fc87d Fixed all clang -Wreserved-id-macro warnings (on macOS at least) 17dda5839 constexpr -> const for portability 7ffe87c0b Fix docs 3c4273dd0 Simplify UDL 36d95c9fc Fix docs 44abd1f48 Update signatures in docs and ostream.h db745986f Workaround broken std::numeric_limits 8271e43e5 Improve __float128 support and use constexpr 3f9b7433a Improve __float128 support 71778e8b9 Specialize float_info for __float128 f024565c3 Improve exponent handling in Dragon e7f31f5cd Cleanup format_dragon 3c61799fb Cleanup fuzzing mode 4e39e1308 Remove xchar.h include from ostream.h ac0d9d5fe Issue #2816: also strip named-arg for the fallback formatter 4ad90578f Fix #2818: diagnose unformattable arguments in unpacked case 17ba99c1d Fix #2817: add compile-time checking to ostream overloads of fmt::print 3d19be282 Fix #2816: strip named argument wrappers for compile-time checking c076a54a4 Move snprintf_float to format.h 0419d2388 Add FMT_USE_FLOAT128 69396347a Update color.h (#2815) c51604a0e Reduce the number of configs 587dc9946 Remove windows-2016 env no longer suppported by GA 1f3d44b85 Update std::tm/chrono docs bc654faf8 Add is_floating_point that works with __float128 26bffce66 Simplify basic_memory_buffer ed18ca3ea Implement isnan a204b8dde Add initial __float128 support b6b003b07 Cleanup test f2543b0a9 Add initial support for 128-bit floats 72f487562 Simplify float_info f91f61cd1 Reuse num_significand_bits 9a1beab57 Workaround Windows API garbage a8fe8becf Fix compilation error for ranges with ADL `begin`/`end` (#2807) f6bcb25e1 Remove extra dot b4a4189d0 Fix handling of implicit bit 32d477e5f Add `styled` in documentation (#2805) 0b7c045a2 Simplify _cf c10fffecd Make _cf visible in the doc build dcfbe4a77 Document output_file default behavior correctly (#2803) 8c9bc070f Implement styled arguments (#2793) 5bc39d363 Eliminate intel compiler warnings (#2802) e3d688e79 Fix warning C4251: class fmt::v8::file needs to have dll-interface (#2797) 8d4f3e91b Update docs 0cef1f819 Fixing formatting of certain kinds of ranges of ranges. (#2787) 5c0d65640 Fix apt install d416a995e Update README.rst 3f67a1247 Update README.rst cc57e3597 Update godbolt link in the readme (#2789) 86477f7ec Fix size computation 0742606f1 Fix Conversion Warning (#2782) 1ba69fb5a Remove snprintf FP fallback ea6f0bf0e Minor cleanup 1a18a2f3d Fixing "C4127: conditional expression is constant" Visual Studio 2022 warning in pedantic mode (#2783) 4fcacea35 Parameterized fp on significand type cf940ae82 Simplify to_decimal 70dc3de05 Update format.h cbc59ca89 Clear moved from memory buffer ea3d326c6 Fix clang -Wliteral-range warning (#2779) aad44f283 Add fmt::enums::format_as 1319719a5 Add underlying_t af5d8004f Limit Dragonbox to supported FP formats 7b9642096 Remove unused include a0b43bfae Add support for 96-bit long double 2c8cd2db3 Fix handling of zero precision b6d56170f Remove unnecessary inline 05432e570 Use consistent indentation 47da218cc Remove uintptr_fallback 4ddab8901 Merge accumulator into int128_fallback d38f72aff Refactor fallback ints 15c2a3bac int128_t -> int128_opt 532a69a63 Fix handling of 96-bit long double with -m32 d8e1dd4ab improve installing headers ae25f7968 add ability to build Apple framework using CMAKE_FRAMEWORK ce93a66df Implement a fallback uint128_t 6a1346405 Include 128-bit with other signed integers in specifier check 70de324aa Apply 2746 fix for NVidia compiler also (#2770) a1ea3e015 Move built-in formatter specialization to core 161059dd9 Add support for extended precision FP c4c6b42de Bump version 21785040c Fix markup 2b6f7fc7a Add partial support for extended precision FP 0a24a0714 Clz builtin may be not constexpr (Issue #2761) (#2762) ba6f89c76 Update .bazelversion (#2766) 5594edaf6 Address https://github.com/fmtlib/fmt/issues/2763 (#2765) 10e3b83a7 Replace ``make_args_checked`` with ``make_format_args`` (#2760) c48353cb7 Update docs 083510f0f Add FMT_CONSTEXPR to rotr instead dba99bc86 Revert adding constexpr to rotr to satisfy C++11 compilers c04af4bfc Simplify remove_trailing_zeros b348caa9e Remove some C-style casts for consistency c8bd1e646 Simplify remove_trailing_zeros 9b23e9dcb Fix wrong comment/refer to a correct reference 69f2c550a Remove std:: infront of uint32_t/64_t & add constexpr to rotr 9b62310f0 Fix some conversion issues 08d12f31d Fix typo dbddb1d06 Remove literal separator to satisfy some compilers 7dbe3dcde Recover log10_2_significand 10642e608 Optimize remove_trailing_zeros 7b4323e1e Add rotr f1bd6f773 Check r < deltai first, because that is the major branch chosen for short inputs 5d8eb6a1a Reflect the new paper - Change constants appearing in log & division computations - Rename beta_minus_1 to beta 8e2e4d403 Suppress a gcc warning a44716f58 Workaround to Intel compiler (#2758) c71b07016 Add missing const qualifier (#2755) ecd6022c2 Update docs afbcf1e8e Remove legacy C locale wrapper 90325d097 Fix stored type detection e2ba01fcb Fix overload ambiguity in print 17b362f78 Simplify ostream opt-in API a5a7e3a26 Update docs f055ebbd2 Make ostream operators opt in to reduce the risk of ODR violations 8a21e328b Remove problematic constructibility check 31e743d06 Don't use ostream for types convertible to string_view 35c0286cd Simplify byte handling c7173a36a Drop :: and fix formatting 3e8372b96 qualify unqualified calls to format in compile.h (#2742) a34a97cc1 Supporting ? as a string presentation type (#2674) ae1aaaee5 Fix access mode of files created (#2530) (#2733) 1557ab764 Add format_as for enums b00a1eac7 Fixes NVIDIA HPC compiler and Intel ICC compatibility (#2732) a7aecbfca Remove an old mingw workaround dfcc730cb Making target_compile_options PRIVATE, fix #2726, fix #2507 f7a809be6 Clarify the choice of magic numbers and compute the most magic one 09fde7f4b Add fmt::underlying for enum classes 0014024a2 Don't rely on transitive includes c28500556 FMT_NOEXCEPT -> noexcept 6240d0201 Improve comments 925b744ae Improve comments 22b14ff25 Simplify cache recovery 3dc26b44d Make a fallback path more compiler-friendly 2e4038bf5 Simplify lines with __builtin_addcll and friends 76336b4f6 Replace noexcept with FMT_NOEXCEPT 918198348 Fix syntax errors 74097a149 Remove now-unused stuffs 21a1c5338 Fix typo 04eea0f0a Remove now-unused stuffs 35a468ed3 Simplify integer checks 1882a7a2c Replace Dragonbox cache which allows simpler cache recovery & integer checks f4dd1b1b8 Simplify Dragonbox Step 3. 70561ed13 Minimize the usage of built-in 128-bit ints It usually generates slower code than manual handling. cdf1a3b53 Fix codecvt warning (#2408) (#2725) b8b037e93 Fix -Wconversion warning (#2724) 5985f0a7d Fix overflow for chrono durations (#2722) 8f8a1a02d Fix handling of formattable types implicitly convertible to pointers b02e5af52 fmt::join support FMT_COMPILE (#2720) 58fb78239 Improve docs 4fe6129d6 Fix FMT_NOEXCEPT definition c056a009d Docs: Fix link to "Compile-time Format String Checks" section (#2712) 7c12118c1 Deprecate buffered_file::fileno 2a09d468d Use noexcept unconditionally a126b4d88 Check if right shift is arithmetic 9ff91b18c Simplify write_fractional_seconds d9f045fba Fix a UB in chrono c06bef727 Adding comments for range formatting. (#2706) 3c98f1a4c Comment style 6e0f1399d Supporting nested format specs for ranges. (#2673) 0102101ac Make colored print handle UTF-8 (#2701) 4ac5269b4 Update ChangeLog.rst git-subtree-dir: externals/fmt git-subtree-split: c4ee726532178e556d923372f29163bd206d7732
2022-07-26 10:51:24 +01:00
Format specifications for chrono types and ``std::tm`` have the following
syntax:
Squashed 'externals/fmt/' changes from cd4af11e..9e8b86fd 9e8b86fd Update version 92fec0f0 Bump version 4749cc93 Update changelog 78a0ba0a Improve conversion of paragraphs 7a39837d Use a working breathe version 55b6e92d Fix docs 69dc3a85 Fix docs 27f4cdd5 Update changelog 70d61a0a Update changelog 427b5340 Add no_value state to value e421d527 Simplify error handling in parse_nonnegative_int a59678f3 Fix chrono_test.locale c98254c3 Install locales into CI c123a728 Fix set locale error in chrono formatter 3c8fad12 Optimize parse_nonnegative_int f28cf330 adding a default format for std::chrono::time_point<std::chrono::syst… (#2345) 55010a9d Support non-`char` overloads (module) 0193e7c4 Support compile-time strings and compile-time format string compilation in module 3423d754 Remove the msvc workaround (#2351) f6b5cc9f Fix chrono_test.weekday on legacy glibc 59a298f1 Enable `enforce-checks-test` for MSVC, too 36c29482 Update docs c9fe1fa5 Remove unused flag dccddc2b Apply clang-format 0e36681b Cleanup digit count 1de80f5b Workaround lack of static constexpr in constexpr functions 2039dce7 Detect consteval d551b88a Move is_char specializations to xchar.h 16c3514d wchar-test -> xchar-test 206000a0 Workaround pathological conversion (#2343) 76ee4904 Move wchar/custom char overloads to xchar.h e77b22d6 Deprecate memory buffer overload of format_to 07039f4b Update README.rst 4678192c Remove bsr2log10 7c3d3dfa Update thousands_sep_impl signature ef826b86 Fix docs 5223f552 Remove FMT_ALWAYS_INLINE cfde93af Add FMT_STATIC_CONSTEXPR 986a5a6c Fixed join_view formatter for wchar_t 7c8b35ff fix MSVC Win32 count_digits 3eeb084e Optimize count_digits 2ac0bfe5 Improve handling of thousands separator 024741b4 CI: set up multi-thread build for all platforms f4c95f6d Improve handling of thousands separator d4fbeacc Fix docs build 0eef389d Code style e27b1ce5 Fix docs 9f8b6dac Fix wheel installation 6060bcfc Fix docs ff967346 Fix docs 1085cc21 Fix docs 11addaa1 Update docs 760ca5cc Update docs 290d3f8b Cleanup ranges API aa09e0f5 Update docs d142579e Cleanup the format API f286139d Fix "undefined reference to `fmt::v7::detail::basic_data<void>::digits'" 7b9d69b8 Add xchar.h to docs cbd861f1 Update docs faf972f0 Update docs 622d1c04 Update changelog 634c9487 Update changelog a04e3a2d Comment 87876d54 Cleanup the printf implementation d338d663 Cleanup the printf implementation 272660e7 Remove deprecated printf functions 5a95c5ae Update changelog 70e67ae0 Re-enable module testing Prepare for compilation with gcc (modules branch). ad972589 Merge branch 'master' of github.com:fmtlib/fmt ed2a6377 Workaround msvc constexpr issues 99768695 fix custom types formatting at compile-time, add test 8c1b22ba Workaround a gcc 9.1 bug (#2334) 2dba1cfa Update changelog d7ba6c3e Use qualified name-lookup in module. (#2324) bf9904ee Workaround msvc bugs 577bce90 Apply clang-format ba4c7f19 Swap parameter order to match #2327 (#2329) e9e89b35 Update ChangeLog.rst 9bb406d7 Update changelog 11a14db2 Update format_to taking a buffer and remove undocumented vformat_to overload 832ec098 Fix argument order in locale overload of vformat_to (#2327) 486a80e8 Move wchar_t overloads to xchar.h 19d45f4b Update changelog 5a2b88f6 Reduce binary size 00a39ad5 Enable `Char` types other than `char` (#2323) ff37e416 wchar.h -> xchar.h because it handles other code unit types too 0901176f arg_join -> join_view a9a90181 Move wmemory_buffer to wchar.h 4a7801c3 Update changelog 517578f8 Update changelog 85442ed0 Update changelog 6a12b13a Update changelog 1cfe3c73 Update ChangeLog.rst c0601479 Update changelog 6fe04871 Update changelog 9d67988a FMT_DEPRECATED_WCHAR -> FMT_DEPRECATED_INCLUDE_WCHAR 765b451e Update changelog 17c993c7 Fixed compilation with CMake < 3.7 (#2321) dde69373 Update changelog 272b0f36 More module tests (#2309) 126c8cb4 Export os.h API, too (#2318) 98b9ff47 Align hex floats right as default (#2317) ece4b4b3 Update changelog a70a4ae0 Ignore zero-padding for non-finite floating points (#2310) 7612f18d Update changelog b9f2c276 Update changelog 4e21baff Simplify get_units 683ef11a Update changelog ca466374 qualify make_format_args (#2315) 5a2a1856 Make buffers non-movable ee52a6dc add `fmt::print()` overload to support compiled format (#2304) 82607efb Fixed int conversion warning (#2313) 35a2c2a7 Refactor chrono formatting b955e7a6 Refactor chrono formatting 883d9595 Support alternative locale names in tests 1f308a3c Update integer presentation types documentation. 1cd9899c Add initial support for weekday formatting 069131dc Add unicode-test dd8f38fc Cleanup printf API a216f256 Remove undocumented and obsolete vprintf overload 0c092639 Add is_exotic_char trait bc13c6de Update README.rst 8ec0b9e3 Do *not* export namespace `detail` b99c2bd3 Remove deprecated `locale.h` from module interface unit c04a2439 Update changelog b099a56f Update changelog 703005c8 Deprecate locale.h 51f01786 Cleanup the format API 5d59dcf6 Remove deprecated aliases / undeprecate has_formatter c242dd40 Move cerrno include to where it is used 2216e0b7 Update changelog 1c83a49b Simplify buffer extraction 2617384d Improve buffer extraction 34b8acae More wchar_t-specific API to wchar.h 6326c189 Improve code style consistency 5c4b0c86 Add missing Allocator template argument for basic_memory_buffer in format_to 00149c0b Move detail::null to chrono where it is used c5c968cb Improve binary size 128cbdeb cmake: hide private symbols by default 18af1dc4 Fix binary size regression caused by b268f88 d1e6f0f8 Fix binary size regression caused by b268f88 5a0d99fa Add a test for the module 6e2e6b79 Restore support for `wchar_t` overloads in module 24b677d0 Improve symbol sizes 63271a51 Fix ADL issues 61b4c923 Reduce code bloat 2a2e4c58 addressing nits. be48f4d6 Avoid unwanted sign extensions from MSVC in is_utf8. 13e65293 export missed symbols 71fb1138 fix compile error on msvc preview 4 (16.10) involving lookup clash /w STL 08d22503 Remove outdated comments 56f518a9 Update signatures b7f29337 Update signatures 7483dfc6 Update signatures 95c358f7 Improve separation between code unit types 39c3c4ec Simplify the core API e9c1c415 Improve compile-time checks 21d93bfd Move generic format functions to format.h 9a92eb41 Move more wchar overloads to wchar.h 0dd91e20 Add wchar.h for wide char overloads ce14eafc Simplify format string checks 8d70c0ed Refactor the format API 813ac495 More API cleanups 4ab01fb1 Cleanup printf API d5036b11 Remove deprecated APIs 25819462 Cleanup the core API b35db4e0 Improve handling of 128-bit ints d35f1ad5 Cleanup core 8f1902c0 Move format string checks to core.h 6469b903 Silence msvc warning about an unused named parameter 7d4c92fb Update ChangeLog.rst 0763d8ca Fix Visual Studio warning 5466373a Do *not* export namespace `detail` 588bdb54 Simplify get_arg_index_by_name 54f22a3e add support for statically named arguments with FMT_STRING ea94d6d9 Prevent ambiguity in name lookup 57280762 Move specs checker to core.h ced30375 Move dynamic specs to core.h dd2bc998 Move specs to core.h 08da1adc Remove unused headers 3be0cc20 Fix handling of 128-bit ints 9648bdce add missing header d1aebdbd Inline format_to 8f0fadfa Cleanup docs 02896dab Avoid use after move (#2278) 0036a1d1 Fix issue #2274. 2a9b3146 Replace fmt::error_code to std::error_code 2165bef4 Update README.rst 48629308 Optimize format string compilation 3207a8bb Get rid of unnecessary recursion to enable inlining 6214f15a Optimize standard formatter specialization cd2c78fb Use write directly in formatter specializations 4211d865 Add a formatter specialization for std::error_code. 39f28424 Cleanup tests 84feeb0f Remove redundant comments and put common case check first 2665afb5 Cleanup add-subdirectory-test d0abe7c2 Make chrono formatting locale-independent by default 50fb0b5e Fix formatting 16f2ef91 Replace fmt::system_error with std::system_error 4b885c86 Replace windows_error with system_error 5238055f Move esoteric char type support to format.h 9ac088f3 Add fmtlog to projects 849c9f61 Move is_name_start to core 23892caf Move more parsing to core 8e6390c3 Move FMT_STRING to core 51a33713 Move parsing to core 9c3af11a Cleanup tests 9d7b53cb Remove redundant formatter specialization for byte f0095ccd Add support for ranges of types without formatters to join (#2262) 4f0eadfc Exclude fallback from is_formattable 400b953f Use [] instead of {} in ranges for consistency with Python format 38bcc04a Drop range limit and cleanup tests c738c343 Cleanup tests ed7c4320 Cleanup tests 9155e2de Cleanup tests 38127d9e Cleanup tests c9c0e507 Cleanup tests ccf4ccde Cleanup tests and format string compilation e96a92f8 Cleanup tests and format string compilation fd43e4dc gtest: fix std::is_trivially_copy_constructible for GCC 4.8 & 4.9 properly 3d51ccda gtest: remove obsolete `GTEST_LANG_CXX11` compile definition setting 833377ff gtest: add `.clang-format` file into `test/gtest` directory to prevent formatting there 53ca0cbe gtest: move GTest/GMock files to separate directory, update GTest/GMock usages 342973b3 Make wchar_t overloads usable in module Bring ''detail::find()' into scope. 355be4b1 Make FMT_COMPILE fallback on runtime without if constexpr (#2261) 0cd0fb91 C++17: std::char_traits<>::{compare,length} is constexpr - v2 d1a6e560 Keep defaulted destructors inline applies to exception classes in case of msvc only 84a36b99 Move data to functions ab7c33ed Suppress checked iterator warnings 77258f60 fix FMT_CONSTEXPR_CHAR_TRAITS check for MSVC d23e315e CI windows: add MSVC C++20 build f085c3d7 use proper check for non-type template parameters 69bdc20a Workaround missing std::system on iOS, take 2 847aac43 Follow naming conventions in tests 39818e79 Cleanup core-test 0e6f989b __THROW warning fix for e2k (#2253) 1678ed62 simplify field::format() and spec_field::format(), fix typo ca821982 use named arg with static name in compile-time API ce6e7d86 use fixed_string to create named arg class with static name for _a literal fc56af14 move fixed_string from compile.h to format.h bb006f97 Replace TYPED_TEST_CASE with TYPED_TEST_SUITE 6956b10b Fix gcc 4.8 build b4f9a058 Update gtest 8f9ddf45 Remove deprecated posix.h dacd1356 Add module interface unit d3c523e0 Export printf-related contexts from printf.h 2c25df08 Export replacement type_traits, too 553022dc Don't use std::system on iOS (#2248) 8a040d18 Cleanup core-test 064cac2b Bump version 5b2c740a Remove deprecated APIs b9ab5c88 Remove printf.h dependency on ostream.h c47f2112 Simplify data handling 54d3b171 Move more data out of basic_data 128f007b C++17: std::char_traits<>::{compare,length} is constexpr. (#2246) 841aad95 Move data out of basic_data 1d4199f4 fix udl_compiled_string with non-byte chars (e.g. wchar) (#2242) c5d4fcb1 Appending a space to guarantee non-empty strftime() result. (#2244) 62714062 Fix a warning (#2233) 52bd62c7 Create separate dllexport marking points for clang and msvc. (#2229) f4bbc54c Tag official API for module export (#2235) d8910af8 Use qualified name lookup rather than ADL. (#2239) 92601141 Ranges wide strings support (#2236) 24c97515 Try to suppress MVSC warn of narrowing (#2230) a1c6bfd7 Add a link to llvm diff 42eccac4 Fix clang warning about ignoring __declspec(dllexport) on basic_data<void> template instantitation definition (#2220) aec50434 Update README.rst 0b411454 Update README.rst 00f3d16b Update docs 99c2f7a3 Allow including fmt/core.h in the header-only mode b4415323 CI linux: add clang++-11 C++20 (with LLVM libc++) build 1dbadb65 CI linux: add clang++-11 C++20 build 09dbad47 CI linux: add missing build_type e2facffe CI linux: remove excessive clang++-9 include 273d8865 Suppress redef warning of _CRT_SECURE_NO_WARNINGS if any. (#2218) 5a8bf1f6 Workaround hexfloat inconsistency on windows (#2205) 78776ee4 Fix a conditional expression is constant warning #2210 (#2211) 266107f5 constexpr uint128_wrapper (#2215) 2e0d64cf specify size for `prefixes` static data 95da4847 Fix a link 06b3a100 Add support for time points with arbitrary durations (#2208) dac42f52 Inline fallback is_constant_evaluated 7c43f8b8 Don't use strlen at compile time (#2205) c62e4c30 Make buffer_appender default-constructible when back_insert_iterator is 0d6b70d9 Install gcc 8 15c10b0c Add speech synthesis support 308510eb "Use" `fwrite` result (workaround for `warn_unused_result`) afe23e7f Don't call fileno on NULL file in tests (#2196) b49af043 Remove noexcept from file's move assignment 14848875 Fix: fmt::ostream cannot be moved while holding buffered data #2197 (#2198) 7d8c3401 Update pull_request_template.md b966afcc Remove formattable ec5315a9 Use strlen when possible in fallback basic_string_view 4f8778ba Inline basic_format_args's ctor e2d87548 user-defined constructor f7151d38 Extra flag to prevent Intel compiler with Clang front-end warning of 'unknown attribute no_sanitize' 0fb8ef8f Inline trivial argument handling functions 1b23e25f Simplify formattability check 35c71ff5 Only use -Og with optimizations disabled 243d8beb Enable minimal optimizations in debug mode 9b34681d Work around xl compiler bug when nvcc preprocesses this file (#2190) 4dc7170d Fix C++17 builds: (#2192) 9cb347b4 Simplify argument formatters 0f85a468 add default cases (#2186) 417e1cee Stop using deprecated UDL templates f7e900e1 Simplify UDL definitions d9661c8f Mark grouping as deprecated 14a2a64d Fix handling of formattable types with to_string_view (#2181) 6ae402fd Fix handling of types with to_string_view and formatter specialization (#2180) a6408a3b Add args-test 1147782c Fix an ambiguous call to check caused by ADL (#2184) 2f3f3862 Fix harmless MSVS warning about using undefined _MANAGED symbol (#2183) d0bded59 Fix MSVC /clr builds (#2179) 8308f52c Fix dynamic_format_arg_store::push_back comment 6151d0dc Fix the comment 5a1127b7 Don't wrap named arg in cref and clarify docs b8ff3c18 optimize append (#2164) c8d8b882 fix GCC 7,8,9 warning about unused but set parameter (#2177) d2810187 Document ostream support limitation bac14ef9 Simplify integer spec checking 8f9db3fc Make ubsan happy on empty format specs (#2175) af567538 Bitpack integral prefixes cdf877d4 Workaround missed optimization opportunity eef4ba9c Optimize integer formatting without padding a1ea8a82 Unbloat my heart a457e163 Simplify integer formatter 05bc87a6 Optimize padding 605b6037 Optimize count_digits for powers of 2 85ba2716 Implement 128-bit count_digits in terms of count_digits_fallback d9835737 spec -> specs f9e0e904 Apply clang-format 60f5d244 Simplify arg_formatter 30e1302e Simplify on_format_specs 87c5cd46 Optimize parsing of argument ids 6a9016ea fix `formatted_size` with "compiled format" as argument (#2161) 6e1fc017 Move detail::truncating_iterator to fmt/compile.h e718ec3e Make truncating_iterator an output_iterator (#2158) 772aeca3 Don't include <cassert>. (#2148) (#2152) 684b5b0e Fix fallback to runtime API from compile-time API (#2143) d8b92543 use simplified `void_t` for all compilers other than gcc 4.x (#2160) 835b910e Add an is_formattable trait 57887403 Revert "Optimize handling of integer constants" (#2147) 640acba8 Print x.what() of FMT_THROW when exception is disabled (#2145) d8e1c9f1 fix `fmt::get` for some GCC versions and legacy Clang (#2144) 2797588b Optimize handling of integer constants e8eff3b8 Fix FMT_STATIC_THOUSANDS_SEPARATOR (#2142) ab0f7d7f use const& for arguments 29cc8282 update chrono duration formatter (constness), use it in compile-test for specs checks 3f69af3a update wording in the error inside `arg_id_handler`, use `FMT_ASSERT` instead of `throw` 499047e1 fix incorrect indexing mode for named args, update tests 78c67157 prepare tests, fix incorrect handling of named args with simple `{}` replacement fields b31bc2dc simplify `try_format_argument()`, make `manual_indexing_id()` a variable 95e1aa2d add support for manual indexing and named fields, add tests 7e72673d Improve width estimation (#2033) 13b117b5 Improve code point computation ee0fed63 Fix handling of the + flag with locales (#2133) c5979d56 Fix fmt::localtime formatting not working in wide-char string contexts e6ef927e fmt::ptr: Support function pointers (#2131) 58aa0457 Fix ordering of install commands for CMake (#2122) 1980ca8c fix #2118: FMT_COMPILE did not work with tm formatter (#2119) 2a25e2bf Make ranges-test available with C++11 (#2114) b0b56b43 fix #2116 (FMT_COMPILE requires exceptions enabled) (#2117) 373262f9 Update docs ce519e93 Fix exception propagation from iterators (#2097) acef0bb5 use gcc-10.2 instead of gcc-10.1 on CI, also fix one problem (#2110) 8bf28e6b Add support for s format specifier to bool (#2094) (#2109) 9c418bc4 Update README.rst 456efa46 add missing detail namespace (#2107) 80dc7cce Fixed format.h(1465): warning C4702: unreachable code (#2106) 7fd535c6 Cleanup 'L' handling b4b8917c Update docs e4f2cf45 Make 'L' a modifier 6972b5f3 Add build variable: FMT_MASTER_PROJECT (#2100) ac352081 Install fmt/args.h (#2096) 532e846b Fix width computation in float formatter f8c2f848 Fix handling of width when formatting int as char 0fe0b15e Fix handling of # in width computation 061e364b Document output_file 018688da Correct a typo on syntax.rst (documentation) (#2081) 9ec5592b Fix writing to stdout when redirected to NUL on Windows (#2080) cdc5ef67 Remove fallback to inline specifier from FMT_CONSTEXPR(20) macro (#2075) c9dd1eb9 Don't change charset d09b5c14 Fix std::byte formatting with compile-time API (#2072) bbd6ed5b Add support of most format_specs for formatting at compile-time (#2056) a750bf3a Update api.rst 1256541d Fix formatting 4fa4c924 Add tests for FMT_ENFORCE_COMPILE_STRING, fix several errors (#2038) aa89e380 add cwchar to format.h for std::fputws (#2073) 5a37e182 Disable warning about format string (#2067) fa43fd14 Forward arguments to work with views (#2068) 3551f5d1 Workaround a gcc 10 -Warray-bounds bug (#2065) e7376726 Remove an old mingw workaround (#2059) 25a41b80 Fix a link to Android.mk (#2057) 9293f707 Suppress gcc warning on privates-only class (#2053) c20874c2 Reenable support for fallback formatter in join (#2040) (#2050) 5de0bc1d Add UDL as replacement for FMT_COMPILE (#2043) a6fafe2f docs: use https for some links (#2051) 33f9a6d3 Fix handling of enums in to_string (#2036) aabe0a84 simplify tests by reordering arguments of `EXPECT_EQ` (#2044) 1f4a76d2 Add a missing include (#2047) 4a6eadbd Make std::byte formattabe (#1981) 683a7450 fix formatting with empty compiled format string (#2042) f43416e1 Add a link to contents from index 5a493560 Move some code from core.h to format.h where it is used 9ed0a981 Fix docs build dac753b8 Basics of formatting at compile-time based on compile-time API (#2019) 119f7dc3 Truncate file by default 22a68d16 Don't emit trailing zeros by default d0110b7e Update README.rst 3f4839ce Merge branch 'release' of github.com:fmtlib/fmt 7bdf0628 Update version fc135511 Update changelog 926233bd Fix test 0683fa7d Bump version 6ce207b9 Fix formatting 07b1c1a1 Update changelog 58992761 Reintroduce ostream support to range formatters (#2014) b8957f50 Fix an overflow in format_to_n (#2029) df66516e Workaround an issue with mixing std versions in gcc (#2017) a57baa69 Fix more linkage errors (#2011) 85534a13 Fix linkage errors when linking with a shared library (#2011) a2fa5d62 Update changelog cd300368 Fix more linkage errors (#2011) d1ef29d6 Fix initialization of iterator_buffer (#1996) 5f41bb0f clang-format a58a6b27 Add a newline a036cc97 Reintroduce ostream support to range formatters (#2014) 38c7def4 Update clang version to 3.4 since there are ICEs on earlier ones 55336413 :new: [CI] Test with C++14 in Windows 2019 (#2020) 55dfdd92 Update README.rst 2c734c9b Fix an overflow in format_to_n (#2029) 6cdd1be9 Update build.gradle for latest AGP (#2026) bcc20b29 Implement compile-time checks by default befd7d4a Always use FMT_STRING internally where possible [Issue #2002] (#2006) f8640d40 Add more standards f81c14aa Workaround an issue with mixing std versions in gcc (#2017) 5555651c Fix more linkage errors (#2011) b268f881 detail::write in one more place relevant to printf with long argument… (#2016) aa9b09a9 :bug: Cannot call non-constexpr function in constexpr context (#2010) 986fa004 Printf get container (#1982) 7abc3c01 Suppress a useless warning (#2004) 6d14f781 Fix linkage errors when linking with a shared library (#2011) 9534b9fe Refactor warning suppression 60dc2735 Simplify on_text b5dac0f0 Reduce <algorithm> usage (#1998) a07627b1 :bug: Implicit sign conversion warning in clang in c++17 and 20 modes (#2009) 1b8f499e :wrench: Silence useless cast warnings (#2008) f428d286 Update README.rst beb248b6 Optimize handling of large format strings 1936dddc fix gcc warning of missing override (#2001) 14f6bd0f Move one more headers to args.h e01d26e1 Optimize includes e528d919 Merge branch 'master' of github.com:fmtlib/fmt 48816772 Update signatures 3302fd10 use memchr for searching for '%' in printf format string (#1984) 4c2d6372 Update signatures beaff396 Update signatures ffa0a083 Use newer versions of Sphinx and Breathe 038057eb Document contexts 5bedcb66 Fix initialization of iterator_buffer (#1996) 2435ea41 Workaround MSVC mess 8c6215f5 Fix fmt/color.h 10ebe6cb Document color 1ac50fcb Suppress more bogus warnings e098be8e Fix warning filtering 8cf0afaf Improve docs e29f93e8 Suppress more bogus warnings 4e8d000f Suppress more bogus warnings 7787792e Fix re usage 6ee5e507 Fix imports 06ee32d1 Filter useless doxygen warnings 86bb7fe6 Add a missing import 959a9f5c Merge branch 'master' of github.com:fmtlib/fmt 4f7df299 Improve docs b3ab0bc7 :art: [CI] Specify the exact version of clang to use (#1991) 701ed6c8 Install deps in github actions instead of script 8f2131cf Document chrono 32c4af8f Document chrono 295a60ec Document chrono a4fae96c Document chrono 263bb0e6 Document chrono 0506b328 Document chrono 4e426c19 Document chrono 9795d873 Update docs 2eb0be0b Remove debug code and fix bot contact cd955798 Move less installation to actions 98639d0f Debug doc build ab5e0632 Debug doc build b123129f Dump the content of html dir 81d2b986 Print less command 7a0b1d57 Add key 9f0617cb Fix branch ref 75b07598 Chrono docs dfbb6975 Remove travis config 5b3052f9 Switch doc build to github actions 506ff320 Fix build failure when not using fcntl with -Werror (#1990) a30b279b Apply clang-format and tweak comments 6a2495c8 -Wattributes visibility warning with some GCC versions (#1975) cba5970c Remove migrated build configs 689081d8 Merge branch 'release' of github.com:fmtlib/fmt cc09f1a6 Update version e4eb242c Update changelog and bump version ce98e0c6 Fix fallback float formatter at assymetric bounds (#1976) 49544ea9 Fuzz fallback formatter 6b7bfed4 Fix fallback float formatter at assymetric bounds (#1976) bcab36da Update CI config 1689e73e Move PR template 0103408a Update CI config 38a16ecb Move build config to github actions 205eb3a8 Update CI config fe61b8c6 Update CI config 867b15d7 Update CI config 98cb9f99 Update CI config 95077d60 Update CI config bc49f094 Update CI config cef6dfb4 Update CI config c8703ba4 Update CI config ab4405be Update README.rst 78a55e28 Update CI config d0a2494a Update cmake.yml 89d009ba Update cmake.yml 1f4ff47b Create cmake.yml eb52ac7a :new: Enable -Wshadow in pedantic mode e904e891 :art: :bug: Rename all shadowed types and variables 771292c3 Remove sizeof from unused variable silencer (#1974) 86bf6045 Merge branch 'release' of github.com:fmtlib/fmt 5f7f7b95 Update version 5d3f0741 Update changelog and bump version 563cbb6c Add a macro to workaround clang/gcc ABI incompatibility on ARM 425778aa Fix ABI compatibility (#1961) 69a84198 Remove accidental parenthesis (#1968) 5c045049 Removed [-Wsign-conversion] warning in GCC 556a1cfb Instantiate to_decimal to make gcc lto happy (#1955) 28a8eae8 Cleanup 236fea1f Workaround bugs in gcc 8 e50ced88 Add a macro to workaround clang/gcc ABI incompatibility on ARM 112755cf Remove FMT_SAFEBUFFERS (#1966) 4081b2fe Fix ABI compatibility (#1961) 2d9311e8 Remove accidental parenthesis (#1968) b3a4f28a Fix implicit signedness conversion warning (#1963) 97c88732 Allocator::max_size support in basic_memory_buffer (#1960) bb68f608 Removed [-Wsign-conversion] warning in GCC f4ca065c Range support cb224eca Instantiate to_decimal to make gcc lto happy (#1955) 7977c2b4 Cleanup e54eb676 Workaround bugs in gcc 8 4fe0b111 Update version df4bd60f Bump version 764fb35e Always install the required version of breathe e1bdc0ec Use the correct version of sphinx 39bde329 Tweak markup 204d299a Tweak markup e0995b1c Update readme 4af178bd Remove outdated build config aa41dc02 Remove unused script 6a77ea3c Tweak markup 62c72059 Update changelog c10e3f7f Update changelog e542e695 Update changelog 530cf316 Point to the release, not dev documentation 740385d6 Update changelog cd465111 Update changelog 46291be3 Update changelog 90071c1d Update ChangeLog.rst 25293d7a Update ChangeLog.rst 5024742f Update ChangeLog.rst 0452a4e7 Update changelog 8de96817 Woraround bugs in gcc 8 47e16767 Simplify arg formatter f0a42346 Move parsing optimization one level up 86287b8d Optimize common case in parse_format_specs 8924211f Update README.rst 525e7649 Update CONTRIBUTING.md 0ecb3d18 Optimize alignment parsing 97553078 Optimize format_uint 7446818f Simplify vformat_to 280b5612 Add option to force usage of inline namespaces e57ec7d5 Merge vformat_to overloads 2a3f4de3 Remove iterator_category 27fdb4ea Unshadow floaty 297e0bad Apply clang-format e3b4c22e Simplify is_output_iterator da8278e1 Update changelog and bump version 17fba753 added position independent documentation (#1939) 71e705a2 Update README.rst 74654c8c Fix compilation for systems without fcntl.h (#1942) f468b203 Avoid conversion from long long to size_t (#1935) 20d4f2e8 Fix handling of weird character types when parsing sign (#1932) 08370c39 Update README.rst bd3c7925 Fix float fuzzer 8d3fd86d Merge branch 'master' of github.com:fmtlib/fmt 40347157 Update README.rst 37d738fa Update README.rst 271eff14 Make classes derived from buffer<T> final to silence the virtual destructor warning. (#1937) 010efc31 Add float fuzzer and cleanup 811c8b58 Add float fuzzer and cleanup 82c4e223 Cleanup fuzzing 63e40c96 Fix naming of fuzzers 2f448ed5 Fix fuzzer timeouts af283059 Cleanup 48ea8193 Explain why assert-test is a separate test 1d112bdd Remove old test 5eb292a6 Update README.rst 7e56b6b6 Fix coding style and remove duplicate fuzzer 41d97e1e Fix a UB on ridiculously large precision 01c37e0a Added check for `-mbig-obj` and ref qualifier check (#1929) a5e7e7db Fix handling of thousand separator (#1927) bf19051a Optimize floating point formatting 3c13a88b Optimize floating point formatting f6d75c53 Refactor write_float e9c0b2d6 Merge write_float overloads 7eddbfed Cleanup exponent handling in write_float b347b302 Update dynamic_formatter comment (#1923) 3541880e Fix integer overflow when using max int precision 7b50dc0b Don't exclude all detail symbols from docs 28052431 Fix the doc config 34f22e88 Cleanup CMake config a18b3fbb Fix fixed precision handling when rounding (#1917) 72770357 Fix long lines in usage.md 7612c1ea Add reference to lhelper package manager in usage b91d39f2 Get rid of float_writer b4b64b9c Refactor float formatting 712abe40 Workaround a bug in gcc 7.5 (#1912) af8a180a Make GetCachedPower test more precise a581e9e5 Fix warning C4018: '<=': signed/unsigned mismatch (#1908) 05a28312 Update docs 4d0aa4d8 Update link 575f4018 Simplify FP formatting and follow coding conventions 6f3536f9 Move zero-check to an earlier branch (#1906) 90ef46df Fix dragonbox integration 3ae88147 Fix declaration 64179525 Improve dragonbox integration 79694d42 Fix WriteConsole signature 51f2e2ca Move nan test to where it belongs 68555fdb Make format-test not depend on color.h 63e0c354 Make dragonbox::to_decimal available in format.h 2213a711 Update README.rst 79ba37f3 Update README.rst a905d8f7 Merge grisu-test into format-test 762c33a9 Simplify windows handling (#1903) 253d6315 Remove dependency on windows.h (#1900) c156093f Fix carry in fallback_format 34179b33 Update format.h (#1898) 0651e459 Minor tweaks to get_cached_power 6c025520 Test that max_k is correctly defined 51f8d0cc Reuse log10_2_significand constant 1305cbeb Fix MSVC2019 error C2049 when compiling with /clr (#1897) 2d4fde3a Don't emit trailing zero for consistency with std::format 5fd89d50 Minor simplifications 605ce5e4 Simplify divisible_by_power_of_2 085171e7 Remove grisu_count_digits aa729bf2 Remove dead code aa2ddf9b Simplify Dragonbox integration c1654ce4 Simplify uint32_or_64_or_128_t definition 33712dc0 Combine pragmas e5942ac9 Tweak comments aae7a133 Remove unused pragmas 6bcde9aa https://github.com/fmtlib/fmt/pull/1882#issuecomment-696823912 (#1894) bb0db5e5 clang-format 16410056 Optimize copy_str for counting_iterator 2591ab91 MSVC optimizations for count_digits. (#1890) d5b8002d Update README.rst 821471e1 qkw: generalizing aliasing | using fmt library and it's features (#1888) 2e620ddb Small improvements that should have zero to negligible impact on the runtime (#1887) 2f7e0885 Disable range formatter if value type is not formattable (#1885) c46a8de4 Simplify test 2696dc92 add forgotten template argument to make_format_args which made some u… (#1877) 0016da7a Don't generate zeros and fix UB on huge precision ce3f7699 Merge intrinsic blocks 3b6248f6 Change formatting 2d9b1dd0 Fix sign mismatch 1f0600a2 Fix bug regarding FMT_SAFEBUFFERS 2ecdbb98 Fix a bug in ctzll 6f81ea15 Fix typo (and thus bug) 0c8ffe9b Implement Dragonbox (first version) 42699bf4 Fix msvc version of clz & clzll (#1880) bc51a8df Disable fallthrough attributes for the Intel compilers on Linux and MacOS (#1879) 45da432d fix compiler warnings in public header files d55e61f1 Improve FMT_ALWAYS_INLINE (#1878) 7e682752 Remove trailing zeros when using fallback formatter (#1873) 1d696dc2 Handle exotic character types in compilation f674434a Add format_to_n overload that accepts FMT_COMPILE (from #1767) (#1869) 5b5a5971 Fix handling of wide alignment f80ed64d Update README.rst 38139664 Simplify fallback format dce8e49b Handle float in fallback formatter 78b59443 Spelling f233b56c Don't generate insignificant digits 595902f8 Update test 4f2ee892 Use built-in FP formatter for any precision 58a044be Use built-in FP formatter for any precision efe3694f Macro tweak and clang-format 9f312fe8 Implement fallback FP formatting with given precision (#1526) fb289cf5 Fix coding conventions 86f0a704 Fix formatting bff4d18e Add color format_to overloads * Fix variable size basic_memory_buffer colorization * Fix an unused arguments warning on GCC that blocks the CI otherwise * Ref #1842 * Ref #1593 f19b8885 Fixed a warning in mingw32/mingw64 (#1860) f8e00a08 NOMINMAX not handled properly (#1855) 6cccdc24 Fix move constructor (#1844) 69902c17 Allow use of <fcntl.h> in Linux when __has_include is not available (#1848) 1edd38b9 Add append mode. (#1847) e66ba169 Added build2 usage instructions. (#1838) f39e6fb6 Add formatters for chrono::time_point<system_clock> (#1837) 77b627be Fix bogus MSVC warnings (#1825) 5dff01d3 Add complex tests d16d585e Update signatures c7e6d8af Fix usage of override (#1836) 92bff2fe Revert "Add missing includes" a0dcfbc5 Add ptr to docs 1651b2d4 Fix detail::write with fallback formatter (#1829) 06895a76 Add missing includes 92a448a0 Apply clang-format 6be65446 Fixing buffer_appender's ++ slicing (#1822) 951e0d23 CMakeLists.txt: Added Wundef warning to clang and gcc. (#1823) f9f02df7 CMakeLists.txt: Clang-warnings: removed -Wno-sign-conversion (#1817) 76e97dc4 Eliminate shadowed variable warnings on intel (#1816) e204df0e nvcc compiler should be EDG-based, but fails test (#1818) 1c8bb547 small changes to reduce clang-9 warnings (#1808) 4b69c787 fix: warning C4100: unreferenced formal parameter (#1814) fb0aeb82 fix: disabled UDL templates for PGI (#1811) (#1812) 54daa086 Add dynamic width support to FMT_COMPILE (#1809) 6fb7c6fb Workaround a bug in gcc10 (#1810) 16985fda Update README.rst 1378ddae Update README.rst 4fd95e4b Don't remove trailing zeros with # e06ae322 Avoid warnings on functions with external linkage that don't have declarations 7fc3d1f5 Add override to grow 065889a5 Use correct capacity in iterator_buffer (#1807) d0dd6786 Adding convenience append(range) 0e7cef06 Merge commit 'c13f79e0' e2c8c455 Update README.rst e4c954ff Update README.rst c13f79e0 Merge release branch d7921d64 Update README.rst 4a4fc225 Update changelog 61602a75 Remove -Wno-shadow 2f8fc29e Update README.rst 717b226b include/fmt/format.h: explicit cast to std::size_t for parameter to buffer.resize() in order to get rid of warning 'implicit conversion changes signedness:' in clang-8 (#1802) 2a69f567 Tweak buffer size ea769338 Simplify ostream 5413713c Remove unused function 57f46242 Increase the default buffer size 0b6e7cc6 Update README.rst e587adb4 Simplify count_digits 279d698e Fix handling of default alignmment with locale (#1801) 76cfb50b Test complex formatter 20829120 Optimize count_digits 8d9ab967 Cut a few cycles from count_digits 73434493 Simplify ostream_params 2a47a1e4 Update README.rst 7c4c5c79 Make buffer size configurable f0b84da5 Don't use 128 bit integers with clang-cl (#1800) a3dfd6f9 Workaround a bug in msvc 51d05521 Workaround broken numeric_limites, part 2 (#1787) 21c8b5c1 Report error on missing named argument (#1796) d82fdcc9 Fix handling of iterators in locale-specific formatting (#1782) 633213d9 Merge release branch e8f2580a Bump version 6cefe55a Update changelog 64e2da15 Update README.rst 1c8c810f Update README.rst c2399ccf Update README.rst a7c5db06 Update README.rst a4c22acd Update README.rst 0c1f4b5a Update README.rst 63b422ee Update README.rst 26e81a67 Update README.rst de5fc6af Update README.rst 9c2edfd1 Partially revert 638db5 because it breaks the doc build 810357c0 Document color 0a7032a4 Update README.rst 95d3abf9 Make format_to_n part of the core API 98626093 Correct the locale format specifier in api.rst (#1792) 47f8d7a3 Make formatted_size part of the core API 46a63b70 Update docs 430f393d Disabled __attribute__((deprecated)) usage for LCC (#1790) febffa4e Make join() handle non-const-only begin/end ranges (#1786) d69e2da2 Fix apidoc ce73ea37 Reorder functions d39d661b Workaround broken numeric_limits (#1725) c228bfe8 Improve docs 38ce19f7 Update README.rst d11849bc Add FMT_REDUCE_INT_INSTANTIATIONS flag (#1781) c08518a2 Move make_args_checked to the public API e2837084 Add a color section 9f0c0033 Simplify format string checks d615137c Improve handling of buffer iterator 26b47b6f Bump tested CMake version to 3.18 7a01c9c5 Update README.rst b17d5c4f Fix a regression in handling digit separators (#1782) eb90da2e Type erase output iterators 9d3cd0af Type erase output iterators 18024853 Fix compatibility with CMake 3.4 (#1779) f5d4215b Trying to clear ambiguous compile time claims (#1775) c26349f4 Improve error reporting f4b11ef6 Add a short anchor 0097cf11 Report unformattable type name more prominently 8fa20b47 dev -> latest a03bd3dd Autodetect MSVC static runtime (#1770) c108ee1d Clarify a comment a8074a86 Update README.rst 5f629548 Update README.rst bd903f96 Clarify precedence 16cac46a Improve handling of streamable and convertible to bool types (#1766) 415cd519 direct_buffered_file -> ostream e1bfb596 Fix handling of code units in compile ba8d98cb Cleanup direct_buffered_file 04a1f6e9 Improve handling of single code units in compile e4f57bfd Add an overload of write for buffer_appender d8704681 Make append work with fixed-size buffer e8ec09ae Cleanup core-test a2c4fed9 Double buffering no more 36406509 Add a fixed buffer 60c43e87 Apply clang-format b998e0f3 Reduce symbol sizes and simplify iterator use c5adfc51 Update README.rst c4ad94ce Update README.rst c1429651 Fix image source link 638db5ca Use Cmake to find Python and Sphinx-doc. c0905697 Update readme 1efdb2dd Simplify readme dc69afad Cleanup example 445f5d39 Break long lines 23063c34 Update readme f57b6257 Move PR template to the top level git-subtree-dir: externals/fmt git-subtree-split: 9e8b86fd2d9806672cc73133d21780dd182bfd24
2021-06-23 08:39:40 +01:00
.. productionlist:: sf
chrono_format_spec: [[`fill`]`align`][`width`]["." `precision`][`chrono_specs`]
chrono_specs: [`chrono_specs`] `conversion_spec` | `chrono_specs` `literal_char`
conversion_spec: "%" [`modifier`] `chrono_type`
literal_char: <a character other than '{', '}' or '%'>
modifier: "E" | "O"
chrono_type: "a" | "A" | "b" | "B" | "c" | "C" | "d" | "D" | "e" | "F" |
: "g" | "G" | "h" | "H" | "I" | "j" | "m" | "M" | "n" | "p" |
: "q" | "Q" | "r" | "R" | "S" | "t" | "T" | "u" | "U" | "V" |
: "w" | "W" | "x" | "X" | "y" | "Y" | "z" | "Z" | "%"
Literal chars are copied unchanged to the output. Precision is valid only for
``std::chrono::duration`` types with a floating-point representation type.
The available presentation types (*chrono_type*) for chrono durations and time
points are:
+---------+--------------------------------------------------------------------+
| Type | Meaning |
+=========+====================================================================+
| ``'H'`` | The hour (24-hour clock) as a decimal number. If the result is a |
| | single digit, it is prefixed with 0. The modified command ``%OH`` |
| | produces the locale's alternative representation. |
+---------+--------------------------------------------------------------------+
| ``'M'`` | The minute as a decimal number. If the result is a single digit, |
| | it is prefixed with 0. The modified command ``%OM`` produces the |
| | locale's alternative representation. |
+---------+--------------------------------------------------------------------+
| ``'S'`` | Seconds as a decimal number. If the number of seconds is less than |
| | 10, the result is prefixed with 0. If the precision of the input |
| | cannot be exactly represented with seconds, then the format is a |
| | decimal floating-point number with a fixed format and a precision |
| | matching that of the precision of the input (or to a microseconds |
| | precision if the conversion to floating-point decimal seconds |
| | cannot be made within 18 fractional digits). The character for the |
| | decimal point is localized according to the locale. The modified |
| | command ``%OS`` produces the locale's alternative representation. |
+---------+--------------------------------------------------------------------+
Squashed 'externals/fmt/' changes from b6f4ceaed..c4ee72653 c4ee72653 Update version fa2eb2d2e Bump version 35f72bf21 Bump version d22f00d7e Update changelog 4e8d21560 Update changelog 84eecb656 Prune CI configs 55727e3b2 More compile-time checks 1010b7f14 Update docs 2ac51fc44 Update changelog 831132293 Workaround for Microsoft Visual Studio 2022 Internal compiler error. 115e00e0b Replace __cplusplus with FMT_CPLUSPLUS. 94114b05c New CI: Microsoft Visual Studio 2022. d2a232082 Fix partial specialization problem for filesystem for Visual Studio (#2957) 0c06c81da Deprecated implicit conversion of enums to ints for consistency with scoped enums c12b4c0cf New CI: GCC-8 C++17, Clang-8 C++17. 99bb5b1d1 Fix std::variant, std::filesystem::path tests on GCC-8, Clang-7,8. e29c2bc60 Update docs c65e4286b Update changelog 69c24e47e Update changelog 6a775e956 Add support for 'std::variant' in C++17 (#2941) 51535866d Update docs 3ef5caa9f Update docs dccd3e674 Fix docs 9cb02aaaa Fix UDLs e6d478f8e Update changelog and docs 2d931b149 Add fmt::streamed 0506a5733 Update changelog e8bd2a804 Fix enable_ifs for map formatter (#2944) 7c56e11ec Update changelog 69a20db08 Update changelog and fix an apidoc comment 7a2a97c88 Update changelog 568233889 Fix is_formattable for tuple-like types. (#2940) f0de12844 Remove /source-charset:utf-8 compile option. eaa8efb95 Fix ofstream handling in msvc fb991e9d3 Update changelog 8e47cfd1c fix -Wsign-conversion warning 247187586 Make the tests pass on a CHERI system. b135f1c01 Refactor handling of argument types f61a1e813 Add format_arg_types 48b7e3daf Added a FMT_STRING wrapper for system_error() call. 4bb3af7a6 Improve compile-time checks d02c582b9 Fix 'duplicate symbol' error. b59d8c3a2 Make std::filesystem::path formatter utf-8 compatible. 232e21d51 Add utf-8 test for std::filesystem::path formatter. 864465419 Docs: add comment about empty format context range ba50c19e8 use qualified call to avoid ADL conflict with std::format_to 9d6039595 Fix compilation on ppc64 a2681aabc Debug ppc failure bfc576736 Add support for std.h in Bazel build 798d09bb7 Debug ppc failure 8c7cf5139 Cleanup cdfacb434 Cleanup parse_format_string 926ddd063 Move compile string to detail cb682f36f Move to_string_view to detail 156744ad4 Simplify fmt::runtime d9c7166cf bi_iterator -> base 11316b29a chore: Set permissions for GitHub actions fe6eb792d Cleanup check_format_string 054b1d980 Remove unused include e927149f8 Cleanup macros 1761e2666 Remove FMT_CONSTEXPR_DECL d6b568a6c Cleanup string_view checks c83a5d42b FMT_MSC_VER -> FMT_MSC_VERSION 27cd68c30 Cleanup macros 08be4abb3 Remove FMT_NVCOMPILER_VERSION 661b19254 Remove FMT_HEADER_ONLY_CONSTEXPR20 d1026fa5d Remove extern format_float 7e63b600b Make to_string work with __float128 b2ea212cd Update README.rst c2fcdc54e Move format_float to format.h for __float128 2b9037a19 Move basic_fp to format.h for compile-time formatting 542785ccb Get rid of detail::bits 65dd2ea52 Use write_escaped_string to std::filesystem::path. 9860f67cd Improve xchar support for std formatters. 03b1b2838 Improve std::filesystem::path formatter. 4f9311e68 Fix definition of error_handler::on_error 652fea45a Visual Studio 2022: fmt/format.h(1526,27): warning C4127: conditional expression is constant #2908 1f9eae7e3 Add xchar support for write_escaped_string. 90b68783f Skip cmake targets inclusion if fmt::fmt already exists (#2907) ce246aaf7 Remove deprecated APIs edeb3d809 Remove deprecated APIs 496aff7c3 Remove deprecated APIs f5cdf7cb0 Simplify snprintf_float 440512f08 Remove deprecated APIs 621eb80bb Remove deprecated APIs 5c7d315de Remove locale.h c6324009b Add initial double-double support 147e8ca58 Fix Windows max mix-up (#2903) 6bf039d75 Add std::thread::id formatter 9730fb015 Fix path formatter f0903ad9d Add a path formatter 8833f386e Merge branch 'master' of github.com:fmtlib/fmt 5ab9d3925 Namespace-qualify format_to to avoid conflict with std::format_to af5644c27 Update README.rst 3e28dc021 VS2022 17.2: C4189: 'zero': local variable is initialized but not referenced #2891 (#2892) f6f920a1a Tweak a comment and apply clang-format ae963e444 Implement constexpr isfinite to avoid producing NaN 358f5a7e5 Make precision computation consistent with width f63afd161 Fixed all clang -Wsigned-enum-bitfield warnings (#2882) 7e4ad4017 Add initial support for double-double ffb5e6a73 Suppress a -Wliteral-range warning on Apple M1 (#2861) 5d804ee7f Fix handling of subnormals in exotic FP 86e27ccb4 Suppress a warning 192f79aaa Fix handling of locale separators in FP formatting 395cf0f03 Fix detection of unformattable pointers fc429d18b Avoid overhead on sensible platforms ce7ecdb7a Replace conditional compilation with SFINAE 8751a03a0 Fix Unicode handling when writing to an ostream c55175a58 Add an issue template a935ac3e6 MSVC CMake generation optimization (#2852) 22d31b31f Add a __float128 test f607e3e97 Add __float128 support 686de5888 Implement 128-bit constant mul in bigint 02eb215f2 Replace uint128_wrapper with uint128_fallback b4dc7a1d3 Add 128-bit operations to bigint ef54f9aa3 Suppress -Wfloat-equal 288c3b928 Remove dead code in ostream.h format_value 96930161f Implement 128-bit operator+= for uint128_fallback b41890c1e Make arg_mapper SFINAE-friendly again e2408f37c Check if formatter is not defined if there is format_as db5b8993a Fix formatting of std::byte via format_as 1c83eaf75 Fix incompatible between Jinja2 >= 3.1 and sphinx 3.3.0 5379063b5 Fixed clang -Wreserved-identifier warings b591fc87d Fixed all clang -Wreserved-id-macro warnings (on macOS at least) 17dda5839 constexpr -> const for portability 7ffe87c0b Fix docs 3c4273dd0 Simplify UDL 36d95c9fc Fix docs 44abd1f48 Update signatures in docs and ostream.h db745986f Workaround broken std::numeric_limits 8271e43e5 Improve __float128 support and use constexpr 3f9b7433a Improve __float128 support 71778e8b9 Specialize float_info for __float128 f024565c3 Improve exponent handling in Dragon e7f31f5cd Cleanup format_dragon 3c61799fb Cleanup fuzzing mode 4e39e1308 Remove xchar.h include from ostream.h ac0d9d5fe Issue #2816: also strip named-arg for the fallback formatter 4ad90578f Fix #2818: diagnose unformattable arguments in unpacked case 17ba99c1d Fix #2817: add compile-time checking to ostream overloads of fmt::print 3d19be282 Fix #2816: strip named argument wrappers for compile-time checking c076a54a4 Move snprintf_float to format.h 0419d2388 Add FMT_USE_FLOAT128 69396347a Update color.h (#2815) c51604a0e Reduce the number of configs 587dc9946 Remove windows-2016 env no longer suppported by GA 1f3d44b85 Update std::tm/chrono docs bc654faf8 Add is_floating_point that works with __float128 26bffce66 Simplify basic_memory_buffer ed18ca3ea Implement isnan a204b8dde Add initial __float128 support b6b003b07 Cleanup test f2543b0a9 Add initial support for 128-bit floats 72f487562 Simplify float_info f91f61cd1 Reuse num_significand_bits 9a1beab57 Workaround Windows API garbage a8fe8becf Fix compilation error for ranges with ADL `begin`/`end` (#2807) f6bcb25e1 Remove extra dot b4a4189d0 Fix handling of implicit bit 32d477e5f Add `styled` in documentation (#2805) 0b7c045a2 Simplify _cf c10fffecd Make _cf visible in the doc build dcfbe4a77 Document output_file default behavior correctly (#2803) 8c9bc070f Implement styled arguments (#2793) 5bc39d363 Eliminate intel compiler warnings (#2802) e3d688e79 Fix warning C4251: class fmt::v8::file needs to have dll-interface (#2797) 8d4f3e91b Update docs 0cef1f819 Fixing formatting of certain kinds of ranges of ranges. (#2787) 5c0d65640 Fix apt install d416a995e Update README.rst 3f67a1247 Update README.rst cc57e3597 Update godbolt link in the readme (#2789) 86477f7ec Fix size computation 0742606f1 Fix Conversion Warning (#2782) 1ba69fb5a Remove snprintf FP fallback ea6f0bf0e Minor cleanup 1a18a2f3d Fixing "C4127: conditional expression is constant" Visual Studio 2022 warning in pedantic mode (#2783) 4fcacea35 Parameterized fp on significand type cf940ae82 Simplify to_decimal 70dc3de05 Update format.h cbc59ca89 Clear moved from memory buffer ea3d326c6 Fix clang -Wliteral-range warning (#2779) aad44f283 Add fmt::enums::format_as 1319719a5 Add underlying_t af5d8004f Limit Dragonbox to supported FP formats 7b9642096 Remove unused include a0b43bfae Add support for 96-bit long double 2c8cd2db3 Fix handling of zero precision b6d56170f Remove unnecessary inline 05432e570 Use consistent indentation 47da218cc Remove uintptr_fallback 4ddab8901 Merge accumulator into int128_fallback d38f72aff Refactor fallback ints 15c2a3bac int128_t -> int128_opt 532a69a63 Fix handling of 96-bit long double with -m32 d8e1dd4ab improve installing headers ae25f7968 add ability to build Apple framework using CMAKE_FRAMEWORK ce93a66df Implement a fallback uint128_t 6a1346405 Include 128-bit with other signed integers in specifier check 70de324aa Apply 2746 fix for NVidia compiler also (#2770) a1ea3e015 Move built-in formatter specialization to core 161059dd9 Add support for extended precision FP c4c6b42de Bump version 21785040c Fix markup 2b6f7fc7a Add partial support for extended precision FP 0a24a0714 Clz builtin may be not constexpr (Issue #2761) (#2762) ba6f89c76 Update .bazelversion (#2766) 5594edaf6 Address https://github.com/fmtlib/fmt/issues/2763 (#2765) 10e3b83a7 Replace ``make_args_checked`` with ``make_format_args`` (#2760) c48353cb7 Update docs 083510f0f Add FMT_CONSTEXPR to rotr instead dba99bc86 Revert adding constexpr to rotr to satisfy C++11 compilers c04af4bfc Simplify remove_trailing_zeros b348caa9e Remove some C-style casts for consistency c8bd1e646 Simplify remove_trailing_zeros 9b23e9dcb Fix wrong comment/refer to a correct reference 69f2c550a Remove std:: infront of uint32_t/64_t & add constexpr to rotr 9b62310f0 Fix some conversion issues 08d12f31d Fix typo dbddb1d06 Remove literal separator to satisfy some compilers 7dbe3dcde Recover log10_2_significand 10642e608 Optimize remove_trailing_zeros 7b4323e1e Add rotr f1bd6f773 Check r < deltai first, because that is the major branch chosen for short inputs 5d8eb6a1a Reflect the new paper - Change constants appearing in log & division computations - Rename beta_minus_1 to beta 8e2e4d403 Suppress a gcc warning a44716f58 Workaround to Intel compiler (#2758) c71b07016 Add missing const qualifier (#2755) ecd6022c2 Update docs afbcf1e8e Remove legacy C locale wrapper 90325d097 Fix stored type detection e2ba01fcb Fix overload ambiguity in print 17b362f78 Simplify ostream opt-in API a5a7e3a26 Update docs f055ebbd2 Make ostream operators opt in to reduce the risk of ODR violations 8a21e328b Remove problematic constructibility check 31e743d06 Don't use ostream for types convertible to string_view 35c0286cd Simplify byte handling c7173a36a Drop :: and fix formatting 3e8372b96 qualify unqualified calls to format in compile.h (#2742) a34a97cc1 Supporting ? as a string presentation type (#2674) ae1aaaee5 Fix access mode of files created (#2530) (#2733) 1557ab764 Add format_as for enums b00a1eac7 Fixes NVIDIA HPC compiler and Intel ICC compatibility (#2732) a7aecbfca Remove an old mingw workaround dfcc730cb Making target_compile_options PRIVATE, fix #2726, fix #2507 f7a809be6 Clarify the choice of magic numbers and compute the most magic one 09fde7f4b Add fmt::underlying for enum classes 0014024a2 Don't rely on transitive includes c28500556 FMT_NOEXCEPT -> noexcept 6240d0201 Improve comments 925b744ae Improve comments 22b14ff25 Simplify cache recovery 3dc26b44d Make a fallback path more compiler-friendly 2e4038bf5 Simplify lines with __builtin_addcll and friends 76336b4f6 Replace noexcept with FMT_NOEXCEPT 918198348 Fix syntax errors 74097a149 Remove now-unused stuffs 21a1c5338 Fix typo 04eea0f0a Remove now-unused stuffs 35a468ed3 Simplify integer checks 1882a7a2c Replace Dragonbox cache which allows simpler cache recovery & integer checks f4dd1b1b8 Simplify Dragonbox Step 3. 70561ed13 Minimize the usage of built-in 128-bit ints It usually generates slower code than manual handling. cdf1a3b53 Fix codecvt warning (#2408) (#2725) b8b037e93 Fix -Wconversion warning (#2724) 5985f0a7d Fix overflow for chrono durations (#2722) 8f8a1a02d Fix handling of formattable types implicitly convertible to pointers b02e5af52 fmt::join support FMT_COMPILE (#2720) 58fb78239 Improve docs 4fe6129d6 Fix FMT_NOEXCEPT definition c056a009d Docs: Fix link to "Compile-time Format String Checks" section (#2712) 7c12118c1 Deprecate buffered_file::fileno 2a09d468d Use noexcept unconditionally a126b4d88 Check if right shift is arithmetic 9ff91b18c Simplify write_fractional_seconds d9f045fba Fix a UB in chrono c06bef727 Adding comments for range formatting. (#2706) 3c98f1a4c Comment style 6e0f1399d Supporting nested format specs for ranges. (#2673) 0102101ac Make colored print handle UTF-8 (#2701) 4ac5269b4 Update ChangeLog.rst git-subtree-dir: externals/fmt git-subtree-split: c4ee726532178e556d923372f29163bd206d7732
2022-07-26 10:51:24 +01:00
Specifiers that have a calendaric component such as ``'d'`` (the day of month)
Squashed 'externals/fmt/' changes from cd4af11e..9e8b86fd 9e8b86fd Update version 92fec0f0 Bump version 4749cc93 Update changelog 78a0ba0a Improve conversion of paragraphs 7a39837d Use a working breathe version 55b6e92d Fix docs 69dc3a85 Fix docs 27f4cdd5 Update changelog 70d61a0a Update changelog 427b5340 Add no_value state to value e421d527 Simplify error handling in parse_nonnegative_int a59678f3 Fix chrono_test.locale c98254c3 Install locales into CI c123a728 Fix set locale error in chrono formatter 3c8fad12 Optimize parse_nonnegative_int f28cf330 adding a default format for std::chrono::time_point<std::chrono::syst… (#2345) 55010a9d Support non-`char` overloads (module) 0193e7c4 Support compile-time strings and compile-time format string compilation in module 3423d754 Remove the msvc workaround (#2351) f6b5cc9f Fix chrono_test.weekday on legacy glibc 59a298f1 Enable `enforce-checks-test` for MSVC, too 36c29482 Update docs c9fe1fa5 Remove unused flag dccddc2b Apply clang-format 0e36681b Cleanup digit count 1de80f5b Workaround lack of static constexpr in constexpr functions 2039dce7 Detect consteval d551b88a Move is_char specializations to xchar.h 16c3514d wchar-test -> xchar-test 206000a0 Workaround pathological conversion (#2343) 76ee4904 Move wchar/custom char overloads to xchar.h e77b22d6 Deprecate memory buffer overload of format_to 07039f4b Update README.rst 4678192c Remove bsr2log10 7c3d3dfa Update thousands_sep_impl signature ef826b86 Fix docs 5223f552 Remove FMT_ALWAYS_INLINE cfde93af Add FMT_STATIC_CONSTEXPR 986a5a6c Fixed join_view formatter for wchar_t 7c8b35ff fix MSVC Win32 count_digits 3eeb084e Optimize count_digits 2ac0bfe5 Improve handling of thousands separator 024741b4 CI: set up multi-thread build for all platforms f4c95f6d Improve handling of thousands separator d4fbeacc Fix docs build 0eef389d Code style e27b1ce5 Fix docs 9f8b6dac Fix wheel installation 6060bcfc Fix docs ff967346 Fix docs 1085cc21 Fix docs 11addaa1 Update docs 760ca5cc Update docs 290d3f8b Cleanup ranges API aa09e0f5 Update docs d142579e Cleanup the format API f286139d Fix "undefined reference to `fmt::v7::detail::basic_data<void>::digits'" 7b9d69b8 Add xchar.h to docs cbd861f1 Update docs faf972f0 Update docs 622d1c04 Update changelog 634c9487 Update changelog a04e3a2d Comment 87876d54 Cleanup the printf implementation d338d663 Cleanup the printf implementation 272660e7 Remove deprecated printf functions 5a95c5ae Update changelog 70e67ae0 Re-enable module testing Prepare for compilation with gcc (modules branch). ad972589 Merge branch 'master' of github.com:fmtlib/fmt ed2a6377 Workaround msvc constexpr issues 99768695 fix custom types formatting at compile-time, add test 8c1b22ba Workaround a gcc 9.1 bug (#2334) 2dba1cfa Update changelog d7ba6c3e Use qualified name-lookup in module. (#2324) bf9904ee Workaround msvc bugs 577bce90 Apply clang-format ba4c7f19 Swap parameter order to match #2327 (#2329) e9e89b35 Update ChangeLog.rst 9bb406d7 Update changelog 11a14db2 Update format_to taking a buffer and remove undocumented vformat_to overload 832ec098 Fix argument order in locale overload of vformat_to (#2327) 486a80e8 Move wchar_t overloads to xchar.h 19d45f4b Update changelog 5a2b88f6 Reduce binary size 00a39ad5 Enable `Char` types other than `char` (#2323) ff37e416 wchar.h -> xchar.h because it handles other code unit types too 0901176f arg_join -> join_view a9a90181 Move wmemory_buffer to wchar.h 4a7801c3 Update changelog 517578f8 Update changelog 85442ed0 Update changelog 6a12b13a Update changelog 1cfe3c73 Update ChangeLog.rst c0601479 Update changelog 6fe04871 Update changelog 9d67988a FMT_DEPRECATED_WCHAR -> FMT_DEPRECATED_INCLUDE_WCHAR 765b451e Update changelog 17c993c7 Fixed compilation with CMake < 3.7 (#2321) dde69373 Update changelog 272b0f36 More module tests (#2309) 126c8cb4 Export os.h API, too (#2318) 98b9ff47 Align hex floats right as default (#2317) ece4b4b3 Update changelog a70a4ae0 Ignore zero-padding for non-finite floating points (#2310) 7612f18d Update changelog b9f2c276 Update changelog 4e21baff Simplify get_units 683ef11a Update changelog ca466374 qualify make_format_args (#2315) 5a2a1856 Make buffers non-movable ee52a6dc add `fmt::print()` overload to support compiled format (#2304) 82607efb Fixed int conversion warning (#2313) 35a2c2a7 Refactor chrono formatting b955e7a6 Refactor chrono formatting 883d9595 Support alternative locale names in tests 1f308a3c Update integer presentation types documentation. 1cd9899c Add initial support for weekday formatting 069131dc Add unicode-test dd8f38fc Cleanup printf API a216f256 Remove undocumented and obsolete vprintf overload 0c092639 Add is_exotic_char trait bc13c6de Update README.rst 8ec0b9e3 Do *not* export namespace `detail` b99c2bd3 Remove deprecated `locale.h` from module interface unit c04a2439 Update changelog b099a56f Update changelog 703005c8 Deprecate locale.h 51f01786 Cleanup the format API 5d59dcf6 Remove deprecated aliases / undeprecate has_formatter c242dd40 Move cerrno include to where it is used 2216e0b7 Update changelog 1c83a49b Simplify buffer extraction 2617384d Improve buffer extraction 34b8acae More wchar_t-specific API to wchar.h 6326c189 Improve code style consistency 5c4b0c86 Add missing Allocator template argument for basic_memory_buffer in format_to 00149c0b Move detail::null to chrono where it is used c5c968cb Improve binary size 128cbdeb cmake: hide private symbols by default 18af1dc4 Fix binary size regression caused by b268f88 d1e6f0f8 Fix binary size regression caused by b268f88 5a0d99fa Add a test for the module 6e2e6b79 Restore support for `wchar_t` overloads in module 24b677d0 Improve symbol sizes 63271a51 Fix ADL issues 61b4c923 Reduce code bloat 2a2e4c58 addressing nits. be48f4d6 Avoid unwanted sign extensions from MSVC in is_utf8. 13e65293 export missed symbols 71fb1138 fix compile error on msvc preview 4 (16.10) involving lookup clash /w STL 08d22503 Remove outdated comments 56f518a9 Update signatures b7f29337 Update signatures 7483dfc6 Update signatures 95c358f7 Improve separation between code unit types 39c3c4ec Simplify the core API e9c1c415 Improve compile-time checks 21d93bfd Move generic format functions to format.h 9a92eb41 Move more wchar overloads to wchar.h 0dd91e20 Add wchar.h for wide char overloads ce14eafc Simplify format string checks 8d70c0ed Refactor the format API 813ac495 More API cleanups 4ab01fb1 Cleanup printf API d5036b11 Remove deprecated APIs 25819462 Cleanup the core API b35db4e0 Improve handling of 128-bit ints d35f1ad5 Cleanup core 8f1902c0 Move format string checks to core.h 6469b903 Silence msvc warning about an unused named parameter 7d4c92fb Update ChangeLog.rst 0763d8ca Fix Visual Studio warning 5466373a Do *not* export namespace `detail` 588bdb54 Simplify get_arg_index_by_name 54f22a3e add support for statically named arguments with FMT_STRING ea94d6d9 Prevent ambiguity in name lookup 57280762 Move specs checker to core.h ced30375 Move dynamic specs to core.h dd2bc998 Move specs to core.h 08da1adc Remove unused headers 3be0cc20 Fix handling of 128-bit ints 9648bdce add missing header d1aebdbd Inline format_to 8f0fadfa Cleanup docs 02896dab Avoid use after move (#2278) 0036a1d1 Fix issue #2274. 2a9b3146 Replace fmt::error_code to std::error_code 2165bef4 Update README.rst 48629308 Optimize format string compilation 3207a8bb Get rid of unnecessary recursion to enable inlining 6214f15a Optimize standard formatter specialization cd2c78fb Use write directly in formatter specializations 4211d865 Add a formatter specialization for std::error_code. 39f28424 Cleanup tests 84feeb0f Remove redundant comments and put common case check first 2665afb5 Cleanup add-subdirectory-test d0abe7c2 Make chrono formatting locale-independent by default 50fb0b5e Fix formatting 16f2ef91 Replace fmt::system_error with std::system_error 4b885c86 Replace windows_error with system_error 5238055f Move esoteric char type support to format.h 9ac088f3 Add fmtlog to projects 849c9f61 Move is_name_start to core 23892caf Move more parsing to core 8e6390c3 Move FMT_STRING to core 51a33713 Move parsing to core 9c3af11a Cleanup tests 9d7b53cb Remove redundant formatter specialization for byte f0095ccd Add support for ranges of types without formatters to join (#2262) 4f0eadfc Exclude fallback from is_formattable 400b953f Use [] instead of {} in ranges for consistency with Python format 38bcc04a Drop range limit and cleanup tests c738c343 Cleanup tests ed7c4320 Cleanup tests 9155e2de Cleanup tests 38127d9e Cleanup tests c9c0e507 Cleanup tests ccf4ccde Cleanup tests and format string compilation e96a92f8 Cleanup tests and format string compilation fd43e4dc gtest: fix std::is_trivially_copy_constructible for GCC 4.8 & 4.9 properly 3d51ccda gtest: remove obsolete `GTEST_LANG_CXX11` compile definition setting 833377ff gtest: add `.clang-format` file into `test/gtest` directory to prevent formatting there 53ca0cbe gtest: move GTest/GMock files to separate directory, update GTest/GMock usages 342973b3 Make wchar_t overloads usable in module Bring ''detail::find()' into scope. 355be4b1 Make FMT_COMPILE fallback on runtime without if constexpr (#2261) 0cd0fb91 C++17: std::char_traits<>::{compare,length} is constexpr - v2 d1a6e560 Keep defaulted destructors inline applies to exception classes in case of msvc only 84a36b99 Move data to functions ab7c33ed Suppress checked iterator warnings 77258f60 fix FMT_CONSTEXPR_CHAR_TRAITS check for MSVC d23e315e CI windows: add MSVC C++20 build f085c3d7 use proper check for non-type template parameters 69bdc20a Workaround missing std::system on iOS, take 2 847aac43 Follow naming conventions in tests 39818e79 Cleanup core-test 0e6f989b __THROW warning fix for e2k (#2253) 1678ed62 simplify field::format() and spec_field::format(), fix typo ca821982 use named arg with static name in compile-time API ce6e7d86 use fixed_string to create named arg class with static name for _a literal fc56af14 move fixed_string from compile.h to format.h bb006f97 Replace TYPED_TEST_CASE with TYPED_TEST_SUITE 6956b10b Fix gcc 4.8 build b4f9a058 Update gtest 8f9ddf45 Remove deprecated posix.h dacd1356 Add module interface unit d3c523e0 Export printf-related contexts from printf.h 2c25df08 Export replacement type_traits, too 553022dc Don't use std::system on iOS (#2248) 8a040d18 Cleanup core-test 064cac2b Bump version 5b2c740a Remove deprecated APIs b9ab5c88 Remove printf.h dependency on ostream.h c47f2112 Simplify data handling 54d3b171 Move more data out of basic_data 128f007b C++17: std::char_traits<>::{compare,length} is constexpr. (#2246) 841aad95 Move data out of basic_data 1d4199f4 fix udl_compiled_string with non-byte chars (e.g. wchar) (#2242) c5d4fcb1 Appending a space to guarantee non-empty strftime() result. (#2244) 62714062 Fix a warning (#2233) 52bd62c7 Create separate dllexport marking points for clang and msvc. (#2229) f4bbc54c Tag official API for module export (#2235) d8910af8 Use qualified name lookup rather than ADL. (#2239) 92601141 Ranges wide strings support (#2236) 24c97515 Try to suppress MVSC warn of narrowing (#2230) a1c6bfd7 Add a link to llvm diff 42eccac4 Fix clang warning about ignoring __declspec(dllexport) on basic_data<void> template instantitation definition (#2220) aec50434 Update README.rst 0b411454 Update README.rst 00f3d16b Update docs 99c2f7a3 Allow including fmt/core.h in the header-only mode b4415323 CI linux: add clang++-11 C++20 (with LLVM libc++) build 1dbadb65 CI linux: add clang++-11 C++20 build 09dbad47 CI linux: add missing build_type e2facffe CI linux: remove excessive clang++-9 include 273d8865 Suppress redef warning of _CRT_SECURE_NO_WARNINGS if any. (#2218) 5a8bf1f6 Workaround hexfloat inconsistency on windows (#2205) 78776ee4 Fix a conditional expression is constant warning #2210 (#2211) 266107f5 constexpr uint128_wrapper (#2215) 2e0d64cf specify size for `prefixes` static data 95da4847 Fix a link 06b3a100 Add support for time points with arbitrary durations (#2208) dac42f52 Inline fallback is_constant_evaluated 7c43f8b8 Don't use strlen at compile time (#2205) c62e4c30 Make buffer_appender default-constructible when back_insert_iterator is 0d6b70d9 Install gcc 8 15c10b0c Add speech synthesis support 308510eb "Use" `fwrite` result (workaround for `warn_unused_result`) afe23e7f Don't call fileno on NULL file in tests (#2196) b49af043 Remove noexcept from file's move assignment 14848875 Fix: fmt::ostream cannot be moved while holding buffered data #2197 (#2198) 7d8c3401 Update pull_request_template.md b966afcc Remove formattable ec5315a9 Use strlen when possible in fallback basic_string_view 4f8778ba Inline basic_format_args's ctor e2d87548 user-defined constructor f7151d38 Extra flag to prevent Intel compiler with Clang front-end warning of 'unknown attribute no_sanitize' 0fb8ef8f Inline trivial argument handling functions 1b23e25f Simplify formattability check 35c71ff5 Only use -Og with optimizations disabled 243d8beb Enable minimal optimizations in debug mode 9b34681d Work around xl compiler bug when nvcc preprocesses this file (#2190) 4dc7170d Fix C++17 builds: (#2192) 9cb347b4 Simplify argument formatters 0f85a468 add default cases (#2186) 417e1cee Stop using deprecated UDL templates f7e900e1 Simplify UDL definitions d9661c8f Mark grouping as deprecated 14a2a64d Fix handling of formattable types with to_string_view (#2181) 6ae402fd Fix handling of types with to_string_view and formatter specialization (#2180) a6408a3b Add args-test 1147782c Fix an ambiguous call to check caused by ADL (#2184) 2f3f3862 Fix harmless MSVS warning about using undefined _MANAGED symbol (#2183) d0bded59 Fix MSVC /clr builds (#2179) 8308f52c Fix dynamic_format_arg_store::push_back comment 6151d0dc Fix the comment 5a1127b7 Don't wrap named arg in cref and clarify docs b8ff3c18 optimize append (#2164) c8d8b882 fix GCC 7,8,9 warning about unused but set parameter (#2177) d2810187 Document ostream support limitation bac14ef9 Simplify integer spec checking 8f9db3fc Make ubsan happy on empty format specs (#2175) af567538 Bitpack integral prefixes cdf877d4 Workaround missed optimization opportunity eef4ba9c Optimize integer formatting without padding a1ea8a82 Unbloat my heart a457e163 Simplify integer formatter 05bc87a6 Optimize padding 605b6037 Optimize count_digits for powers of 2 85ba2716 Implement 128-bit count_digits in terms of count_digits_fallback d9835737 spec -> specs f9e0e904 Apply clang-format 60f5d244 Simplify arg_formatter 30e1302e Simplify on_format_specs 87c5cd46 Optimize parsing of argument ids 6a9016ea fix `formatted_size` with "compiled format" as argument (#2161) 6e1fc017 Move detail::truncating_iterator to fmt/compile.h e718ec3e Make truncating_iterator an output_iterator (#2158) 772aeca3 Don't include <cassert>. (#2148) (#2152) 684b5b0e Fix fallback to runtime API from compile-time API (#2143) d8b92543 use simplified `void_t` for all compilers other than gcc 4.x (#2160) 835b910e Add an is_formattable trait 57887403 Revert "Optimize handling of integer constants" (#2147) 640acba8 Print x.what() of FMT_THROW when exception is disabled (#2145) d8e1c9f1 fix `fmt::get` for some GCC versions and legacy Clang (#2144) 2797588b Optimize handling of integer constants e8eff3b8 Fix FMT_STATIC_THOUSANDS_SEPARATOR (#2142) ab0f7d7f use const& for arguments 29cc8282 update chrono duration formatter (constness), use it in compile-test for specs checks 3f69af3a update wording in the error inside `arg_id_handler`, use `FMT_ASSERT` instead of `throw` 499047e1 fix incorrect indexing mode for named args, update tests 78c67157 prepare tests, fix incorrect handling of named args with simple `{}` replacement fields b31bc2dc simplify `try_format_argument()`, make `manual_indexing_id()` a variable 95e1aa2d add support for manual indexing and named fields, add tests 7e72673d Improve width estimation (#2033) 13b117b5 Improve code point computation ee0fed63 Fix handling of the + flag with locales (#2133) c5979d56 Fix fmt::localtime formatting not working in wide-char string contexts e6ef927e fmt::ptr: Support function pointers (#2131) 58aa0457 Fix ordering of install commands for CMake (#2122) 1980ca8c fix #2118: FMT_COMPILE did not work with tm formatter (#2119) 2a25e2bf Make ranges-test available with C++11 (#2114) b0b56b43 fix #2116 (FMT_COMPILE requires exceptions enabled) (#2117) 373262f9 Update docs ce519e93 Fix exception propagation from iterators (#2097) acef0bb5 use gcc-10.2 instead of gcc-10.1 on CI, also fix one problem (#2110) 8bf28e6b Add support for s format specifier to bool (#2094) (#2109) 9c418bc4 Update README.rst 456efa46 add missing detail namespace (#2107) 80dc7cce Fixed format.h(1465): warning C4702: unreachable code (#2106) 7fd535c6 Cleanup 'L' handling b4b8917c Update docs e4f2cf45 Make 'L' a modifier 6972b5f3 Add build variable: FMT_MASTER_PROJECT (#2100) ac352081 Install fmt/args.h (#2096) 532e846b Fix width computation in float formatter f8c2f848 Fix handling of width when formatting int as char 0fe0b15e Fix handling of # in width computation 061e364b Document output_file 018688da Correct a typo on syntax.rst (documentation) (#2081) 9ec5592b Fix writing to stdout when redirected to NUL on Windows (#2080) cdc5ef67 Remove fallback to inline specifier from FMT_CONSTEXPR(20) macro (#2075) c9dd1eb9 Don't change charset d09b5c14 Fix std::byte formatting with compile-time API (#2072) bbd6ed5b Add support of most format_specs for formatting at compile-time (#2056) a750bf3a Update api.rst 1256541d Fix formatting 4fa4c924 Add tests for FMT_ENFORCE_COMPILE_STRING, fix several errors (#2038) aa89e380 add cwchar to format.h for std::fputws (#2073) 5a37e182 Disable warning about format string (#2067) fa43fd14 Forward arguments to work with views (#2068) 3551f5d1 Workaround a gcc 10 -Warray-bounds bug (#2065) e7376726 Remove an old mingw workaround (#2059) 25a41b80 Fix a link to Android.mk (#2057) 9293f707 Suppress gcc warning on privates-only class (#2053) c20874c2 Reenable support for fallback formatter in join (#2040) (#2050) 5de0bc1d Add UDL as replacement for FMT_COMPILE (#2043) a6fafe2f docs: use https for some links (#2051) 33f9a6d3 Fix handling of enums in to_string (#2036) aabe0a84 simplify tests by reordering arguments of `EXPECT_EQ` (#2044) 1f4a76d2 Add a missing include (#2047) 4a6eadbd Make std::byte formattabe (#1981) 683a7450 fix formatting with empty compiled format string (#2042) f43416e1 Add a link to contents from index 5a493560 Move some code from core.h to format.h where it is used 9ed0a981 Fix docs build dac753b8 Basics of formatting at compile-time based on compile-time API (#2019) 119f7dc3 Truncate file by default 22a68d16 Don't emit trailing zeros by default d0110b7e Update README.rst 3f4839ce Merge branch 'release' of github.com:fmtlib/fmt 7bdf0628 Update version fc135511 Update changelog 926233bd Fix test 0683fa7d Bump version 6ce207b9 Fix formatting 07b1c1a1 Update changelog 58992761 Reintroduce ostream support to range formatters (#2014) b8957f50 Fix an overflow in format_to_n (#2029) df66516e Workaround an issue with mixing std versions in gcc (#2017) a57baa69 Fix more linkage errors (#2011) 85534a13 Fix linkage errors when linking with a shared library (#2011) a2fa5d62 Update changelog cd300368 Fix more linkage errors (#2011) d1ef29d6 Fix initialization of iterator_buffer (#1996) 5f41bb0f clang-format a58a6b27 Add a newline a036cc97 Reintroduce ostream support to range formatters (#2014) 38c7def4 Update clang version to 3.4 since there are ICEs on earlier ones 55336413 :new: [CI] Test with C++14 in Windows 2019 (#2020) 55dfdd92 Update README.rst 2c734c9b Fix an overflow in format_to_n (#2029) 6cdd1be9 Update build.gradle for latest AGP (#2026) bcc20b29 Implement compile-time checks by default befd7d4a Always use FMT_STRING internally where possible [Issue #2002] (#2006) f8640d40 Add more standards f81c14aa Workaround an issue with mixing std versions in gcc (#2017) 5555651c Fix more linkage errors (#2011) b268f881 detail::write in one more place relevant to printf with long argument… (#2016) aa9b09a9 :bug: Cannot call non-constexpr function in constexpr context (#2010) 986fa004 Printf get container (#1982) 7abc3c01 Suppress a useless warning (#2004) 6d14f781 Fix linkage errors when linking with a shared library (#2011) 9534b9fe Refactor warning suppression 60dc2735 Simplify on_text b5dac0f0 Reduce <algorithm> usage (#1998) a07627b1 :bug: Implicit sign conversion warning in clang in c++17 and 20 modes (#2009) 1b8f499e :wrench: Silence useless cast warnings (#2008) f428d286 Update README.rst beb248b6 Optimize handling of large format strings 1936dddc fix gcc warning of missing override (#2001) 14f6bd0f Move one more headers to args.h e01d26e1 Optimize includes e528d919 Merge branch 'master' of github.com:fmtlib/fmt 48816772 Update signatures 3302fd10 use memchr for searching for '%' in printf format string (#1984) 4c2d6372 Update signatures beaff396 Update signatures ffa0a083 Use newer versions of Sphinx and Breathe 038057eb Document contexts 5bedcb66 Fix initialization of iterator_buffer (#1996) 2435ea41 Workaround MSVC mess 8c6215f5 Fix fmt/color.h 10ebe6cb Document color 1ac50fcb Suppress more bogus warnings e098be8e Fix warning filtering 8cf0afaf Improve docs e29f93e8 Suppress more bogus warnings 4e8d000f Suppress more bogus warnings 7787792e Fix re usage 6ee5e507 Fix imports 06ee32d1 Filter useless doxygen warnings 86bb7fe6 Add a missing import 959a9f5c Merge branch 'master' of github.com:fmtlib/fmt 4f7df299 Improve docs b3ab0bc7 :art: [CI] Specify the exact version of clang to use (#1991) 701ed6c8 Install deps in github actions instead of script 8f2131cf Document chrono 32c4af8f Document chrono 295a60ec Document chrono a4fae96c Document chrono 263bb0e6 Document chrono 0506b328 Document chrono 4e426c19 Document chrono 9795d873 Update docs 2eb0be0b Remove debug code and fix bot contact cd955798 Move less installation to actions 98639d0f Debug doc build ab5e0632 Debug doc build b123129f Dump the content of html dir 81d2b986 Print less command 7a0b1d57 Add key 9f0617cb Fix branch ref 75b07598 Chrono docs dfbb6975 Remove travis config 5b3052f9 Switch doc build to github actions 506ff320 Fix build failure when not using fcntl with -Werror (#1990) a30b279b Apply clang-format and tweak comments 6a2495c8 -Wattributes visibility warning with some GCC versions (#1975) cba5970c Remove migrated build configs 689081d8 Merge branch 'release' of github.com:fmtlib/fmt cc09f1a6 Update version e4eb242c Update changelog and bump version ce98e0c6 Fix fallback float formatter at assymetric bounds (#1976) 49544ea9 Fuzz fallback formatter 6b7bfed4 Fix fallback float formatter at assymetric bounds (#1976) bcab36da Update CI config 1689e73e Move PR template 0103408a Update CI config 38a16ecb Move build config to github actions 205eb3a8 Update CI config fe61b8c6 Update CI config 867b15d7 Update CI config 98cb9f99 Update CI config 95077d60 Update CI config bc49f094 Update CI config cef6dfb4 Update CI config c8703ba4 Update CI config ab4405be Update README.rst 78a55e28 Update CI config d0a2494a Update cmake.yml 89d009ba Update cmake.yml 1f4ff47b Create cmake.yml eb52ac7a :new: Enable -Wshadow in pedantic mode e904e891 :art: :bug: Rename all shadowed types and variables 771292c3 Remove sizeof from unused variable silencer (#1974) 86bf6045 Merge branch 'release' of github.com:fmtlib/fmt 5f7f7b95 Update version 5d3f0741 Update changelog and bump version 563cbb6c Add a macro to workaround clang/gcc ABI incompatibility on ARM 425778aa Fix ABI compatibility (#1961) 69a84198 Remove accidental parenthesis (#1968) 5c045049 Removed [-Wsign-conversion] warning in GCC 556a1cfb Instantiate to_decimal to make gcc lto happy (#1955) 28a8eae8 Cleanup 236fea1f Workaround bugs in gcc 8 e50ced88 Add a macro to workaround clang/gcc ABI incompatibility on ARM 112755cf Remove FMT_SAFEBUFFERS (#1966) 4081b2fe Fix ABI compatibility (#1961) 2d9311e8 Remove accidental parenthesis (#1968) b3a4f28a Fix implicit signedness conversion warning (#1963) 97c88732 Allocator::max_size support in basic_memory_buffer (#1960) bb68f608 Removed [-Wsign-conversion] warning in GCC f4ca065c Range support cb224eca Instantiate to_decimal to make gcc lto happy (#1955) 7977c2b4 Cleanup e54eb676 Workaround bugs in gcc 8 4fe0b111 Update version df4bd60f Bump version 764fb35e Always install the required version of breathe e1bdc0ec Use the correct version of sphinx 39bde329 Tweak markup 204d299a Tweak markup e0995b1c Update readme 4af178bd Remove outdated build config aa41dc02 Remove unused script 6a77ea3c Tweak markup 62c72059 Update changelog c10e3f7f Update changelog e542e695 Update changelog 530cf316 Point to the release, not dev documentation 740385d6 Update changelog cd465111 Update changelog 46291be3 Update changelog 90071c1d Update ChangeLog.rst 25293d7a Update ChangeLog.rst 5024742f Update ChangeLog.rst 0452a4e7 Update changelog 8de96817 Woraround bugs in gcc 8 47e16767 Simplify arg formatter f0a42346 Move parsing optimization one level up 86287b8d Optimize common case in parse_format_specs 8924211f Update README.rst 525e7649 Update CONTRIBUTING.md 0ecb3d18 Optimize alignment parsing 97553078 Optimize format_uint 7446818f Simplify vformat_to 280b5612 Add option to force usage of inline namespaces e57ec7d5 Merge vformat_to overloads 2a3f4de3 Remove iterator_category 27fdb4ea Unshadow floaty 297e0bad Apply clang-format e3b4c22e Simplify is_output_iterator da8278e1 Update changelog and bump version 17fba753 added position independent documentation (#1939) 71e705a2 Update README.rst 74654c8c Fix compilation for systems without fcntl.h (#1942) f468b203 Avoid conversion from long long to size_t (#1935) 20d4f2e8 Fix handling of weird character types when parsing sign (#1932) 08370c39 Update README.rst bd3c7925 Fix float fuzzer 8d3fd86d Merge branch 'master' of github.com:fmtlib/fmt 40347157 Update README.rst 37d738fa Update README.rst 271eff14 Make classes derived from buffer<T> final to silence the virtual destructor warning. (#1937) 010efc31 Add float fuzzer and cleanup 811c8b58 Add float fuzzer and cleanup 82c4e223 Cleanup fuzzing 63e40c96 Fix naming of fuzzers 2f448ed5 Fix fuzzer timeouts af283059 Cleanup 48ea8193 Explain why assert-test is a separate test 1d112bdd Remove old test 5eb292a6 Update README.rst 7e56b6b6 Fix coding style and remove duplicate fuzzer 41d97e1e Fix a UB on ridiculously large precision 01c37e0a Added check for `-mbig-obj` and ref qualifier check (#1929) a5e7e7db Fix handling of thousand separator (#1927) bf19051a Optimize floating point formatting 3c13a88b Optimize floating point formatting f6d75c53 Refactor write_float e9c0b2d6 Merge write_float overloads 7eddbfed Cleanup exponent handling in write_float b347b302 Update dynamic_formatter comment (#1923) 3541880e Fix integer overflow when using max int precision 7b50dc0b Don't exclude all detail symbols from docs 28052431 Fix the doc config 34f22e88 Cleanup CMake config a18b3fbb Fix fixed precision handling when rounding (#1917) 72770357 Fix long lines in usage.md 7612c1ea Add reference to lhelper package manager in usage b91d39f2 Get rid of float_writer b4b64b9c Refactor float formatting 712abe40 Workaround a bug in gcc 7.5 (#1912) af8a180a Make GetCachedPower test more precise a581e9e5 Fix warning C4018: '<=': signed/unsigned mismatch (#1908) 05a28312 Update docs 4d0aa4d8 Update link 575f4018 Simplify FP formatting and follow coding conventions 6f3536f9 Move zero-check to an earlier branch (#1906) 90ef46df Fix dragonbox integration 3ae88147 Fix declaration 64179525 Improve dragonbox integration 79694d42 Fix WriteConsole signature 51f2e2ca Move nan test to where it belongs 68555fdb Make format-test not depend on color.h 63e0c354 Make dragonbox::to_decimal available in format.h 2213a711 Update README.rst 79ba37f3 Update README.rst a905d8f7 Merge grisu-test into format-test 762c33a9 Simplify windows handling (#1903) 253d6315 Remove dependency on windows.h (#1900) c156093f Fix carry in fallback_format 34179b33 Update format.h (#1898) 0651e459 Minor tweaks to get_cached_power 6c025520 Test that max_k is correctly defined 51f8d0cc Reuse log10_2_significand constant 1305cbeb Fix MSVC2019 error C2049 when compiling with /clr (#1897) 2d4fde3a Don't emit trailing zero for consistency with std::format 5fd89d50 Minor simplifications 605ce5e4 Simplify divisible_by_power_of_2 085171e7 Remove grisu_count_digits aa729bf2 Remove dead code aa2ddf9b Simplify Dragonbox integration c1654ce4 Simplify uint32_or_64_or_128_t definition 33712dc0 Combine pragmas e5942ac9 Tweak comments aae7a133 Remove unused pragmas 6bcde9aa https://github.com/fmtlib/fmt/pull/1882#issuecomment-696823912 (#1894) bb0db5e5 clang-format 16410056 Optimize copy_str for counting_iterator 2591ab91 MSVC optimizations for count_digits. (#1890) d5b8002d Update README.rst 821471e1 qkw: generalizing aliasing | using fmt library and it's features (#1888) 2e620ddb Small improvements that should have zero to negligible impact on the runtime (#1887) 2f7e0885 Disable range formatter if value type is not formattable (#1885) c46a8de4 Simplify test 2696dc92 add forgotten template argument to make_format_args which made some u… (#1877) 0016da7a Don't generate zeros and fix UB on huge precision ce3f7699 Merge intrinsic blocks 3b6248f6 Change formatting 2d9b1dd0 Fix sign mismatch 1f0600a2 Fix bug regarding FMT_SAFEBUFFERS 2ecdbb98 Fix a bug in ctzll 6f81ea15 Fix typo (and thus bug) 0c8ffe9b Implement Dragonbox (first version) 42699bf4 Fix msvc version of clz & clzll (#1880) bc51a8df Disable fallthrough attributes for the Intel compilers on Linux and MacOS (#1879) 45da432d fix compiler warnings in public header files d55e61f1 Improve FMT_ALWAYS_INLINE (#1878) 7e682752 Remove trailing zeros when using fallback formatter (#1873) 1d696dc2 Handle exotic character types in compilation f674434a Add format_to_n overload that accepts FMT_COMPILE (from #1767) (#1869) 5b5a5971 Fix handling of wide alignment f80ed64d Update README.rst 38139664 Simplify fallback format dce8e49b Handle float in fallback formatter 78b59443 Spelling f233b56c Don't generate insignificant digits 595902f8 Update test 4f2ee892 Use built-in FP formatter for any precision 58a044be Use built-in FP formatter for any precision efe3694f Macro tweak and clang-format 9f312fe8 Implement fallback FP formatting with given precision (#1526) fb289cf5 Fix coding conventions 86f0a704 Fix formatting bff4d18e Add color format_to overloads * Fix variable size basic_memory_buffer colorization * Fix an unused arguments warning on GCC that blocks the CI otherwise * Ref #1842 * Ref #1593 f19b8885 Fixed a warning in mingw32/mingw64 (#1860) f8e00a08 NOMINMAX not handled properly (#1855) 6cccdc24 Fix move constructor (#1844) 69902c17 Allow use of <fcntl.h> in Linux when __has_include is not available (#1848) 1edd38b9 Add append mode. (#1847) e66ba169 Added build2 usage instructions. (#1838) f39e6fb6 Add formatters for chrono::time_point<system_clock> (#1837) 77b627be Fix bogus MSVC warnings (#1825) 5dff01d3 Add complex tests d16d585e Update signatures c7e6d8af Fix usage of override (#1836) 92bff2fe Revert "Add missing includes" a0dcfbc5 Add ptr to docs 1651b2d4 Fix detail::write with fallback formatter (#1829) 06895a76 Add missing includes 92a448a0 Apply clang-format 6be65446 Fixing buffer_appender's ++ slicing (#1822) 951e0d23 CMakeLists.txt: Added Wundef warning to clang and gcc. (#1823) f9f02df7 CMakeLists.txt: Clang-warnings: removed -Wno-sign-conversion (#1817) 76e97dc4 Eliminate shadowed variable warnings on intel (#1816) e204df0e nvcc compiler should be EDG-based, but fails test (#1818) 1c8bb547 small changes to reduce clang-9 warnings (#1808) 4b69c787 fix: warning C4100: unreferenced formal parameter (#1814) fb0aeb82 fix: disabled UDL templates for PGI (#1811) (#1812) 54daa086 Add dynamic width support to FMT_COMPILE (#1809) 6fb7c6fb Workaround a bug in gcc10 (#1810) 16985fda Update README.rst 1378ddae Update README.rst 4fd95e4b Don't remove trailing zeros with # e06ae322 Avoid warnings on functions with external linkage that don't have declarations 7fc3d1f5 Add override to grow 065889a5 Use correct capacity in iterator_buffer (#1807) d0dd6786 Adding convenience append(range) 0e7cef06 Merge commit 'c13f79e0' e2c8c455 Update README.rst e4c954ff Update README.rst c13f79e0 Merge release branch d7921d64 Update README.rst 4a4fc225 Update changelog 61602a75 Remove -Wno-shadow 2f8fc29e Update README.rst 717b226b include/fmt/format.h: explicit cast to std::size_t for parameter to buffer.resize() in order to get rid of warning 'implicit conversion changes signedness:' in clang-8 (#1802) 2a69f567 Tweak buffer size ea769338 Simplify ostream 5413713c Remove unused function 57f46242 Increase the default buffer size 0b6e7cc6 Update README.rst e587adb4 Simplify count_digits 279d698e Fix handling of default alignmment with locale (#1801) 76cfb50b Test complex formatter 20829120 Optimize count_digits 8d9ab967 Cut a few cycles from count_digits 73434493 Simplify ostream_params 2a47a1e4 Update README.rst 7c4c5c79 Make buffer size configurable f0b84da5 Don't use 128 bit integers with clang-cl (#1800) a3dfd6f9 Workaround a bug in msvc 51d05521 Workaround broken numeric_limites, part 2 (#1787) 21c8b5c1 Report error on missing named argument (#1796) d82fdcc9 Fix handling of iterators in locale-specific formatting (#1782) 633213d9 Merge release branch e8f2580a Bump version 6cefe55a Update changelog 64e2da15 Update README.rst 1c8c810f Update README.rst c2399ccf Update README.rst a7c5db06 Update README.rst a4c22acd Update README.rst 0c1f4b5a Update README.rst 63b422ee Update README.rst 26e81a67 Update README.rst de5fc6af Update README.rst 9c2edfd1 Partially revert 638db5 because it breaks the doc build 810357c0 Document color 0a7032a4 Update README.rst 95d3abf9 Make format_to_n part of the core API 98626093 Correct the locale format specifier in api.rst (#1792) 47f8d7a3 Make formatted_size part of the core API 46a63b70 Update docs 430f393d Disabled __attribute__((deprecated)) usage for LCC (#1790) febffa4e Make join() handle non-const-only begin/end ranges (#1786) d69e2da2 Fix apidoc ce73ea37 Reorder functions d39d661b Workaround broken numeric_limits (#1725) c228bfe8 Improve docs 38ce19f7 Update README.rst d11849bc Add FMT_REDUCE_INT_INSTANTIATIONS flag (#1781) c08518a2 Move make_args_checked to the public API e2837084 Add a color section 9f0c0033 Simplify format string checks d615137c Improve handling of buffer iterator 26b47b6f Bump tested CMake version to 3.18 7a01c9c5 Update README.rst b17d5c4f Fix a regression in handling digit separators (#1782) eb90da2e Type erase output iterators 9d3cd0af Type erase output iterators 18024853 Fix compatibility with CMake 3.4 (#1779) f5d4215b Trying to clear ambiguous compile time claims (#1775) c26349f4 Improve error reporting f4b11ef6 Add a short anchor 0097cf11 Report unformattable type name more prominently 8fa20b47 dev -> latest a03bd3dd Autodetect MSVC static runtime (#1770) c108ee1d Clarify a comment a8074a86 Update README.rst 5f629548 Update README.rst bd903f96 Clarify precedence 16cac46a Improve handling of streamable and convertible to bool types (#1766) 415cd519 direct_buffered_file -> ostream e1bfb596 Fix handling of code units in compile ba8d98cb Cleanup direct_buffered_file 04a1f6e9 Improve handling of single code units in compile e4f57bfd Add an overload of write for buffer_appender d8704681 Make append work with fixed-size buffer e8ec09ae Cleanup core-test a2c4fed9 Double buffering no more 36406509 Add a fixed buffer 60c43e87 Apply clang-format b998e0f3 Reduce symbol sizes and simplify iterator use c5adfc51 Update README.rst c4ad94ce Update README.rst c1429651 Fix image source link 638db5ca Use Cmake to find Python and Sphinx-doc. c0905697 Update readme 1efdb2dd Simplify readme dc69afad Cleanup example 445f5d39 Break long lines 23063c34 Update readme f57b6257 Move PR template to the top level git-subtree-dir: externals/fmt git-subtree-split: 9e8b86fd2d9806672cc73133d21780dd182bfd24
2021-06-23 08:39:40 +01:00
are valid only for ``std::tm`` and not durations or time points.
Squashed 'externals/fmt/' changes from b6f4ceaed..c4ee72653 c4ee72653 Update version fa2eb2d2e Bump version 35f72bf21 Bump version d22f00d7e Update changelog 4e8d21560 Update changelog 84eecb656 Prune CI configs 55727e3b2 More compile-time checks 1010b7f14 Update docs 2ac51fc44 Update changelog 831132293 Workaround for Microsoft Visual Studio 2022 Internal compiler error. 115e00e0b Replace __cplusplus with FMT_CPLUSPLUS. 94114b05c New CI: Microsoft Visual Studio 2022. d2a232082 Fix partial specialization problem for filesystem for Visual Studio (#2957) 0c06c81da Deprecated implicit conversion of enums to ints for consistency with scoped enums c12b4c0cf New CI: GCC-8 C++17, Clang-8 C++17. 99bb5b1d1 Fix std::variant, std::filesystem::path tests on GCC-8, Clang-7,8. e29c2bc60 Update docs c65e4286b Update changelog 69c24e47e Update changelog 6a775e956 Add support for 'std::variant' in C++17 (#2941) 51535866d Update docs 3ef5caa9f Update docs dccd3e674 Fix docs 9cb02aaaa Fix UDLs e6d478f8e Update changelog and docs 2d931b149 Add fmt::streamed 0506a5733 Update changelog e8bd2a804 Fix enable_ifs for map formatter (#2944) 7c56e11ec Update changelog 69a20db08 Update changelog and fix an apidoc comment 7a2a97c88 Update changelog 568233889 Fix is_formattable for tuple-like types. (#2940) f0de12844 Remove /source-charset:utf-8 compile option. eaa8efb95 Fix ofstream handling in msvc fb991e9d3 Update changelog 8e47cfd1c fix -Wsign-conversion warning 247187586 Make the tests pass on a CHERI system. b135f1c01 Refactor handling of argument types f61a1e813 Add format_arg_types 48b7e3daf Added a FMT_STRING wrapper for system_error() call. 4bb3af7a6 Improve compile-time checks d02c582b9 Fix 'duplicate symbol' error. b59d8c3a2 Make std::filesystem::path formatter utf-8 compatible. 232e21d51 Add utf-8 test for std::filesystem::path formatter. 864465419 Docs: add comment about empty format context range ba50c19e8 use qualified call to avoid ADL conflict with std::format_to 9d6039595 Fix compilation on ppc64 a2681aabc Debug ppc failure bfc576736 Add support for std.h in Bazel build 798d09bb7 Debug ppc failure 8c7cf5139 Cleanup cdfacb434 Cleanup parse_format_string 926ddd063 Move compile string to detail cb682f36f Move to_string_view to detail 156744ad4 Simplify fmt::runtime d9c7166cf bi_iterator -> base 11316b29a chore: Set permissions for GitHub actions fe6eb792d Cleanup check_format_string 054b1d980 Remove unused include e927149f8 Cleanup macros 1761e2666 Remove FMT_CONSTEXPR_DECL d6b568a6c Cleanup string_view checks c83a5d42b FMT_MSC_VER -> FMT_MSC_VERSION 27cd68c30 Cleanup macros 08be4abb3 Remove FMT_NVCOMPILER_VERSION 661b19254 Remove FMT_HEADER_ONLY_CONSTEXPR20 d1026fa5d Remove extern format_float 7e63b600b Make to_string work with __float128 b2ea212cd Update README.rst c2fcdc54e Move format_float to format.h for __float128 2b9037a19 Move basic_fp to format.h for compile-time formatting 542785ccb Get rid of detail::bits 65dd2ea52 Use write_escaped_string to std::filesystem::path. 9860f67cd Improve xchar support for std formatters. 03b1b2838 Improve std::filesystem::path formatter. 4f9311e68 Fix definition of error_handler::on_error 652fea45a Visual Studio 2022: fmt/format.h(1526,27): warning C4127: conditional expression is constant #2908 1f9eae7e3 Add xchar support for write_escaped_string. 90b68783f Skip cmake targets inclusion if fmt::fmt already exists (#2907) ce246aaf7 Remove deprecated APIs edeb3d809 Remove deprecated APIs 496aff7c3 Remove deprecated APIs f5cdf7cb0 Simplify snprintf_float 440512f08 Remove deprecated APIs 621eb80bb Remove deprecated APIs 5c7d315de Remove locale.h c6324009b Add initial double-double support 147e8ca58 Fix Windows max mix-up (#2903) 6bf039d75 Add std::thread::id formatter 9730fb015 Fix path formatter f0903ad9d Add a path formatter 8833f386e Merge branch 'master' of github.com:fmtlib/fmt 5ab9d3925 Namespace-qualify format_to to avoid conflict with std::format_to af5644c27 Update README.rst 3e28dc021 VS2022 17.2: C4189: 'zero': local variable is initialized but not referenced #2891 (#2892) f6f920a1a Tweak a comment and apply clang-format ae963e444 Implement constexpr isfinite to avoid producing NaN 358f5a7e5 Make precision computation consistent with width f63afd161 Fixed all clang -Wsigned-enum-bitfield warnings (#2882) 7e4ad4017 Add initial support for double-double ffb5e6a73 Suppress a -Wliteral-range warning on Apple M1 (#2861) 5d804ee7f Fix handling of subnormals in exotic FP 86e27ccb4 Suppress a warning 192f79aaa Fix handling of locale separators in FP formatting 395cf0f03 Fix detection of unformattable pointers fc429d18b Avoid overhead on sensible platforms ce7ecdb7a Replace conditional compilation with SFINAE 8751a03a0 Fix Unicode handling when writing to an ostream c55175a58 Add an issue template a935ac3e6 MSVC CMake generation optimization (#2852) 22d31b31f Add a __float128 test f607e3e97 Add __float128 support 686de5888 Implement 128-bit constant mul in bigint 02eb215f2 Replace uint128_wrapper with uint128_fallback b4dc7a1d3 Add 128-bit operations to bigint ef54f9aa3 Suppress -Wfloat-equal 288c3b928 Remove dead code in ostream.h format_value 96930161f Implement 128-bit operator+= for uint128_fallback b41890c1e Make arg_mapper SFINAE-friendly again e2408f37c Check if formatter is not defined if there is format_as db5b8993a Fix formatting of std::byte via format_as 1c83eaf75 Fix incompatible between Jinja2 >= 3.1 and sphinx 3.3.0 5379063b5 Fixed clang -Wreserved-identifier warings b591fc87d Fixed all clang -Wreserved-id-macro warnings (on macOS at least) 17dda5839 constexpr -> const for portability 7ffe87c0b Fix docs 3c4273dd0 Simplify UDL 36d95c9fc Fix docs 44abd1f48 Update signatures in docs and ostream.h db745986f Workaround broken std::numeric_limits 8271e43e5 Improve __float128 support and use constexpr 3f9b7433a Improve __float128 support 71778e8b9 Specialize float_info for __float128 f024565c3 Improve exponent handling in Dragon e7f31f5cd Cleanup format_dragon 3c61799fb Cleanup fuzzing mode 4e39e1308 Remove xchar.h include from ostream.h ac0d9d5fe Issue #2816: also strip named-arg for the fallback formatter 4ad90578f Fix #2818: diagnose unformattable arguments in unpacked case 17ba99c1d Fix #2817: add compile-time checking to ostream overloads of fmt::print 3d19be282 Fix #2816: strip named argument wrappers for compile-time checking c076a54a4 Move snprintf_float to format.h 0419d2388 Add FMT_USE_FLOAT128 69396347a Update color.h (#2815) c51604a0e Reduce the number of configs 587dc9946 Remove windows-2016 env no longer suppported by GA 1f3d44b85 Update std::tm/chrono docs bc654faf8 Add is_floating_point that works with __float128 26bffce66 Simplify basic_memory_buffer ed18ca3ea Implement isnan a204b8dde Add initial __float128 support b6b003b07 Cleanup test f2543b0a9 Add initial support for 128-bit floats 72f487562 Simplify float_info f91f61cd1 Reuse num_significand_bits 9a1beab57 Workaround Windows API garbage a8fe8becf Fix compilation error for ranges with ADL `begin`/`end` (#2807) f6bcb25e1 Remove extra dot b4a4189d0 Fix handling of implicit bit 32d477e5f Add `styled` in documentation (#2805) 0b7c045a2 Simplify _cf c10fffecd Make _cf visible in the doc build dcfbe4a77 Document output_file default behavior correctly (#2803) 8c9bc070f Implement styled arguments (#2793) 5bc39d363 Eliminate intel compiler warnings (#2802) e3d688e79 Fix warning C4251: class fmt::v8::file needs to have dll-interface (#2797) 8d4f3e91b Update docs 0cef1f819 Fixing formatting of certain kinds of ranges of ranges. (#2787) 5c0d65640 Fix apt install d416a995e Update README.rst 3f67a1247 Update README.rst cc57e3597 Update godbolt link in the readme (#2789) 86477f7ec Fix size computation 0742606f1 Fix Conversion Warning (#2782) 1ba69fb5a Remove snprintf FP fallback ea6f0bf0e Minor cleanup 1a18a2f3d Fixing "C4127: conditional expression is constant" Visual Studio 2022 warning in pedantic mode (#2783) 4fcacea35 Parameterized fp on significand type cf940ae82 Simplify to_decimal 70dc3de05 Update format.h cbc59ca89 Clear moved from memory buffer ea3d326c6 Fix clang -Wliteral-range warning (#2779) aad44f283 Add fmt::enums::format_as 1319719a5 Add underlying_t af5d8004f Limit Dragonbox to supported FP formats 7b9642096 Remove unused include a0b43bfae Add support for 96-bit long double 2c8cd2db3 Fix handling of zero precision b6d56170f Remove unnecessary inline 05432e570 Use consistent indentation 47da218cc Remove uintptr_fallback 4ddab8901 Merge accumulator into int128_fallback d38f72aff Refactor fallback ints 15c2a3bac int128_t -> int128_opt 532a69a63 Fix handling of 96-bit long double with -m32 d8e1dd4ab improve installing headers ae25f7968 add ability to build Apple framework using CMAKE_FRAMEWORK ce93a66df Implement a fallback uint128_t 6a1346405 Include 128-bit with other signed integers in specifier check 70de324aa Apply 2746 fix for NVidia compiler also (#2770) a1ea3e015 Move built-in formatter specialization to core 161059dd9 Add support for extended precision FP c4c6b42de Bump version 21785040c Fix markup 2b6f7fc7a Add partial support for extended precision FP 0a24a0714 Clz builtin may be not constexpr (Issue #2761) (#2762) ba6f89c76 Update .bazelversion (#2766) 5594edaf6 Address https://github.com/fmtlib/fmt/issues/2763 (#2765) 10e3b83a7 Replace ``make_args_checked`` with ``make_format_args`` (#2760) c48353cb7 Update docs 083510f0f Add FMT_CONSTEXPR to rotr instead dba99bc86 Revert adding constexpr to rotr to satisfy C++11 compilers c04af4bfc Simplify remove_trailing_zeros b348caa9e Remove some C-style casts for consistency c8bd1e646 Simplify remove_trailing_zeros 9b23e9dcb Fix wrong comment/refer to a correct reference 69f2c550a Remove std:: infront of uint32_t/64_t & add constexpr to rotr 9b62310f0 Fix some conversion issues 08d12f31d Fix typo dbddb1d06 Remove literal separator to satisfy some compilers 7dbe3dcde Recover log10_2_significand 10642e608 Optimize remove_trailing_zeros 7b4323e1e Add rotr f1bd6f773 Check r < deltai first, because that is the major branch chosen for short inputs 5d8eb6a1a Reflect the new paper - Change constants appearing in log & division computations - Rename beta_minus_1 to beta 8e2e4d403 Suppress a gcc warning a44716f58 Workaround to Intel compiler (#2758) c71b07016 Add missing const qualifier (#2755) ecd6022c2 Update docs afbcf1e8e Remove legacy C locale wrapper 90325d097 Fix stored type detection e2ba01fcb Fix overload ambiguity in print 17b362f78 Simplify ostream opt-in API a5a7e3a26 Update docs f055ebbd2 Make ostream operators opt in to reduce the risk of ODR violations 8a21e328b Remove problematic constructibility check 31e743d06 Don't use ostream for types convertible to string_view 35c0286cd Simplify byte handling c7173a36a Drop :: and fix formatting 3e8372b96 qualify unqualified calls to format in compile.h (#2742) a34a97cc1 Supporting ? as a string presentation type (#2674) ae1aaaee5 Fix access mode of files created (#2530) (#2733) 1557ab764 Add format_as for enums b00a1eac7 Fixes NVIDIA HPC compiler and Intel ICC compatibility (#2732) a7aecbfca Remove an old mingw workaround dfcc730cb Making target_compile_options PRIVATE, fix #2726, fix #2507 f7a809be6 Clarify the choice of magic numbers and compute the most magic one 09fde7f4b Add fmt::underlying for enum classes 0014024a2 Don't rely on transitive includes c28500556 FMT_NOEXCEPT -> noexcept 6240d0201 Improve comments 925b744ae Improve comments 22b14ff25 Simplify cache recovery 3dc26b44d Make a fallback path more compiler-friendly 2e4038bf5 Simplify lines with __builtin_addcll and friends 76336b4f6 Replace noexcept with FMT_NOEXCEPT 918198348 Fix syntax errors 74097a149 Remove now-unused stuffs 21a1c5338 Fix typo 04eea0f0a Remove now-unused stuffs 35a468ed3 Simplify integer checks 1882a7a2c Replace Dragonbox cache which allows simpler cache recovery & integer checks f4dd1b1b8 Simplify Dragonbox Step 3. 70561ed13 Minimize the usage of built-in 128-bit ints It usually generates slower code than manual handling. cdf1a3b53 Fix codecvt warning (#2408) (#2725) b8b037e93 Fix -Wconversion warning (#2724) 5985f0a7d Fix overflow for chrono durations (#2722) 8f8a1a02d Fix handling of formattable types implicitly convertible to pointers b02e5af52 fmt::join support FMT_COMPILE (#2720) 58fb78239 Improve docs 4fe6129d6 Fix FMT_NOEXCEPT definition c056a009d Docs: Fix link to "Compile-time Format String Checks" section (#2712) 7c12118c1 Deprecate buffered_file::fileno 2a09d468d Use noexcept unconditionally a126b4d88 Check if right shift is arithmetic 9ff91b18c Simplify write_fractional_seconds d9f045fba Fix a UB in chrono c06bef727 Adding comments for range formatting. (#2706) 3c98f1a4c Comment style 6e0f1399d Supporting nested format specs for ranges. (#2673) 0102101ac Make colored print handle UTF-8 (#2701) 4ac5269b4 Update ChangeLog.rst git-subtree-dir: externals/fmt git-subtree-split: c4ee726532178e556d923372f29163bd206d7732
2022-07-26 10:51:24 +01:00
.. range-specs:
Range Format Specifications
===========================
Format specifications for range types have the following syntax:
..productionlist:: sf
range_format_spec: [":" [`underlying_spec`]]
The `underlying_spec` is parsed based on the formatter of the range's
reference type.
By default, a range of characters or strings is printed escaped and quoted. But
if any `underlying_spec` is provided (even if it is empty), then the characters
or strings are printed according to the provided specification.
Examples:
fmt::format("{}", std::vector{10, 20, 30});
// Result: [10, 20, 30]
fmt::format("{::#x}", std::vector{10, 20, 30});
// Result: [0xa, 0x14, 0x13]
fmt::format("{}", vector{'h', 'e', 'l', 'l', 'o'});
// Result: ['h', 'e', 'l', 'l', 'o']
fmt::format("{::}", vector{'h', 'e', 'l', 'l', 'o'});
// Result: [h, e, l, l, o]
fmt::format("{::d}", vector{'h', 'e', 'l', 'l', 'o'});
// Result: [104, 101, 108, 108, 111]
Squashed 'externals/fmt/' changes from cd4af11e..9e8b86fd 9e8b86fd Update version 92fec0f0 Bump version 4749cc93 Update changelog 78a0ba0a Improve conversion of paragraphs 7a39837d Use a working breathe version 55b6e92d Fix docs 69dc3a85 Fix docs 27f4cdd5 Update changelog 70d61a0a Update changelog 427b5340 Add no_value state to value e421d527 Simplify error handling in parse_nonnegative_int a59678f3 Fix chrono_test.locale c98254c3 Install locales into CI c123a728 Fix set locale error in chrono formatter 3c8fad12 Optimize parse_nonnegative_int f28cf330 adding a default format for std::chrono::time_point<std::chrono::syst… (#2345) 55010a9d Support non-`char` overloads (module) 0193e7c4 Support compile-time strings and compile-time format string compilation in module 3423d754 Remove the msvc workaround (#2351) f6b5cc9f Fix chrono_test.weekday on legacy glibc 59a298f1 Enable `enforce-checks-test` for MSVC, too 36c29482 Update docs c9fe1fa5 Remove unused flag dccddc2b Apply clang-format 0e36681b Cleanup digit count 1de80f5b Workaround lack of static constexpr in constexpr functions 2039dce7 Detect consteval d551b88a Move is_char specializations to xchar.h 16c3514d wchar-test -> xchar-test 206000a0 Workaround pathological conversion (#2343) 76ee4904 Move wchar/custom char overloads to xchar.h e77b22d6 Deprecate memory buffer overload of format_to 07039f4b Update README.rst 4678192c Remove bsr2log10 7c3d3dfa Update thousands_sep_impl signature ef826b86 Fix docs 5223f552 Remove FMT_ALWAYS_INLINE cfde93af Add FMT_STATIC_CONSTEXPR 986a5a6c Fixed join_view formatter for wchar_t 7c8b35ff fix MSVC Win32 count_digits 3eeb084e Optimize count_digits 2ac0bfe5 Improve handling of thousands separator 024741b4 CI: set up multi-thread build for all platforms f4c95f6d Improve handling of thousands separator d4fbeacc Fix docs build 0eef389d Code style e27b1ce5 Fix docs 9f8b6dac Fix wheel installation 6060bcfc Fix docs ff967346 Fix docs 1085cc21 Fix docs 11addaa1 Update docs 760ca5cc Update docs 290d3f8b Cleanup ranges API aa09e0f5 Update docs d142579e Cleanup the format API f286139d Fix "undefined reference to `fmt::v7::detail::basic_data<void>::digits'" 7b9d69b8 Add xchar.h to docs cbd861f1 Update docs faf972f0 Update docs 622d1c04 Update changelog 634c9487 Update changelog a04e3a2d Comment 87876d54 Cleanup the printf implementation d338d663 Cleanup the printf implementation 272660e7 Remove deprecated printf functions 5a95c5ae Update changelog 70e67ae0 Re-enable module testing Prepare for compilation with gcc (modules branch). ad972589 Merge branch 'master' of github.com:fmtlib/fmt ed2a6377 Workaround msvc constexpr issues 99768695 fix custom types formatting at compile-time, add test 8c1b22ba Workaround a gcc 9.1 bug (#2334) 2dba1cfa Update changelog d7ba6c3e Use qualified name-lookup in module. (#2324) bf9904ee Workaround msvc bugs 577bce90 Apply clang-format ba4c7f19 Swap parameter order to match #2327 (#2329) e9e89b35 Update ChangeLog.rst 9bb406d7 Update changelog 11a14db2 Update format_to taking a buffer and remove undocumented vformat_to overload 832ec098 Fix argument order in locale overload of vformat_to (#2327) 486a80e8 Move wchar_t overloads to xchar.h 19d45f4b Update changelog 5a2b88f6 Reduce binary size 00a39ad5 Enable `Char` types other than `char` (#2323) ff37e416 wchar.h -> xchar.h because it handles other code unit types too 0901176f arg_join -> join_view a9a90181 Move wmemory_buffer to wchar.h 4a7801c3 Update changelog 517578f8 Update changelog 85442ed0 Update changelog 6a12b13a Update changelog 1cfe3c73 Update ChangeLog.rst c0601479 Update changelog 6fe04871 Update changelog 9d67988a FMT_DEPRECATED_WCHAR -> FMT_DEPRECATED_INCLUDE_WCHAR 765b451e Update changelog 17c993c7 Fixed compilation with CMake < 3.7 (#2321) dde69373 Update changelog 272b0f36 More module tests (#2309) 126c8cb4 Export os.h API, too (#2318) 98b9ff47 Align hex floats right as default (#2317) ece4b4b3 Update changelog a70a4ae0 Ignore zero-padding for non-finite floating points (#2310) 7612f18d Update changelog b9f2c276 Update changelog 4e21baff Simplify get_units 683ef11a Update changelog ca466374 qualify make_format_args (#2315) 5a2a1856 Make buffers non-movable ee52a6dc add `fmt::print()` overload to support compiled format (#2304) 82607efb Fixed int conversion warning (#2313) 35a2c2a7 Refactor chrono formatting b955e7a6 Refactor chrono formatting 883d9595 Support alternative locale names in tests 1f308a3c Update integer presentation types documentation. 1cd9899c Add initial support for weekday formatting 069131dc Add unicode-test dd8f38fc Cleanup printf API a216f256 Remove undocumented and obsolete vprintf overload 0c092639 Add is_exotic_char trait bc13c6de Update README.rst 8ec0b9e3 Do *not* export namespace `detail` b99c2bd3 Remove deprecated `locale.h` from module interface unit c04a2439 Update changelog b099a56f Update changelog 703005c8 Deprecate locale.h 51f01786 Cleanup the format API 5d59dcf6 Remove deprecated aliases / undeprecate has_formatter c242dd40 Move cerrno include to where it is used 2216e0b7 Update changelog 1c83a49b Simplify buffer extraction 2617384d Improve buffer extraction 34b8acae More wchar_t-specific API to wchar.h 6326c189 Improve code style consistency 5c4b0c86 Add missing Allocator template argument for basic_memory_buffer in format_to 00149c0b Move detail::null to chrono where it is used c5c968cb Improve binary size 128cbdeb cmake: hide private symbols by default 18af1dc4 Fix binary size regression caused by b268f88 d1e6f0f8 Fix binary size regression caused by b268f88 5a0d99fa Add a test for the module 6e2e6b79 Restore support for `wchar_t` overloads in module 24b677d0 Improve symbol sizes 63271a51 Fix ADL issues 61b4c923 Reduce code bloat 2a2e4c58 addressing nits. be48f4d6 Avoid unwanted sign extensions from MSVC in is_utf8. 13e65293 export missed symbols 71fb1138 fix compile error on msvc preview 4 (16.10) involving lookup clash /w STL 08d22503 Remove outdated comments 56f518a9 Update signatures b7f29337 Update signatures 7483dfc6 Update signatures 95c358f7 Improve separation between code unit types 39c3c4ec Simplify the core API e9c1c415 Improve compile-time checks 21d93bfd Move generic format functions to format.h 9a92eb41 Move more wchar overloads to wchar.h 0dd91e20 Add wchar.h for wide char overloads ce14eafc Simplify format string checks 8d70c0ed Refactor the format API 813ac495 More API cleanups 4ab01fb1 Cleanup printf API d5036b11 Remove deprecated APIs 25819462 Cleanup the core API b35db4e0 Improve handling of 128-bit ints d35f1ad5 Cleanup core 8f1902c0 Move format string checks to core.h 6469b903 Silence msvc warning about an unused named parameter 7d4c92fb Update ChangeLog.rst 0763d8ca Fix Visual Studio warning 5466373a Do *not* export namespace `detail` 588bdb54 Simplify get_arg_index_by_name 54f22a3e add support for statically named arguments with FMT_STRING ea94d6d9 Prevent ambiguity in name lookup 57280762 Move specs checker to core.h ced30375 Move dynamic specs to core.h dd2bc998 Move specs to core.h 08da1adc Remove unused headers 3be0cc20 Fix handling of 128-bit ints 9648bdce add missing header d1aebdbd Inline format_to 8f0fadfa Cleanup docs 02896dab Avoid use after move (#2278) 0036a1d1 Fix issue #2274. 2a9b3146 Replace fmt::error_code to std::error_code 2165bef4 Update README.rst 48629308 Optimize format string compilation 3207a8bb Get rid of unnecessary recursion to enable inlining 6214f15a Optimize standard formatter specialization cd2c78fb Use write directly in formatter specializations 4211d865 Add a formatter specialization for std::error_code. 39f28424 Cleanup tests 84feeb0f Remove redundant comments and put common case check first 2665afb5 Cleanup add-subdirectory-test d0abe7c2 Make chrono formatting locale-independent by default 50fb0b5e Fix formatting 16f2ef91 Replace fmt::system_error with std::system_error 4b885c86 Replace windows_error with system_error 5238055f Move esoteric char type support to format.h 9ac088f3 Add fmtlog to projects 849c9f61 Move is_name_start to core 23892caf Move more parsing to core 8e6390c3 Move FMT_STRING to core 51a33713 Move parsing to core 9c3af11a Cleanup tests 9d7b53cb Remove redundant formatter specialization for byte f0095ccd Add support for ranges of types without formatters to join (#2262) 4f0eadfc Exclude fallback from is_formattable 400b953f Use [] instead of {} in ranges for consistency with Python format 38bcc04a Drop range limit and cleanup tests c738c343 Cleanup tests ed7c4320 Cleanup tests 9155e2de Cleanup tests 38127d9e Cleanup tests c9c0e507 Cleanup tests ccf4ccde Cleanup tests and format string compilation e96a92f8 Cleanup tests and format string compilation fd43e4dc gtest: fix std::is_trivially_copy_constructible for GCC 4.8 & 4.9 properly 3d51ccda gtest: remove obsolete `GTEST_LANG_CXX11` compile definition setting 833377ff gtest: add `.clang-format` file into `test/gtest` directory to prevent formatting there 53ca0cbe gtest: move GTest/GMock files to separate directory, update GTest/GMock usages 342973b3 Make wchar_t overloads usable in module Bring ''detail::find()' into scope. 355be4b1 Make FMT_COMPILE fallback on runtime without if constexpr (#2261) 0cd0fb91 C++17: std::char_traits<>::{compare,length} is constexpr - v2 d1a6e560 Keep defaulted destructors inline applies to exception classes in case of msvc only 84a36b99 Move data to functions ab7c33ed Suppress checked iterator warnings 77258f60 fix FMT_CONSTEXPR_CHAR_TRAITS check for MSVC d23e315e CI windows: add MSVC C++20 build f085c3d7 use proper check for non-type template parameters 69bdc20a Workaround missing std::system on iOS, take 2 847aac43 Follow naming conventions in tests 39818e79 Cleanup core-test 0e6f989b __THROW warning fix for e2k (#2253) 1678ed62 simplify field::format() and spec_field::format(), fix typo ca821982 use named arg with static name in compile-time API ce6e7d86 use fixed_string to create named arg class with static name for _a literal fc56af14 move fixed_string from compile.h to format.h bb006f97 Replace TYPED_TEST_CASE with TYPED_TEST_SUITE 6956b10b Fix gcc 4.8 build b4f9a058 Update gtest 8f9ddf45 Remove deprecated posix.h dacd1356 Add module interface unit d3c523e0 Export printf-related contexts from printf.h 2c25df08 Export replacement type_traits, too 553022dc Don't use std::system on iOS (#2248) 8a040d18 Cleanup core-test 064cac2b Bump version 5b2c740a Remove deprecated APIs b9ab5c88 Remove printf.h dependency on ostream.h c47f2112 Simplify data handling 54d3b171 Move more data out of basic_data 128f007b C++17: std::char_traits<>::{compare,length} is constexpr. (#2246) 841aad95 Move data out of basic_data 1d4199f4 fix udl_compiled_string with non-byte chars (e.g. wchar) (#2242) c5d4fcb1 Appending a space to guarantee non-empty strftime() result. (#2244) 62714062 Fix a warning (#2233) 52bd62c7 Create separate dllexport marking points for clang and msvc. (#2229) f4bbc54c Tag official API for module export (#2235) d8910af8 Use qualified name lookup rather than ADL. (#2239) 92601141 Ranges wide strings support (#2236) 24c97515 Try to suppress MVSC warn of narrowing (#2230) a1c6bfd7 Add a link to llvm diff 42eccac4 Fix clang warning about ignoring __declspec(dllexport) on basic_data<void> template instantitation definition (#2220) aec50434 Update README.rst 0b411454 Update README.rst 00f3d16b Update docs 99c2f7a3 Allow including fmt/core.h in the header-only mode b4415323 CI linux: add clang++-11 C++20 (with LLVM libc++) build 1dbadb65 CI linux: add clang++-11 C++20 build 09dbad47 CI linux: add missing build_type e2facffe CI linux: remove excessive clang++-9 include 273d8865 Suppress redef warning of _CRT_SECURE_NO_WARNINGS if any. (#2218) 5a8bf1f6 Workaround hexfloat inconsistency on windows (#2205) 78776ee4 Fix a conditional expression is constant warning #2210 (#2211) 266107f5 constexpr uint128_wrapper (#2215) 2e0d64cf specify size for `prefixes` static data 95da4847 Fix a link 06b3a100 Add support for time points with arbitrary durations (#2208) dac42f52 Inline fallback is_constant_evaluated 7c43f8b8 Don't use strlen at compile time (#2205) c62e4c30 Make buffer_appender default-constructible when back_insert_iterator is 0d6b70d9 Install gcc 8 15c10b0c Add speech synthesis support 308510eb "Use" `fwrite` result (workaround for `warn_unused_result`) afe23e7f Don't call fileno on NULL file in tests (#2196) b49af043 Remove noexcept from file's move assignment 14848875 Fix: fmt::ostream cannot be moved while holding buffered data #2197 (#2198) 7d8c3401 Update pull_request_template.md b966afcc Remove formattable ec5315a9 Use strlen when possible in fallback basic_string_view 4f8778ba Inline basic_format_args's ctor e2d87548 user-defined constructor f7151d38 Extra flag to prevent Intel compiler with Clang front-end warning of 'unknown attribute no_sanitize' 0fb8ef8f Inline trivial argument handling functions 1b23e25f Simplify formattability check 35c71ff5 Only use -Og with optimizations disabled 243d8beb Enable minimal optimizations in debug mode 9b34681d Work around xl compiler bug when nvcc preprocesses this file (#2190) 4dc7170d Fix C++17 builds: (#2192) 9cb347b4 Simplify argument formatters 0f85a468 add default cases (#2186) 417e1cee Stop using deprecated UDL templates f7e900e1 Simplify UDL definitions d9661c8f Mark grouping as deprecated 14a2a64d Fix handling of formattable types with to_string_view (#2181) 6ae402fd Fix handling of types with to_string_view and formatter specialization (#2180) a6408a3b Add args-test 1147782c Fix an ambiguous call to check caused by ADL (#2184) 2f3f3862 Fix harmless MSVS warning about using undefined _MANAGED symbol (#2183) d0bded59 Fix MSVC /clr builds (#2179) 8308f52c Fix dynamic_format_arg_store::push_back comment 6151d0dc Fix the comment 5a1127b7 Don't wrap named arg in cref and clarify docs b8ff3c18 optimize append (#2164) c8d8b882 fix GCC 7,8,9 warning about unused but set parameter (#2177) d2810187 Document ostream support limitation bac14ef9 Simplify integer spec checking 8f9db3fc Make ubsan happy on empty format specs (#2175) af567538 Bitpack integral prefixes cdf877d4 Workaround missed optimization opportunity eef4ba9c Optimize integer formatting without padding a1ea8a82 Unbloat my heart a457e163 Simplify integer formatter 05bc87a6 Optimize padding 605b6037 Optimize count_digits for powers of 2 85ba2716 Implement 128-bit count_digits in terms of count_digits_fallback d9835737 spec -> specs f9e0e904 Apply clang-format 60f5d244 Simplify arg_formatter 30e1302e Simplify on_format_specs 87c5cd46 Optimize parsing of argument ids 6a9016ea fix `formatted_size` with "compiled format" as argument (#2161) 6e1fc017 Move detail::truncating_iterator to fmt/compile.h e718ec3e Make truncating_iterator an output_iterator (#2158) 772aeca3 Don't include <cassert>. (#2148) (#2152) 684b5b0e Fix fallback to runtime API from compile-time API (#2143) d8b92543 use simplified `void_t` for all compilers other than gcc 4.x (#2160) 835b910e Add an is_formattable trait 57887403 Revert "Optimize handling of integer constants" (#2147) 640acba8 Print x.what() of FMT_THROW when exception is disabled (#2145) d8e1c9f1 fix `fmt::get` for some GCC versions and legacy Clang (#2144) 2797588b Optimize handling of integer constants e8eff3b8 Fix FMT_STATIC_THOUSANDS_SEPARATOR (#2142) ab0f7d7f use const& for arguments 29cc8282 update chrono duration formatter (constness), use it in compile-test for specs checks 3f69af3a update wording in the error inside `arg_id_handler`, use `FMT_ASSERT` instead of `throw` 499047e1 fix incorrect indexing mode for named args, update tests 78c67157 prepare tests, fix incorrect handling of named args with simple `{}` replacement fields b31bc2dc simplify `try_format_argument()`, make `manual_indexing_id()` a variable 95e1aa2d add support for manual indexing and named fields, add tests 7e72673d Improve width estimation (#2033) 13b117b5 Improve code point computation ee0fed63 Fix handling of the + flag with locales (#2133) c5979d56 Fix fmt::localtime formatting not working in wide-char string contexts e6ef927e fmt::ptr: Support function pointers (#2131) 58aa0457 Fix ordering of install commands for CMake (#2122) 1980ca8c fix #2118: FMT_COMPILE did not work with tm formatter (#2119) 2a25e2bf Make ranges-test available with C++11 (#2114) b0b56b43 fix #2116 (FMT_COMPILE requires exceptions enabled) (#2117) 373262f9 Update docs ce519e93 Fix exception propagation from iterators (#2097) acef0bb5 use gcc-10.2 instead of gcc-10.1 on CI, also fix one problem (#2110) 8bf28e6b Add support for s format specifier to bool (#2094) (#2109) 9c418bc4 Update README.rst 456efa46 add missing detail namespace (#2107) 80dc7cce Fixed format.h(1465): warning C4702: unreachable code (#2106) 7fd535c6 Cleanup 'L' handling b4b8917c Update docs e4f2cf45 Make 'L' a modifier 6972b5f3 Add build variable: FMT_MASTER_PROJECT (#2100) ac352081 Install fmt/args.h (#2096) 532e846b Fix width computation in float formatter f8c2f848 Fix handling of width when formatting int as char 0fe0b15e Fix handling of # in width computation 061e364b Document output_file 018688da Correct a typo on syntax.rst (documentation) (#2081) 9ec5592b Fix writing to stdout when redirected to NUL on Windows (#2080) cdc5ef67 Remove fallback to inline specifier from FMT_CONSTEXPR(20) macro (#2075) c9dd1eb9 Don't change charset d09b5c14 Fix std::byte formatting with compile-time API (#2072) bbd6ed5b Add support of most format_specs for formatting at compile-time (#2056) a750bf3a Update api.rst 1256541d Fix formatting 4fa4c924 Add tests for FMT_ENFORCE_COMPILE_STRING, fix several errors (#2038) aa89e380 add cwchar to format.h for std::fputws (#2073) 5a37e182 Disable warning about format string (#2067) fa43fd14 Forward arguments to work with views (#2068) 3551f5d1 Workaround a gcc 10 -Warray-bounds bug (#2065) e7376726 Remove an old mingw workaround (#2059) 25a41b80 Fix a link to Android.mk (#2057) 9293f707 Suppress gcc warning on privates-only class (#2053) c20874c2 Reenable support for fallback formatter in join (#2040) (#2050) 5de0bc1d Add UDL as replacement for FMT_COMPILE (#2043) a6fafe2f docs: use https for some links (#2051) 33f9a6d3 Fix handling of enums in to_string (#2036) aabe0a84 simplify tests by reordering arguments of `EXPECT_EQ` (#2044) 1f4a76d2 Add a missing include (#2047) 4a6eadbd Make std::byte formattabe (#1981) 683a7450 fix formatting with empty compiled format string (#2042) f43416e1 Add a link to contents from index 5a493560 Move some code from core.h to format.h where it is used 9ed0a981 Fix docs build dac753b8 Basics of formatting at compile-time based on compile-time API (#2019) 119f7dc3 Truncate file by default 22a68d16 Don't emit trailing zeros by default d0110b7e Update README.rst 3f4839ce Merge branch 'release' of github.com:fmtlib/fmt 7bdf0628 Update version fc135511 Update changelog 926233bd Fix test 0683fa7d Bump version 6ce207b9 Fix formatting 07b1c1a1 Update changelog 58992761 Reintroduce ostream support to range formatters (#2014) b8957f50 Fix an overflow in format_to_n (#2029) df66516e Workaround an issue with mixing std versions in gcc (#2017) a57baa69 Fix more linkage errors (#2011) 85534a13 Fix linkage errors when linking with a shared library (#2011) a2fa5d62 Update changelog cd300368 Fix more linkage errors (#2011) d1ef29d6 Fix initialization of iterator_buffer (#1996) 5f41bb0f clang-format a58a6b27 Add a newline a036cc97 Reintroduce ostream support to range formatters (#2014) 38c7def4 Update clang version to 3.4 since there are ICEs on earlier ones 55336413 :new: [CI] Test with C++14 in Windows 2019 (#2020) 55dfdd92 Update README.rst 2c734c9b Fix an overflow in format_to_n (#2029) 6cdd1be9 Update build.gradle for latest AGP (#2026) bcc20b29 Implement compile-time checks by default befd7d4a Always use FMT_STRING internally where possible [Issue #2002] (#2006) f8640d40 Add more standards f81c14aa Workaround an issue with mixing std versions in gcc (#2017) 5555651c Fix more linkage errors (#2011) b268f881 detail::write in one more place relevant to printf with long argument… (#2016) aa9b09a9 :bug: Cannot call non-constexpr function in constexpr context (#2010) 986fa004 Printf get container (#1982) 7abc3c01 Suppress a useless warning (#2004) 6d14f781 Fix linkage errors when linking with a shared library (#2011) 9534b9fe Refactor warning suppression 60dc2735 Simplify on_text b5dac0f0 Reduce <algorithm> usage (#1998) a07627b1 :bug: Implicit sign conversion warning in clang in c++17 and 20 modes (#2009) 1b8f499e :wrench: Silence useless cast warnings (#2008) f428d286 Update README.rst beb248b6 Optimize handling of large format strings 1936dddc fix gcc warning of missing override (#2001) 14f6bd0f Move one more headers to args.h e01d26e1 Optimize includes e528d919 Merge branch 'master' of github.com:fmtlib/fmt 48816772 Update signatures 3302fd10 use memchr for searching for '%' in printf format string (#1984) 4c2d6372 Update signatures beaff396 Update signatures ffa0a083 Use newer versions of Sphinx and Breathe 038057eb Document contexts 5bedcb66 Fix initialization of iterator_buffer (#1996) 2435ea41 Workaround MSVC mess 8c6215f5 Fix fmt/color.h 10ebe6cb Document color 1ac50fcb Suppress more bogus warnings e098be8e Fix warning filtering 8cf0afaf Improve docs e29f93e8 Suppress more bogus warnings 4e8d000f Suppress more bogus warnings 7787792e Fix re usage 6ee5e507 Fix imports 06ee32d1 Filter useless doxygen warnings 86bb7fe6 Add a missing import 959a9f5c Merge branch 'master' of github.com:fmtlib/fmt 4f7df299 Improve docs b3ab0bc7 :art: [CI] Specify the exact version of clang to use (#1991) 701ed6c8 Install deps in github actions instead of script 8f2131cf Document chrono 32c4af8f Document chrono 295a60ec Document chrono a4fae96c Document chrono 263bb0e6 Document chrono 0506b328 Document chrono 4e426c19 Document chrono 9795d873 Update docs 2eb0be0b Remove debug code and fix bot contact cd955798 Move less installation to actions 98639d0f Debug doc build ab5e0632 Debug doc build b123129f Dump the content of html dir 81d2b986 Print less command 7a0b1d57 Add key 9f0617cb Fix branch ref 75b07598 Chrono docs dfbb6975 Remove travis config 5b3052f9 Switch doc build to github actions 506ff320 Fix build failure when not using fcntl with -Werror (#1990) a30b279b Apply clang-format and tweak comments 6a2495c8 -Wattributes visibility warning with some GCC versions (#1975) cba5970c Remove migrated build configs 689081d8 Merge branch 'release' of github.com:fmtlib/fmt cc09f1a6 Update version e4eb242c Update changelog and bump version ce98e0c6 Fix fallback float formatter at assymetric bounds (#1976) 49544ea9 Fuzz fallback formatter 6b7bfed4 Fix fallback float formatter at assymetric bounds (#1976) bcab36da Update CI config 1689e73e Move PR template 0103408a Update CI config 38a16ecb Move build config to github actions 205eb3a8 Update CI config fe61b8c6 Update CI config 867b15d7 Update CI config 98cb9f99 Update CI config 95077d60 Update CI config bc49f094 Update CI config cef6dfb4 Update CI config c8703ba4 Update CI config ab4405be Update README.rst 78a55e28 Update CI config d0a2494a Update cmake.yml 89d009ba Update cmake.yml 1f4ff47b Create cmake.yml eb52ac7a :new: Enable -Wshadow in pedantic mode e904e891 :art: :bug: Rename all shadowed types and variables 771292c3 Remove sizeof from unused variable silencer (#1974) 86bf6045 Merge branch 'release' of github.com:fmtlib/fmt 5f7f7b95 Update version 5d3f0741 Update changelog and bump version 563cbb6c Add a macro to workaround clang/gcc ABI incompatibility on ARM 425778aa Fix ABI compatibility (#1961) 69a84198 Remove accidental parenthesis (#1968) 5c045049 Removed [-Wsign-conversion] warning in GCC 556a1cfb Instantiate to_decimal to make gcc lto happy (#1955) 28a8eae8 Cleanup 236fea1f Workaround bugs in gcc 8 e50ced88 Add a macro to workaround clang/gcc ABI incompatibility on ARM 112755cf Remove FMT_SAFEBUFFERS (#1966) 4081b2fe Fix ABI compatibility (#1961) 2d9311e8 Remove accidental parenthesis (#1968) b3a4f28a Fix implicit signedness conversion warning (#1963) 97c88732 Allocator::max_size support in basic_memory_buffer (#1960) bb68f608 Removed [-Wsign-conversion] warning in GCC f4ca065c Range support cb224eca Instantiate to_decimal to make gcc lto happy (#1955) 7977c2b4 Cleanup e54eb676 Workaround bugs in gcc 8 4fe0b111 Update version df4bd60f Bump version 764fb35e Always install the required version of breathe e1bdc0ec Use the correct version of sphinx 39bde329 Tweak markup 204d299a Tweak markup e0995b1c Update readme 4af178bd Remove outdated build config aa41dc02 Remove unused script 6a77ea3c Tweak markup 62c72059 Update changelog c10e3f7f Update changelog e542e695 Update changelog 530cf316 Point to the release, not dev documentation 740385d6 Update changelog cd465111 Update changelog 46291be3 Update changelog 90071c1d Update ChangeLog.rst 25293d7a Update ChangeLog.rst 5024742f Update ChangeLog.rst 0452a4e7 Update changelog 8de96817 Woraround bugs in gcc 8 47e16767 Simplify arg formatter f0a42346 Move parsing optimization one level up 86287b8d Optimize common case in parse_format_specs 8924211f Update README.rst 525e7649 Update CONTRIBUTING.md 0ecb3d18 Optimize alignment parsing 97553078 Optimize format_uint 7446818f Simplify vformat_to 280b5612 Add option to force usage of inline namespaces e57ec7d5 Merge vformat_to overloads 2a3f4de3 Remove iterator_category 27fdb4ea Unshadow floaty 297e0bad Apply clang-format e3b4c22e Simplify is_output_iterator da8278e1 Update changelog and bump version 17fba753 added position independent documentation (#1939) 71e705a2 Update README.rst 74654c8c Fix compilation for systems without fcntl.h (#1942) f468b203 Avoid conversion from long long to size_t (#1935) 20d4f2e8 Fix handling of weird character types when parsing sign (#1932) 08370c39 Update README.rst bd3c7925 Fix float fuzzer 8d3fd86d Merge branch 'master' of github.com:fmtlib/fmt 40347157 Update README.rst 37d738fa Update README.rst 271eff14 Make classes derived from buffer<T> final to silence the virtual destructor warning. (#1937) 010efc31 Add float fuzzer and cleanup 811c8b58 Add float fuzzer and cleanup 82c4e223 Cleanup fuzzing 63e40c96 Fix naming of fuzzers 2f448ed5 Fix fuzzer timeouts af283059 Cleanup 48ea8193 Explain why assert-test is a separate test 1d112bdd Remove old test 5eb292a6 Update README.rst 7e56b6b6 Fix coding style and remove duplicate fuzzer 41d97e1e Fix a UB on ridiculously large precision 01c37e0a Added check for `-mbig-obj` and ref qualifier check (#1929) a5e7e7db Fix handling of thousand separator (#1927) bf19051a Optimize floating point formatting 3c13a88b Optimize floating point formatting f6d75c53 Refactor write_float e9c0b2d6 Merge write_float overloads 7eddbfed Cleanup exponent handling in write_float b347b302 Update dynamic_formatter comment (#1923) 3541880e Fix integer overflow when using max int precision 7b50dc0b Don't exclude all detail symbols from docs 28052431 Fix the doc config 34f22e88 Cleanup CMake config a18b3fbb Fix fixed precision handling when rounding (#1917) 72770357 Fix long lines in usage.md 7612c1ea Add reference to lhelper package manager in usage b91d39f2 Get rid of float_writer b4b64b9c Refactor float formatting 712abe40 Workaround a bug in gcc 7.5 (#1912) af8a180a Make GetCachedPower test more precise a581e9e5 Fix warning C4018: '<=': signed/unsigned mismatch (#1908) 05a28312 Update docs 4d0aa4d8 Update link 575f4018 Simplify FP formatting and follow coding conventions 6f3536f9 Move zero-check to an earlier branch (#1906) 90ef46df Fix dragonbox integration 3ae88147 Fix declaration 64179525 Improve dragonbox integration 79694d42 Fix WriteConsole signature 51f2e2ca Move nan test to where it belongs 68555fdb Make format-test not depend on color.h 63e0c354 Make dragonbox::to_decimal available in format.h 2213a711 Update README.rst 79ba37f3 Update README.rst a905d8f7 Merge grisu-test into format-test 762c33a9 Simplify windows handling (#1903) 253d6315 Remove dependency on windows.h (#1900) c156093f Fix carry in fallback_format 34179b33 Update format.h (#1898) 0651e459 Minor tweaks to get_cached_power 6c025520 Test that max_k is correctly defined 51f8d0cc Reuse log10_2_significand constant 1305cbeb Fix MSVC2019 error C2049 when compiling with /clr (#1897) 2d4fde3a Don't emit trailing zero for consistency with std::format 5fd89d50 Minor simplifications 605ce5e4 Simplify divisible_by_power_of_2 085171e7 Remove grisu_count_digits aa729bf2 Remove dead code aa2ddf9b Simplify Dragonbox integration c1654ce4 Simplify uint32_or_64_or_128_t definition 33712dc0 Combine pragmas e5942ac9 Tweak comments aae7a133 Remove unused pragmas 6bcde9aa https://github.com/fmtlib/fmt/pull/1882#issuecomment-696823912 (#1894) bb0db5e5 clang-format 16410056 Optimize copy_str for counting_iterator 2591ab91 MSVC optimizations for count_digits. (#1890) d5b8002d Update README.rst 821471e1 qkw: generalizing aliasing | using fmt library and it's features (#1888) 2e620ddb Small improvements that should have zero to negligible impact on the runtime (#1887) 2f7e0885 Disable range formatter if value type is not formattable (#1885) c46a8de4 Simplify test 2696dc92 add forgotten template argument to make_format_args which made some u… (#1877) 0016da7a Don't generate zeros and fix UB on huge precision ce3f7699 Merge intrinsic blocks 3b6248f6 Change formatting 2d9b1dd0 Fix sign mismatch 1f0600a2 Fix bug regarding FMT_SAFEBUFFERS 2ecdbb98 Fix a bug in ctzll 6f81ea15 Fix typo (and thus bug) 0c8ffe9b Implement Dragonbox (first version) 42699bf4 Fix msvc version of clz & clzll (#1880) bc51a8df Disable fallthrough attributes for the Intel compilers on Linux and MacOS (#1879) 45da432d fix compiler warnings in public header files d55e61f1 Improve FMT_ALWAYS_INLINE (#1878) 7e682752 Remove trailing zeros when using fallback formatter (#1873) 1d696dc2 Handle exotic character types in compilation f674434a Add format_to_n overload that accepts FMT_COMPILE (from #1767) (#1869) 5b5a5971 Fix handling of wide alignment f80ed64d Update README.rst 38139664 Simplify fallback format dce8e49b Handle float in fallback formatter 78b59443 Spelling f233b56c Don't generate insignificant digits 595902f8 Update test 4f2ee892 Use built-in FP formatter for any precision 58a044be Use built-in FP formatter for any precision efe3694f Macro tweak and clang-format 9f312fe8 Implement fallback FP formatting with given precision (#1526) fb289cf5 Fix coding conventions 86f0a704 Fix formatting bff4d18e Add color format_to overloads * Fix variable size basic_memory_buffer colorization * Fix an unused arguments warning on GCC that blocks the CI otherwise * Ref #1842 * Ref #1593 f19b8885 Fixed a warning in mingw32/mingw64 (#1860) f8e00a08 NOMINMAX not handled properly (#1855) 6cccdc24 Fix move constructor (#1844) 69902c17 Allow use of <fcntl.h> in Linux when __has_include is not available (#1848) 1edd38b9 Add append mode. (#1847) e66ba169 Added build2 usage instructions. (#1838) f39e6fb6 Add formatters for chrono::time_point<system_clock> (#1837) 77b627be Fix bogus MSVC warnings (#1825) 5dff01d3 Add complex tests d16d585e Update signatures c7e6d8af Fix usage of override (#1836) 92bff2fe Revert "Add missing includes" a0dcfbc5 Add ptr to docs 1651b2d4 Fix detail::write with fallback formatter (#1829) 06895a76 Add missing includes 92a448a0 Apply clang-format 6be65446 Fixing buffer_appender's ++ slicing (#1822) 951e0d23 CMakeLists.txt: Added Wundef warning to clang and gcc. (#1823) f9f02df7 CMakeLists.txt: Clang-warnings: removed -Wno-sign-conversion (#1817) 76e97dc4 Eliminate shadowed variable warnings on intel (#1816) e204df0e nvcc compiler should be EDG-based, but fails test (#1818) 1c8bb547 small changes to reduce clang-9 warnings (#1808) 4b69c787 fix: warning C4100: unreferenced formal parameter (#1814) fb0aeb82 fix: disabled UDL templates for PGI (#1811) (#1812) 54daa086 Add dynamic width support to FMT_COMPILE (#1809) 6fb7c6fb Workaround a bug in gcc10 (#1810) 16985fda Update README.rst 1378ddae Update README.rst 4fd95e4b Don't remove trailing zeros with # e06ae322 Avoid warnings on functions with external linkage that don't have declarations 7fc3d1f5 Add override to grow 065889a5 Use correct capacity in iterator_buffer (#1807) d0dd6786 Adding convenience append(range) 0e7cef06 Merge commit 'c13f79e0' e2c8c455 Update README.rst e4c954ff Update README.rst c13f79e0 Merge release branch d7921d64 Update README.rst 4a4fc225 Update changelog 61602a75 Remove -Wno-shadow 2f8fc29e Update README.rst 717b226b include/fmt/format.h: explicit cast to std::size_t for parameter to buffer.resize() in order to get rid of warning 'implicit conversion changes signedness:' in clang-8 (#1802) 2a69f567 Tweak buffer size ea769338 Simplify ostream 5413713c Remove unused function 57f46242 Increase the default buffer size 0b6e7cc6 Update README.rst e587adb4 Simplify count_digits 279d698e Fix handling of default alignmment with locale (#1801) 76cfb50b Test complex formatter 20829120 Optimize count_digits 8d9ab967 Cut a few cycles from count_digits 73434493 Simplify ostream_params 2a47a1e4 Update README.rst 7c4c5c79 Make buffer size configurable f0b84da5 Don't use 128 bit integers with clang-cl (#1800) a3dfd6f9 Workaround a bug in msvc 51d05521 Workaround broken numeric_limites, part 2 (#1787) 21c8b5c1 Report error on missing named argument (#1796) d82fdcc9 Fix handling of iterators in locale-specific formatting (#1782) 633213d9 Merge release branch e8f2580a Bump version 6cefe55a Update changelog 64e2da15 Update README.rst 1c8c810f Update README.rst c2399ccf Update README.rst a7c5db06 Update README.rst a4c22acd Update README.rst 0c1f4b5a Update README.rst 63b422ee Update README.rst 26e81a67 Update README.rst de5fc6af Update README.rst 9c2edfd1 Partially revert 638db5 because it breaks the doc build 810357c0 Document color 0a7032a4 Update README.rst 95d3abf9 Make format_to_n part of the core API 98626093 Correct the locale format specifier in api.rst (#1792) 47f8d7a3 Make formatted_size part of the core API 46a63b70 Update docs 430f393d Disabled __attribute__((deprecated)) usage for LCC (#1790) febffa4e Make join() handle non-const-only begin/end ranges (#1786) d69e2da2 Fix apidoc ce73ea37 Reorder functions d39d661b Workaround broken numeric_limits (#1725) c228bfe8 Improve docs 38ce19f7 Update README.rst d11849bc Add FMT_REDUCE_INT_INSTANTIATIONS flag (#1781) c08518a2 Move make_args_checked to the public API e2837084 Add a color section 9f0c0033 Simplify format string checks d615137c Improve handling of buffer iterator 26b47b6f Bump tested CMake version to 3.18 7a01c9c5 Update README.rst b17d5c4f Fix a regression in handling digit separators (#1782) eb90da2e Type erase output iterators 9d3cd0af Type erase output iterators 18024853 Fix compatibility with CMake 3.4 (#1779) f5d4215b Trying to clear ambiguous compile time claims (#1775) c26349f4 Improve error reporting f4b11ef6 Add a short anchor 0097cf11 Report unformattable type name more prominently 8fa20b47 dev -> latest a03bd3dd Autodetect MSVC static runtime (#1770) c108ee1d Clarify a comment a8074a86 Update README.rst 5f629548 Update README.rst bd903f96 Clarify precedence 16cac46a Improve handling of streamable and convertible to bool types (#1766) 415cd519 direct_buffered_file -> ostream e1bfb596 Fix handling of code units in compile ba8d98cb Cleanup direct_buffered_file 04a1f6e9 Improve handling of single code units in compile e4f57bfd Add an overload of write for buffer_appender d8704681 Make append work with fixed-size buffer e8ec09ae Cleanup core-test a2c4fed9 Double buffering no more 36406509 Add a fixed buffer 60c43e87 Apply clang-format b998e0f3 Reduce symbol sizes and simplify iterator use c5adfc51 Update README.rst c4ad94ce Update README.rst c1429651 Fix image source link 638db5ca Use Cmake to find Python and Sphinx-doc. c0905697 Update readme 1efdb2dd Simplify readme dc69afad Cleanup example 445f5d39 Break long lines 23063c34 Update readme f57b6257 Move PR template to the top level git-subtree-dir: externals/fmt git-subtree-split: 9e8b86fd2d9806672cc73133d21780dd182bfd24
2021-06-23 08:39:40 +01:00
.. _formatexamples:
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 21:03:34 +01:00
Format Examples
===============
This section contains examples of the format syntax and comparison with
the printf formatting.
In most of the cases the syntax is similar to the printf formatting, with the
addition of the ``{}`` and with ``:`` used instead of ``%``.
For example, ``"%03.2f"`` can be translated to ``"{:03.2f}"``.
The new format syntax also supports new and different options, shown in the
following examples.
Accessing arguments by position::
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 21:03:34 +01:00
fmt::format("{0}, {1}, {2}", 'a', 'b', 'c');
// Result: "a, b, c"
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 21:03:34 +01:00
fmt::format("{}, {}, {}", 'a', 'b', 'c');
// Result: "a, b, c"
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 21:03:34 +01:00
fmt::format("{2}, {1}, {0}", 'a', 'b', 'c');
// Result: "c, b, a"
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 21:03:34 +01:00
fmt::format("{0}{1}{0}", "abra", "cad"); // arguments' indices can be repeated
// Result: "abracadabra"
Aligning the text and specifying a width::
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 21:03:34 +01:00
fmt::format("{:<30}", "left aligned");
// Result: "left aligned "
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 21:03:34 +01:00
fmt::format("{:>30}", "right aligned");
// Result: " right aligned"
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 21:03:34 +01:00
fmt::format("{:^30}", "centered");
// Result: " centered "
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 21:03:34 +01:00
fmt::format("{:*^30}", "centered"); // use '*' as a fill char
// Result: "***********centered***********"
Squashed 'externals/fmt/' changes from 39834389..135ab5cf 135ab5cf Update version 93d95f17 Fix markup 4f15c72f Fix markup e9b19414 Automatically add package to release c3d1f604 Fix markup c96062bf Update changelog and version number f9c97de4 Add note about errno to the documentation 62df6f27 CMakeLists: Use GNUInstallDirs to set install location 493586cb Fix overflow check 1d751bc6 fix warning in header: signed/unsigned comparison 11415bce Update usage.rst 9982dd01 Fix for warning C5030 in VS2015 42e88c4f Silenced MSVC 2017 constant if expression warning 7a9c1ba1 FMT_VARIADIC_CONST - Support for const variadic methods (#591) 324415c0 Use allocator_traits if available. 5f39721c Fix a warning ca96acbe Add examples 708d9509 fix(Clang CodeGen): remove warnings 9328a074 Fix handling of fixed enums in clang (#580) 2c077dd4 Enable stream exceptions (#581) 933a33a7 Added MSVC checking for support for string_view. bef89db6 Fix a bogus -Wduplicated-branches gcc warning (#573) 2a619d96 Make format work with C++17 std::string_view (#571) e051de37 Use less version 2.6.1 and sudo to fix npm install issues on travis 5de459bf Suppress Clang's warning on zero as a null pointer 16589534 Make ArgMap::init not explicitly instantiated (#563) 3e75d3e0 Fix handling of types convertible to int 89654cd1 to_wstring added 37eb419a Fix noreturn attribute detection (#555) 14d85349 Explicitly cast range length to std::size_t to prevent conversion warnings c2201ce0 Accept wide chars as integers to prevent conversion warning 6efbccb3 Add one more CMake warning fix 032c8380 Fix a segfault in test on glibc 2.26 #551, take 2 6655e804 Fix a segfault in test on glibc 2.26 #551 d16c4d20 Suppress warning about missing noreturn attribute (#549) 9c56a8ce Make format_arg() accept class hierarchies ca0e3830 Update README.rst 81790d72 Update format.h to remove C4574 error on MSVC 14.2 30283443 Fix undefined behavior in UDL macro 4045d7fe Fix warning about missing ' character 89c3bc58 Remove warning C4668 in MSVC for FMT_GCC_VERSION and FMT_HAS_GXX_CXX11 4af9421f Adding OpenSpace to the list of projects 1a398b54 Fixed CMake CMP0048 warning. 589ccc16 Bump version c3817046 Add an error on broken includes 16bdd842 Update scripts b492316d Update version list 91f4ce02 Automatically update version in release script (#431) git-subtree-dir: externals/fmt git-subtree-split: 135ab5cf71ed731fc9fa0653051e7d4884a3652f
2020-04-22 20:41:46 +01:00
Dynamic width::
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 21:03:34 +01:00
fmt::format("{:<{}}", "left aligned", 30);
Squashed 'externals/fmt/' changes from 39834389..135ab5cf 135ab5cf Update version 93d95f17 Fix markup 4f15c72f Fix markup e9b19414 Automatically add package to release c3d1f604 Fix markup c96062bf Update changelog and version number f9c97de4 Add note about errno to the documentation 62df6f27 CMakeLists: Use GNUInstallDirs to set install location 493586cb Fix overflow check 1d751bc6 fix warning in header: signed/unsigned comparison 11415bce Update usage.rst 9982dd01 Fix for warning C5030 in VS2015 42e88c4f Silenced MSVC 2017 constant if expression warning 7a9c1ba1 FMT_VARIADIC_CONST - Support for const variadic methods (#591) 324415c0 Use allocator_traits if available. 5f39721c Fix a warning ca96acbe Add examples 708d9509 fix(Clang CodeGen): remove warnings 9328a074 Fix handling of fixed enums in clang (#580) 2c077dd4 Enable stream exceptions (#581) 933a33a7 Added MSVC checking for support for string_view. bef89db6 Fix a bogus -Wduplicated-branches gcc warning (#573) 2a619d96 Make format work with C++17 std::string_view (#571) e051de37 Use less version 2.6.1 and sudo to fix npm install issues on travis 5de459bf Suppress Clang's warning on zero as a null pointer 16589534 Make ArgMap::init not explicitly instantiated (#563) 3e75d3e0 Fix handling of types convertible to int 89654cd1 to_wstring added 37eb419a Fix noreturn attribute detection (#555) 14d85349 Explicitly cast range length to std::size_t to prevent conversion warnings c2201ce0 Accept wide chars as integers to prevent conversion warning 6efbccb3 Add one more CMake warning fix 032c8380 Fix a segfault in test on glibc 2.26 #551, take 2 6655e804 Fix a segfault in test on glibc 2.26 #551 d16c4d20 Suppress warning about missing noreturn attribute (#549) 9c56a8ce Make format_arg() accept class hierarchies ca0e3830 Update README.rst 81790d72 Update format.h to remove C4574 error on MSVC 14.2 30283443 Fix undefined behavior in UDL macro 4045d7fe Fix warning about missing ' character 89c3bc58 Remove warning C4668 in MSVC for FMT_GCC_VERSION and FMT_HAS_GXX_CXX11 4af9421f Adding OpenSpace to the list of projects 1a398b54 Fixed CMake CMP0048 warning. 589ccc16 Bump version c3817046 Add an error on broken includes 16bdd842 Update scripts b492316d Update version list 91f4ce02 Automatically update version in release script (#431) git-subtree-dir: externals/fmt git-subtree-split: 135ab5cf71ed731fc9fa0653051e7d4884a3652f
2020-04-22 20:41:46 +01:00
// Result: "left aligned "
Dynamic precision::
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 21:03:34 +01:00
fmt::format("{:.{}f}", 3.14, 1);
Squashed 'externals/fmt/' changes from 39834389..135ab5cf 135ab5cf Update version 93d95f17 Fix markup 4f15c72f Fix markup e9b19414 Automatically add package to release c3d1f604 Fix markup c96062bf Update changelog and version number f9c97de4 Add note about errno to the documentation 62df6f27 CMakeLists: Use GNUInstallDirs to set install location 493586cb Fix overflow check 1d751bc6 fix warning in header: signed/unsigned comparison 11415bce Update usage.rst 9982dd01 Fix for warning C5030 in VS2015 42e88c4f Silenced MSVC 2017 constant if expression warning 7a9c1ba1 FMT_VARIADIC_CONST - Support for const variadic methods (#591) 324415c0 Use allocator_traits if available. 5f39721c Fix a warning ca96acbe Add examples 708d9509 fix(Clang CodeGen): remove warnings 9328a074 Fix handling of fixed enums in clang (#580) 2c077dd4 Enable stream exceptions (#581) 933a33a7 Added MSVC checking for support for string_view. bef89db6 Fix a bogus -Wduplicated-branches gcc warning (#573) 2a619d96 Make format work with C++17 std::string_view (#571) e051de37 Use less version 2.6.1 and sudo to fix npm install issues on travis 5de459bf Suppress Clang's warning on zero as a null pointer 16589534 Make ArgMap::init not explicitly instantiated (#563) 3e75d3e0 Fix handling of types convertible to int 89654cd1 to_wstring added 37eb419a Fix noreturn attribute detection (#555) 14d85349 Explicitly cast range length to std::size_t to prevent conversion warnings c2201ce0 Accept wide chars as integers to prevent conversion warning 6efbccb3 Add one more CMake warning fix 032c8380 Fix a segfault in test on glibc 2.26 #551, take 2 6655e804 Fix a segfault in test on glibc 2.26 #551 d16c4d20 Suppress warning about missing noreturn attribute (#549) 9c56a8ce Make format_arg() accept class hierarchies ca0e3830 Update README.rst 81790d72 Update format.h to remove C4574 error on MSVC 14.2 30283443 Fix undefined behavior in UDL macro 4045d7fe Fix warning about missing ' character 89c3bc58 Remove warning C4668 in MSVC for FMT_GCC_VERSION and FMT_HAS_GXX_CXX11 4af9421f Adding OpenSpace to the list of projects 1a398b54 Fixed CMake CMP0048 warning. 589ccc16 Bump version c3817046 Add an error on broken includes 16bdd842 Update scripts b492316d Update version list 91f4ce02 Automatically update version in release script (#431) git-subtree-dir: externals/fmt git-subtree-split: 135ab5cf71ed731fc9fa0653051e7d4884a3652f
2020-04-22 20:41:46 +01:00
// Result: "3.1"
Replacing ``%+f``, ``%-f``, and ``% f`` and specifying a sign::
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 21:03:34 +01:00
fmt::format("{:+f}; {:+f}", 3.14, -3.14); // show it always
// Result: "+3.140000; -3.140000"
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 21:03:34 +01:00
fmt::format("{: f}; {: f}", 3.14, -3.14); // show a space for positive numbers
// Result: " 3.140000; -3.140000"
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 21:03:34 +01:00
fmt::format("{:-f}; {:-f}", 3.14, -3.14); // show only the minus -- same as '{:f}; {:f}'
// Result: "3.140000; -3.140000"
Replacing ``%x`` and ``%o`` and converting the value to different bases::
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 21:03:34 +01:00
fmt::format("int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}", 42);
// Result: "int: 42; hex: 2a; oct: 52; bin: 101010"
// with 0x or 0 or 0b as prefix:
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 21:03:34 +01:00
fmt::format("int: {0:d}; hex: {0:#x}; oct: {0:#o}; bin: {0:#b}", 42);
Squashed 'externals/fmt/' changes from 135ab5cf..3e75ad98 3e75ad98 Update version 4f043f8e Bump version cc02cbc4 Fix formatting 73c0238e Update changelog cb122a4d Fix format_to formatting to wmemory_buffer dc69cc45 Clean tests 9d8021f0 Add checks for NVIDIA's CUDA compiler 9d2221b9 Improve error message when formatting unknown types 70a6a4bb prevent ""fmt/range.h"" from specializing fmt::basic_string_view (#865) e4fc856c Disable android build due to gradle issues 3f4984fb Clean core-test and fix linkage errors on older gcc d4366505 Workaround visit lookup issues in printf.h on gcc 894b6fac Changed to use scoped enum 59f555ad Workaround more visit lookup issues on gcc a7e356cc Update README.rst e758bfba Merge branch 'release' of github.com:fmtlib/fmt 66381e30 Minor cleanup 295a0d84 Update version 1fb1c4c9 Update docs 465a5935 Add table support to rst2md d62f4c3b Formatting a243490a Add more methods to benchmark results 9e12ca60 Update changelog fbca830d Update changelog, readme and improve compat 6146248c Update changelog bc26fbf1 Move experimental color API to fmt/color.h 97cc8893 Workaround a visit lookup issue in gcc 8 (#851) 7110b460 Optimize default formatting c8a8464f Optimize buffer construction 8cbfb6e7 Get rid of conversion warning in gcc-4.8 (#854) 6ffc828a Phasing out null_terminating_iterator aeb6add3 Skip strchr for the common case 5614289d Optimize and simplify format string parsing 10c7f893 Optimize format string processing on dumb compilers 59c268a5 Use strlen when possible since it's constexpr on gcc 918bb1ce Optimize argument capture a3ba6b4f Disable the fmt(...) macro by default (#853) 86716894 Update docs and formatting cc10b460 Make format_to faster on older gcc 981797f0 Get rid of implicit-fallthrough warn. in GCC 7 and 8 21177757 Micro-optimize parsing be0e2684 Optimize processing of trailing '}' fbc38b90 Pass heavy arguments by ref 8dc69b9d Workaround a bug in Intellisense 1489d3b7 Implement exponential notation dd8c5ce4 Implement more FP formatting options 46484da7 Fix a warning 802ff886 Fix compilation of time.h when localtime_t is a macro (#843) 95a71899 Remove conversion compiler warnings (#844) e483a01a Implement some formatting options in Grisu f5108091 Revert "Implement some formatting options in Grisu" 2a952dd0 Implement some formatting options in Grisu 0de44a46 Implement exponent formatting f0d0a1eb Implement Grisu2 digit generation 569ac91e Implement Grisu boundary computation a11eb3a0 Workaround various icc bugs (#822) 62010520 Disable gnu-string-literal-operator-template warning 98751476 Make convert_to_int public (#818) ba95e36a Clarify that '\0' cannot be used as fill (#832) abde38b4 Add compilation support with Newlib nano for embedded targets 18400503 Fix C4127 warning in basic_writer<Range>::write_double 9de31211 Reformat and add a comment 8bbb0b48 Update README.rst 5c0101ab Use the correct function signature in the docs fbe6410e Fix docs 8b9fb9fb Fix ambiguous instantiation with formatter in fmt/ostream.h (#830) 0f04ec68 Fix package upload (#828) 80907385 Update changelog 5d02041c Update changelog 4b868b89 Re-enable compile-time format-string checking 4061a0d3 Parameterize vformat to support custom char types c68bab70 Remove broken fmt::internal::format_enum (#818) 0c63d15e Improve wording ce19309d Workaround a bug in icc 15 c6843491 Move contiguous version of format_to to fmt/core.h 8db14efa util-test -> core-test and minor cleanup ffe414ca Add compile-time format string checks to format_to (#783) c178ab44 Remove FMT_USE_RVALUE_REFERENCES 5befe658 Remove fmt/folly.h and clean up core API 35538ca6 Merge more format overloads 4f164097 Merge format overloads using SFINAE 2a4e9488 Add UTF-8 types d778bded Make line in tests fit within 80chars 7b4f170c Fix warning about using old-style cast b1d10a28 Add support for dynamic arg sets cf2719bd Add support for types explicitly convertible to wstring_view 50584f42 Test formatting of an object with templated conversion to string-like 73bed45b Add support for types explicitly convertible to fmt::string_view 6eaa5074 Fix global initialization issue (#807) 48dff9f3 Update docs a9e26159 Minor cleanup efd8ee8a Reduce warnings, support #809 8615ff2a Micro-optimize argument retrieval 916ed99d Micro-optimize argument retrieval e7e9578e Optimize format string parsing c99a2597 Mark new functions with FMT_API (#808) e0f6a2f8 Add a formatter for folly::StringPiece ae4a3945 Revert "Better support for newer CMake's" a317448b Keep noexcept specifier when exceptions are disabled. 0eb01b83 Better support for newer CMake's 2a4cd6d0 Fix the returned value of `format_to_n` with user-defined types having operator<<. 9c32e73a Fixing return unreachable warning on NVCC e5c93108 Added clear() to basic_buffer 60c662b3 Add an example of reusing formatters f66ba650 Optimize format string parsing f21268aa Revert "Optimize format string parsing" because of a bug in MSVC 07b690a6 Update README.rst f9e9bf02 Optimize format string parsing c2ce7e4f Update version 434eb916 Update README.rst 09d94162 Update changelog e6362642 Fix pedantic conversion warning f0110e81 Update changelog and CI 479ee2a8 Fix MSVC build, take 2 e928b672 Fix MSVC 2013 build ec218a3a Fix redefinition warning for RESET_COLOR c04fb91b Fix handling of user-defined types in format_to (#793) 323b92bf Force linking of inline functions into the library (#795) c6d9730d Fix sign conversion warnings (#790) 2e95823e Move new color support to format.h and mark old as deprecated ab2d88ca Make format_to work with basic_memory_buffer (#776) 3abd036c Fix compilation on gcc 4 c2f38054 Add vformat_to_n (#769) ce500635 Renamed enum color to colors. Added enum colors conversion to rgb struct. Added colors_test.cpp. 0508bbc7 Add wchar_t overload of format_to_n (#764) c2fbadb9 Fixed issue #779 47268ecd Fixed GCC version test 9ff3b6af Fix handling of compile-time strings when including ostream.h (#768) e3707ef1 Document that file should be in wide-oriented mode for wide print 45fa4ee9 Merge branch 'master' of github.com:fmtlib/fmt 9c07b37f Using enum class now. Renamed from hex to color. Changed colr names to snake case. 5b5886a9 Fixed line length. d2bfee13 Added quotes for strings in ranges and tuple likes. aff6e45e Added support for rgb color output. 1b8a7f8f Fix postincrement in truncating and counting iterators 4bc26f0a Merge branch 'master' of github.com:fmtlib/fmt fc6e0fe9 Fix FP formatting to a non-back_insert_iterator with sign & numeric alignment (#756) cd5b5670 Make is_range and is_tuple_like public API, fix #751 6322b47e Minor cleanup 691a7a91 Add more compilers to CI and increase FMT_PEDANTIC warning levels (#736) dd1a5ef7 Let requests close the file d5c46259 Fix formatting of more than 15 named arguments (#754) 47d147b6 Simplify the nvcc warning fix 911a7511 Fix nvcc warnings (#752) 94b47628 Fix docs 252f11f8 Fix a bogus MSVC warning about unreachable code, take 2 81d56638 Fix more bogus MSVC warnings about unreachable code (#748) 68f0ac82 Fix a bogus MSVC warning about unreachable code b60a5c5d Improve floating-point formatting 8dc2360b Fix a comment 4e4b8570 Implement simple version of Grisu 40275579 Fix tests on 64-bit MSVC 5c32aa41 Workaround a bug in MSVC 468c243c Add a function to get cached power of 10 2f257b72 Implement normalization and simplify power table 6a5bb6e2 Move Android.mk to support and update e282d963 Bump version e2cd521b Fix incorrect call to on_align in '{:}=' (#750) fba352a9 Don't use UDL templates on Intel C++ compiler (#742) 6dcc526d Update release script 5386f1df Update version ba6640b2 Fix formatting 507a50c3 Fix changelog 147807c9 Detect integer_sequence support on MSVC 8b246531 Update changelog 5ad54256 Fix a conflict between fmt::join and fmt/ostream.h (#744) 6ebc1a96 Merge locale.h into format-inl.h 6966db1d Update docs 2196025d Fix a warning 589f5f37 Update changelog edd5f144 Fix compilation errors on gcc 4.4 936aba5f Fix compilation errors on gcc 4.4 3e3a2774 Update changelog b76bb796 Improve naming consistency fbd51534 Update changelog 69823bf8 Improve naming consistency d940fa67 Disable unsafe implicit conversion to std::string (#729) d2bf93fe Update changelog 550ef1d2 MSVC improvements and data truncation cleanup. 728e4f5a Fix docs 8c255771 Update docs and changelog a68fd44e Add ranges.h to FMT_HEADERS in CMakeLists.txt (#738) e3f7f3a2 Add support for ranges, containers and tuple-like types in fmt/ranges.h 984232db Remove duplicate ChangeLog entries 78677e3f Update ChangeLog and docs ad23270e Document to_wstring 3c0f8c26 Update ChangeLog 98937893 Detect inline namespaces on gcc dfb65469 Fix docs 3aa29115 Update ChangeLog.rst d3f6c841 Update ChangeLog.rst c1441ae4 Update ChangeLog.rst dece85b3 Fix docs, take 2 6a1df3bd Fix docs 838400d2 Add inline namespace fmt::v5 b64b24eb Update ChangeLog.rst fc908711 Update ChangeLog.rst 46c374a8 Fix compilation with new gcc and -std=c++11 (#734) f0ae7257 Clarify the use of allocators d72d0462 Update paths in fmt.pro edbbf7ce Fix FreeBSD 12 a4e4f745 Fix a -Wundef when FMT_GCC_VERSION < 600 7d3de497 Implement double to fp conversion a4c7d99f Add bit_cast 0adccaef Fix a -Wundef of _LIBCPP_VERSION 2570f1af Provide more overloads for the wide string flavour ca31ca13 Fixed arg_formatter_base::write_pointer to not mutate the format specs. 6cd66610 remove trailing spaces. fe19c266 Move format_string to fmt namespace for ADL 2768af23 Add cached powers of 10 dd296e1d Add a script to compute powers of 10 0efc8a18 Fix compiler warning about narrowing df1ba52b Update example 221b08fd Merge branch 'master' of github.com:fmtlib/fmt fa9066fe context_base::begin -> out 90ff31b3 Fix a -Wundef warning on clang b1f68c43 Merge branch 'master' of github.com:fmtlib/fmt cd90097c Implement handmade FP 822eccc3 Sync API with standards proposal 2ae41242 allow time formatting with wchar_t contexts a1579b0f Update key ded921f0 Fix documentation build, take 2 3284751f Fix documentation build bb738c4c Remove section on Write API since it's being superceeded by compile-time Format API d180c25c Update godbolt link 1ed842a3 Update godbolt link e80aba1c Remove format_float stub 7b8cb313 Make context_base::args() public 48ae0506 fixes MSVC compiler warning bloat (Visual Studio 2017, latest updates) 096c4051 Simplify char_traits 7610c536 Remove unused macro 111fa581 Update README.rst 52fcef1e Update docs 7d28674d make_args -> make_format_args 9382b76f context_t -> format_context_t fd0b07a7 (w)context -> (w)format_context 26aa34f3 basic_context -> basic_format_context 44cc0346 Relax string_view requirements 0829cab8 Remove from_checked cb7bbc62 Improve checked iterator support 5079f924 Fix a narrowing warning 5859e58b Fix msvc warnings 1e747f60 Fix msvc warnings 9d4efd7a Iterator Wars VI: Return of the checked iterator 9764f558 Update docs 4ef97b9b Add a missing comma 23759b26 basic_arg -> basic_format_arg, arg_store -> format_arg_store 4975297e Simplify counting iterators e8e006f4 Fix compile checks for mixing narrow and wide strings (#690) c5ebecf7 Document format_to_n 3cf05263 Return output iterator to the end from format_to_n 174087bf Implement format_to_n 050f3f1f Remove parts of obsolete write API e90b1da3 Fix linker errors using fmt as shared library in MSVC 8e10d404 Fix compile tests 7a41d61d Add make_printf_args 4fea018b Fix string_view detection 6957d28c Detect string_view on libc++ (#686) 0ea70def Update readme 9ce5e30c Update readme 8c29459e Fix handling of empty string_view (#689) a24005d5 Fix a narrowing warning 3651b7fc Fix a narrowing warning b64486da Add format.cc 3da71d51 Move source files to the src directory 7971ed3d Update readme f61ca2ec Update readme 84e520b7 Update readme e8aa0f33 Update docs 17258e9c Update docs 6d339e32 Improve comment c3d05245 Fix a shadowing warning b58c8dde Update docs 505b3ae6 Workaround GCC bug 67371 (#682) 70dffc63 Remove unnecessary check df828f88 Don't define FMT_GCC_VERSION on clang 42f70c8b Avoid narrowing casts 10b939b0 Remove unneeded usage of anonymous struct on clang 3adfaae2 Remove extra semicolon in format_args constructor 40066785 Fix warnings under MSVC (#679) 9c5f54a7 Add format example for padded hex byte 7bab90e5 Remove extra comma 2e21e7d1 Fix util-test acb469ae Fixed UTF8/16 converters to support empty string input c37c4c43 Fix find-package-test 6d21fc43 add alias targets with fmt namespace e02aacc6 Add CMake namespace (#511) aee4512c Gradle (#649) 7db0e94b Fix handling of numeric alignment with no width (#675) 9facc119 Update docs a1d18711 Merge branch 'master' of github.com:fmtlib/fmt daf650c4 Disallow formatting of multibyte strings into a wide buffer (#606) 8fd7e30f Update README.rst ca93be13 Use fmt(s) as an alias for FMT_STRING(s) 80e57c7a Update to new naming conventions ae3cc844 Check format string at compile time in print 585512fc Remove unnecessary instantiations 7755cdc1 Make symbols readable f867d082 Update docs a103b9bc Workaround missed optimization in gcc (#668) bb47109a Cleanup f1ede638 Make inline_buffer_size public and update docs 995b63ad Update copyright 40232917 Update docs 86a9bc82 Cleanup b7632e96 Make format_to return iterator and update docs 5281ea6a do_vformat_to -> vformat_to and update docs d07ba498 Fix docs 418659ad Fix compilation errors on gcc 4.4 1d2adef2 Fix compilation errors on gcc 4.4 45518c3f Fix compilation errors on gcc 4.4 698d9097 Workaround a bug in gcc 5.1 81074c70 Fix more compilation errors on gcc 4.6 1b452538 Fix more compilation errors on gcc 4.6 6090e51b Fix compilation errors on gcc 4.6 0827ec5a Fix compilation errors on gcc 4.6 4d35f941 Always use fallback string_view to pass format string (#664) 34cf54c2 Update README.rst 0565d654 Fix gcc 7.2 issue f5dc0ed3 Break long lines ea06f021 test: comment out one FormatStringErrors constexpr test 5b491773 test: Initialize some local variables f45f70af Use trailing return type instead of deduction db86e8d5 Remove a couple of unused argument names 55f5c9f2 Use FMT_NULL instead of 0 is a few more places. e92ba107 Fix Python str.format link to point to Python 3 docs a7ae5666 Enable join on msvc 24d249b0 Fix formatting of objects convertible to string_view e508e308 Don't define FMT_LOCALE on OpenBSD 0ee4273b Put is_enum check first not to instantiate convert_to_int unnecessarily 8ca3ab2c Revert problematic pragma 18ac9870 Fix formatting of objects convertible to std::string ce4a65ff Add pointer support to basic_writer 91721caa Add detection of wostream operator<< (#650) 1efc15c1 Fix MSVC build 8ed264fc Rename type enum constants to prevent collision with poorly written C libs (#644) 4ba3f7db Update docs 7d2723d5 posix.cc: Fix compilation with -fno-exceptions 24d66c5d compilation fix & warnings 229887bd Make constexpr remove_prefix gcc version check tighter (#648) f3f19e76 Update docs e9fa42ac Fix docs and build issues on gcc-4.6 affb35cf Replace using with typedef for compatibility with gcc-4.6 9710c058 Update documentation building script 1a4e8927 Move output_range to format.h 522de7b5 Replace using with typedef for compatibility with gcc-4.6 0b508fd2 Fix c++0x detection 1849735f Fallback to c++11 if c++14 not available 3239c518 Get rid of generic lambdas 78166ccd Get rid of generic lambdas d8ef8a9e Cleanup 82222218 Update README.rst b0005324 Merge the std branch a502decd Added a fmt.pro to support build using qmake (#641) 61065e1a Fix unreachable code warning when signbit returns bool 403ae0a2 Add debug postfix for libfmt (#636) 5096c0fe Fix string_view detection 5b3f9eab Update syntax.rst e802cf14 Add note about errno to the documentation c96d6465 CMakeLists: Use GNUInstallDirs to set install location dbd84697 Update usage.rst 5013c157 Silence MSVC 2017 constant if expression warning cdfcee27 Use allocator_traits if available 66b25ef0 Add examples 6cb68f94 Fix warnings 0b635c9d Fix handling of fixed enums in clang (#580) 66afd9b3 Fix compilation on gcc 6 67e070fe Make format work with C++17 std::string_view (#571) 867b3309 Remove ANDROID macro check per comment in #458 64599973 Enable stream exceptions (#581) 35f8f036 Use less version 2.6.1 and sudo to fix npm install issues on travis 92a250fd Suppress Clang's warning on zero as a null pointer 2f13d41e Add to_wstring 1e19ae83 Workaround a bug in MSVC 3810d7e4 Workaround a bug in MSVC 5c7474e1 Relax constexpr requirements 1f57243b Relax constexpr requirements dc540361 Conditionally compile constexpr 5d8ba816 Fix a segfault in test on glibc 2.26 #551 a9f810c1 Update README.rst 2582f41e Fix ifdefs 1a7d0ba2 Adding OpenSpace to the list of projects 8921f613 Update build script f62e225e Automatically update version in release script (#431) 94806747 remove 'FMT_CPPFORMAT' CMake option bfce29ff Improve conversion 8cf30aa2 Fix segfault on complex pointer formatting (#642) f164e4c7 Remove old bcc-related comments c57029c1 Add Drake & Lyft Envoy to the list of projects 8fa9acb8 Workaround broken __builtin_clz in clang with MS codegen (#519) 3dae2582 Describe cmake use of header-only target 1c7b751d Fix handling of implicit conversion to integral types larger than int 08dff377 Allow compiling and using as DLL in windows #502 c753a2af Don't include the world with WIN32_LEAN_AND_MEAN (#503) a5185ec8 add SOURCELINK_SUFFIX for compatibility with Sphinx 1.5 768061c8 Fix FormatBuf implementation (#491) 0c136381 Move back_insert_range to format.h 5060568f %.f should have zero precision, not default precision a09f7488 Add Kodi (xbmc) to the list of projects using fmt f9fa7c40 Add FMT_API and FMT_OVERRIDE where needed a980d3b4 Add fmt::join to format ranges (#466) 87eab90e Fix missing intrinsic when included from C++/CLI (#457) 75005bbc Don't export the -std=c++11 flag from the fmt target 19f990a9 Use https to fetch dependencies from github bca9de9e Return iterator from format_to 0555cea5 Added a fmt.pro to support build using qmake (#641) a93270fd Replace a bunch of craft with type_traits, take 2 21429c86 Revert "Replace a bunch of craft with type_traits" 0473c48f Add std::basic_string allocator support (#441) 72d9fffd Fix test compilation for FreeBSD (#433) e79588d6 Replace a bunch of craft with type_traits 3a6c7d0c Fix signbit detection (#423) 5e4c34b2 Add version macro FMT_VERSION (#411) bd8a7e7e More iteratification f78c3e41 Fix unreachable code warning when signbit returns bool 0a402056 Add CONTRIBUTING.rst e35d41ff Add extern templates for format_float (#413) d8c25a17 Use nullptr if available e95e4659 Add syntax.rst to build e5111950 argument index -> argument id 229ee34e Fix compiler warnings 7fe0f3da Update ChangeLog 38b603a4 Update README.rst a1e7e4a7 Fix compilation with -fno-exceptions (#402, #405) 3f24a388 Thread-safe time formatting (#396) f853d94a Remove unnecessary fmt/ prefix (#397) 9649919d Document use of format_arg for user-defined type #393 c8efe145 Add api.rst to build da80005f Fix compilation on Cygwin (#388) 8ed16353 Fix a typo 1760c31b Workaround Doxygen mess 72606f23 Add missing types to counting_iterator c1571003 Add debug postfix for libfmt (#636) 6822466a Handle nested braces in join (#638) 64b349ae More iterator support & fmt::count e3b69efb Suppress msvc warnings in gmock 322736d3 Add support for arbitrary output iterators 10291194 Cleanup c1d137ed Add support for nonconiguous iterators f6fd38bb More iterator support c2fecb9b Clean API 9a53a706 Add support for back_insert_iterator 91ee9c9a Return iterator from the format method 67928eae Don't inherit context from parse_context 217e7c76 Pass ranges by value 22994c62 Decouple arg_formatter_base from buffer 00f1450d Update tesmplate parameter names 3a2e89e1 Reduce dependency on buffer c719d944 Fix experimental/string_view detection cea3c207 Give a better error message for function pointers (#633) 232ceabb Workaround an internal compiler error in MSVC c0954453 Replace buffer with range c3d6c5fc Replace buffer with range 0f987731 add transition helper to format.h d165d9c4 Decouple locale and buffer 36634140 Parameterize basic_writer on buffer type 6f2769d0 Revert "Added support for format string containing '\0' in _format udl (#619) (#620)" 5f1c73db Shorten a comment in locale.h 31934602 Update version 51a16f8c Update ChangeLog.rst a0087460 Merge release branch 941663d0 Merge ostream.cc into ostream.h 955062da Merge printf.cc into printf.h 5705bf1c Added support for pre-c++17 experimental string_view (#607) cabce31f Update syntax.rst ccaae0c0 Refer to jeaiii project e3715102 Add a integer formatter based on jeaiii b3495f2e Update README.rst 61f296e3 Move FMT_HAS_BUILTIN to format.h ce801c90 Remove dependency on <vector> and <array> 41fc2990 Merge branch 'std' of github.com:fmtlib/fmt into std 971fb584 Allow mixing named and automatic arguments af0f21da add missing inline in header-only mode (#626) 7cea1638 numeric -> arithmetic 5328907f Get rid of <limits> dependency faaafc7e Remove <utility> dependency and replace typedefs with using 94edb1a7 Add a lightweight header for the core API 3aaa25fa Added support for format string containing '\0' in _format udl (#619) (#620) 84bd2f19 Merge include/fmt/CMakeLists.txt into the main CMake file 7f351dec Decouple <locale> for better compile times 81bd9e8e args -> format_args 10e70a06 Improve handling of custom arguments e0243000 arg_index -> arg_id ac5f9520 Automatically add package to release 0e914372 Avoid conflict with the macro CHAR_WIDTH f03a35a6 Check string specs at compile time e9da5741 Check char specs at compile time b25a0292 Check pointer type specs are compile time c8a9d902 Check floating-point type specifiers 6570dc31 Disallow formatting of multibyte strings into a wide buffer (#606) 3851994a Fix yet another internal compiler error in MSVC 44e18651 Refactor parse context and fix warnings e7e270f5 Test error on invalid type spec and remove unused alias 692b82d3 UdlArg -> udl_arg c523dd58 Use error handler to report errors 5a32e64b More tests 093e2a47 Improve error handling dc104cba Workaround internal compiler errors in MSVC 39411504 More tests e3eb5ea0 Add parse_context::error_handler() 734e722d Fix warnings 62af25dc Workaround yet another MSVC internal error 594bd8fe More tests f2b52bba More tests dfdb1ade More tests 7967c2f8 Disable test that triggers an MSVC bug 18a0b94b Fix overflow check 686ff942 Fix compile-time parsing and add more tests 5b95b5d7 Test compile-time errors 246bdafc Add FMT_STRING macro for compile-time strings e8055433 Remove FMT_USE_VARIADIC_TEMPLATES dba1ccc4 Update readme e613b3c7 Update readme 9fda7a36 Check integral type specs at compile time 92847a0d Add integral type handler a03842b0 More compile-time checks 1c855a47 Integrate constexpr format specs parsing 780b44bf Add compile-time format string check 8ca6e76d Detect user-defined literal templates a7e98616 Workaround another MSVC madness db9ffa14 Make parse_format_string constexpr e926ae78 Add parse_format_string 57e266ab Rename handlers d29c7c3a Workaround a bug in MSVC aadb38a5 Make specs_checker constexpr dd0b72e1 Remove refactoring artefacts e52b10e3 Merge branch 'vitaut-patch-1' of github.com:fmtlib/fmt into std 529d88ce Make dynamic_format_specs construction constexpr d2f2a8b0 constexpr support of dynamic width and precision 6b3840b7 Make format_specs construction constexpr a38bd9ca Fix formatting and naming 91014f01 Naming conventions 932ab2bf Report error from parse_nonnegative_int via handler 0ebdf41e Fix compile-test 170f5c67 Move headers to include/fmt 3d11eac7 Workaround another MSVC constexpr bug c69e3086 Update README.rst 25aac0be Fix travis build on macOS b83241ff Make format spec parsing constexpr bd5188c8 Remove MinGW because it's not on appveyor image 62616b88 Workaround a bug in MSVC's constexpr handling b8f85f67 Use Visual Studio 2017 image on appveyor 7174de0d Fix contexpr-ness of pointer_from 3785afc5 Pass errors to handler instead of throwing (#566) 1b5ccf6c Make parse_arg_id constexpr 17f93fe0 Make basic_string_view ctors constexpr d5e918b6 Detect C++14 compiler support be5b4552 Make null_terminating_iterator more iteratory 643fb066 Check for argument indexing switch d45544d1 Fix width handling in dynamic formatting 8cbf5447 Add parse context ec4f5175 Replace Range with ParseContext in parse() 83dd2ab9 Simplify dynamic_specs_handler 5a8ae0bb Fix a warning 39bc319b Update test results 534bff7d Fix handling of max packed arguments 0cda806d Fix compile tests a3191a99 Get rid of FMT_MAKE_WSTR_VALUE macro fced79b0 Get rid of old compat macros be887d92 Replace internal::get with std::declval 53cf0735 Get rid of FMT_MAKE_VALUE macro 2972de4b Char -> char_type 9ee7c216 Type -> type 1a09194a Cleanup type handling c18a4041 Remove conditional and to_iterator 1cade7ef Remove FMT_USE_RVALUE_REFERENCES 7413239f Remove unnecessary qualification af00e4f9 Remove printf_arg_formatter from format.h and cleanup 44a26e5e CharPtr -> pointer_type and move to writer 0fbd8465 Replace fmt::internal::make_unsigned with std::make_unsigned 8a2bc0ab Add nullptr support 80505995 Allow delayed type checking b0867f3f AlignSpec -> align_spec and fix a warning f194a418 Replace fmt::is_same with std::is_same 47c84d79 Move part of write API (spec factories) to a separate header 20168147 Add ptr, a helper function for pointer formatting 77c892c8 Fix more warnings be7d72ba Fix expansion-to-defined warning d4c504ae Fix a warning 27ad6cee Use standard enable_if 64681739 Fix a warning 38806167 Remove FMT_HAS_GXX_CXX11 a7320bdc Fix a warning 016acebb Remove legacy code 07f8ffc4 Suppress shadowing warnings 466386d5 Suppress a warning in gmock 70ef82a8 Workaround a bug in MSVC 5e0562ab Separate parsing and formatting 1102d465 Make format spec parsing context-independent 45911770 Separate parsing and formatting in extension API 7bd776e7 Explain why null_terminating_iterator is used 873c8451 Remove system_header pragma 9f7957c0 Separate argument parsing and formatting da439f28 Suppress warning about missing noreturn attribute (#549) eefdb379 Fix an unused argument warning 2f4f49fd Switch from cstring_view to string_view a8d6f309 Minor optimizations d16582a0 Move printf-related code to printf.cc 361911dd Use preinstalled version of cmake on travis 9ea183aa Fix MSVC build 8f4b918c Check argument index 4193485b Remove test files 07123e8f Use Ubuntu Trusty on Travis for a new CMake 586d6363 Implement more efficient handling of large number of format arguments 12252152 CStringRef -> cstring_view 5aa8d6ea Return locale by value 32ec13f1 Switch to C++ locale b4f4b7e2 Clean the buffer API (#477) f423e468 Replace clear() with resize(0) and data_ -> store_ 23b8c24d Add noexcept 7175bd8a Fix error on MinGW 7258d1b8 Fix tests 3610f34c Fix windows build 572491ad Document which header defines formatting functions c333dca0 Follow standard naming conventions 6a2ff287 Follow standard naming conventions eedfd07f internal::MemoryBuffer -> basic_memory_buffer 4ec88607 ArgFormatter -> arg_formatter 50e71673 StringRef -> string_view, LongLong -> long_long e022c21d Fix windows build 87b691d8 Merge StringWriter into StringBuffer c2f02169 Merge ArrayWriter into FixedBuffer fefaf07b Pass buffer instead of writer to format_value 6e568f3a buffer -> basic_buffer bb1c82ef Fix build a13b96ed Simplify API 624c5868 Simplify API 7ae8bd70 basic_format_arg -> basic_arg, Buffer -> buffer bf0f1075 Parameterize format_specs on character type 296e9cad FrmatSpec -> format_spec b5fb8dd1 stream -> buffer 984a1029 Remove IntFormatSpec and StrFormatSpec 4863730e Remove pad aaa0fc39 Improve compatibility with old compilers and fix test aea5d3ab Improve compatibility with older gcc and update tests 84850277 Use named argument emulation instead of nested functions ec15ef7b Replace operator<< with write function b77c8190 FPUtil -> fputil 8428621d BasicWriter -> basic_writer 939aff29 Remove unnecessary template arg from basic_format_args f69786a7 Remove Not b2a0d891 Merge value and MakeValue acd1811c Value -> value 42a31907 Parameterize Value on context a4d6cb32 Clean up basic_format_arg d705d516 Parameterize basic_format_arg on context (#442) 422236af Don't erase writer type abb6996f MakeArg -> make_arg ee1651ce Handle empty format_arg state 3bbc5799 Fix MinGW build 63fcfc57 Fix build on older gcc d86e51e9 Don't inherit basic_format_arg from internal::Value f0588869 Fix handling of unpacked args (#437) 11836218 Add support for exotic character types 763ca978 Parameterize Value on character type 6cba8fe9 Move stuff out of internal::Value e1ee5bf0 Replace StringValue with StringRef 0854f8c3 Parameterize formatting argument on char type. 9cf6c8fd Get rid of fmt::internal::Arg 5f022ae0 Remove FMT_DISPATCH 41d4bcf0 Ingore Xcode files 28429701 Merge BasicArgFormatter and ArgFormatter d4084ac5 Get rid of ArgVisitor d58cc8a4 Merge BasicPrintfArgFormatter and PrintfArgFormatter e2dfd39c Update arg visitors 751ff64b Update ArgConverter to the new visitor API c9dc41ab Replace ArgVisitor::visit with a free visit function caa60b9c Update comment 95a53e1f Refactor argument visitor API (#422) 6d241167 Improve visitor API a1dd524b format_arg -> do_format_arg 55a1ac50 Fix test 85793a18 Simplify API 9998f66f Replace formatter with context 2bba4203 Pass writer directly to format_value (#400) b656a1c1 Make value the second argument to format_value edf98792 Pass writer to format_value 64ca334a CharType -> Char be613204 Char -> char_type f85d5f4d BasicFormatter -> basic_formatter 18dfa257 Pass correct formatters to make_format_args dafbec75 Fix type safety when using custom formatters (#394) 506435bf Fix formatting f2879940 Fix formatting 48fe9783 Add format_arg::operator bool 119a63ab internal::Arg -> format_arg 65a8c2c3 format_arg -> format_value 13b04044 Add format_args::size_type 8a77e792 Enable C++11 in tests. 1e8553d6 Enable C++11 in tests. 06bab3ed Workaround mingw bug https://sourceforge.net/p/mingw/bugs/1531/ 6fd6ecc1 Enable C++11 for no-windows-h-test c4212f9e format -> vformat 21c6700b Don't build std branch with -std=c++0=98 209a1d58 Get rid of macros 9a079732 Test types ea28a637 Get rid of FMT_VARIADIC_CTOR 0d8aca8d Get rid of FMT_VARIADIC_VOID 4ece95a7 Make make_format_args public 0028ce57 Get rid of FMT_VARIADIC ece7ae5f Make format_arg_store convertible to format_args 621447fe Make initialization C++11-compatible a0190e4b Add a missing include b903f5c1 format -> vformat 43c0095a Refactor type mapping 4873685c ArgArray -> format_arg_store fc73e106 ArgList -> format_args 92605eb4 Remove FMT_USE_VARIADIC_TEMPLATES 9bb213e9 FormatError -> format_error REVERT: 135ab5cf Update version REVERT: 93d95f17 Fix markup REVERT: 4f15c72f Fix markup REVERT: e9b19414 Automatically add package to release REVERT: c3d1f604 Fix markup REVERT: c96062bf Update changelog and version number git-subtree-dir: externals/fmt git-subtree-split: 3e75ad9822980e41bc591938f26548f24eb88907
2020-04-22 20:57:22 +01:00
// Result: "int: 42; hex: 0x2a; oct: 052; bin: 0b101010"
Padded hex byte with prefix and always prints both hex characters::
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 21:03:34 +01:00
fmt::format("{:#04x}", 0);
Squashed 'externals/fmt/' changes from 135ab5cf..3e75ad98 3e75ad98 Update version 4f043f8e Bump version cc02cbc4 Fix formatting 73c0238e Update changelog cb122a4d Fix format_to formatting to wmemory_buffer dc69cc45 Clean tests 9d8021f0 Add checks for NVIDIA's CUDA compiler 9d2221b9 Improve error message when formatting unknown types 70a6a4bb prevent ""fmt/range.h"" from specializing fmt::basic_string_view (#865) e4fc856c Disable android build due to gradle issues 3f4984fb Clean core-test and fix linkage errors on older gcc d4366505 Workaround visit lookup issues in printf.h on gcc 894b6fac Changed to use scoped enum 59f555ad Workaround more visit lookup issues on gcc a7e356cc Update README.rst e758bfba Merge branch 'release' of github.com:fmtlib/fmt 66381e30 Minor cleanup 295a0d84 Update version 1fb1c4c9 Update docs 465a5935 Add table support to rst2md d62f4c3b Formatting a243490a Add more methods to benchmark results 9e12ca60 Update changelog fbca830d Update changelog, readme and improve compat 6146248c Update changelog bc26fbf1 Move experimental color API to fmt/color.h 97cc8893 Workaround a visit lookup issue in gcc 8 (#851) 7110b460 Optimize default formatting c8a8464f Optimize buffer construction 8cbfb6e7 Get rid of conversion warning in gcc-4.8 (#854) 6ffc828a Phasing out null_terminating_iterator aeb6add3 Skip strchr for the common case 5614289d Optimize and simplify format string parsing 10c7f893 Optimize format string processing on dumb compilers 59c268a5 Use strlen when possible since it's constexpr on gcc 918bb1ce Optimize argument capture a3ba6b4f Disable the fmt(...) macro by default (#853) 86716894 Update docs and formatting cc10b460 Make format_to faster on older gcc 981797f0 Get rid of implicit-fallthrough warn. in GCC 7 and 8 21177757 Micro-optimize parsing be0e2684 Optimize processing of trailing '}' fbc38b90 Pass heavy arguments by ref 8dc69b9d Workaround a bug in Intellisense 1489d3b7 Implement exponential notation dd8c5ce4 Implement more FP formatting options 46484da7 Fix a warning 802ff886 Fix compilation of time.h when localtime_t is a macro (#843) 95a71899 Remove conversion compiler warnings (#844) e483a01a Implement some formatting options in Grisu f5108091 Revert "Implement some formatting options in Grisu" 2a952dd0 Implement some formatting options in Grisu 0de44a46 Implement exponent formatting f0d0a1eb Implement Grisu2 digit generation 569ac91e Implement Grisu boundary computation a11eb3a0 Workaround various icc bugs (#822) 62010520 Disable gnu-string-literal-operator-template warning 98751476 Make convert_to_int public (#818) ba95e36a Clarify that '\0' cannot be used as fill (#832) abde38b4 Add compilation support with Newlib nano for embedded targets 18400503 Fix C4127 warning in basic_writer<Range>::write_double 9de31211 Reformat and add a comment 8bbb0b48 Update README.rst 5c0101ab Use the correct function signature in the docs fbe6410e Fix docs 8b9fb9fb Fix ambiguous instantiation with formatter in fmt/ostream.h (#830) 0f04ec68 Fix package upload (#828) 80907385 Update changelog 5d02041c Update changelog 4b868b89 Re-enable compile-time format-string checking 4061a0d3 Parameterize vformat to support custom char types c68bab70 Remove broken fmt::internal::format_enum (#818) 0c63d15e Improve wording ce19309d Workaround a bug in icc 15 c6843491 Move contiguous version of format_to to fmt/core.h 8db14efa util-test -> core-test and minor cleanup ffe414ca Add compile-time format string checks to format_to (#783) c178ab44 Remove FMT_USE_RVALUE_REFERENCES 5befe658 Remove fmt/folly.h and clean up core API 35538ca6 Merge more format overloads 4f164097 Merge format overloads using SFINAE 2a4e9488 Add UTF-8 types d778bded Make line in tests fit within 80chars 7b4f170c Fix warning about using old-style cast b1d10a28 Add support for dynamic arg sets cf2719bd Add support for types explicitly convertible to wstring_view 50584f42 Test formatting of an object with templated conversion to string-like 73bed45b Add support for types explicitly convertible to fmt::string_view 6eaa5074 Fix global initialization issue (#807) 48dff9f3 Update docs a9e26159 Minor cleanup efd8ee8a Reduce warnings, support #809 8615ff2a Micro-optimize argument retrieval 916ed99d Micro-optimize argument retrieval e7e9578e Optimize format string parsing c99a2597 Mark new functions with FMT_API (#808) e0f6a2f8 Add a formatter for folly::StringPiece ae4a3945 Revert "Better support for newer CMake's" a317448b Keep noexcept specifier when exceptions are disabled. 0eb01b83 Better support for newer CMake's 2a4cd6d0 Fix the returned value of `format_to_n` with user-defined types having operator<<. 9c32e73a Fixing return unreachable warning on NVCC e5c93108 Added clear() to basic_buffer 60c662b3 Add an example of reusing formatters f66ba650 Optimize format string parsing f21268aa Revert "Optimize format string parsing" because of a bug in MSVC 07b690a6 Update README.rst f9e9bf02 Optimize format string parsing c2ce7e4f Update version 434eb916 Update README.rst 09d94162 Update changelog e6362642 Fix pedantic conversion warning f0110e81 Update changelog and CI 479ee2a8 Fix MSVC build, take 2 e928b672 Fix MSVC 2013 build ec218a3a Fix redefinition warning for RESET_COLOR c04fb91b Fix handling of user-defined types in format_to (#793) 323b92bf Force linking of inline functions into the library (#795) c6d9730d Fix sign conversion warnings (#790) 2e95823e Move new color support to format.h and mark old as deprecated ab2d88ca Make format_to work with basic_memory_buffer (#776) 3abd036c Fix compilation on gcc 4 c2f38054 Add vformat_to_n (#769) ce500635 Renamed enum color to colors. Added enum colors conversion to rgb struct. Added colors_test.cpp. 0508bbc7 Add wchar_t overload of format_to_n (#764) c2fbadb9 Fixed issue #779 47268ecd Fixed GCC version test 9ff3b6af Fix handling of compile-time strings when including ostream.h (#768) e3707ef1 Document that file should be in wide-oriented mode for wide print 45fa4ee9 Merge branch 'master' of github.com:fmtlib/fmt 9c07b37f Using enum class now. Renamed from hex to color. Changed colr names to snake case. 5b5886a9 Fixed line length. d2bfee13 Added quotes for strings in ranges and tuple likes. aff6e45e Added support for rgb color output. 1b8a7f8f Fix postincrement in truncating and counting iterators 4bc26f0a Merge branch 'master' of github.com:fmtlib/fmt fc6e0fe9 Fix FP formatting to a non-back_insert_iterator with sign & numeric alignment (#756) cd5b5670 Make is_range and is_tuple_like public API, fix #751 6322b47e Minor cleanup 691a7a91 Add more compilers to CI and increase FMT_PEDANTIC warning levels (#736) dd1a5ef7 Let requests close the file d5c46259 Fix formatting of more than 15 named arguments (#754) 47d147b6 Simplify the nvcc warning fix 911a7511 Fix nvcc warnings (#752) 94b47628 Fix docs 252f11f8 Fix a bogus MSVC warning about unreachable code, take 2 81d56638 Fix more bogus MSVC warnings about unreachable code (#748) 68f0ac82 Fix a bogus MSVC warning about unreachable code b60a5c5d Improve floating-point formatting 8dc2360b Fix a comment 4e4b8570 Implement simple version of Grisu 40275579 Fix tests on 64-bit MSVC 5c32aa41 Workaround a bug in MSVC 468c243c Add a function to get cached power of 10 2f257b72 Implement normalization and simplify power table 6a5bb6e2 Move Android.mk to support and update e282d963 Bump version e2cd521b Fix incorrect call to on_align in '{:}=' (#750) fba352a9 Don't use UDL templates on Intel C++ compiler (#742) 6dcc526d Update release script 5386f1df Update version ba6640b2 Fix formatting 507a50c3 Fix changelog 147807c9 Detect integer_sequence support on MSVC 8b246531 Update changelog 5ad54256 Fix a conflict between fmt::join and fmt/ostream.h (#744) 6ebc1a96 Merge locale.h into format-inl.h 6966db1d Update docs 2196025d Fix a warning 589f5f37 Update changelog edd5f144 Fix compilation errors on gcc 4.4 936aba5f Fix compilation errors on gcc 4.4 3e3a2774 Update changelog b76bb796 Improve naming consistency fbd51534 Update changelog 69823bf8 Improve naming consistency d940fa67 Disable unsafe implicit conversion to std::string (#729) d2bf93fe Update changelog 550ef1d2 MSVC improvements and data truncation cleanup. 728e4f5a Fix docs 8c255771 Update docs and changelog a68fd44e Add ranges.h to FMT_HEADERS in CMakeLists.txt (#738) e3f7f3a2 Add support for ranges, containers and tuple-like types in fmt/ranges.h 984232db Remove duplicate ChangeLog entries 78677e3f Update ChangeLog and docs ad23270e Document to_wstring 3c0f8c26 Update ChangeLog 98937893 Detect inline namespaces on gcc dfb65469 Fix docs 3aa29115 Update ChangeLog.rst d3f6c841 Update ChangeLog.rst c1441ae4 Update ChangeLog.rst dece85b3 Fix docs, take 2 6a1df3bd Fix docs 838400d2 Add inline namespace fmt::v5 b64b24eb Update ChangeLog.rst fc908711 Update ChangeLog.rst 46c374a8 Fix compilation with new gcc and -std=c++11 (#734) f0ae7257 Clarify the use of allocators d72d0462 Update paths in fmt.pro edbbf7ce Fix FreeBSD 12 a4e4f745 Fix a -Wundef when FMT_GCC_VERSION < 600 7d3de497 Implement double to fp conversion a4c7d99f Add bit_cast 0adccaef Fix a -Wundef of _LIBCPP_VERSION 2570f1af Provide more overloads for the wide string flavour ca31ca13 Fixed arg_formatter_base::write_pointer to not mutate the format specs. 6cd66610 remove trailing spaces. fe19c266 Move format_string to fmt namespace for ADL 2768af23 Add cached powers of 10 dd296e1d Add a script to compute powers of 10 0efc8a18 Fix compiler warning about narrowing df1ba52b Update example 221b08fd Merge branch 'master' of github.com:fmtlib/fmt fa9066fe context_base::begin -> out 90ff31b3 Fix a -Wundef warning on clang b1f68c43 Merge branch 'master' of github.com:fmtlib/fmt cd90097c Implement handmade FP 822eccc3 Sync API with standards proposal 2ae41242 allow time formatting with wchar_t contexts a1579b0f Update key ded921f0 Fix documentation build, take 2 3284751f Fix documentation build bb738c4c Remove section on Write API since it's being superceeded by compile-time Format API d180c25c Update godbolt link 1ed842a3 Update godbolt link e80aba1c Remove format_float stub 7b8cb313 Make context_base::args() public 48ae0506 fixes MSVC compiler warning bloat (Visual Studio 2017, latest updates) 096c4051 Simplify char_traits 7610c536 Remove unused macro 111fa581 Update README.rst 52fcef1e Update docs 7d28674d make_args -> make_format_args 9382b76f context_t -> format_context_t fd0b07a7 (w)context -> (w)format_context 26aa34f3 basic_context -> basic_format_context 44cc0346 Relax string_view requirements 0829cab8 Remove from_checked cb7bbc62 Improve checked iterator support 5079f924 Fix a narrowing warning 5859e58b Fix msvc warnings 1e747f60 Fix msvc warnings 9d4efd7a Iterator Wars VI: Return of the checked iterator 9764f558 Update docs 4ef97b9b Add a missing comma 23759b26 basic_arg -> basic_format_arg, arg_store -> format_arg_store 4975297e Simplify counting iterators e8e006f4 Fix compile checks for mixing narrow and wide strings (#690) c5ebecf7 Document format_to_n 3cf05263 Return output iterator to the end from format_to_n 174087bf Implement format_to_n 050f3f1f Remove parts of obsolete write API e90b1da3 Fix linker errors using fmt as shared library in MSVC 8e10d404 Fix compile tests 7a41d61d Add make_printf_args 4fea018b Fix string_view detection 6957d28c Detect string_view on libc++ (#686) 0ea70def Update readme 9ce5e30c Update readme 8c29459e Fix handling of empty string_view (#689) a24005d5 Fix a narrowing warning 3651b7fc Fix a narrowing warning b64486da Add format.cc 3da71d51 Move source files to the src directory 7971ed3d Update readme f61ca2ec Update readme 84e520b7 Update readme e8aa0f33 Update docs 17258e9c Update docs 6d339e32 Improve comment c3d05245 Fix a shadowing warning b58c8dde Update docs 505b3ae6 Workaround GCC bug 67371 (#682) 70dffc63 Remove unnecessary check df828f88 Don't define FMT_GCC_VERSION on clang 42f70c8b Avoid narrowing casts 10b939b0 Remove unneeded usage of anonymous struct on clang 3adfaae2 Remove extra semicolon in format_args constructor 40066785 Fix warnings under MSVC (#679) 9c5f54a7 Add format example for padded hex byte 7bab90e5 Remove extra comma 2e21e7d1 Fix util-test acb469ae Fixed UTF8/16 converters to support empty string input c37c4c43 Fix find-package-test 6d21fc43 add alias targets with fmt namespace e02aacc6 Add CMake namespace (#511) aee4512c Gradle (#649) 7db0e94b Fix handling of numeric alignment with no width (#675) 9facc119 Update docs a1d18711 Merge branch 'master' of github.com:fmtlib/fmt daf650c4 Disallow formatting of multibyte strings into a wide buffer (#606) 8fd7e30f Update README.rst ca93be13 Use fmt(s) as an alias for FMT_STRING(s) 80e57c7a Update to new naming conventions ae3cc844 Check format string at compile time in print 585512fc Remove unnecessary instantiations 7755cdc1 Make symbols readable f867d082 Update docs a103b9bc Workaround missed optimization in gcc (#668) bb47109a Cleanup f1ede638 Make inline_buffer_size public and update docs 995b63ad Update copyright 40232917 Update docs 86a9bc82 Cleanup b7632e96 Make format_to return iterator and update docs 5281ea6a do_vformat_to -> vformat_to and update docs d07ba498 Fix docs 418659ad Fix compilation errors on gcc 4.4 1d2adef2 Fix compilation errors on gcc 4.4 45518c3f Fix compilation errors on gcc 4.4 698d9097 Workaround a bug in gcc 5.1 81074c70 Fix more compilation errors on gcc 4.6 1b452538 Fix more compilation errors on gcc 4.6 6090e51b Fix compilation errors on gcc 4.6 0827ec5a Fix compilation errors on gcc 4.6 4d35f941 Always use fallback string_view to pass format string (#664) 34cf54c2 Update README.rst 0565d654 Fix gcc 7.2 issue f5dc0ed3 Break long lines ea06f021 test: comment out one FormatStringErrors constexpr test 5b491773 test: Initialize some local variables f45f70af Use trailing return type instead of deduction db86e8d5 Remove a couple of unused argument names 55f5c9f2 Use FMT_NULL instead of 0 is a few more places. e92ba107 Fix Python str.format link to point to Python 3 docs a7ae5666 Enable join on msvc 24d249b0 Fix formatting of objects convertible to string_view e508e308 Don't define FMT_LOCALE on OpenBSD 0ee4273b Put is_enum check first not to instantiate convert_to_int unnecessarily 8ca3ab2c Revert problematic pragma 18ac9870 Fix formatting of objects convertible to std::string ce4a65ff Add pointer support to basic_writer 91721caa Add detection of wostream operator<< (#650) 1efc15c1 Fix MSVC build 8ed264fc Rename type enum constants to prevent collision with poorly written C libs (#644) 4ba3f7db Update docs 7d2723d5 posix.cc: Fix compilation with -fno-exceptions 24d66c5d compilation fix & warnings 229887bd Make constexpr remove_prefix gcc version check tighter (#648) f3f19e76 Update docs e9fa42ac Fix docs and build issues on gcc-4.6 affb35cf Replace using with typedef for compatibility with gcc-4.6 9710c058 Update documentation building script 1a4e8927 Move output_range to format.h 522de7b5 Replace using with typedef for compatibility with gcc-4.6 0b508fd2 Fix c++0x detection 1849735f Fallback to c++11 if c++14 not available 3239c518 Get rid of generic lambdas 78166ccd Get rid of generic lambdas d8ef8a9e Cleanup 82222218 Update README.rst b0005324 Merge the std branch a502decd Added a fmt.pro to support build using qmake (#641) 61065e1a Fix unreachable code warning when signbit returns bool 403ae0a2 Add debug postfix for libfmt (#636) 5096c0fe Fix string_view detection 5b3f9eab Update syntax.rst e802cf14 Add note about errno to the documentation c96d6465 CMakeLists: Use GNUInstallDirs to set install location dbd84697 Update usage.rst 5013c157 Silence MSVC 2017 constant if expression warning cdfcee27 Use allocator_traits if available 66b25ef0 Add examples 6cb68f94 Fix warnings 0b635c9d Fix handling of fixed enums in clang (#580) 66afd9b3 Fix compilation on gcc 6 67e070fe Make format work with C++17 std::string_view (#571) 867b3309 Remove ANDROID macro check per comment in #458 64599973 Enable stream exceptions (#581) 35f8f036 Use less version 2.6.1 and sudo to fix npm install issues on travis 92a250fd Suppress Clang's warning on zero as a null pointer 2f13d41e Add to_wstring 1e19ae83 Workaround a bug in MSVC 3810d7e4 Workaround a bug in MSVC 5c7474e1 Relax constexpr requirements 1f57243b Relax constexpr requirements dc540361 Conditionally compile constexpr 5d8ba816 Fix a segfault in test on glibc 2.26 #551 a9f810c1 Update README.rst 2582f41e Fix ifdefs 1a7d0ba2 Adding OpenSpace to the list of projects 8921f613 Update build script f62e225e Automatically update version in release script (#431) 94806747 remove 'FMT_CPPFORMAT' CMake option bfce29ff Improve conversion 8cf30aa2 Fix segfault on complex pointer formatting (#642) f164e4c7 Remove old bcc-related comments c57029c1 Add Drake & Lyft Envoy to the list of projects 8fa9acb8 Workaround broken __builtin_clz in clang with MS codegen (#519) 3dae2582 Describe cmake use of header-only target 1c7b751d Fix handling of implicit conversion to integral types larger than int 08dff377 Allow compiling and using as DLL in windows #502 c753a2af Don't include the world with WIN32_LEAN_AND_MEAN (#503) a5185ec8 add SOURCELINK_SUFFIX for compatibility with Sphinx 1.5 768061c8 Fix FormatBuf implementation (#491) 0c136381 Move back_insert_range to format.h 5060568f %.f should have zero precision, not default precision a09f7488 Add Kodi (xbmc) to the list of projects using fmt f9fa7c40 Add FMT_API and FMT_OVERRIDE where needed a980d3b4 Add fmt::join to format ranges (#466) 87eab90e Fix missing intrinsic when included from C++/CLI (#457) 75005bbc Don't export the -std=c++11 flag from the fmt target 19f990a9 Use https to fetch dependencies from github bca9de9e Return iterator from format_to 0555cea5 Added a fmt.pro to support build using qmake (#641) a93270fd Replace a bunch of craft with type_traits, take 2 21429c86 Revert "Replace a bunch of craft with type_traits" 0473c48f Add std::basic_string allocator support (#441) 72d9fffd Fix test compilation for FreeBSD (#433) e79588d6 Replace a bunch of craft with type_traits 3a6c7d0c Fix signbit detection (#423) 5e4c34b2 Add version macro FMT_VERSION (#411) bd8a7e7e More iteratification f78c3e41 Fix unreachable code warning when signbit returns bool 0a402056 Add CONTRIBUTING.rst e35d41ff Add extern templates for format_float (#413) d8c25a17 Use nullptr if available e95e4659 Add syntax.rst to build e5111950 argument index -> argument id 229ee34e Fix compiler warnings 7fe0f3da Update ChangeLog 38b603a4 Update README.rst a1e7e4a7 Fix compilation with -fno-exceptions (#402, #405) 3f24a388 Thread-safe time formatting (#396) f853d94a Remove unnecessary fmt/ prefix (#397) 9649919d Document use of format_arg for user-defined type #393 c8efe145 Add api.rst to build da80005f Fix compilation on Cygwin (#388) 8ed16353 Fix a typo 1760c31b Workaround Doxygen mess 72606f23 Add missing types to counting_iterator c1571003 Add debug postfix for libfmt (#636) 6822466a Handle nested braces in join (#638) 64b349ae More iterator support & fmt::count e3b69efb Suppress msvc warnings in gmock 322736d3 Add support for arbitrary output iterators 10291194 Cleanup c1d137ed Add support for nonconiguous iterators f6fd38bb More iterator support c2fecb9b Clean API 9a53a706 Add support for back_insert_iterator 91ee9c9a Return iterator from the format method 67928eae Don't inherit context from parse_context 217e7c76 Pass ranges by value 22994c62 Decouple arg_formatter_base from buffer 00f1450d Update tesmplate parameter names 3a2e89e1 Reduce dependency on buffer c719d944 Fix experimental/string_view detection cea3c207 Give a better error message for function pointers (#633) 232ceabb Workaround an internal compiler error in MSVC c0954453 Replace buffer with range c3d6c5fc Replace buffer with range 0f987731 add transition helper to format.h d165d9c4 Decouple locale and buffer 36634140 Parameterize basic_writer on buffer type 6f2769d0 Revert "Added support for format string containing '\0' in _format udl (#619) (#620)" 5f1c73db Shorten a comment in locale.h 31934602 Update version 51a16f8c Update ChangeLog.rst a0087460 Merge release branch 941663d0 Merge ostream.cc into ostream.h 955062da Merge printf.cc into printf.h 5705bf1c Added support for pre-c++17 experimental string_view (#607) cabce31f Update syntax.rst ccaae0c0 Refer to jeaiii project e3715102 Add a integer formatter based on jeaiii b3495f2e Update README.rst 61f296e3 Move FMT_HAS_BUILTIN to format.h ce801c90 Remove dependency on <vector> and <array> 41fc2990 Merge branch 'std' of github.com:fmtlib/fmt into std 971fb584 Allow mixing named and automatic arguments af0f21da add missing inline in header-only mode (#626) 7cea1638 numeric -> arithmetic 5328907f Get rid of <limits> dependency faaafc7e Remove <utility> dependency and replace typedefs with using 94edb1a7 Add a lightweight header for the core API 3aaa25fa Added support for format string containing '\0' in _format udl (#619) (#620) 84bd2f19 Merge include/fmt/CMakeLists.txt into the main CMake file 7f351dec Decouple <locale> for better compile times 81bd9e8e args -> format_args 10e70a06 Improve handling of custom arguments e0243000 arg_index -> arg_id ac5f9520 Automatically add package to release 0e914372 Avoid conflict with the macro CHAR_WIDTH f03a35a6 Check string specs at compile time e9da5741 Check char specs at compile time b25a0292 Check pointer type specs are compile time c8a9d902 Check floating-point type specifiers 6570dc31 Disallow formatting of multibyte strings into a wide buffer (#606) 3851994a Fix yet another internal compiler error in MSVC 44e18651 Refactor parse context and fix warnings e7e270f5 Test error on invalid type spec and remove unused alias 692b82d3 UdlArg -> udl_arg c523dd58 Use error handler to report errors 5a32e64b More tests 093e2a47 Improve error handling dc104cba Workaround internal compiler errors in MSVC 39411504 More tests e3eb5ea0 Add parse_context::error_handler() 734e722d Fix warnings 62af25dc Workaround yet another MSVC internal error 594bd8fe More tests f2b52bba More tests dfdb1ade More tests 7967c2f8 Disable test that triggers an MSVC bug 18a0b94b Fix overflow check 686ff942 Fix compile-time parsing and add more tests 5b95b5d7 Test compile-time errors 246bdafc Add FMT_STRING macro for compile-time strings e8055433 Remove FMT_USE_VARIADIC_TEMPLATES dba1ccc4 Update readme e613b3c7 Update readme 9fda7a36 Check integral type specs at compile time 92847a0d Add integral type handler a03842b0 More compile-time checks 1c855a47 Integrate constexpr format specs parsing 780b44bf Add compile-time format string check 8ca6e76d Detect user-defined literal templates a7e98616 Workaround another MSVC madness db9ffa14 Make parse_format_string constexpr e926ae78 Add parse_format_string 57e266ab Rename handlers d29c7c3a Workaround a bug in MSVC aadb38a5 Make specs_checker constexpr dd0b72e1 Remove refactoring artefacts e52b10e3 Merge branch 'vitaut-patch-1' of github.com:fmtlib/fmt into std 529d88ce Make dynamic_format_specs construction constexpr d2f2a8b0 constexpr support of dynamic width and precision 6b3840b7 Make format_specs construction constexpr a38bd9ca Fix formatting and naming 91014f01 Naming conventions 932ab2bf Report error from parse_nonnegative_int via handler 0ebdf41e Fix compile-test 170f5c67 Move headers to include/fmt 3d11eac7 Workaround another MSVC constexpr bug c69e3086 Update README.rst 25aac0be Fix travis build on macOS b83241ff Make format spec parsing constexpr bd5188c8 Remove MinGW because it's not on appveyor image 62616b88 Workaround a bug in MSVC's constexpr handling b8f85f67 Use Visual Studio 2017 image on appveyor 7174de0d Fix contexpr-ness of pointer_from 3785afc5 Pass errors to handler instead of throwing (#566) 1b5ccf6c Make parse_arg_id constexpr 17f93fe0 Make basic_string_view ctors constexpr d5e918b6 Detect C++14 compiler support be5b4552 Make null_terminating_iterator more iteratory 643fb066 Check for argument indexing switch d45544d1 Fix width handling in dynamic formatting 8cbf5447 Add parse context ec4f5175 Replace Range with ParseContext in parse() 83dd2ab9 Simplify dynamic_specs_handler 5a8ae0bb Fix a warning 39bc319b Update test results 534bff7d Fix handling of max packed arguments 0cda806d Fix compile tests a3191a99 Get rid of FMT_MAKE_WSTR_VALUE macro fced79b0 Get rid of old compat macros be887d92 Replace internal::get with std::declval 53cf0735 Get rid of FMT_MAKE_VALUE macro 2972de4b Char -> char_type 9ee7c216 Type -> type 1a09194a Cleanup type handling c18a4041 Remove conditional and to_iterator 1cade7ef Remove FMT_USE_RVALUE_REFERENCES 7413239f Remove unnecessary qualification af00e4f9 Remove printf_arg_formatter from format.h and cleanup 44a26e5e CharPtr -> pointer_type and move to writer 0fbd8465 Replace fmt::internal::make_unsigned with std::make_unsigned 8a2bc0ab Add nullptr support 80505995 Allow delayed type checking b0867f3f AlignSpec -> align_spec and fix a warning f194a418 Replace fmt::is_same with std::is_same 47c84d79 Move part of write API (spec factories) to a separate header 20168147 Add ptr, a helper function for pointer formatting 77c892c8 Fix more warnings be7d72ba Fix expansion-to-defined warning d4c504ae Fix a warning 27ad6cee Use standard enable_if 64681739 Fix a warning 38806167 Remove FMT_HAS_GXX_CXX11 a7320bdc Fix a warning 016acebb Remove legacy code 07f8ffc4 Suppress shadowing warnings 466386d5 Suppress a warning in gmock 70ef82a8 Workaround a bug in MSVC 5e0562ab Separate parsing and formatting 1102d465 Make format spec parsing context-independent 45911770 Separate parsing and formatting in extension API 7bd776e7 Explain why null_terminating_iterator is used 873c8451 Remove system_header pragma 9f7957c0 Separate argument parsing and formatting da439f28 Suppress warning about missing noreturn attribute (#549) eefdb379 Fix an unused argument warning 2f4f49fd Switch from cstring_view to string_view a8d6f309 Minor optimizations d16582a0 Move printf-related code to printf.cc 361911dd Use preinstalled version of cmake on travis 9ea183aa Fix MSVC build 8f4b918c Check argument index 4193485b Remove test files 07123e8f Use Ubuntu Trusty on Travis for a new CMake 586d6363 Implement more efficient handling of large number of format arguments 12252152 CStringRef -> cstring_view 5aa8d6ea Return locale by value 32ec13f1 Switch to C++ locale b4f4b7e2 Clean the buffer API (#477) f423e468 Replace clear() with resize(0) and data_ -> store_ 23b8c24d Add noexcept 7175bd8a Fix error on MinGW 7258d1b8 Fix tests 3610f34c Fix windows build 572491ad Document which header defines formatting functions c333dca0 Follow standard naming conventions 6a2ff287 Follow standard naming conventions eedfd07f internal::MemoryBuffer -> basic_memory_buffer 4ec88607 ArgFormatter -> arg_formatter 50e71673 StringRef -> string_view, LongLong -> long_long e022c21d Fix windows build 87b691d8 Merge StringWriter into StringBuffer c2f02169 Merge ArrayWriter into FixedBuffer fefaf07b Pass buffer instead of writer to format_value 6e568f3a buffer -> basic_buffer bb1c82ef Fix build a13b96ed Simplify API 624c5868 Simplify API 7ae8bd70 basic_format_arg -> basic_arg, Buffer -> buffer bf0f1075 Parameterize format_specs on character type 296e9cad FrmatSpec -> format_spec b5fb8dd1 stream -> buffer 984a1029 Remove IntFormatSpec and StrFormatSpec 4863730e Remove pad aaa0fc39 Improve compatibility with old compilers and fix test aea5d3ab Improve compatibility with older gcc and update tests 84850277 Use named argument emulation instead of nested functions ec15ef7b Replace operator<< with write function b77c8190 FPUtil -> fputil 8428621d BasicWriter -> basic_writer 939aff29 Remove unnecessary template arg from basic_format_args f69786a7 Remove Not b2a0d891 Merge value and MakeValue acd1811c Value -> value 42a31907 Parameterize Value on context a4d6cb32 Clean up basic_format_arg d705d516 Parameterize basic_format_arg on context (#442) 422236af Don't erase writer type abb6996f MakeArg -> make_arg ee1651ce Handle empty format_arg state 3bbc5799 Fix MinGW build 63fcfc57 Fix build on older gcc d86e51e9 Don't inherit basic_format_arg from internal::Value f0588869 Fix handling of unpacked args (#437) 11836218 Add support for exotic character types 763ca978 Parameterize Value on character type 6cba8fe9 Move stuff out of internal::Value e1ee5bf0 Replace StringValue with StringRef 0854f8c3 Parameterize formatting argument on char type. 9cf6c8fd Get rid of fmt::internal::Arg 5f022ae0 Remove FMT_DISPATCH 41d4bcf0 Ingore Xcode files 28429701 Merge BasicArgFormatter and ArgFormatter d4084ac5 Get rid of ArgVisitor d58cc8a4 Merge BasicPrintfArgFormatter and PrintfArgFormatter e2dfd39c Update arg visitors 751ff64b Update ArgConverter to the new visitor API c9dc41ab Replace ArgVisitor::visit with a free visit function caa60b9c Update comment 95a53e1f Refactor argument visitor API (#422) 6d241167 Improve visitor API a1dd524b format_arg -> do_format_arg 55a1ac50 Fix test 85793a18 Simplify API 9998f66f Replace formatter with context 2bba4203 Pass writer directly to format_value (#400) b656a1c1 Make value the second argument to format_value edf98792 Pass writer to format_value 64ca334a CharType -> Char be613204 Char -> char_type f85d5f4d BasicFormatter -> basic_formatter 18dfa257 Pass correct formatters to make_format_args dafbec75 Fix type safety when using custom formatters (#394) 506435bf Fix formatting f2879940 Fix formatting 48fe9783 Add format_arg::operator bool 119a63ab internal::Arg -> format_arg 65a8c2c3 format_arg -> format_value 13b04044 Add format_args::size_type 8a77e792 Enable C++11 in tests. 1e8553d6 Enable C++11 in tests. 06bab3ed Workaround mingw bug https://sourceforge.net/p/mingw/bugs/1531/ 6fd6ecc1 Enable C++11 for no-windows-h-test c4212f9e format -> vformat 21c6700b Don't build std branch with -std=c++0=98 209a1d58 Get rid of macros 9a079732 Test types ea28a637 Get rid of FMT_VARIADIC_CTOR 0d8aca8d Get rid of FMT_VARIADIC_VOID 4ece95a7 Make make_format_args public 0028ce57 Get rid of FMT_VARIADIC ece7ae5f Make format_arg_store convertible to format_args 621447fe Make initialization C++11-compatible a0190e4b Add a missing include b903f5c1 format -> vformat 43c0095a Refactor type mapping 4873685c ArgArray -> format_arg_store fc73e106 ArgList -> format_args 92605eb4 Remove FMT_USE_VARIADIC_TEMPLATES 9bb213e9 FormatError -> format_error REVERT: 135ab5cf Update version REVERT: 93d95f17 Fix markup REVERT: 4f15c72f Fix markup REVERT: e9b19414 Automatically add package to release REVERT: c3d1f604 Fix markup REVERT: c96062bf Update changelog and version number git-subtree-dir: externals/fmt git-subtree-split: 3e75ad9822980e41bc591938f26548f24eb88907
2020-04-22 20:57:22 +01:00
// Result: "0x00"
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 21:03:34 +01:00
Box drawing using Unicode fill::
fmt::print(
"┌{0:─^{2}}┐\n"
"│{1: ^{2}}│\n"
"└{0:─^{2}}┘\n", "", "Hello, world!", 20);
prints::
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 21:03:34 +01:00
┌────────────────────┐
│ Hello, world! │
└────────────────────┘
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 21:03:34 +01:00
Using type-specific formatting::
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 21:03:34 +01:00
#include <fmt/chrono.h>
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 21:03:34 +01:00
auto t = tm();
t.tm_year = 2010 - 1900;
Squashed 'externals/fmt/' changes from cd4af11e..9e8b86fd 9e8b86fd Update version 92fec0f0 Bump version 4749cc93 Update changelog 78a0ba0a Improve conversion of paragraphs 7a39837d Use a working breathe version 55b6e92d Fix docs 69dc3a85 Fix docs 27f4cdd5 Update changelog 70d61a0a Update changelog 427b5340 Add no_value state to value e421d527 Simplify error handling in parse_nonnegative_int a59678f3 Fix chrono_test.locale c98254c3 Install locales into CI c123a728 Fix set locale error in chrono formatter 3c8fad12 Optimize parse_nonnegative_int f28cf330 adding a default format for std::chrono::time_point<std::chrono::syst… (#2345) 55010a9d Support non-`char` overloads (module) 0193e7c4 Support compile-time strings and compile-time format string compilation in module 3423d754 Remove the msvc workaround (#2351) f6b5cc9f Fix chrono_test.weekday on legacy glibc 59a298f1 Enable `enforce-checks-test` for MSVC, too 36c29482 Update docs c9fe1fa5 Remove unused flag dccddc2b Apply clang-format 0e36681b Cleanup digit count 1de80f5b Workaround lack of static constexpr in constexpr functions 2039dce7 Detect consteval d551b88a Move is_char specializations to xchar.h 16c3514d wchar-test -> xchar-test 206000a0 Workaround pathological conversion (#2343) 76ee4904 Move wchar/custom char overloads to xchar.h e77b22d6 Deprecate memory buffer overload of format_to 07039f4b Update README.rst 4678192c Remove bsr2log10 7c3d3dfa Update thousands_sep_impl signature ef826b86 Fix docs 5223f552 Remove FMT_ALWAYS_INLINE cfde93af Add FMT_STATIC_CONSTEXPR 986a5a6c Fixed join_view formatter for wchar_t 7c8b35ff fix MSVC Win32 count_digits 3eeb084e Optimize count_digits 2ac0bfe5 Improve handling of thousands separator 024741b4 CI: set up multi-thread build for all platforms f4c95f6d Improve handling of thousands separator d4fbeacc Fix docs build 0eef389d Code style e27b1ce5 Fix docs 9f8b6dac Fix wheel installation 6060bcfc Fix docs ff967346 Fix docs 1085cc21 Fix docs 11addaa1 Update docs 760ca5cc Update docs 290d3f8b Cleanup ranges API aa09e0f5 Update docs d142579e Cleanup the format API f286139d Fix "undefined reference to `fmt::v7::detail::basic_data<void>::digits'" 7b9d69b8 Add xchar.h to docs cbd861f1 Update docs faf972f0 Update docs 622d1c04 Update changelog 634c9487 Update changelog a04e3a2d Comment 87876d54 Cleanup the printf implementation d338d663 Cleanup the printf implementation 272660e7 Remove deprecated printf functions 5a95c5ae Update changelog 70e67ae0 Re-enable module testing Prepare for compilation with gcc (modules branch). ad972589 Merge branch 'master' of github.com:fmtlib/fmt ed2a6377 Workaround msvc constexpr issues 99768695 fix custom types formatting at compile-time, add test 8c1b22ba Workaround a gcc 9.1 bug (#2334) 2dba1cfa Update changelog d7ba6c3e Use qualified name-lookup in module. (#2324) bf9904ee Workaround msvc bugs 577bce90 Apply clang-format ba4c7f19 Swap parameter order to match #2327 (#2329) e9e89b35 Update ChangeLog.rst 9bb406d7 Update changelog 11a14db2 Update format_to taking a buffer and remove undocumented vformat_to overload 832ec098 Fix argument order in locale overload of vformat_to (#2327) 486a80e8 Move wchar_t overloads to xchar.h 19d45f4b Update changelog 5a2b88f6 Reduce binary size 00a39ad5 Enable `Char` types other than `char` (#2323) ff37e416 wchar.h -> xchar.h because it handles other code unit types too 0901176f arg_join -> join_view a9a90181 Move wmemory_buffer to wchar.h 4a7801c3 Update changelog 517578f8 Update changelog 85442ed0 Update changelog 6a12b13a Update changelog 1cfe3c73 Update ChangeLog.rst c0601479 Update changelog 6fe04871 Update changelog 9d67988a FMT_DEPRECATED_WCHAR -> FMT_DEPRECATED_INCLUDE_WCHAR 765b451e Update changelog 17c993c7 Fixed compilation with CMake < 3.7 (#2321) dde69373 Update changelog 272b0f36 More module tests (#2309) 126c8cb4 Export os.h API, too (#2318) 98b9ff47 Align hex floats right as default (#2317) ece4b4b3 Update changelog a70a4ae0 Ignore zero-padding for non-finite floating points (#2310) 7612f18d Update changelog b9f2c276 Update changelog 4e21baff Simplify get_units 683ef11a Update changelog ca466374 qualify make_format_args (#2315) 5a2a1856 Make buffers non-movable ee52a6dc add `fmt::print()` overload to support compiled format (#2304) 82607efb Fixed int conversion warning (#2313) 35a2c2a7 Refactor chrono formatting b955e7a6 Refactor chrono formatting 883d9595 Support alternative locale names in tests 1f308a3c Update integer presentation types documentation. 1cd9899c Add initial support for weekday formatting 069131dc Add unicode-test dd8f38fc Cleanup printf API a216f256 Remove undocumented and obsolete vprintf overload 0c092639 Add is_exotic_char trait bc13c6de Update README.rst 8ec0b9e3 Do *not* export namespace `detail` b99c2bd3 Remove deprecated `locale.h` from module interface unit c04a2439 Update changelog b099a56f Update changelog 703005c8 Deprecate locale.h 51f01786 Cleanup the format API 5d59dcf6 Remove deprecated aliases / undeprecate has_formatter c242dd40 Move cerrno include to where it is used 2216e0b7 Update changelog 1c83a49b Simplify buffer extraction 2617384d Improve buffer extraction 34b8acae More wchar_t-specific API to wchar.h 6326c189 Improve code style consistency 5c4b0c86 Add missing Allocator template argument for basic_memory_buffer in format_to 00149c0b Move detail::null to chrono where it is used c5c968cb Improve binary size 128cbdeb cmake: hide private symbols by default 18af1dc4 Fix binary size regression caused by b268f88 d1e6f0f8 Fix binary size regression caused by b268f88 5a0d99fa Add a test for the module 6e2e6b79 Restore support for `wchar_t` overloads in module 24b677d0 Improve symbol sizes 63271a51 Fix ADL issues 61b4c923 Reduce code bloat 2a2e4c58 addressing nits. be48f4d6 Avoid unwanted sign extensions from MSVC in is_utf8. 13e65293 export missed symbols 71fb1138 fix compile error on msvc preview 4 (16.10) involving lookup clash /w STL 08d22503 Remove outdated comments 56f518a9 Update signatures b7f29337 Update signatures 7483dfc6 Update signatures 95c358f7 Improve separation between code unit types 39c3c4ec Simplify the core API e9c1c415 Improve compile-time checks 21d93bfd Move generic format functions to format.h 9a92eb41 Move more wchar overloads to wchar.h 0dd91e20 Add wchar.h for wide char overloads ce14eafc Simplify format string checks 8d70c0ed Refactor the format API 813ac495 More API cleanups 4ab01fb1 Cleanup printf API d5036b11 Remove deprecated APIs 25819462 Cleanup the core API b35db4e0 Improve handling of 128-bit ints d35f1ad5 Cleanup core 8f1902c0 Move format string checks to core.h 6469b903 Silence msvc warning about an unused named parameter 7d4c92fb Update ChangeLog.rst 0763d8ca Fix Visual Studio warning 5466373a Do *not* export namespace `detail` 588bdb54 Simplify get_arg_index_by_name 54f22a3e add support for statically named arguments with FMT_STRING ea94d6d9 Prevent ambiguity in name lookup 57280762 Move specs checker to core.h ced30375 Move dynamic specs to core.h dd2bc998 Move specs to core.h 08da1adc Remove unused headers 3be0cc20 Fix handling of 128-bit ints 9648bdce add missing header d1aebdbd Inline format_to 8f0fadfa Cleanup docs 02896dab Avoid use after move (#2278) 0036a1d1 Fix issue #2274. 2a9b3146 Replace fmt::error_code to std::error_code 2165bef4 Update README.rst 48629308 Optimize format string compilation 3207a8bb Get rid of unnecessary recursion to enable inlining 6214f15a Optimize standard formatter specialization cd2c78fb Use write directly in formatter specializations 4211d865 Add a formatter specialization for std::error_code. 39f28424 Cleanup tests 84feeb0f Remove redundant comments and put common case check first 2665afb5 Cleanup add-subdirectory-test d0abe7c2 Make chrono formatting locale-independent by default 50fb0b5e Fix formatting 16f2ef91 Replace fmt::system_error with std::system_error 4b885c86 Replace windows_error with system_error 5238055f Move esoteric char type support to format.h 9ac088f3 Add fmtlog to projects 849c9f61 Move is_name_start to core 23892caf Move more parsing to core 8e6390c3 Move FMT_STRING to core 51a33713 Move parsing to core 9c3af11a Cleanup tests 9d7b53cb Remove redundant formatter specialization for byte f0095ccd Add support for ranges of types without formatters to join (#2262) 4f0eadfc Exclude fallback from is_formattable 400b953f Use [] instead of {} in ranges for consistency with Python format 38bcc04a Drop range limit and cleanup tests c738c343 Cleanup tests ed7c4320 Cleanup tests 9155e2de Cleanup tests 38127d9e Cleanup tests c9c0e507 Cleanup tests ccf4ccde Cleanup tests and format string compilation e96a92f8 Cleanup tests and format string compilation fd43e4dc gtest: fix std::is_trivially_copy_constructible for GCC 4.8 & 4.9 properly 3d51ccda gtest: remove obsolete `GTEST_LANG_CXX11` compile definition setting 833377ff gtest: add `.clang-format` file into `test/gtest` directory to prevent formatting there 53ca0cbe gtest: move GTest/GMock files to separate directory, update GTest/GMock usages 342973b3 Make wchar_t overloads usable in module Bring ''detail::find()' into scope. 355be4b1 Make FMT_COMPILE fallback on runtime without if constexpr (#2261) 0cd0fb91 C++17: std::char_traits<>::{compare,length} is constexpr - v2 d1a6e560 Keep defaulted destructors inline applies to exception classes in case of msvc only 84a36b99 Move data to functions ab7c33ed Suppress checked iterator warnings 77258f60 fix FMT_CONSTEXPR_CHAR_TRAITS check for MSVC d23e315e CI windows: add MSVC C++20 build f085c3d7 use proper check for non-type template parameters 69bdc20a Workaround missing std::system on iOS, take 2 847aac43 Follow naming conventions in tests 39818e79 Cleanup core-test 0e6f989b __THROW warning fix for e2k (#2253) 1678ed62 simplify field::format() and spec_field::format(), fix typo ca821982 use named arg with static name in compile-time API ce6e7d86 use fixed_string to create named arg class with static name for _a literal fc56af14 move fixed_string from compile.h to format.h bb006f97 Replace TYPED_TEST_CASE with TYPED_TEST_SUITE 6956b10b Fix gcc 4.8 build b4f9a058 Update gtest 8f9ddf45 Remove deprecated posix.h dacd1356 Add module interface unit d3c523e0 Export printf-related contexts from printf.h 2c25df08 Export replacement type_traits, too 553022dc Don't use std::system on iOS (#2248) 8a040d18 Cleanup core-test 064cac2b Bump version 5b2c740a Remove deprecated APIs b9ab5c88 Remove printf.h dependency on ostream.h c47f2112 Simplify data handling 54d3b171 Move more data out of basic_data 128f007b C++17: std::char_traits<>::{compare,length} is constexpr. (#2246) 841aad95 Move data out of basic_data 1d4199f4 fix udl_compiled_string with non-byte chars (e.g. wchar) (#2242) c5d4fcb1 Appending a space to guarantee non-empty strftime() result. (#2244) 62714062 Fix a warning (#2233) 52bd62c7 Create separate dllexport marking points for clang and msvc. (#2229) f4bbc54c Tag official API for module export (#2235) d8910af8 Use qualified name lookup rather than ADL. (#2239) 92601141 Ranges wide strings support (#2236) 24c97515 Try to suppress MVSC warn of narrowing (#2230) a1c6bfd7 Add a link to llvm diff 42eccac4 Fix clang warning about ignoring __declspec(dllexport) on basic_data<void> template instantitation definition (#2220) aec50434 Update README.rst 0b411454 Update README.rst 00f3d16b Update docs 99c2f7a3 Allow including fmt/core.h in the header-only mode b4415323 CI linux: add clang++-11 C++20 (with LLVM libc++) build 1dbadb65 CI linux: add clang++-11 C++20 build 09dbad47 CI linux: add missing build_type e2facffe CI linux: remove excessive clang++-9 include 273d8865 Suppress redef warning of _CRT_SECURE_NO_WARNINGS if any. (#2218) 5a8bf1f6 Workaround hexfloat inconsistency on windows (#2205) 78776ee4 Fix a conditional expression is constant warning #2210 (#2211) 266107f5 constexpr uint128_wrapper (#2215) 2e0d64cf specify size for `prefixes` static data 95da4847 Fix a link 06b3a100 Add support for time points with arbitrary durations (#2208) dac42f52 Inline fallback is_constant_evaluated 7c43f8b8 Don't use strlen at compile time (#2205) c62e4c30 Make buffer_appender default-constructible when back_insert_iterator is 0d6b70d9 Install gcc 8 15c10b0c Add speech synthesis support 308510eb "Use" `fwrite` result (workaround for `warn_unused_result`) afe23e7f Don't call fileno on NULL file in tests (#2196) b49af043 Remove noexcept from file's move assignment 14848875 Fix: fmt::ostream cannot be moved while holding buffered data #2197 (#2198) 7d8c3401 Update pull_request_template.md b966afcc Remove formattable ec5315a9 Use strlen when possible in fallback basic_string_view 4f8778ba Inline basic_format_args's ctor e2d87548 user-defined constructor f7151d38 Extra flag to prevent Intel compiler with Clang front-end warning of 'unknown attribute no_sanitize' 0fb8ef8f Inline trivial argument handling functions 1b23e25f Simplify formattability check 35c71ff5 Only use -Og with optimizations disabled 243d8beb Enable minimal optimizations in debug mode 9b34681d Work around xl compiler bug when nvcc preprocesses this file (#2190) 4dc7170d Fix C++17 builds: (#2192) 9cb347b4 Simplify argument formatters 0f85a468 add default cases (#2186) 417e1cee Stop using deprecated UDL templates f7e900e1 Simplify UDL definitions d9661c8f Mark grouping as deprecated 14a2a64d Fix handling of formattable types with to_string_view (#2181) 6ae402fd Fix handling of types with to_string_view and formatter specialization (#2180) a6408a3b Add args-test 1147782c Fix an ambiguous call to check caused by ADL (#2184) 2f3f3862 Fix harmless MSVS warning about using undefined _MANAGED symbol (#2183) d0bded59 Fix MSVC /clr builds (#2179) 8308f52c Fix dynamic_format_arg_store::push_back comment 6151d0dc Fix the comment 5a1127b7 Don't wrap named arg in cref and clarify docs b8ff3c18 optimize append (#2164) c8d8b882 fix GCC 7,8,9 warning about unused but set parameter (#2177) d2810187 Document ostream support limitation bac14ef9 Simplify integer spec checking 8f9db3fc Make ubsan happy on empty format specs (#2175) af567538 Bitpack integral prefixes cdf877d4 Workaround missed optimization opportunity eef4ba9c Optimize integer formatting without padding a1ea8a82 Unbloat my heart a457e163 Simplify integer formatter 05bc87a6 Optimize padding 605b6037 Optimize count_digits for powers of 2 85ba2716 Implement 128-bit count_digits in terms of count_digits_fallback d9835737 spec -> specs f9e0e904 Apply clang-format 60f5d244 Simplify arg_formatter 30e1302e Simplify on_format_specs 87c5cd46 Optimize parsing of argument ids 6a9016ea fix `formatted_size` with "compiled format" as argument (#2161) 6e1fc017 Move detail::truncating_iterator to fmt/compile.h e718ec3e Make truncating_iterator an output_iterator (#2158) 772aeca3 Don't include <cassert>. (#2148) (#2152) 684b5b0e Fix fallback to runtime API from compile-time API (#2143) d8b92543 use simplified `void_t` for all compilers other than gcc 4.x (#2160) 835b910e Add an is_formattable trait 57887403 Revert "Optimize handling of integer constants" (#2147) 640acba8 Print x.what() of FMT_THROW when exception is disabled (#2145) d8e1c9f1 fix `fmt::get` for some GCC versions and legacy Clang (#2144) 2797588b Optimize handling of integer constants e8eff3b8 Fix FMT_STATIC_THOUSANDS_SEPARATOR (#2142) ab0f7d7f use const& for arguments 29cc8282 update chrono duration formatter (constness), use it in compile-test for specs checks 3f69af3a update wording in the error inside `arg_id_handler`, use `FMT_ASSERT` instead of `throw` 499047e1 fix incorrect indexing mode for named args, update tests 78c67157 prepare tests, fix incorrect handling of named args with simple `{}` replacement fields b31bc2dc simplify `try_format_argument()`, make `manual_indexing_id()` a variable 95e1aa2d add support for manual indexing and named fields, add tests 7e72673d Improve width estimation (#2033) 13b117b5 Improve code point computation ee0fed63 Fix handling of the + flag with locales (#2133) c5979d56 Fix fmt::localtime formatting not working in wide-char string contexts e6ef927e fmt::ptr: Support function pointers (#2131) 58aa0457 Fix ordering of install commands for CMake (#2122) 1980ca8c fix #2118: FMT_COMPILE did not work with tm formatter (#2119) 2a25e2bf Make ranges-test available with C++11 (#2114) b0b56b43 fix #2116 (FMT_COMPILE requires exceptions enabled) (#2117) 373262f9 Update docs ce519e93 Fix exception propagation from iterators (#2097) acef0bb5 use gcc-10.2 instead of gcc-10.1 on CI, also fix one problem (#2110) 8bf28e6b Add support for s format specifier to bool (#2094) (#2109) 9c418bc4 Update README.rst 456efa46 add missing detail namespace (#2107) 80dc7cce Fixed format.h(1465): warning C4702: unreachable code (#2106) 7fd535c6 Cleanup 'L' handling b4b8917c Update docs e4f2cf45 Make 'L' a modifier 6972b5f3 Add build variable: FMT_MASTER_PROJECT (#2100) ac352081 Install fmt/args.h (#2096) 532e846b Fix width computation in float formatter f8c2f848 Fix handling of width when formatting int as char 0fe0b15e Fix handling of # in width computation 061e364b Document output_file 018688da Correct a typo on syntax.rst (documentation) (#2081) 9ec5592b Fix writing to stdout when redirected to NUL on Windows (#2080) cdc5ef67 Remove fallback to inline specifier from FMT_CONSTEXPR(20) macro (#2075) c9dd1eb9 Don't change charset d09b5c14 Fix std::byte formatting with compile-time API (#2072) bbd6ed5b Add support of most format_specs for formatting at compile-time (#2056) a750bf3a Update api.rst 1256541d Fix formatting 4fa4c924 Add tests for FMT_ENFORCE_COMPILE_STRING, fix several errors (#2038) aa89e380 add cwchar to format.h for std::fputws (#2073) 5a37e182 Disable warning about format string (#2067) fa43fd14 Forward arguments to work with views (#2068) 3551f5d1 Workaround a gcc 10 -Warray-bounds bug (#2065) e7376726 Remove an old mingw workaround (#2059) 25a41b80 Fix a link to Android.mk (#2057) 9293f707 Suppress gcc warning on privates-only class (#2053) c20874c2 Reenable support for fallback formatter in join (#2040) (#2050) 5de0bc1d Add UDL as replacement for FMT_COMPILE (#2043) a6fafe2f docs: use https for some links (#2051) 33f9a6d3 Fix handling of enums in to_string (#2036) aabe0a84 simplify tests by reordering arguments of `EXPECT_EQ` (#2044) 1f4a76d2 Add a missing include (#2047) 4a6eadbd Make std::byte formattabe (#1981) 683a7450 fix formatting with empty compiled format string (#2042) f43416e1 Add a link to contents from index 5a493560 Move some code from core.h to format.h where it is used 9ed0a981 Fix docs build dac753b8 Basics of formatting at compile-time based on compile-time API (#2019) 119f7dc3 Truncate file by default 22a68d16 Don't emit trailing zeros by default d0110b7e Update README.rst 3f4839ce Merge branch 'release' of github.com:fmtlib/fmt 7bdf0628 Update version fc135511 Update changelog 926233bd Fix test 0683fa7d Bump version 6ce207b9 Fix formatting 07b1c1a1 Update changelog 58992761 Reintroduce ostream support to range formatters (#2014) b8957f50 Fix an overflow in format_to_n (#2029) df66516e Workaround an issue with mixing std versions in gcc (#2017) a57baa69 Fix more linkage errors (#2011) 85534a13 Fix linkage errors when linking with a shared library (#2011) a2fa5d62 Update changelog cd300368 Fix more linkage errors (#2011) d1ef29d6 Fix initialization of iterator_buffer (#1996) 5f41bb0f clang-format a58a6b27 Add a newline a036cc97 Reintroduce ostream support to range formatters (#2014) 38c7def4 Update clang version to 3.4 since there are ICEs on earlier ones 55336413 :new: [CI] Test with C++14 in Windows 2019 (#2020) 55dfdd92 Update README.rst 2c734c9b Fix an overflow in format_to_n (#2029) 6cdd1be9 Update build.gradle for latest AGP (#2026) bcc20b29 Implement compile-time checks by default befd7d4a Always use FMT_STRING internally where possible [Issue #2002] (#2006) f8640d40 Add more standards f81c14aa Workaround an issue with mixing std versions in gcc (#2017) 5555651c Fix more linkage errors (#2011) b268f881 detail::write in one more place relevant to printf with long argument… (#2016) aa9b09a9 :bug: Cannot call non-constexpr function in constexpr context (#2010) 986fa004 Printf get container (#1982) 7abc3c01 Suppress a useless warning (#2004) 6d14f781 Fix linkage errors when linking with a shared library (#2011) 9534b9fe Refactor warning suppression 60dc2735 Simplify on_text b5dac0f0 Reduce <algorithm> usage (#1998) a07627b1 :bug: Implicit sign conversion warning in clang in c++17 and 20 modes (#2009) 1b8f499e :wrench: Silence useless cast warnings (#2008) f428d286 Update README.rst beb248b6 Optimize handling of large format strings 1936dddc fix gcc warning of missing override (#2001) 14f6bd0f Move one more headers to args.h e01d26e1 Optimize includes e528d919 Merge branch 'master' of github.com:fmtlib/fmt 48816772 Update signatures 3302fd10 use memchr for searching for '%' in printf format string (#1984) 4c2d6372 Update signatures beaff396 Update signatures ffa0a083 Use newer versions of Sphinx and Breathe 038057eb Document contexts 5bedcb66 Fix initialization of iterator_buffer (#1996) 2435ea41 Workaround MSVC mess 8c6215f5 Fix fmt/color.h 10ebe6cb Document color 1ac50fcb Suppress more bogus warnings e098be8e Fix warning filtering 8cf0afaf Improve docs e29f93e8 Suppress more bogus warnings 4e8d000f Suppress more bogus warnings 7787792e Fix re usage 6ee5e507 Fix imports 06ee32d1 Filter useless doxygen warnings 86bb7fe6 Add a missing import 959a9f5c Merge branch 'master' of github.com:fmtlib/fmt 4f7df299 Improve docs b3ab0bc7 :art: [CI] Specify the exact version of clang to use (#1991) 701ed6c8 Install deps in github actions instead of script 8f2131cf Document chrono 32c4af8f Document chrono 295a60ec Document chrono a4fae96c Document chrono 263bb0e6 Document chrono 0506b328 Document chrono 4e426c19 Document chrono 9795d873 Update docs 2eb0be0b Remove debug code and fix bot contact cd955798 Move less installation to actions 98639d0f Debug doc build ab5e0632 Debug doc build b123129f Dump the content of html dir 81d2b986 Print less command 7a0b1d57 Add key 9f0617cb Fix branch ref 75b07598 Chrono docs dfbb6975 Remove travis config 5b3052f9 Switch doc build to github actions 506ff320 Fix build failure when not using fcntl with -Werror (#1990) a30b279b Apply clang-format and tweak comments 6a2495c8 -Wattributes visibility warning with some GCC versions (#1975) cba5970c Remove migrated build configs 689081d8 Merge branch 'release' of github.com:fmtlib/fmt cc09f1a6 Update version e4eb242c Update changelog and bump version ce98e0c6 Fix fallback float formatter at assymetric bounds (#1976) 49544ea9 Fuzz fallback formatter 6b7bfed4 Fix fallback float formatter at assymetric bounds (#1976) bcab36da Update CI config 1689e73e Move PR template 0103408a Update CI config 38a16ecb Move build config to github actions 205eb3a8 Update CI config fe61b8c6 Update CI config 867b15d7 Update CI config 98cb9f99 Update CI config 95077d60 Update CI config bc49f094 Update CI config cef6dfb4 Update CI config c8703ba4 Update CI config ab4405be Update README.rst 78a55e28 Update CI config d0a2494a Update cmake.yml 89d009ba Update cmake.yml 1f4ff47b Create cmake.yml eb52ac7a :new: Enable -Wshadow in pedantic mode e904e891 :art: :bug: Rename all shadowed types and variables 771292c3 Remove sizeof from unused variable silencer (#1974) 86bf6045 Merge branch 'release' of github.com:fmtlib/fmt 5f7f7b95 Update version 5d3f0741 Update changelog and bump version 563cbb6c Add a macro to workaround clang/gcc ABI incompatibility on ARM 425778aa Fix ABI compatibility (#1961) 69a84198 Remove accidental parenthesis (#1968) 5c045049 Removed [-Wsign-conversion] warning in GCC 556a1cfb Instantiate to_decimal to make gcc lto happy (#1955) 28a8eae8 Cleanup 236fea1f Workaround bugs in gcc 8 e50ced88 Add a macro to workaround clang/gcc ABI incompatibility on ARM 112755cf Remove FMT_SAFEBUFFERS (#1966) 4081b2fe Fix ABI compatibility (#1961) 2d9311e8 Remove accidental parenthesis (#1968) b3a4f28a Fix implicit signedness conversion warning (#1963) 97c88732 Allocator::max_size support in basic_memory_buffer (#1960) bb68f608 Removed [-Wsign-conversion] warning in GCC f4ca065c Range support cb224eca Instantiate to_decimal to make gcc lto happy (#1955) 7977c2b4 Cleanup e54eb676 Workaround bugs in gcc 8 4fe0b111 Update version df4bd60f Bump version 764fb35e Always install the required version of breathe e1bdc0ec Use the correct version of sphinx 39bde329 Tweak markup 204d299a Tweak markup e0995b1c Update readme 4af178bd Remove outdated build config aa41dc02 Remove unused script 6a77ea3c Tweak markup 62c72059 Update changelog c10e3f7f Update changelog e542e695 Update changelog 530cf316 Point to the release, not dev documentation 740385d6 Update changelog cd465111 Update changelog 46291be3 Update changelog 90071c1d Update ChangeLog.rst 25293d7a Update ChangeLog.rst 5024742f Update ChangeLog.rst 0452a4e7 Update changelog 8de96817 Woraround bugs in gcc 8 47e16767 Simplify arg formatter f0a42346 Move parsing optimization one level up 86287b8d Optimize common case in parse_format_specs 8924211f Update README.rst 525e7649 Update CONTRIBUTING.md 0ecb3d18 Optimize alignment parsing 97553078 Optimize format_uint 7446818f Simplify vformat_to 280b5612 Add option to force usage of inline namespaces e57ec7d5 Merge vformat_to overloads 2a3f4de3 Remove iterator_category 27fdb4ea Unshadow floaty 297e0bad Apply clang-format e3b4c22e Simplify is_output_iterator da8278e1 Update changelog and bump version 17fba753 added position independent documentation (#1939) 71e705a2 Update README.rst 74654c8c Fix compilation for systems without fcntl.h (#1942) f468b203 Avoid conversion from long long to size_t (#1935) 20d4f2e8 Fix handling of weird character types when parsing sign (#1932) 08370c39 Update README.rst bd3c7925 Fix float fuzzer 8d3fd86d Merge branch 'master' of github.com:fmtlib/fmt 40347157 Update README.rst 37d738fa Update README.rst 271eff14 Make classes derived from buffer<T> final to silence the virtual destructor warning. (#1937) 010efc31 Add float fuzzer and cleanup 811c8b58 Add float fuzzer and cleanup 82c4e223 Cleanup fuzzing 63e40c96 Fix naming of fuzzers 2f448ed5 Fix fuzzer timeouts af283059 Cleanup 48ea8193 Explain why assert-test is a separate test 1d112bdd Remove old test 5eb292a6 Update README.rst 7e56b6b6 Fix coding style and remove duplicate fuzzer 41d97e1e Fix a UB on ridiculously large precision 01c37e0a Added check for `-mbig-obj` and ref qualifier check (#1929) a5e7e7db Fix handling of thousand separator (#1927) bf19051a Optimize floating point formatting 3c13a88b Optimize floating point formatting f6d75c53 Refactor write_float e9c0b2d6 Merge write_float overloads 7eddbfed Cleanup exponent handling in write_float b347b302 Update dynamic_formatter comment (#1923) 3541880e Fix integer overflow when using max int precision 7b50dc0b Don't exclude all detail symbols from docs 28052431 Fix the doc config 34f22e88 Cleanup CMake config a18b3fbb Fix fixed precision handling when rounding (#1917) 72770357 Fix long lines in usage.md 7612c1ea Add reference to lhelper package manager in usage b91d39f2 Get rid of float_writer b4b64b9c Refactor float formatting 712abe40 Workaround a bug in gcc 7.5 (#1912) af8a180a Make GetCachedPower test more precise a581e9e5 Fix warning C4018: '<=': signed/unsigned mismatch (#1908) 05a28312 Update docs 4d0aa4d8 Update link 575f4018 Simplify FP formatting and follow coding conventions 6f3536f9 Move zero-check to an earlier branch (#1906) 90ef46df Fix dragonbox integration 3ae88147 Fix declaration 64179525 Improve dragonbox integration 79694d42 Fix WriteConsole signature 51f2e2ca Move nan test to where it belongs 68555fdb Make format-test not depend on color.h 63e0c354 Make dragonbox::to_decimal available in format.h 2213a711 Update README.rst 79ba37f3 Update README.rst a905d8f7 Merge grisu-test into format-test 762c33a9 Simplify windows handling (#1903) 253d6315 Remove dependency on windows.h (#1900) c156093f Fix carry in fallback_format 34179b33 Update format.h (#1898) 0651e459 Minor tweaks to get_cached_power 6c025520 Test that max_k is correctly defined 51f8d0cc Reuse log10_2_significand constant 1305cbeb Fix MSVC2019 error C2049 when compiling with /clr (#1897) 2d4fde3a Don't emit trailing zero for consistency with std::format 5fd89d50 Minor simplifications 605ce5e4 Simplify divisible_by_power_of_2 085171e7 Remove grisu_count_digits aa729bf2 Remove dead code aa2ddf9b Simplify Dragonbox integration c1654ce4 Simplify uint32_or_64_or_128_t definition 33712dc0 Combine pragmas e5942ac9 Tweak comments aae7a133 Remove unused pragmas 6bcde9aa https://github.com/fmtlib/fmt/pull/1882#issuecomment-696823912 (#1894) bb0db5e5 clang-format 16410056 Optimize copy_str for counting_iterator 2591ab91 MSVC optimizations for count_digits. (#1890) d5b8002d Update README.rst 821471e1 qkw: generalizing aliasing | using fmt library and it's features (#1888) 2e620ddb Small improvements that should have zero to negligible impact on the runtime (#1887) 2f7e0885 Disable range formatter if value type is not formattable (#1885) c46a8de4 Simplify test 2696dc92 add forgotten template argument to make_format_args which made some u… (#1877) 0016da7a Don't generate zeros and fix UB on huge precision ce3f7699 Merge intrinsic blocks 3b6248f6 Change formatting 2d9b1dd0 Fix sign mismatch 1f0600a2 Fix bug regarding FMT_SAFEBUFFERS 2ecdbb98 Fix a bug in ctzll 6f81ea15 Fix typo (and thus bug) 0c8ffe9b Implement Dragonbox (first version) 42699bf4 Fix msvc version of clz & clzll (#1880) bc51a8df Disable fallthrough attributes for the Intel compilers on Linux and MacOS (#1879) 45da432d fix compiler warnings in public header files d55e61f1 Improve FMT_ALWAYS_INLINE (#1878) 7e682752 Remove trailing zeros when using fallback formatter (#1873) 1d696dc2 Handle exotic character types in compilation f674434a Add format_to_n overload that accepts FMT_COMPILE (from #1767) (#1869) 5b5a5971 Fix handling of wide alignment f80ed64d Update README.rst 38139664 Simplify fallback format dce8e49b Handle float in fallback formatter 78b59443 Spelling f233b56c Don't generate insignificant digits 595902f8 Update test 4f2ee892 Use built-in FP formatter for any precision 58a044be Use built-in FP formatter for any precision efe3694f Macro tweak and clang-format 9f312fe8 Implement fallback FP formatting with given precision (#1526) fb289cf5 Fix coding conventions 86f0a704 Fix formatting bff4d18e Add color format_to overloads * Fix variable size basic_memory_buffer colorization * Fix an unused arguments warning on GCC that blocks the CI otherwise * Ref #1842 * Ref #1593 f19b8885 Fixed a warning in mingw32/mingw64 (#1860) f8e00a08 NOMINMAX not handled properly (#1855) 6cccdc24 Fix move constructor (#1844) 69902c17 Allow use of <fcntl.h> in Linux when __has_include is not available (#1848) 1edd38b9 Add append mode. (#1847) e66ba169 Added build2 usage instructions. (#1838) f39e6fb6 Add formatters for chrono::time_point<system_clock> (#1837) 77b627be Fix bogus MSVC warnings (#1825) 5dff01d3 Add complex tests d16d585e Update signatures c7e6d8af Fix usage of override (#1836) 92bff2fe Revert "Add missing includes" a0dcfbc5 Add ptr to docs 1651b2d4 Fix detail::write with fallback formatter (#1829) 06895a76 Add missing includes 92a448a0 Apply clang-format 6be65446 Fixing buffer_appender's ++ slicing (#1822) 951e0d23 CMakeLists.txt: Added Wundef warning to clang and gcc. (#1823) f9f02df7 CMakeLists.txt: Clang-warnings: removed -Wno-sign-conversion (#1817) 76e97dc4 Eliminate shadowed variable warnings on intel (#1816) e204df0e nvcc compiler should be EDG-based, but fails test (#1818) 1c8bb547 small changes to reduce clang-9 warnings (#1808) 4b69c787 fix: warning C4100: unreferenced formal parameter (#1814) fb0aeb82 fix: disabled UDL templates for PGI (#1811) (#1812) 54daa086 Add dynamic width support to FMT_COMPILE (#1809) 6fb7c6fb Workaround a bug in gcc10 (#1810) 16985fda Update README.rst 1378ddae Update README.rst 4fd95e4b Don't remove trailing zeros with # e06ae322 Avoid warnings on functions with external linkage that don't have declarations 7fc3d1f5 Add override to grow 065889a5 Use correct capacity in iterator_buffer (#1807) d0dd6786 Adding convenience append(range) 0e7cef06 Merge commit 'c13f79e0' e2c8c455 Update README.rst e4c954ff Update README.rst c13f79e0 Merge release branch d7921d64 Update README.rst 4a4fc225 Update changelog 61602a75 Remove -Wno-shadow 2f8fc29e Update README.rst 717b226b include/fmt/format.h: explicit cast to std::size_t for parameter to buffer.resize() in order to get rid of warning 'implicit conversion changes signedness:' in clang-8 (#1802) 2a69f567 Tweak buffer size ea769338 Simplify ostream 5413713c Remove unused function 57f46242 Increase the default buffer size 0b6e7cc6 Update README.rst e587adb4 Simplify count_digits 279d698e Fix handling of default alignmment with locale (#1801) 76cfb50b Test complex formatter 20829120 Optimize count_digits 8d9ab967 Cut a few cycles from count_digits 73434493 Simplify ostream_params 2a47a1e4 Update README.rst 7c4c5c79 Make buffer size configurable f0b84da5 Don't use 128 bit integers with clang-cl (#1800) a3dfd6f9 Workaround a bug in msvc 51d05521 Workaround broken numeric_limites, part 2 (#1787) 21c8b5c1 Report error on missing named argument (#1796) d82fdcc9 Fix handling of iterators in locale-specific formatting (#1782) 633213d9 Merge release branch e8f2580a Bump version 6cefe55a Update changelog 64e2da15 Update README.rst 1c8c810f Update README.rst c2399ccf Update README.rst a7c5db06 Update README.rst a4c22acd Update README.rst 0c1f4b5a Update README.rst 63b422ee Update README.rst 26e81a67 Update README.rst de5fc6af Update README.rst 9c2edfd1 Partially revert 638db5 because it breaks the doc build 810357c0 Document color 0a7032a4 Update README.rst 95d3abf9 Make format_to_n part of the core API 98626093 Correct the locale format specifier in api.rst (#1792) 47f8d7a3 Make formatted_size part of the core API 46a63b70 Update docs 430f393d Disabled __attribute__((deprecated)) usage for LCC (#1790) febffa4e Make join() handle non-const-only begin/end ranges (#1786) d69e2da2 Fix apidoc ce73ea37 Reorder functions d39d661b Workaround broken numeric_limits (#1725) c228bfe8 Improve docs 38ce19f7 Update README.rst d11849bc Add FMT_REDUCE_INT_INSTANTIATIONS flag (#1781) c08518a2 Move make_args_checked to the public API e2837084 Add a color section 9f0c0033 Simplify format string checks d615137c Improve handling of buffer iterator 26b47b6f Bump tested CMake version to 3.18 7a01c9c5 Update README.rst b17d5c4f Fix a regression in handling digit separators (#1782) eb90da2e Type erase output iterators 9d3cd0af Type erase output iterators 18024853 Fix compatibility with CMake 3.4 (#1779) f5d4215b Trying to clear ambiguous compile time claims (#1775) c26349f4 Improve error reporting f4b11ef6 Add a short anchor 0097cf11 Report unformattable type name more prominently 8fa20b47 dev -> latest a03bd3dd Autodetect MSVC static runtime (#1770) c108ee1d Clarify a comment a8074a86 Update README.rst 5f629548 Update README.rst bd903f96 Clarify precedence 16cac46a Improve handling of streamable and convertible to bool types (#1766) 415cd519 direct_buffered_file -> ostream e1bfb596 Fix handling of code units in compile ba8d98cb Cleanup direct_buffered_file 04a1f6e9 Improve handling of single code units in compile e4f57bfd Add an overload of write for buffer_appender d8704681 Make append work with fixed-size buffer e8ec09ae Cleanup core-test a2c4fed9 Double buffering no more 36406509 Add a fixed buffer 60c43e87 Apply clang-format b998e0f3 Reduce symbol sizes and simplify iterator use c5adfc51 Update README.rst c4ad94ce Update README.rst c1429651 Fix image source link 638db5ca Use Cmake to find Python and Sphinx-doc. c0905697 Update readme 1efdb2dd Simplify readme dc69afad Cleanup example 445f5d39 Break long lines 23063c34 Update readme f57b6257 Move PR template to the top level git-subtree-dir: externals/fmt git-subtree-split: 9e8b86fd2d9806672cc73133d21780dd182bfd24
2021-06-23 08:39:40 +01:00
t.tm_mon = 7;
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 21:03:34 +01:00
t.tm_mday = 4;
t.tm_hour = 12;
t.tm_min = 15;
t.tm_sec = 58;
fmt::print("{:%Y-%m-%d %H:%M:%S}", t);
// Prints: 2010-08-04 12:15:58
Using the comma as a thousands separator::
Squashed 'externals/fmt/' changes from 9e8b86fd2..b6f4ceaed b6f4ceaed Update version 15f812dae Update changelog 6884aab49 Update changelog 88ec4e706 Bump version dd3d2490e Update changelog 739055ae7 Fix apidocs dbbd711f4 Suppress a warning 98cbb6a43 Fix ABI compatiblity issue 214cf13f1 Fix endianness bug in write_digit2_separated (#2699) 17a5c808d Restore FMT_API on error_handler::on_error() (#2696) fc1783fcc Avoid undefined symbols with mingw-w64 (#2692) 1b193e7b3 Deprecate more 8e59744b8 Switch to new github auth mechanism 7081a6aa3 Update version 64dc8fbad Bump version fc8e3de7d Fix manage.py script 57bee9fcd Fix formating dce52e491 Update changelog 9405a4724 Update changelog 495b8bf12 Update changelog e221166fa Update changelog 035cab8da Update changelog 89c6ed12b Clarify in comments (for now) deprecated map functions e462da828 Add some noexcept (#2684) 79c66d66b Update changelog 5d37f705f Update changelog 6bb370cec Update changelog bb6920157 Fix tuple join 4fac7daae Cleanup bit_cast 3617c2795 Update changelog 9c0c1bcdb Simplify tuple formatting 187e8db1b Update changelog c7f88180f add tests for format string compile-time checks 8a2c3fb88 add reverse tests to compile-error-test 1164eda5a disable compile-error-test on Windows 4482f6f1f rewrite compile-error-test to use non-header-only library 796662a61 Escape range items convertible to std::string_view 33ee4cc51 Improve noexception test 3bbf2c673 Fix throw with exceptions disabled 074c9c52e Update changelog 3110ec5a2 Update changelog 3014b3d77 Clarify that C strings must be null-terminated eab2ea9fc Replace an assert with an exception 21ed92a6e Update changelog 04111dd1e Fix issue #2670 (#2671) 817788fbf remove incorrect C++20 check from test/CMakeLists.txt (#2663) 4511030af Minor code style tweaks for consistency 7812813a3 Don't explicitly delete copy ctor of dynamic_format_arg_store (#2664) 664cd6067 Remove std-format-test 784e2a7b4 Fix an overflow when formatting very large durations fc2a376d8 Remove two expressions which had no effect (reported by LGTM) c5aafd8f9 expose headers as SYSTEM depending on special configuration option eaddd1e3c Fix handling of byte 2d4457758 Try fixing byte regression e46392ea2 deprecate _format UDL in code using FMT_DEPRECATED c882790a2 Add a set formatter 121002d70 Add a map formatter be51ee1ce Disable broken copy ctor of dynamic_format_arg_store 659de779e Fix a UB in parse_format_specs when begin is null 51b14b6c0 remove commented out lines 223a0fa55 move gtest-specific check into gtest/CMakeLists.txt ef72b471f enable named arguments check in compile-time checks (#2649) 82246b876 fix throw with exceptions disabled (#2647) 35f60377a Update ChangeLog.rst 3a951a66c Avoid qualifying by inline namespace. Fixes #2642. (#2643) e0136fc8b Qualify calls to make_wformat_args. Fixes #2639. (#2641) ac1b5f3da Refactor problematic trailing returns in arg_mapper fd62fba98 Don't convert scoped enums to integers c652f8243 Make header guard consistent with header name a9c7b9b8f Clarify that _format is deprecated e4f0564aa Disable is_streamable for string[_view] 91533d3c3 Minor tweaks to chrono subsecond formatting 0bbc9708f Implement c++20 std::chrono::duration subsecond formatting (#2623) 9d5b9defd Enable tzset only on Windows desktop app (#2633) 215f21a03 Detect overflow on large precision c240d98ff Optimize tm formatting (Non C-locales and %Z) (#2617) 6ab73113f Mark grow as FMT_CONSTEXPR20 (#2630) 713c7c7c6 Cleanup os.cc 9b1807a8a fix int -> uint warning (#2611) ec3b097cb [doc] FMT_STRING supports C++14 and no-op in C++11 (#2620) c472a2781 Fix handling of very large precision in fixed format 201971e29 Make MSVC use [[nodiscard]] (#2615) acad8cfab Reformat all source code; no functional changes 491ba2dda Annotate fmt::format and fmt::formatted_size as [[nodiscard]] 5abe9e826 Add platform-specific 'z' formatter be3a3a5ae Use predefined formats for C-locale a3ab36c80 Formatting of function pointers, member function pointers, member object pointers... (#2610) 19cac63fe Broken link in README.rst 43419a4ad Workaround a bug in gcc c089f7d49 Simplify std::tm formatter aa5517f6b Reuse tm_writer in chrono_formatter 50140be7a Reuse tm_writer in weekday formatter 8b8945499 Improve consistency 5380ff4d8 Detect types convertible to unformattable pointers 094b66e81 changed locale retrieval way to a fancy one b69ae4854 Reorder classes (#2591) 0b843af56 sped up chrono.h formatting for cases without providing locale (#2576) 12b1d8b14 Fix precision 0 with std::chrono::duration and added additional tests. (#2588) e67f92c55 Cleanup warnings with nvhpc/21.9. (#2582) 812733cc9 const qualify format function for systen_clock 028f22775 Handle implicit conversions in write 5b0aa638c Minor grammar fix 6eaceb5f7 Fix incompatible between docutils 1.18.0 and sphinx 3.3.0 (#2575) 0697c5edb FMT_USE_FCNTL can be predefined (#2573) 1031eedf2 Replacing strftime with std::time_put (#2550) 90034e4c4 Add FMT_ASSERT and validation of values of struct tm members (#2564) df40e9467 Upgrade `module-test` to msvc 16.11.5 and 17.0-pre5 (#2558) e6d5059cb Simplify js tag in basic-bootstrap theme (#2562) 3b6e409cd Enable `consteval` for msvc 17.0-pre5 (#2559) 249f03bbb do not detect LLVM based IBMXL compiler (on ppc) as clang (#2555) 7463c8320 Fix overflow for very bigger years (>2*10^9) (#2551) 1266c2b60 Fix handling of exotic character types 684e2fdc9 Minor cleanup a1d586302 Minor cleanup 7a604cdd9 Cleanup aeb54b0dd Fix bug on '%Y' and '%C' formats with negative years Requested changes f88c020fc Generalization of strftime/wcsftime function calls in tests 2eeddba75 Renaming, splitting of functions 275454608 Fix errors in ISO week-base-year formatter 218cecb6d Fix error in test e9f4453b0 Fix Microsoft Visual Studio 14.0 build 27c3674ce Improve performance 5dc3dd3d4 New tests f8542cd98 Unified formatters for std::chrono::time_point<std::chrono::system_clock, Duration> and std::tm 4707373d3 Fix year formatter 79c00ad8f Improve ISO week-base-year formatter fbaaa5906 Improve week of the year formatter cde44ddb7 Improve year formatter b04601b91 Switch from std::strftime/std::wcsftime to internal implementation for locale independent formats d3d30a46f New tests 7911d8d3f Add format spec checker fbbfc3b03 Reorder formatters 509eac957 Workarounds for implementation-defined std::strftime behavior 85b38190d New tests for all C++11 std::strftime format specifiers 7aca36bca Extending fmt::join to support C++20-only ranges. (#2549) f5371a75f locale.h -> format.h febdef43f fix: add workaround for intel parameter pack bug f56756986 fix: check to make sure both 'if constexpr' and return type deduction are available dcd282bb2 Namespace qualify calls to get 9c14474d3 Include `<bit>` when using `std::bit_cast` 1e96e0176 Fix compiler flag check (#2540) 7e4bc9451 Speeding up write_significand() (#2499) 26c1ca4c3 Replaced default spec with equivalent one, which is potentially more optimizable (#2537) 1e865b353 Fix docs 4a85db1ce Change default open mode to -rw-r--r-- (#2530) 0a985fd4c Move size_ initialization to initializer list (#2529) 012cc709d Workaround gcc _Pragma bug 59884 d6590e3bd Fix compiler check 134aec40f Fix search in docs 48a476ae0 Update example (#2522) 023c2018f Don't use strlen in constexpr 800d4c8ac Refactor Windows workarounds 32865aeaa changed detection of Intel Compiler Classic to distinguish MS-Windows (#2510) 7b339795a Describe a better approach of how to use {fmt} as a depency in a Bazel project (#2516) ae9bbe116 Suppress warning C4127 in chrono.h (conditional expression is constant) (#2518) 927dbd134 Misplaced comma in README.rst (#2515) 2a9a77dd8 Remove misplaced comment 1aee4bc90 Refactor FP formatting e1bd6cc91 Refactor FP formatting 027fcaf05 Replace use_grisu with fallback since Grisu is only one of multiple implemented algorithms 716d69f27 Refactor FP formatting ff7e73af6 Always run grisu_gen_digits before fallback_format 2976e31ac Refactor format_float 807ee5ec3 Disable consteval in Apple clang d9a731d48 Add basic support for Bazel (#2505) 9c57357e0 Add `static` to a table (#2509) 2742611ca Fix formatting 5092b198b Document group_digits b4d9d82e1 make FP formatting available to be used at compile-time (#2426) d9fd695ac Fix wchar_t tm formatting 92614ecbf Optimize %T in tm formatting aaeca12d8 Move FMT_MAYBE_UNUSED to format.h where it is used 3d0c7ae38 Move data to format.cc 04e3a79f7 Use memcpy in more cases in copy2 e47e99bb0 Simplify format_decimal (#2498) 9b6b0e403 Remove data 4d1c6034e Deprecate basic_data a3348eccd Deprecate most of basic_data 3a0448148 Remove data::hex_digits ad77331c0 Move log10_2_significand to format-inl.h d9ebc4e82 Add a function to get sign char c00eb4f4c Add missing inline 25af02f21 positive -> nonnegative (#2493) 67cb2dad3 Optimize %F in tm formatting 1aa98f8b9 Eliminate double copying in vformat_to_n (#2489) a58c13382 Improve code_point_length codegen on older gcc aeee70a81 Remove unnecessary cast c771ba361 Fix build for the clang-10 / libstdc++-9 couple (#2491) ab6e2272c Clarify shifts encoding e4728409e Use throw_format_error in more places to reduce bloat e3ebf366a Inline padding shifts 894faf3fe Refactor presentation types 4eb97fa4e Reduce code bloat 6b55c8325 is_const_formattable -> has_const_formatter 2fe94ad7e Make specifiers support in tuple_join an opt-in 3940de595 thousands -> group_digits c4d0f96a6 Implement format specs in fmt::thousands 3b9c44268 Implement thousands separators without locales 08f98c7fa Simplify get_arg_index_by_name a151f955a Remove FMT_OVERRIDE 42a225cbd Remove redundand final bf20d1990 Simplify the core API fc0884037 Move FMT_GCC_VISIBILITY_HIDDEN to format.h 1aeed2dbc Require inline namespaces 799bea473 Remove FMT_HAS_GXX_CXX11 60cd5ea3f Add support for more formattable types in ranges 4fd9a00f3 Simplify ostream interface 568156389 Cleanup ostream interface 20931baf1 Disable fallback_formatter for arrays d58d19ba3 Fix an odr violation in ranges.h (#2483) ee0659f8b Fix formatting of abstract classes via ostream 8029bf955 Fix copy_str performance (#2477) 2520f410c Workaround for #2478 (#2482) ee63f5f04 Workaround to MSVC bug (#2474) (#2476) 1aaf72fb6 Add an example to fmt::runtime c1313c205 Clarify that format_to[_n] do not append a terminating null cb0f177c3 Improve docs 71677e520 Improve docs 4db572352 add fuzzers for chrono timepoint and localtime,gmtime (#2469) dc7f3ef2b Fix header name 419ba86a9 Improve docs 6a5b4d5fa Document format_string 2599163b8 Document format_string 8ef22f774 Update docs c0c4d1ada Update docs 729a44e67 Depreate strtod and remove problematic tests 74c111896 Apply force inline 596508a92 Cleanup 043e3b342 Remove static_assert from arg_mapper 8b0cb944d Fix error reporting when mixing character types 117fc6707 CI: replace g++ C++20 build to test FP formatting at compile-time c79a3841e make detail::fp and detail::bigit constexpr 5888de9f3 make detail::make_checked() constexpr 04b4b69b1 make detail::bit_cast() constexpr with C++20 fd34a3d24 make detail::basic_memory_buffer constexpr with C++20 6d597e39c Fix overload ambiguity in arg_mapper b9ce56d93 Improve comments f889e52a1 Improve error reporting 34caecd6b Use consistent initialization style a44c8f651 reimplement `formatter<tuple_join_view>` (#2457) 4b8bda25c Fix 2462 6b5e6119e set clang in one place 7af1dc1d2 fix UB in fuzzer common (memcpy on nullptr) e77686f7a clang format 2207ea0b3 More escaping a212ff757 Escape invalid code points a76031e11 check -> is_printable a7f280765 Improve naming 07d033ecb Fix is_printable cdb4299ac Add Unicode support to is_printable 7df2c82a8 Rewrite printable.py codegen to emit C++ 6cf90d7ce Add script license and fix python version 2f1ad8ed3 Add printable codegen from Rust 371d8e2ee Escape Unicode 6397095ca More escaping f69a57253 Don't overescape wide strings 11b07a56b We should escape b559cfd4c Implement basic escaping 11d49491c Handle global locale 6ea6cf946 Add decimal separator support to float 9730a2af0 Update ChangeLog.rst c2ed5f686 Update ChangeLog.rst 7b66e72e2 Use builtin intrinsics on intel (#2450) d57b2a652 Suppress a warning bdfbd794e Cleanup begin/end usage 111de881f Don't copy non-const-iterable ranges d6e882ed8 Undo the move because the doc is not a GH template f488eed10 Resolve default constructor error in Xcode 7.2.1 and 8.2.1 652c3653b Move CONTRIBUTING.md to .github fb19faa31 Improves README with svg badge (#2446) 07211701f Disable the -Wstringop-overflow warning from GCC 7 (#2442) bba0a9d96 Make flush public f1794a885 Switch to threadsafe death test style 0544a2279 Exclude fallback functions when FMT_BUILTIN_CLZ(LL) is not defined (#2434) 5c222f056 Add support for nonconst formattable types 3def950b8 Set FMT_CAN_MODULE=OFF for MSVC 19.29.30035+ 63fe2d5bd Add copy constructor for dynamic_format_arg_store, and test 561834650 Improve digit count f20f50368 Replace `throw` with `FMT_THROW` (#2427) 00235d8a9 fix module test odr violations (#2414) 2038bf618 Update format_to usage e41ac1f87 Don't use deprecated API in docs 8465869d7 Move ignore_unused to detail 3d53d1539 Warning removals in test code (#2399) 20e4ef8b4 Pass significand_size by value c4a3c2342 Refactor locale handling 7a0d30175 Update README.rst f2b03facd Include test sources to pick up functions and classes from the module rather than from the non-modular library which is baked into the `test-main` library. (#2356) 02ad5e11d Add faint, blink, reverse and conceal to the emphases (#2394) d141cdbeb Update version cfc05e05f Bump version 8ea312633 Update changelog e461f3dbb Minor consitency and comment tweaks 54014e42e silence warning C4100 on MSVC 2019 when exceptions are disabled (#2397) 3e7a29cc9 Workaround clang/gcc incompatibility 00a57a9f8 Update changelog 1d7384530 Add missing presentation type checks for std::string (#2402) 889bbf27a Fix missing std::get overload in MSVC (#2407) 5f8473914 Remove outdated apidoc 785908ee3 Fix warnings fbb70eec5 suppress unused variable warnings (#2381) 002bb759f Remove unneeded `num_result_bigits` decrement a3f762c5a [doc] Minor: fix ``code``. c3c27e5ab Fix MSVC warning C4819 c6b1f181a Fix docs 94564b058 Fix docs 0fc73a2a8 Merge branch 'master' of github.com:fmtlib/fmt 3156fcf5f Switch to older breathe version f85fb9fdf Adjust definition for FMT_HAS_INCLUDE 0bc3d664e Fix docs e5c46e13e Fix docs: breathe 18 and earlier corrupts trailing return type 49a3b58c8 Specify size for static data arrays d0c8d45a2 apt update before install c9a10631c format: do not use udl_{arg,formatter} return types when UDL is not in use 3bd806f12 Eliminate intel compiler warning fd16bcb20 Fix bug in cmake join function 5221242f6 Instruct msvc to report the _true_ value in `__cplusplus` and force _full_ C++ conformance 31a5f0d39 Bump version in inline namespace 102a4d492 Bump version in inline namespace f68508b6c Update ChangeLog.rst git-subtree-dir: externals/fmt git-subtree-split: b6f4ceaed0a0a24ccf575fab6c56dd50ccf6f1a9
2022-02-15 11:15:34 +00:00
#include <fmt/format.h>
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 21:03:34 +01:00
auto s = fmt::format(std::locale("en_US.UTF-8"), "{:L}", 1234567890);
// s == "1,234,567,890"
.. ifconfig:: False
Nesting arguments and more complex examples::
>>> for align, text in zip('<^>', ['left', 'center', 'right']):
... '{0:{fill}{align}16}") << text, fill=align, align=align)
...
'left<<<<<<<<<<<<'
'^^^^^center^^^^^'
'>>>>>>>>>>>right'
>>>
>>> octets = [192, 168, 0, 1]
Format("{:02X}{:02X}{:02X}{:02X}") << *octets)
'C0A80001'
>>> int(_, 16)
3232235521
>>>
>>> width = 5
>>> for num in range(5,12):
... for base in 'dXob':
... print('{0:{width}{base}}") << num, base=base, width=width), end=' ')
... print()
...
5 5 5 101
6 6 6 110
7 7 7 111
8 8 10 1000
9 9 11 1001
10 A 12 1010
11 B 13 1011