dynarmic/include/fmt/ostream.h

210 lines
6.4 KiB
C
Raw Normal View History

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 library for C++ - std::ostream support
//
Squashed 'externals/fmt/' changes from 3e75ad982..9e554999c 9e554999c Update version b34d92b05 Bump version d39ece187 Make rst2md runnable and update changelog fe2d715ff Update changelog 27b306701 Update changelog 68837079a Update changelog c98b202eb Update changelog 587a7f663 Update changelog and docs 84e5170c9 Update changelog and deprecate visit 130e412b6 Update changelog and docs 0bbdca5b8 Fix conversion warnings (#989) 77a724480 Implement fill/align/width for strftime-like formatting 3e01376e0 Implement fill/align/width parsing in chrono formatter 1f92f8a9d Remove noexcept 8668639ae Get rid of null_terminating_iterator in format 93fd473b8 Add support for builtin terminal colors. (#974) 61ad543c3 Windows .sln filename changed from FORMAT to FMT 7f7504b3f Clean up docs 37f599b1a Fix docs 8c2e15aed Make printf work in search (#164) de71db6d4 Fix asan error (#977) b180b3915 Fix default formatting 24594c747 Disable printing the reset escape code when no style modifiers where applied. (#973) b0f222471 Implement default chrono formatting 749276072 Add file stream support for stylized text printing. (#967) f54f3d0fb Move chrono-specific code to a separate header bf1f1c73e Fix time test b6bc6ec24 Add default ctor and fix use of constexpr macros in text_style acfa95d4a Workaround a bug in MSVC's strftime (#965) 628f83058 More chrono formatting aa3b5aba4 Implement locale-specific minute formatting 639de2175 Workaround more MSVC bugs 3242ddf7b Fix warnings bd1104046 Workaround a bug in MSVC 81b5c4a5f Add experimental emphasis support (#961) 7c4eb0fbe Fix warnings in time.h 2d624218b Fix another warning b31680990 Fix a warning b10ccb83e Add rpclib to projects 0497875ff Stop the orgy of casts 37dc495b9 Simplify MSVC workaround 2ff4996d0 Fix ambiguous complier error C2666 in vs2017.The '+' opeator may cause ambiguity.Avoid implicit conversion. 77656c672 Fix sign-conversion warnings reported by Clang7 ea5e4790b Fix formatting 86681c4bb Update README.rst e867768ee Do not override user provided compile flag 0c7f5c3ca Update README.rst e7e2ab107 Make return type of basic_format_args::max_size() consistent. 29352af36 Update README.rst 68214bd90 More time formatting bcf3fcd67 Clean up bit fiddling for argument packing 9dcf127fa Workaround a bogus MSVC warning b8b06e3e1 Fix conversion warnings in Grisu 322b2594e Implement more time specifiers 0835f1ba3 Use full paths for fmt.pc.in a084495d7 Add Ceph to projects fa1d4dbcf Fix warnings 2b2cfdac1 Update docs 99744f8f8 Suppress unfixable warning f5fe84923 Specialize formatter for chrono durations a5a9805a9 First stub at the datetime format parser 645c76a9a Fix dummy warnings fecb2d6f0 Eliminate msvc compiler warnings (#931) 64690d3a9 Add context_base::arg() 01640f44c Fully qualify dummy_int (#941) e37d6a984 add make_printf_args and make_wprintf_args functions (#934) 982ee5c69 parse_context -> format_parse_context b7b854855 thousands_sep -> thousands_sep_impl (#939) 00a8cc832 Fix formatting 33fbb3a7e Fix remaining linker errors. bd6121596 Disable fmt-impl-test in windows + shared lib. 702b3d161 Fix link error in windows with shared library. 9d4ef9435 Install pdb files. 6c95fb356 Default Context to format_context 16b78ee62 fix incompatibilities with c++2a mode in clang 19e008876 More locale support f2ee98810 Improve locale support 1385050e2 More formatter tests 03c1b110a Fix gcc 4.4 build cc805c616 Test enabled formatters e01579231 Disallow leading zeros in arg-id 34030deca Cleanup warning flags 6b26e3f2d Manifest & Gradle comment d286c9775 Update for Gradle build d951f6dfe Get latest Gradle (ver. 4.10.2) a23d59247 Fix check_format_string (#925) 36161284e Update docs 38f355d87 Revert "find sphinx-build before calling build.py" 324eac1aa Make locales work with any character type bdda4d603 Simplify compile-time strings 5ee1a4bc8 check for property 'mutable iterator' and SFINAE on it 2dea780fb change type naming and fix sfinae bug b98e8301d add non-char support for compile-time format check ccd3e8bbf Make is_constructible public (#918) 437315380 Update usage.rst 73cfd8f32 Fix colored print ec384302d additional test for print with background color 0a96c032b Parameterize v*printf on string type (#920) 61e6d2e38 Fix core version of vformat_to ea4010d70 Merge has_to_string_view into is_string 486fff597 Add sprintf_format instantiations and remove syntactic noise 1e3dcbba8 fix: 'format_to_n' compiles 'std::back_inserter' arguments f0328f8e3 Use char_traits::length in string_view ctor (#914) 895fb9845 Disallow gcc 4.4 failures 20c708bf6 Fix build on gcc 4.4 9d0c9c4bb cmake: output share/fmt.pc 2d2326a76 Fix compilation with older gcc 1ec027230 Get rid of FMT_UNION 2c81c851b Adapt any string-like type to be used by {fmt} just like the standard string types already supported. The adaption is totally non-intrusive. 846c644e8 Workeround broken sprintf in MSVC 13d472bd8 Compute output size for grisu b71d3fe7a Remove use_grisu 847abb6f8 Fix test dda47c946 Merge min_digits and max_digits 292462215 Fix naming of basic_format_specs members bda5f9a55 Replace grisu2_specs with core_format_specs b1ca608ba Remove unused empty_spec e8efdef8d Avoid extra copy 98f1c1fe8 Remove unused code 50b18a3c1 Integrate Grisu 699297520 Implement Grisu rounding 4bb76ef0c Remove redundant definition of print ddd7caf38 Fix locale-dependent formatting (#905) 10e03e695 use found python executable for launching sphinx-build 07200f445 find sphinx-build before calling build.py 08a65c228 Workaround broken constexpr in MSVC2017 167f8fe32 Fix a typo in api.rst 57983423c Remove signbit workaround 7bebb3e12 Clarify overload resolution in docs 939fbe556 Remove basic_fixed_buffer. 61f81a071 minor documentation corrections f27defc63 Parameterize printf functions on the type of the format string. 6a685571d Make 'std::*::basic_string_view' a valid argument type for 'format_str' parameters. 87a0408c6 Fix ostream.h build 2b5acad4a Remove redundant size argument to write_padded 655ce5338 is_format_string -> is_string fea712abb Parameterize ostream functions on the type of the format string. f16a118e8 Fix non-matching char types. 041bf83d9 Improve fmt::format readability 229903239 Document how to write a formatter for a type hierarchy f5480635c visit -> visit_format_arg cdf3fa08d Put related code together in fmt/core.h 38325248e Count width in code points (#628) deb901b9e Parameterize core functions on the type of the format string. 0f98de301 Update docs c797708fc Workaround strlen being non-constexpr in ARM toolchain 49b4c1e9d Update docs 63a87beba Add to_string_view 4e0c31465 checked_format_args -> checked_args c3538a1ee Simplify variadic functions further 2d7d0835d Simplify variadic functions 3f4cfa6c6 Implement UTF-8 string support f8027414f Impelement char8_t support 76a47d41c Cleanup the use of FMT_CHAR 267fdc7a1 Parameterize core functions on the type of the format string. 5bced1242 Parameterize more functions on string type 674999c52 fix vs2017 warning fmt::v5::localtime 'not all control paths return a value'. e4fea22d1 Make char8_t a strongly-typed enum 66992e90d Clarify that writing to memory_buffer appends (#877) e864acfdb Fix compilation with intel compilers (ICC/ICPC) v14.0 4cf21f58b constrain templated format_to on proper format string type. d7f17613f Fix compilation on platforms with exotic double (#878) e4ca37ccf Parameterize format_to on string type (#880) d66fa2216 Reduce syntactic noise 48e6dcd0f Implement workarounds for gcc 4.4 0ea3221d3 Remove is_named_arg and add FMT_CHAR 73c53d783 Parameterize 'printf(rgb color, ...)' and 'vprint_rgb(rgb color, ...)' on the type of the format string. d41be23ac Simplify string_view detection 2def9e4c8 Remove FMT_DTOR_NOEXCEPT ff6e46ed9 More cleanup 715f2b4c0 Remove require_wchar and internalize no_formatter_error ec0cdc46f Workaround Windows slowness git-subtree-dir: externals/fmt git-subtree-split: 9e554999ce02cf86fcdfe74fe740c4fe3f5a56d5
2020-04-22 21:00:18 +01:00
// Copyright (c) 2012 - present, Victor Zverovich
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
// All rights reserved.
//
// For the license information refer to format.h.
#ifndef FMT_OSTREAM_H_
#define FMT_OSTREAM_H_
Squashed 'externals/fmt/' changes from c4ee72653..f5e54359d f5e54359d Update version a003ab93c Update changelog 9b7416081 `atomic_flag` formatting (#3594) a21690bdf Coding conventions c9efd8968 Merge branch 'MathewBensonCode-master' e78682405 Refactor Improvement on umul128 function 2b20d7be6 Refactor To remove friend function private access 1f38ebbdb Add condition to include friend function in win32 e41817969 Fix for FMT_MODULE not compiling on GCC 0bffed895 Bump actions/checkout from 3.1.0 to 3.5.3 (#3602) cc077a5e3 Fix `FMT_NO_UNIQUE_ADDRESS` warning with clang-cl. (#3600) a992b3d1f Fix for Compilation Error When Using FMT_MODULE (#3597) af1b768cc Update changelog 2a7c45b54 Update changelog bd868f3a5 Improve compatibility with GBK #3598 (#3599) bbb784fb1 Fix a gcc error about partial specialization after instantiation 6c845f57e Fix `formatted_size` with `FMT_COMPILE` and format specs (#3588) a379595c5 Bump actions/upload-artifact from 3.1.0 to 3.1.2 (#3593) 9dfde7871 Bump ossf/scorecard-action from 2.1.2 to 2.2.0 (#3592) e92a705bd Bump github/codeql-action from 2.2.4 to 2.21.4 (#3591) 5a866fe85 Add formatter for std::atomic (#3574) e150ea0cc to_string supports types with format_as 29ce2ff8a Update README.rst 2e1362add Create scorecard.yml e57ca2e36 Update version 4c56612c6 Update changelog e1acd5f4d Bump version 6ffee2f75 Handle new rst nodes ee475d640 Update changelog ecc914125 Update changelog d42486231 Fix fixed precision handling during rounding in long double 3c1b3337d Update changelog 35fb69ebe Update changelog f92be35c0 Update changelog 7a2f6ac21 Fix a comment 744ff5554 Fix docs 70ae48b00 Update changelog ebb10347c Merge branch 'master' of github.com:fmtlib/fmt 100572016 Clarify that visit_format_arg is deprecated aeb6ad4dd Added formatter for bit_reference-like types (#3570) 96d1fa22d Update changelog 8a4bec5cf fix ambiguous formatter lookup for flat_set (#3561) eacd51c24 cmake: fix FMT_PKGCONFIG_DIR path (#3563) 757564f5c add missing inline specifier (#3552) f4214ae8d Use the U literal for unsigned integer constants. (#3549) aecf80d30 Update a comment 503d49286 expose detail::throw_format_error (#3551) 4f46cb82f Remove std::copy usage. (#3550) 3dec65b7f Use replacement character in path dbabb305c Turn off error-producing NVCC workaround when using c++20 (#3544) ac0ab8eff Improve path formatter 40f35d6f0 Cleanup std formatters 31c2c5679 Cleanup formatters b2728a317 Improve path formatter 77e0b0e22 Cleanup chrono formatter e47585904 Fix overspecified tests 436c131d4 Optimize compiled format_to_n 388bc296b Fix fixed formatting of small long doubles 95e1ea573 Clarify requirement on compiled formatter fb97cb231 Suppress a bogus stringop-overflow warning dd5a9691f Clarify that data is not null-terminated 72dc4491e Fix format_string_checker initialisation order (#3542) 9bea6ec04 Don't use deprecated checked_array_iterator 661b23ede Call parse on empty specs at compile time 8e87d3a8b Fix include a47491656 Update CMakeLists.txt (#3523) de4705f84 Trying to improve errors in the unformattable case (#3478) e4c8cfe38 README: Add link to merged clang-tidy check (#3515) 606f85f8b Workaround brain-damaged conversions a331dbfb6 Fix type in assert message. (#3508) 13156e54b Revert "add ability to build Apple framework using CMAKE_FRAMEWORK" (#3496) 9158bea1e Remove old grisu tests dd17f89a1 Fix for issue #3492 (#3493) 1daae555b Optimize format string compilation 6ad301235 Optimize code unit output in compiled format 8732ad877 Update docs 5afb1821a Update docs a81135f2c Fix a link dfc34821a Update docs 0765e7284 Update docs 977d887a4 Suppress a bogus warning c86fe0b8d Give basic_memory_buffer allocator [[no_unique_address]] (#3485) 5dbe0ff95 Bump actions/checkout from 3.5.2 to 3.5.3 (#3486) de0757b57 Use FMT_TRY and FMT_CATCH in std.h (#3482) 8fe893c0a Update README.rst 0f823df46 Remove detail namespace hack 60fd9941c Use correct Char type in std::filesystem::path (#3476) 8abfc145b Fix MSVC warning in std::chrono::time_point formatter (#3475) 686b3353a Simplify typeid check b2106f363 Tweak comments 35547d600 Use const_check to silence MSVC warning 179c7e5a6 Use typeid() only if it's available 61fb3a15f Add VxWorks7 user space and kernel space support (#3467) bd393456e Remove FMT_*_DETAIL_NAMESPACE 6be36af0d Remove udl_formatter 2a35eeed8 Remove unused data 256a826d6 Consolidate formatters 6369af37d Simplify formatters 0b8404918 Remove get_cached_power 171a020c8 Pass correct Char to base format_as formatter (#3457) d8f04e399 Simplify ceil 5e988f8df Remove is_constant_evaluated() check 19b17618a Make constexpr ceil c684a06d5 New CI: macOS 13, Xcode 14.3, C++ 20 abdb7fdf8 Update api.rst 8b09fe2a0 Fix example for user-defined types in documentation for 10.0.0 (#3461) adad18a74 Update ChangeLog.rst 858e528ab Use dragon in constexpr a54cb108d CMake: Do not fail on unknown compiler features (#3453) ef55d4f52 Suppress a bogus gcc warning 70b6a6fa4 Update README.rst (#3454) 6fe895410 Remove invalid_arg_index d0652d225 Create dependabot.yml (#3452) de8d0171a Simplify FMT_FORMAT_AS 7401fe046 Hash pin Github Workflows (#3451) 08ef0d084 fix formatter<char*> (#3432) d60b907f8 Replace mod_inv_25 by explicit value (#3450) 4ce086f73 remove code duplication (#3448) 821f8cdb4 Detemplatize printf more 0bf6ed7e1 Cleanup printf e40e04fac Detemplatize printf_arg_formatter 0a1c27281 Detemplatize basic_printf_context 2f605cc89 Deprecate wide printf 1d54499ac Apply coding conventions 3c6053c53 Cleanup basic_printf_context 4a392adaa Remove basic_printf_parse_context b14913fae FMT_MODULE_EXPORT -> FMT_EXPORT 2117df299 format-inl.h: address implicit int to bool conversion (#3446) 616a49378 Revert Char* formatter removal 9a034b0d5 Always assert in FMT_THROW (#3439) e0fc0e85e Remove unneeded FMT_API 552c43aba Improve long formatters d6846f4ac Clarify why byte formatter is in core aeedac588 Remove unneeded specialization eaa630769 Make hex float test more stable (#3434) e82bf41a1 Update README.rst e077396f5 Update docs 861facad0 Fix a typo 75bfe5761 Improve docs 697e76ba3 Don't call init_named_args unnecessarily a425e0ff3 Cleanup xchar API c36dd825b Remove unnecessary forwarding 130b8fcdb Reduce template instantiations a47e8419b Cleanup the core API ea49c91cd Cleanup argument construction d7592ad8b Fix time_point formatting for durations with certain ratios (#3430) ebfb2e677 Remove unused alias 5780269d5 Improve API safety b47119216 Fix a comment 8f18e72df Improve API safety 93d7cb12f Fix formatting 0e4278717 Remove unused macro 93a30a074 unicode_to_utf8 -> to_utf8 since both sides of conversion are Unicode a08196b14 Update ChangeLog.rst 0398ba42c Update ChangeLog.rst a0b8a92e3 Update version 5cf2342aa Bump version fe9d39d7c Update changelog 4c9856197 Update changelog 403b271ed Update changelog 2c991e1af Update changelog c984df981 Remove an unused function from internal class fbf21ed22 Update changelog 575583144 Update changelog e7f6888c7 Update changelog 39db2dfd0 Update changelog 9b7829e26 Update changelog 1e0ce567e Fix formatting of paths containing invalid Unicode dde8cf3bb Unification utf16/utf32 to utf8 conversion e84b00e01 Workaround to error: variable 'n' set but not used [-Werror,-Wunused-but-set-variable] b12ffea4f Add filesystem_error test back f61f15cc5 Suppress a false positive in gcc 192df93d7 modules missing pieces (#3399) d8973bf16 Add FMT_STRING for format_to() call (#3413) d7a8e50cb Improve module testing (#3397) 02cae7e48 Improve handling of Unicode in paths 53162142b Remove .bazelrc mention from Bazel related readme (#3411) 5bcf0d7f9 Bazel support (#3406) f8c9fabd9 Fix spelling (#3404) 62ff4e1db Remove foonathan from maintainer list (#3402) f449ca052 Name `vfprintf` clashes with the identically named declaration in 'stdio.h' if that happens to be #included into the same TU. Fix this by using qualified name lookup instead of unqualified lookup that also enables ADL. (#3400) eafcd3c8e Optionally attach declarations to the `global module` rather than `module fmt` (#3387) 18154cc90 Simplify print 0de789cf2 Update changelog c03938922 export names only once (#3392) 93e81bb5d Fix C4365 (signed/unsigned mismatch) warning on 32-bit Windows (#3398) e7d6eb679 Update tests to use recommended MOCK_METHOD (#3395) 18e7a2532 Remove obsolete msvc workarounds (#3388) 0489c19dc fix and improve module (#3386) 8ec94ac6a Use full path to pcm d97d8cea6 Push module check to test d8a2698e6 Fix compilation as a C++20 module with gcc 13 d9c19940a Update add_module_library 4b5ae0b0e Remove unnecessary module support check 75f3b1c09 Use add_module_library faf83406a Workaround cmake issue 165814d57 Add module support to CMake 33f715077 Fix error C2668 on msvc (#3378) c98e5a08a Fix modular build on clang 119c6bd16 Move the modules check 77eeb7183 Remove unused headers 13bf99f9d Enable modules in clang 16 1d0257e4c FMT_MODULE_EXPORT_* -> FMT_EXPORT_* 4613d48fd FMT_EXPORT -> FMT_LIB_EXPORT 4a4a2a2bd Fix diagnostics fce74caa1 Disable problematic implicit conversions 02bf4d1c1 Disable to_string_view ADL 466e0650e Remove problematic workaround 029caa8ea Update changelog e406ddbfa Remove broken part of the config 909567953 Update changelog 7f46cb75b ranges: Fix extra semi (#3374) 4e3f38105 Update changelog d3c10f516 fix compilation for MSDOS (#3369) ab956f600 Update changelog 97aedeab4 Workaround a double-double hexfloat format (#3366) bce8d4ed0 Remove stray comment a91c7b286 Cleanup the core API 19c074e47 Remove deprecated fallback formatter 41cfc739f Generalize format_as f6276a2c2 Force use a signed char (On ARM char is unsigned by default) (#3362) 6002ddf82 Remove a deprecated option 6549ffde8 Improve format_as safety d9bc5f132 Fix code causing spurious Wstringop-overflow warning 9c5cd998d Remove unused functions 93bfa0538 %T is %H:%M:%S (#3349) d8e1c4265 fix case of variant which is valueless by exception (#3347) e1720c0e5 Fix CUDA nvcc warning fmt/include/fmt/core.h(295): warning #1675-D: unrecognized GCC pragma (#3352) 7f882918e `write_floating_seconds`: Fall back to `::round` (#3343) cbc7b8d5c Cleanup dead variable (#3338) 050293646 Path is not escaped twice in the debug mode (#3321) 3daf33837 Enable consteval for Xcode 14.0.1 and later (#3331) e0748e61d Fix recursion check in range formatting b94e1016f chore: set permission to cifuzz.yml (#3328) 98699719f Make # handling consistent with std::format 48dfbcaa9 Improve license and PR template wording c644c753d Add '🐙 userver framework' to the projects 73b7cee7f Fix for issue #3325 (#3326) 5b8302079 Add optional support (#3303) 3a69529e8 Fix various typos (#3312) 76f520835 Call element parse in tuple parse 507c3042d class -> typename 1741e90de Always call parse in range formatter d646fd0da Minor cleanup b5c2f74f4 change sopen_s to wsopen_s (fmtlib#3234) (#3293) e03753c4a Add ubuntu mirrors (#3302) 6e6eb6377 [msvc] fix warning about non-inline variable 3c5464ba1 Fix OpenBSD build error (#3295) 655046d24 Fix container adaptor formatting 581c6292c Add formatters for container adapters (#3279) 7718eeeac Implement glibc ext for sec, min, and hour (#3271) 44e0eea94 Use FMT_HAS_INCLUDE and apply clang-format 99070899b Fix errors setting of FMT_USE_FLOAT128 (#3259) 05e3a9233 Allowing formatting non-copyable ranges. (#3290) 70db193f0 Visual Studio 2022: fmt/format-inl.h(1145,60): warning C4310: cast truncates constant value #3287 (#3288) a2c05a10e Workaround a bug in MSVC <= 19.22 cae9bf45b Simplify apidoc comments 87c066a35 Implement `println` (#3267) 9409b2e4d Workaround for incompatibility between libstdc++ consteval-based std::is_constant_evaluated() implementation and clang-14 (#3281) f89cd276f Refactor countl_zero fallback (#3276) 240b728d8 Report an error on overflow dfbb952b2 Fix empty spec for time point (#3275) 39971eb33 Fix localized format for float-point numbers (#3272) 0f42c17d8 Implement a new formatting algorithm for small given precision (#3269) bfc0924ea Bugfix for fmt::printf on Power9 architecture with the XL compiler (#3256) 676c2a107 Fix negative subsec for time_point (#3261) 2c80cedc3 Fix standard default installation target presence (#3264) dda53082b Support fill, align & width for time point (#3260) 2622cd23e Simplify arg_mapper 9e4a54fa6 Disable remaining implicit conversions 9ce648067 Disble deprecated implicit enum conversions 9121f9b1d Enable format_as for classes b7535365b Enable format_as for non-integral types 09ed1ddb9 Cleanup tests 0ec65d99a Merge parse_presentation_type into parse_format_specs 71e4e0272 Cleanup vprintf aad546baa Simplify presentation type parsing 14a69fcc5 Use parse_align bf34ffd33 Refactor format string parsing 6056e0712 Simplify symbols aa99b8640 Minor cleanup 6ade2eb4e Inline all_int_set caa697494 Simplify parse functions a73a9b6a8 Refactor format string checks 72785a3ab Cleanup write 0c3dd5ddd Remove redundant check 739b600f4 Remove iterator shenanigans 3710c4d38 Link to dragonbox a05ba44df Simplify format string parsing ffb9b1d13 Improve handling of signed types 32190859e Fix handling of char 8fe4d97d5 Reduce template instantiations 7e5a95956 Fix build with MSVC C++20 modules (#3254) 9e6030486 Clarify that unused args are allowed 7ad48c1f6 Cleanup core.h a921a596e Cleanup core.h 3e762fdf5 Use ignore_unused 79981a252 Cleanup ranges formatting bd12aaa98 Simplify format string parsing b8f36207c Simplify format string parsing d907786f0 Move anchor to where it belongs f2355bbe5 Fix docs f398c9476 Fix docs 4841784e8 Simplify C99 strftime detection conditions cb72c23e9 Improve timezone tests 583f2d820 Set timezone for chrono tests 32c439070 Minor cleanup 3a5e19fbf Minor cleanup dfb857ebe Refactor format spec parsing 9ea9b6bcb Cleanup arg id parsing 2b0ff62a7 Remove unused template arg from format_string_checker d1745084e Simplify parse context 407e7b7b6 basic_format_specs -> format_specs 3cf979475 Cleanup format string parsing 934c8e5f7 Refactor precision parsing fc9693834 Remove empty semicolon f0ab112c3 Cleanup parsing 9660e5b95 Remove redundant tests a585571e9 Ignore 0 character with align 840ec8569 Cleanup width handlers 1dadeb8a3 Refactor width parsing 275b4b341 Remove obsolete parse-benchmark e004f1d69 Fix for issue #3241 bde1a6070 Simplify fill and alignment parsing 040dc2a5d small typo in syntax.rst 6a186bcd6 Localize FMT_USE_LOCAL_TIME 8c56919bd Check chrono spec starts with % 115001a3b Formatting of system clocks ought to be to UTC, not to local time. This improves standards conformance of fmt. b90895412 Fix formatting of named arguments with locale d072f1dc6 Fix for issue #3228 3999fd193 Workaround an ADL issue c06e0b4ed Extract timezone offset from timezone conversion functions 1bf302a4e Implement %Ez, %Oz for chrono formatter f1733afd4 Pin godbolt example to specific version f61dcccc6 Update README.rst f9bcbdcbc Update README.rst 1a854b4aa Clarify what mod_inv_5 is 62ceb181b fix #3105 - Compile-time error when mixing named argument with automatic indexing b0c8263cb include/fmt/core.h: copy constructors removal d24be2e95 Add countl_zero function 8d50d814d Fix a chrono formatting issue found by fuzzing 115ca96e0 Bump tested CMake version to 3.25 886491625 Remove workaround for GTest bug 74c51ff37 Skip only strptime dependent test in scan-test 69ffedfe5 Use `target_compile_features` to specify C++ standard requirement fae6f7e08 Optimize range formatter a69e43c9d Update benchmark results 91c024ed3 Rename leading_v -> leading_xdigit 649aa102d CI linux: add CIFuzz Github action 31364732d Replace snprintf-based hex float formatter with internal implementation 74d55a493 Add missing operators 8276f1a20 Fix warning: the implicit by-copy capture of "this" is deprecated (EDG frontend) 81ebe70b9 Fix warning: a class type that is not trivially copyable passed through ellipsis (EDG frontend) 3160847eb Enable C++17 tests on macOS 6a95f8c7e Add missing env CTEST_OUTPUT_ON_FAILURE c7980542d Skip the scan-test if strptime isn't defined (#3184) 7df30f91a Format unique_ptr with custom deleter (#3177) d2e89c8b0 Document more chrono specs bd1959320 Document more chrono specs fd0d0ec8d Document more chrono specs 8e93434ed Update README.rst fc07217d8 Make utf-8 detection compatible with gbk cb7373b46 Replace format with FMT_STRING. (#3162) 795ed8abf Add precision modifier for seconds in chrono format (#3148) 66d71a1b3 Fixing formatting of range of range of char. (#3158) 80f8d3442 fmt::ostream - aggregate buffer instead of inheriting it (#3139) 64965bdc9 Add locale getter in tm_writer (#3147) e1ffa7655 Fix warning: conditional expression is constant. (#3150) 8c19bf3f2 Mention MariaDB amongst the projects that use fmt (#3145) f67dbc981 Remove duplicate implementation (#3144) cd7202e03 Fix overflow error (#3143) 51d3685ef Remove duplicate template parameter. (#3142) 9254cfa6f Support formatting of subseconds (#3115) cfb34a060 Avoid using `uint` as a type name (#3137) 5ad7b7138 Fix options for C++20 experimental module in CMake (#3134) d2c47c0df Fix broken condition (#3129) 491c32cbd Workaround gcc bug 103879 662adf4f3 Move formatter<std::error_code> from fmt/os.h to fmt/std.h (#3125) ad91cab37 Normalization of stdlib inline namespace names (#3119) 0ccaed3a6 Set CMAKE_RUNTIME_OUTPUT_DIRECTORY relative to CMAKE_CURRENT_BINARY_DIR instead of CMAKE_BINARY_DIR (#3120) ad719619c Support formatting of std time_point with utc_clock (#3110) 6e0a5f7fb Update CI to Ubuntu 20.04 and to newer versions of actions 48f525d02 Add basic_format_string::get() 0b5cb18b7 Use buffering in to_string to avoid bloat 4c4f99a58 Update a godbolt link 3272a7a3c Update an example a48e3355a Improve docs afcf42429 Update docs ac85afaab Simplify format_error 3178bb9a2 Update docs cf58f64c5 Update docs e4e0ae391 Use fmt/core.h in examples d65acc4e6 Improve docs c9f790b06 Update docs 6b8144a5a Update locale docs 2d66ad5d3 Suppress -Wshadow 042af5332 Suppress -Wfloat-equal 192859c2b Optimize writing to buffers via back_insert_iterator e2f6d7665 fix gcc <= 7.1 compile errors 61844b6b6 Fix build error on GCC-9 7a752e75f New CI: GCC-9 94ceb38a0 Improve locale API 58c4c012f Disable slow windows build and simplify write_loc c3494ae36 Refactor float localization 8ae56161c Fix compilation with FMT_ENFORCE_COMPILE_STRING and FMT_WERROR (#3091) 76705fc2e Update doc 21c2137e7 Add class name output to formatter for std::exception (#3076) ecffca672 Don't parse '}' as fill 3176e0fad Add locale overload for formatted_size (#3084) (#3087) 1feb430fa Fix intellisense on Windows (#3082) b98ffb7db Improve locale handling bac53951b Add starts_with to basic_string_view. (#3080) d59b89e9c More locale 58a5563a9 Implement grouping 1b94271ff Add support for UTF-8 digit separators 768d79a83 Implement format_facet 91ecb38a3 Localize negative integers aec3bb5d0 Workaround C complex.h idiocy 29c600013 Simplify is_variant_like_ check, fix compile error before GCC 11 (#3072) fec5515c5 num_format_facet -> format_facet f187274d3 Add loc_value fc5e59fe4 Don't use stringstream d6a870460 Improve locale support 56c72a671 Reduce locale dependency 4191477b9 Add formatter for std::exception (#3062) 75383a87f Inline trivial functions 48327a82e Make format.h compile faster b79ed4105 Remove unnecessary type_identity 64e29893c Improve locale support 0b0f7cfbf hip workaround 40e414d82 Fix compilation error with gcc-7.2.0 33b4c33c5 Requires FMT_CONSTEXPR20 support a07411c2b Disable compile-time checks for dynamic width/precision test for LCC and compiler without std::is_constant_evaluated() 797d82b21 Disable non-type template args for LCC a553521d6 Disable "GCC optimize" pragma for LCC a33701196 Update version 1f575fd5c Bump version c7635288f Fix docs, take 2 c8ed78e31 Fix docs e07cfb206 Update changelog 1dc7af569 Fix markup f7d21c3a1 Update changelog a55bcb24b Update changelog 30cb2b312 Remove appveyor config cf8d3c322 Update changelog 3c3cb6f6b Update changelog 91481f255 Detemplatize code_point_length_impl f98048b62 Fix bugs in utf8 decoder (#3056) 4a8e2949b Fix formatting of ranges of code unit types 3a3b0709e Disable bogus -Wstringop-overflow on GCC 11 (#3054) e724bbea1 Fix wchar_t corner cases 665d9779e Disable non-type template args for nvhpc (#3053) 13d07c6a3 Apply doc fixes retroactively 391f922ac Improve error reporting in format string compilation dc59d3df3 Fix a warning in gtest 489dabbd3 Fix decoder on broken utf8 sequences. (#3044) 541cd2183 Fix locale name (thanks Mikhail Paulyshka) 1f95c3438 Fix sign handling with large code units 779449fd9 Belarusify test fbb568bce nvhpc/22.3: workaround for c++17 mode. (#3043) 36c23bd5f Prepare for deprecating FindPythonInterp module. (#3040) 9ff0f3a7d Fix docs fd41110d3 Add MinGW to CI fc23cfbf4 Fix testsuite on MinGW + MSVCRT fd93b633b Constexpr formatted_size (#3026) 7fb8d33f9 Fix compile-time width/precision type check 8bd02e93b Reduce conditional compilation d9c1c7353 Use is_utf8() in print(std::ostream&, ...) 682e097be Remove -Wl,--as-needed linker option b9087ee58 Suppress unused typedef warning df56fdf88 Clarify docs for compile-time checks 90c48b852 Remove double code execution 5a8b7cd74 Add comment 36a25d75b Reuse detail::string_literal in the chrono formatter 6c9304b2c Replace ParseContext with basic_format_parse_context 24ab9dd19 Remove duplicate method a95dc1701 Remove unused condition 5f774c0ae I shouldn't be there 6567df7f2 Update README.rst 6c6b1fbf6 Workaround a bug in MSVC 9beddd08f Improve CI on Windows 6452e3c9e Fix a typo in example 756822ba3 Fix Unicode handling for ostream under Windows with libc++. (#3001) 0b2862a1e Range formatter (#2983) 258000064 Add fmt:: namespace to doc (#3009) e9ca7ea47 Suppress a bogus warning 81f1cc74a Improve Unicode handling when writing to an ostream on Windows (#2994) bbcb129e0 Reduce filesize of the tests on MinGW (#2995) 48e0a5922 Implement compile-time checks for dynamic width/precision type bc5c7c50f Fixes IBM XLC behavior with uint128 fallback (#2985) 00adc7120 Add a regression test for here be dragons c48be439f Add additional search paths for doxygen on Windows 371f9c71c Fix even in format_dragon 91abfcd6c Suppress an msvc warning deeab54b4 Remove unused include 688a627d6 Remove unused constants. 9bb1605f1 Remove some branches 8061d9afb Simplify Dragonbox implementation d82e1a108 Make sure the correct fmod overload is called defa04e73 Fix for EDG frontend (Intel, NVHPC compilers) (#2982) 92d36e82c The n specifier for ranges (#2981) 0db43cf7f Pointless comparison warnings (#2971) 05be7a076 Use FMT_USE_FLOAT128 instead of __SIZEOF_FLOAT128__ 2a1b3ac62 Fix large shift in uint128_fallback e1d3d3a32 Exclude recursive ranges from the formatter specialization for ranges (#2974) b761f1279 Improve forward using the idea from Jonathan Müller cc1926942 Inline std::forward d5e9166f5 Fixed typo in changelog example. b31d1a75a Add xchar support for fmt::streamed(). git-subtree-dir: externals/fmt git-subtree-split: f5e54359df4c26b6230fc61d38aa294581393084
2023-10-08 08:55:04 +01:00
#include <fstream> // std::filebuf
#if defined(_WIN32) && defined(__GLIBCXX__)
# include <ext/stdio_filebuf.h>
# include <ext/stdio_sync_filebuf.h>
#elif defined(_WIN32) && defined(_LIBCPP_VERSION)
# include <__std_stream>
#endif
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
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 "format.h"
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
FMT_BEGIN_NAMESPACE
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
namespace detail {
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
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
// Generate a unique explicit instantion in every translation unit using a tag
// type in an anonymous namespace.
namespace {
Squashed 'externals/fmt/' changes from c4ee72653..f5e54359d f5e54359d Update version a003ab93c Update changelog 9b7416081 `atomic_flag` formatting (#3594) a21690bdf Coding conventions c9efd8968 Merge branch 'MathewBensonCode-master' e78682405 Refactor Improvement on umul128 function 2b20d7be6 Refactor To remove friend function private access 1f38ebbdb Add condition to include friend function in win32 e41817969 Fix for FMT_MODULE not compiling on GCC 0bffed895 Bump actions/checkout from 3.1.0 to 3.5.3 (#3602) cc077a5e3 Fix `FMT_NO_UNIQUE_ADDRESS` warning with clang-cl. (#3600) a992b3d1f Fix for Compilation Error When Using FMT_MODULE (#3597) af1b768cc Update changelog 2a7c45b54 Update changelog bd868f3a5 Improve compatibility with GBK #3598 (#3599) bbb784fb1 Fix a gcc error about partial specialization after instantiation 6c845f57e Fix `formatted_size` with `FMT_COMPILE` and format specs (#3588) a379595c5 Bump actions/upload-artifact from 3.1.0 to 3.1.2 (#3593) 9dfde7871 Bump ossf/scorecard-action from 2.1.2 to 2.2.0 (#3592) e92a705bd Bump github/codeql-action from 2.2.4 to 2.21.4 (#3591) 5a866fe85 Add formatter for std::atomic (#3574) e150ea0cc to_string supports types with format_as 29ce2ff8a Update README.rst 2e1362add Create scorecard.yml e57ca2e36 Update version 4c56612c6 Update changelog e1acd5f4d Bump version 6ffee2f75 Handle new rst nodes ee475d640 Update changelog ecc914125 Update changelog d42486231 Fix fixed precision handling during rounding in long double 3c1b3337d Update changelog 35fb69ebe Update changelog f92be35c0 Update changelog 7a2f6ac21 Fix a comment 744ff5554 Fix docs 70ae48b00 Update changelog ebb10347c Merge branch 'master' of github.com:fmtlib/fmt 100572016 Clarify that visit_format_arg is deprecated aeb6ad4dd Added formatter for bit_reference-like types (#3570) 96d1fa22d Update changelog 8a4bec5cf fix ambiguous formatter lookup for flat_set (#3561) eacd51c24 cmake: fix FMT_PKGCONFIG_DIR path (#3563) 757564f5c add missing inline specifier (#3552) f4214ae8d Use the U literal for unsigned integer constants. (#3549) aecf80d30 Update a comment 503d49286 expose detail::throw_format_error (#3551) 4f46cb82f Remove std::copy usage. (#3550) 3dec65b7f Use replacement character in path dbabb305c Turn off error-producing NVCC workaround when using c++20 (#3544) ac0ab8eff Improve path formatter 40f35d6f0 Cleanup std formatters 31c2c5679 Cleanup formatters b2728a317 Improve path formatter 77e0b0e22 Cleanup chrono formatter e47585904 Fix overspecified tests 436c131d4 Optimize compiled format_to_n 388bc296b Fix fixed formatting of small long doubles 95e1ea573 Clarify requirement on compiled formatter fb97cb231 Suppress a bogus stringop-overflow warning dd5a9691f Clarify that data is not null-terminated 72dc4491e Fix format_string_checker initialisation order (#3542) 9bea6ec04 Don't use deprecated checked_array_iterator 661b23ede Call parse on empty specs at compile time 8e87d3a8b Fix include a47491656 Update CMakeLists.txt (#3523) de4705f84 Trying to improve errors in the unformattable case (#3478) e4c8cfe38 README: Add link to merged clang-tidy check (#3515) 606f85f8b Workaround brain-damaged conversions a331dbfb6 Fix type in assert message. (#3508) 13156e54b Revert "add ability to build Apple framework using CMAKE_FRAMEWORK" (#3496) 9158bea1e Remove old grisu tests dd17f89a1 Fix for issue #3492 (#3493) 1daae555b Optimize format string compilation 6ad301235 Optimize code unit output in compiled format 8732ad877 Update docs 5afb1821a Update docs a81135f2c Fix a link dfc34821a Update docs 0765e7284 Update docs 977d887a4 Suppress a bogus warning c86fe0b8d Give basic_memory_buffer allocator [[no_unique_address]] (#3485) 5dbe0ff95 Bump actions/checkout from 3.5.2 to 3.5.3 (#3486) de0757b57 Use FMT_TRY and FMT_CATCH in std.h (#3482) 8fe893c0a Update README.rst 0f823df46 Remove detail namespace hack 60fd9941c Use correct Char type in std::filesystem::path (#3476) 8abfc145b Fix MSVC warning in std::chrono::time_point formatter (#3475) 686b3353a Simplify typeid check b2106f363 Tweak comments 35547d600 Use const_check to silence MSVC warning 179c7e5a6 Use typeid() only if it's available 61fb3a15f Add VxWorks7 user space and kernel space support (#3467) bd393456e Remove FMT_*_DETAIL_NAMESPACE 6be36af0d Remove udl_formatter 2a35eeed8 Remove unused data 256a826d6 Consolidate formatters 6369af37d Simplify formatters 0b8404918 Remove get_cached_power 171a020c8 Pass correct Char to base format_as formatter (#3457) d8f04e399 Simplify ceil 5e988f8df Remove is_constant_evaluated() check 19b17618a Make constexpr ceil c684a06d5 New CI: macOS 13, Xcode 14.3, C++ 20 abdb7fdf8 Update api.rst 8b09fe2a0 Fix example for user-defined types in documentation for 10.0.0 (#3461) adad18a74 Update ChangeLog.rst 858e528ab Use dragon in constexpr a54cb108d CMake: Do not fail on unknown compiler features (#3453) ef55d4f52 Suppress a bogus gcc warning 70b6a6fa4 Update README.rst (#3454) 6fe895410 Remove invalid_arg_index d0652d225 Create dependabot.yml (#3452) de8d0171a Simplify FMT_FORMAT_AS 7401fe046 Hash pin Github Workflows (#3451) 08ef0d084 fix formatter<char*> (#3432) d60b907f8 Replace mod_inv_25 by explicit value (#3450) 4ce086f73 remove code duplication (#3448) 821f8cdb4 Detemplatize printf more 0bf6ed7e1 Cleanup printf e40e04fac Detemplatize printf_arg_formatter 0a1c27281 Detemplatize basic_printf_context 2f605cc89 Deprecate wide printf 1d54499ac Apply coding conventions 3c6053c53 Cleanup basic_printf_context 4a392adaa Remove basic_printf_parse_context b14913fae FMT_MODULE_EXPORT -> FMT_EXPORT 2117df299 format-inl.h: address implicit int to bool conversion (#3446) 616a49378 Revert Char* formatter removal 9a034b0d5 Always assert in FMT_THROW (#3439) e0fc0e85e Remove unneeded FMT_API 552c43aba Improve long formatters d6846f4ac Clarify why byte formatter is in core aeedac588 Remove unneeded specialization eaa630769 Make hex float test more stable (#3434) e82bf41a1 Update README.rst e077396f5 Update docs 861facad0 Fix a typo 75bfe5761 Improve docs 697e76ba3 Don't call init_named_args unnecessarily a425e0ff3 Cleanup xchar API c36dd825b Remove unnecessary forwarding 130b8fcdb Reduce template instantiations a47e8419b Cleanup the core API ea49c91cd Cleanup argument construction d7592ad8b Fix time_point formatting for durations with certain ratios (#3430) ebfb2e677 Remove unused alias 5780269d5 Improve API safety b47119216 Fix a comment 8f18e72df Improve API safety 93d7cb12f Fix formatting 0e4278717 Remove unused macro 93a30a074 unicode_to_utf8 -> to_utf8 since both sides of conversion are Unicode a08196b14 Update ChangeLog.rst 0398ba42c Update ChangeLog.rst a0b8a92e3 Update version 5cf2342aa Bump version fe9d39d7c Update changelog 4c9856197 Update changelog 403b271ed Update changelog 2c991e1af Update changelog c984df981 Remove an unused function from internal class fbf21ed22 Update changelog 575583144 Update changelog e7f6888c7 Update changelog 39db2dfd0 Update changelog 9b7829e26 Update changelog 1e0ce567e Fix formatting of paths containing invalid Unicode dde8cf3bb Unification utf16/utf32 to utf8 conversion e84b00e01 Workaround to error: variable 'n' set but not used [-Werror,-Wunused-but-set-variable] b12ffea4f Add filesystem_error test back f61f15cc5 Suppress a false positive in gcc 192df93d7 modules missing pieces (#3399) d8973bf16 Add FMT_STRING for format_to() call (#3413) d7a8e50cb Improve module testing (#3397) 02cae7e48 Improve handling of Unicode in paths 53162142b Remove .bazelrc mention from Bazel related readme (#3411) 5bcf0d7f9 Bazel support (#3406) f8c9fabd9 Fix spelling (#3404) 62ff4e1db Remove foonathan from maintainer list (#3402) f449ca052 Name `vfprintf` clashes with the identically named declaration in 'stdio.h' if that happens to be #included into the same TU. Fix this by using qualified name lookup instead of unqualified lookup that also enables ADL. (#3400) eafcd3c8e Optionally attach declarations to the `global module` rather than `module fmt` (#3387) 18154cc90 Simplify print 0de789cf2 Update changelog c03938922 export names only once (#3392) 93e81bb5d Fix C4365 (signed/unsigned mismatch) warning on 32-bit Windows (#3398) e7d6eb679 Update tests to use recommended MOCK_METHOD (#3395) 18e7a2532 Remove obsolete msvc workarounds (#3388) 0489c19dc fix and improve module (#3386) 8ec94ac6a Use full path to pcm d97d8cea6 Push module check to test d8a2698e6 Fix compilation as a C++20 module with gcc 13 d9c19940a Update add_module_library 4b5ae0b0e Remove unnecessary module support check 75f3b1c09 Use add_module_library faf83406a Workaround cmake issue 165814d57 Add module support to CMake 33f715077 Fix error C2668 on msvc (#3378) c98e5a08a Fix modular build on clang 119c6bd16 Move the modules check 77eeb7183 Remove unused headers 13bf99f9d Enable modules in clang 16 1d0257e4c FMT_MODULE_EXPORT_* -> FMT_EXPORT_* 4613d48fd FMT_EXPORT -> FMT_LIB_EXPORT 4a4a2a2bd Fix diagnostics fce74caa1 Disable problematic implicit conversions 02bf4d1c1 Disable to_string_view ADL 466e0650e Remove problematic workaround 029caa8ea Update changelog e406ddbfa Remove broken part of the config 909567953 Update changelog 7f46cb75b ranges: Fix extra semi (#3374) 4e3f38105 Update changelog d3c10f516 fix compilation for MSDOS (#3369) ab956f600 Update changelog 97aedeab4 Workaround a double-double hexfloat format (#3366) bce8d4ed0 Remove stray comment a91c7b286 Cleanup the core API 19c074e47 Remove deprecated fallback formatter 41cfc739f Generalize format_as f6276a2c2 Force use a signed char (On ARM char is unsigned by default) (#3362) 6002ddf82 Remove a deprecated option 6549ffde8 Improve format_as safety d9bc5f132 Fix code causing spurious Wstringop-overflow warning 9c5cd998d Remove unused functions 93bfa0538 %T is %H:%M:%S (#3349) d8e1c4265 fix case of variant which is valueless by exception (#3347) e1720c0e5 Fix CUDA nvcc warning fmt/include/fmt/core.h(295): warning #1675-D: unrecognized GCC pragma (#3352) 7f882918e `write_floating_seconds`: Fall back to `::round` (#3343) cbc7b8d5c Cleanup dead variable (#3338) 050293646 Path is not escaped twice in the debug mode (#3321) 3daf33837 Enable consteval for Xcode 14.0.1 and later (#3331) e0748e61d Fix recursion check in range formatting b94e1016f chore: set permission to cifuzz.yml (#3328) 98699719f Make # handling consistent with std::format 48dfbcaa9 Improve license and PR template wording c644c753d Add '🐙 userver framework' to the projects 73b7cee7f Fix for issue #3325 (#3326) 5b8302079 Add optional support (#3303) 3a69529e8 Fix various typos (#3312) 76f520835 Call element parse in tuple parse 507c3042d class -> typename 1741e90de Always call parse in range formatter d646fd0da Minor cleanup b5c2f74f4 change sopen_s to wsopen_s (fmtlib#3234) (#3293) e03753c4a Add ubuntu mirrors (#3302) 6e6eb6377 [msvc] fix warning about non-inline variable 3c5464ba1 Fix OpenBSD build error (#3295) 655046d24 Fix container adaptor formatting 581c6292c Add formatters for container adapters (#3279) 7718eeeac Implement glibc ext for sec, min, and hour (#3271) 44e0eea94 Use FMT_HAS_INCLUDE and apply clang-format 99070899b Fix errors setting of FMT_USE_FLOAT128 (#3259) 05e3a9233 Allowing formatting non-copyable ranges. (#3290) 70db193f0 Visual Studio 2022: fmt/format-inl.h(1145,60): warning C4310: cast truncates constant value #3287 (#3288) a2c05a10e Workaround a bug in MSVC <= 19.22 cae9bf45b Simplify apidoc comments 87c066a35 Implement `println` (#3267) 9409b2e4d Workaround for incompatibility between libstdc++ consteval-based std::is_constant_evaluated() implementation and clang-14 (#3281) f89cd276f Refactor countl_zero fallback (#3276) 240b728d8 Report an error on overflow dfbb952b2 Fix empty spec for time point (#3275) 39971eb33 Fix localized format for float-point numbers (#3272) 0f42c17d8 Implement a new formatting algorithm for small given precision (#3269) bfc0924ea Bugfix for fmt::printf on Power9 architecture with the XL compiler (#3256) 676c2a107 Fix negative subsec for time_point (#3261) 2c80cedc3 Fix standard default installation target presence (#3264) dda53082b Support fill, align & width for time point (#3260) 2622cd23e Simplify arg_mapper 9e4a54fa6 Disable remaining implicit conversions 9ce648067 Disble deprecated implicit enum conversions 9121f9b1d Enable format_as for classes b7535365b Enable format_as for non-integral types 09ed1ddb9 Cleanup tests 0ec65d99a Merge parse_presentation_type into parse_format_specs 71e4e0272 Cleanup vprintf aad546baa Simplify presentation type parsing 14a69fcc5 Use parse_align bf34ffd33 Refactor format string parsing 6056e0712 Simplify symbols aa99b8640 Minor cleanup 6ade2eb4e Inline all_int_set caa697494 Simplify parse functions a73a9b6a8 Refactor format string checks 72785a3ab Cleanup write 0c3dd5ddd Remove redundant check 739b600f4 Remove iterator shenanigans 3710c4d38 Link to dragonbox a05ba44df Simplify format string parsing ffb9b1d13 Improve handling of signed types 32190859e Fix handling of char 8fe4d97d5 Reduce template instantiations 7e5a95956 Fix build with MSVC C++20 modules (#3254) 9e6030486 Clarify that unused args are allowed 7ad48c1f6 Cleanup core.h a921a596e Cleanup core.h 3e762fdf5 Use ignore_unused 79981a252 Cleanup ranges formatting bd12aaa98 Simplify format string parsing b8f36207c Simplify format string parsing d907786f0 Move anchor to where it belongs f2355bbe5 Fix docs f398c9476 Fix docs 4841784e8 Simplify C99 strftime detection conditions cb72c23e9 Improve timezone tests 583f2d820 Set timezone for chrono tests 32c439070 Minor cleanup 3a5e19fbf Minor cleanup dfb857ebe Refactor format spec parsing 9ea9b6bcb Cleanup arg id parsing 2b0ff62a7 Remove unused template arg from format_string_checker d1745084e Simplify parse context 407e7b7b6 basic_format_specs -> format_specs 3cf979475 Cleanup format string parsing 934c8e5f7 Refactor precision parsing fc9693834 Remove empty semicolon f0ab112c3 Cleanup parsing 9660e5b95 Remove redundant tests a585571e9 Ignore 0 character with align 840ec8569 Cleanup width handlers 1dadeb8a3 Refactor width parsing 275b4b341 Remove obsolete parse-benchmark e004f1d69 Fix for issue #3241 bde1a6070 Simplify fill and alignment parsing 040dc2a5d small typo in syntax.rst 6a186bcd6 Localize FMT_USE_LOCAL_TIME 8c56919bd Check chrono spec starts with % 115001a3b Formatting of system clocks ought to be to UTC, not to local time. This improves standards conformance of fmt. b90895412 Fix formatting of named arguments with locale d072f1dc6 Fix for issue #3228 3999fd193 Workaround an ADL issue c06e0b4ed Extract timezone offset from timezone conversion functions 1bf302a4e Implement %Ez, %Oz for chrono formatter f1733afd4 Pin godbolt example to specific version f61dcccc6 Update README.rst f9bcbdcbc Update README.rst 1a854b4aa Clarify what mod_inv_5 is 62ceb181b fix #3105 - Compile-time error when mixing named argument with automatic indexing b0c8263cb include/fmt/core.h: copy constructors removal d24be2e95 Add countl_zero function 8d50d814d Fix a chrono formatting issue found by fuzzing 115ca96e0 Bump tested CMake version to 3.25 886491625 Remove workaround for GTest bug 74c51ff37 Skip only strptime dependent test in scan-test 69ffedfe5 Use `target_compile_features` to specify C++ standard requirement fae6f7e08 Optimize range formatter a69e43c9d Update benchmark results 91c024ed3 Rename leading_v -> leading_xdigit 649aa102d CI linux: add CIFuzz Github action 31364732d Replace snprintf-based hex float formatter with internal implementation 74d55a493 Add missing operators 8276f1a20 Fix warning: the implicit by-copy capture of "this" is deprecated (EDG frontend) 81ebe70b9 Fix warning: a class type that is not trivially copyable passed through ellipsis (EDG frontend) 3160847eb Enable C++17 tests on macOS 6a95f8c7e Add missing env CTEST_OUTPUT_ON_FAILURE c7980542d Skip the scan-test if strptime isn't defined (#3184) 7df30f91a Format unique_ptr with custom deleter (#3177) d2e89c8b0 Document more chrono specs bd1959320 Document more chrono specs fd0d0ec8d Document more chrono specs 8e93434ed Update README.rst fc07217d8 Make utf-8 detection compatible with gbk cb7373b46 Replace format with FMT_STRING. (#3162) 795ed8abf Add precision modifier for seconds in chrono format (#3148) 66d71a1b3 Fixing formatting of range of range of char. (#3158) 80f8d3442 fmt::ostream - aggregate buffer instead of inheriting it (#3139) 64965bdc9 Add locale getter in tm_writer (#3147) e1ffa7655 Fix warning: conditional expression is constant. (#3150) 8c19bf3f2 Mention MariaDB amongst the projects that use fmt (#3145) f67dbc981 Remove duplicate implementation (#3144) cd7202e03 Fix overflow error (#3143) 51d3685ef Remove duplicate template parameter. (#3142) 9254cfa6f Support formatting of subseconds (#3115) cfb34a060 Avoid using `uint` as a type name (#3137) 5ad7b7138 Fix options for C++20 experimental module in CMake (#3134) d2c47c0df Fix broken condition (#3129) 491c32cbd Workaround gcc bug 103879 662adf4f3 Move formatter<std::error_code> from fmt/os.h to fmt/std.h (#3125) ad91cab37 Normalization of stdlib inline namespace names (#3119) 0ccaed3a6 Set CMAKE_RUNTIME_OUTPUT_DIRECTORY relative to CMAKE_CURRENT_BINARY_DIR instead of CMAKE_BINARY_DIR (#3120) ad719619c Support formatting of std time_point with utc_clock (#3110) 6e0a5f7fb Update CI to Ubuntu 20.04 and to newer versions of actions 48f525d02 Add basic_format_string::get() 0b5cb18b7 Use buffering in to_string to avoid bloat 4c4f99a58 Update a godbolt link 3272a7a3c Update an example a48e3355a Improve docs afcf42429 Update docs ac85afaab Simplify format_error 3178bb9a2 Update docs cf58f64c5 Update docs e4e0ae391 Use fmt/core.h in examples d65acc4e6 Improve docs c9f790b06 Update docs 6b8144a5a Update locale docs 2d66ad5d3 Suppress -Wshadow 042af5332 Suppress -Wfloat-equal 192859c2b Optimize writing to buffers via back_insert_iterator e2f6d7665 fix gcc <= 7.1 compile errors 61844b6b6 Fix build error on GCC-9 7a752e75f New CI: GCC-9 94ceb38a0 Improve locale API 58c4c012f Disable slow windows build and simplify write_loc c3494ae36 Refactor float localization 8ae56161c Fix compilation with FMT_ENFORCE_COMPILE_STRING and FMT_WERROR (#3091) 76705fc2e Update doc 21c2137e7 Add class name output to formatter for std::exception (#3076) ecffca672 Don't parse '}' as fill 3176e0fad Add locale overload for formatted_size (#3084) (#3087) 1feb430fa Fix intellisense on Windows (#3082) b98ffb7db Improve locale handling bac53951b Add starts_with to basic_string_view. (#3080) d59b89e9c More locale 58a5563a9 Implement grouping 1b94271ff Add support for UTF-8 digit separators 768d79a83 Implement format_facet 91ecb38a3 Localize negative integers aec3bb5d0 Workaround C complex.h idiocy 29c600013 Simplify is_variant_like_ check, fix compile error before GCC 11 (#3072) fec5515c5 num_format_facet -> format_facet f187274d3 Add loc_value fc5e59fe4 Don't use stringstream d6a870460 Improve locale support 56c72a671 Reduce locale dependency 4191477b9 Add formatter for std::exception (#3062) 75383a87f Inline trivial functions 48327a82e Make format.h compile faster b79ed4105 Remove unnecessary type_identity 64e29893c Improve locale support 0b0f7cfbf hip workaround 40e414d82 Fix compilation error with gcc-7.2.0 33b4c33c5 Requires FMT_CONSTEXPR20 support a07411c2b Disable compile-time checks for dynamic width/precision test for LCC and compiler without std::is_constant_evaluated() 797d82b21 Disable non-type template args for LCC a553521d6 Disable "GCC optimize" pragma for LCC a33701196 Update version 1f575fd5c Bump version c7635288f Fix docs, take 2 c8ed78e31 Fix docs e07cfb206 Update changelog 1dc7af569 Fix markup f7d21c3a1 Update changelog a55bcb24b Update changelog 30cb2b312 Remove appveyor config cf8d3c322 Update changelog 3c3cb6f6b Update changelog 91481f255 Detemplatize code_point_length_impl f98048b62 Fix bugs in utf8 decoder (#3056) 4a8e2949b Fix formatting of ranges of code unit types 3a3b0709e Disable bogus -Wstringop-overflow on GCC 11 (#3054) e724bbea1 Fix wchar_t corner cases 665d9779e Disable non-type template args for nvhpc (#3053) 13d07c6a3 Apply doc fixes retroactively 391f922ac Improve error reporting in format string compilation dc59d3df3 Fix a warning in gtest 489dabbd3 Fix decoder on broken utf8 sequences. (#3044) 541cd2183 Fix locale name (thanks Mikhail Paulyshka) 1f95c3438 Fix sign handling with large code units 779449fd9 Belarusify test fbb568bce nvhpc/22.3: workaround for c++17 mode. (#3043) 36c23bd5f Prepare for deprecating FindPythonInterp module. (#3040) 9ff0f3a7d Fix docs fd41110d3 Add MinGW to CI fc23cfbf4 Fix testsuite on MinGW + MSVCRT fd93b633b Constexpr formatted_size (#3026) 7fb8d33f9 Fix compile-time width/precision type check 8bd02e93b Reduce conditional compilation d9c1c7353 Use is_utf8() in print(std::ostream&, ...) 682e097be Remove -Wl,--as-needed linker option b9087ee58 Suppress unused typedef warning df56fdf88 Clarify docs for compile-time checks 90c48b852 Remove double code execution 5a8b7cd74 Add comment 36a25d75b Reuse detail::string_literal in the chrono formatter 6c9304b2c Replace ParseContext with basic_format_parse_context 24ab9dd19 Remove duplicate method a95dc1701 Remove unused condition 5f774c0ae I shouldn't be there 6567df7f2 Update README.rst 6c6b1fbf6 Workaround a bug in MSVC 9beddd08f Improve CI on Windows 6452e3c9e Fix a typo in example 756822ba3 Fix Unicode handling for ostream under Windows with libc++. (#3001) 0b2862a1e Range formatter (#2983) 258000064 Add fmt:: namespace to doc (#3009) e9ca7ea47 Suppress a bogus warning 81f1cc74a Improve Unicode handling when writing to an ostream on Windows (#2994) bbcb129e0 Reduce filesize of the tests on MinGW (#2995) 48e0a5922 Implement compile-time checks for dynamic width/precision type bc5c7c50f Fixes IBM XLC behavior with uint128 fallback (#2985) 00adc7120 Add a regression test for here be dragons c48be439f Add additional search paths for doxygen on Windows 371f9c71c Fix even in format_dragon 91abfcd6c Suppress an msvc warning deeab54b4 Remove unused include 688a627d6 Remove unused constants. 9bb1605f1 Remove some branches 8061d9afb Simplify Dragonbox implementation d82e1a108 Make sure the correct fmod overload is called defa04e73 Fix for EDG frontend (Intel, NVHPC compilers) (#2982) 92d36e82c The n specifier for ranges (#2981) 0db43cf7f Pointless comparison warnings (#2971) 05be7a076 Use FMT_USE_FLOAT128 instead of __SIZEOF_FLOAT128__ 2a1b3ac62 Fix large shift in uint128_fallback e1d3d3a32 Exclude recursive ranges from the formatter specialization for ranges (#2974) b761f1279 Improve forward using the idea from Jonathan Müller cc1926942 Inline std::forward d5e9166f5 Fixed typo in changelog example. b31d1a75a Add xchar support for fmt::streamed(). git-subtree-dir: externals/fmt git-subtree-split: f5e54359df4c26b6230fc61d38aa294581393084
2023-10-08 08:55:04 +01:00
struct file_access_tag {};
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
} // namespace
Squashed 'externals/fmt/' changes from c4ee72653..f5e54359d f5e54359d Update version a003ab93c Update changelog 9b7416081 `atomic_flag` formatting (#3594) a21690bdf Coding conventions c9efd8968 Merge branch 'MathewBensonCode-master' e78682405 Refactor Improvement on umul128 function 2b20d7be6 Refactor To remove friend function private access 1f38ebbdb Add condition to include friend function in win32 e41817969 Fix for FMT_MODULE not compiling on GCC 0bffed895 Bump actions/checkout from 3.1.0 to 3.5.3 (#3602) cc077a5e3 Fix `FMT_NO_UNIQUE_ADDRESS` warning with clang-cl. (#3600) a992b3d1f Fix for Compilation Error When Using FMT_MODULE (#3597) af1b768cc Update changelog 2a7c45b54 Update changelog bd868f3a5 Improve compatibility with GBK #3598 (#3599) bbb784fb1 Fix a gcc error about partial specialization after instantiation 6c845f57e Fix `formatted_size` with `FMT_COMPILE` and format specs (#3588) a379595c5 Bump actions/upload-artifact from 3.1.0 to 3.1.2 (#3593) 9dfde7871 Bump ossf/scorecard-action from 2.1.2 to 2.2.0 (#3592) e92a705bd Bump github/codeql-action from 2.2.4 to 2.21.4 (#3591) 5a866fe85 Add formatter for std::atomic (#3574) e150ea0cc to_string supports types with format_as 29ce2ff8a Update README.rst 2e1362add Create scorecard.yml e57ca2e36 Update version 4c56612c6 Update changelog e1acd5f4d Bump version 6ffee2f75 Handle new rst nodes ee475d640 Update changelog ecc914125 Update changelog d42486231 Fix fixed precision handling during rounding in long double 3c1b3337d Update changelog 35fb69ebe Update changelog f92be35c0 Update changelog 7a2f6ac21 Fix a comment 744ff5554 Fix docs 70ae48b00 Update changelog ebb10347c Merge branch 'master' of github.com:fmtlib/fmt 100572016 Clarify that visit_format_arg is deprecated aeb6ad4dd Added formatter for bit_reference-like types (#3570) 96d1fa22d Update changelog 8a4bec5cf fix ambiguous formatter lookup for flat_set (#3561) eacd51c24 cmake: fix FMT_PKGCONFIG_DIR path (#3563) 757564f5c add missing inline specifier (#3552) f4214ae8d Use the U literal for unsigned integer constants. (#3549) aecf80d30 Update a comment 503d49286 expose detail::throw_format_error (#3551) 4f46cb82f Remove std::copy usage. (#3550) 3dec65b7f Use replacement character in path dbabb305c Turn off error-producing NVCC workaround when using c++20 (#3544) ac0ab8eff Improve path formatter 40f35d6f0 Cleanup std formatters 31c2c5679 Cleanup formatters b2728a317 Improve path formatter 77e0b0e22 Cleanup chrono formatter e47585904 Fix overspecified tests 436c131d4 Optimize compiled format_to_n 388bc296b Fix fixed formatting of small long doubles 95e1ea573 Clarify requirement on compiled formatter fb97cb231 Suppress a bogus stringop-overflow warning dd5a9691f Clarify that data is not null-terminated 72dc4491e Fix format_string_checker initialisation order (#3542) 9bea6ec04 Don't use deprecated checked_array_iterator 661b23ede Call parse on empty specs at compile time 8e87d3a8b Fix include a47491656 Update CMakeLists.txt (#3523) de4705f84 Trying to improve errors in the unformattable case (#3478) e4c8cfe38 README: Add link to merged clang-tidy check (#3515) 606f85f8b Workaround brain-damaged conversions a331dbfb6 Fix type in assert message. (#3508) 13156e54b Revert "add ability to build Apple framework using CMAKE_FRAMEWORK" (#3496) 9158bea1e Remove old grisu tests dd17f89a1 Fix for issue #3492 (#3493) 1daae555b Optimize format string compilation 6ad301235 Optimize code unit output in compiled format 8732ad877 Update docs 5afb1821a Update docs a81135f2c Fix a link dfc34821a Update docs 0765e7284 Update docs 977d887a4 Suppress a bogus warning c86fe0b8d Give basic_memory_buffer allocator [[no_unique_address]] (#3485) 5dbe0ff95 Bump actions/checkout from 3.5.2 to 3.5.3 (#3486) de0757b57 Use FMT_TRY and FMT_CATCH in std.h (#3482) 8fe893c0a Update README.rst 0f823df46 Remove detail namespace hack 60fd9941c Use correct Char type in std::filesystem::path (#3476) 8abfc145b Fix MSVC warning in std::chrono::time_point formatter (#3475) 686b3353a Simplify typeid check b2106f363 Tweak comments 35547d600 Use const_check to silence MSVC warning 179c7e5a6 Use typeid() only if it's available 61fb3a15f Add VxWorks7 user space and kernel space support (#3467) bd393456e Remove FMT_*_DETAIL_NAMESPACE 6be36af0d Remove udl_formatter 2a35eeed8 Remove unused data 256a826d6 Consolidate formatters 6369af37d Simplify formatters 0b8404918 Remove get_cached_power 171a020c8 Pass correct Char to base format_as formatter (#3457) d8f04e399 Simplify ceil 5e988f8df Remove is_constant_evaluated() check 19b17618a Make constexpr ceil c684a06d5 New CI: macOS 13, Xcode 14.3, C++ 20 abdb7fdf8 Update api.rst 8b09fe2a0 Fix example for user-defined types in documentation for 10.0.0 (#3461) adad18a74 Update ChangeLog.rst 858e528ab Use dragon in constexpr a54cb108d CMake: Do not fail on unknown compiler features (#3453) ef55d4f52 Suppress a bogus gcc warning 70b6a6fa4 Update README.rst (#3454) 6fe895410 Remove invalid_arg_index d0652d225 Create dependabot.yml (#3452) de8d0171a Simplify FMT_FORMAT_AS 7401fe046 Hash pin Github Workflows (#3451) 08ef0d084 fix formatter<char*> (#3432) d60b907f8 Replace mod_inv_25 by explicit value (#3450) 4ce086f73 remove code duplication (#3448) 821f8cdb4 Detemplatize printf more 0bf6ed7e1 Cleanup printf e40e04fac Detemplatize printf_arg_formatter 0a1c27281 Detemplatize basic_printf_context 2f605cc89 Deprecate wide printf 1d54499ac Apply coding conventions 3c6053c53 Cleanup basic_printf_context 4a392adaa Remove basic_printf_parse_context b14913fae FMT_MODULE_EXPORT -> FMT_EXPORT 2117df299 format-inl.h: address implicit int to bool conversion (#3446) 616a49378 Revert Char* formatter removal 9a034b0d5 Always assert in FMT_THROW (#3439) e0fc0e85e Remove unneeded FMT_API 552c43aba Improve long formatters d6846f4ac Clarify why byte formatter is in core aeedac588 Remove unneeded specialization eaa630769 Make hex float test more stable (#3434) e82bf41a1 Update README.rst e077396f5 Update docs 861facad0 Fix a typo 75bfe5761 Improve docs 697e76ba3 Don't call init_named_args unnecessarily a425e0ff3 Cleanup xchar API c36dd825b Remove unnecessary forwarding 130b8fcdb Reduce template instantiations a47e8419b Cleanup the core API ea49c91cd Cleanup argument construction d7592ad8b Fix time_point formatting for durations with certain ratios (#3430) ebfb2e677 Remove unused alias 5780269d5 Improve API safety b47119216 Fix a comment 8f18e72df Improve API safety 93d7cb12f Fix formatting 0e4278717 Remove unused macro 93a30a074 unicode_to_utf8 -> to_utf8 since both sides of conversion are Unicode a08196b14 Update ChangeLog.rst 0398ba42c Update ChangeLog.rst a0b8a92e3 Update version 5cf2342aa Bump version fe9d39d7c Update changelog 4c9856197 Update changelog 403b271ed Update changelog 2c991e1af Update changelog c984df981 Remove an unused function from internal class fbf21ed22 Update changelog 575583144 Update changelog e7f6888c7 Update changelog 39db2dfd0 Update changelog 9b7829e26 Update changelog 1e0ce567e Fix formatting of paths containing invalid Unicode dde8cf3bb Unification utf16/utf32 to utf8 conversion e84b00e01 Workaround to error: variable 'n' set but not used [-Werror,-Wunused-but-set-variable] b12ffea4f Add filesystem_error test back f61f15cc5 Suppress a false positive in gcc 192df93d7 modules missing pieces (#3399) d8973bf16 Add FMT_STRING for format_to() call (#3413) d7a8e50cb Improve module testing (#3397) 02cae7e48 Improve handling of Unicode in paths 53162142b Remove .bazelrc mention from Bazel related readme (#3411) 5bcf0d7f9 Bazel support (#3406) f8c9fabd9 Fix spelling (#3404) 62ff4e1db Remove foonathan from maintainer list (#3402) f449ca052 Name `vfprintf` clashes with the identically named declaration in 'stdio.h' if that happens to be #included into the same TU. Fix this by using qualified name lookup instead of unqualified lookup that also enables ADL. (#3400) eafcd3c8e Optionally attach declarations to the `global module` rather than `module fmt` (#3387) 18154cc90 Simplify print 0de789cf2 Update changelog c03938922 export names only once (#3392) 93e81bb5d Fix C4365 (signed/unsigned mismatch) warning on 32-bit Windows (#3398) e7d6eb679 Update tests to use recommended MOCK_METHOD (#3395) 18e7a2532 Remove obsolete msvc workarounds (#3388) 0489c19dc fix and improve module (#3386) 8ec94ac6a Use full path to pcm d97d8cea6 Push module check to test d8a2698e6 Fix compilation as a C++20 module with gcc 13 d9c19940a Update add_module_library 4b5ae0b0e Remove unnecessary module support check 75f3b1c09 Use add_module_library faf83406a Workaround cmake issue 165814d57 Add module support to CMake 33f715077 Fix error C2668 on msvc (#3378) c98e5a08a Fix modular build on clang 119c6bd16 Move the modules check 77eeb7183 Remove unused headers 13bf99f9d Enable modules in clang 16 1d0257e4c FMT_MODULE_EXPORT_* -> FMT_EXPORT_* 4613d48fd FMT_EXPORT -> FMT_LIB_EXPORT 4a4a2a2bd Fix diagnostics fce74caa1 Disable problematic implicit conversions 02bf4d1c1 Disable to_string_view ADL 466e0650e Remove problematic workaround 029caa8ea Update changelog e406ddbfa Remove broken part of the config 909567953 Update changelog 7f46cb75b ranges: Fix extra semi (#3374) 4e3f38105 Update changelog d3c10f516 fix compilation for MSDOS (#3369) ab956f600 Update changelog 97aedeab4 Workaround a double-double hexfloat format (#3366) bce8d4ed0 Remove stray comment a91c7b286 Cleanup the core API 19c074e47 Remove deprecated fallback formatter 41cfc739f Generalize format_as f6276a2c2 Force use a signed char (On ARM char is unsigned by default) (#3362) 6002ddf82 Remove a deprecated option 6549ffde8 Improve format_as safety d9bc5f132 Fix code causing spurious Wstringop-overflow warning 9c5cd998d Remove unused functions 93bfa0538 %T is %H:%M:%S (#3349) d8e1c4265 fix case of variant which is valueless by exception (#3347) e1720c0e5 Fix CUDA nvcc warning fmt/include/fmt/core.h(295): warning #1675-D: unrecognized GCC pragma (#3352) 7f882918e `write_floating_seconds`: Fall back to `::round` (#3343) cbc7b8d5c Cleanup dead variable (#3338) 050293646 Path is not escaped twice in the debug mode (#3321) 3daf33837 Enable consteval for Xcode 14.0.1 and later (#3331) e0748e61d Fix recursion check in range formatting b94e1016f chore: set permission to cifuzz.yml (#3328) 98699719f Make # handling consistent with std::format 48dfbcaa9 Improve license and PR template wording c644c753d Add '🐙 userver framework' to the projects 73b7cee7f Fix for issue #3325 (#3326) 5b8302079 Add optional support (#3303) 3a69529e8 Fix various typos (#3312) 76f520835 Call element parse in tuple parse 507c3042d class -> typename 1741e90de Always call parse in range formatter d646fd0da Minor cleanup b5c2f74f4 change sopen_s to wsopen_s (fmtlib#3234) (#3293) e03753c4a Add ubuntu mirrors (#3302) 6e6eb6377 [msvc] fix warning about non-inline variable 3c5464ba1 Fix OpenBSD build error (#3295) 655046d24 Fix container adaptor formatting 581c6292c Add formatters for container adapters (#3279) 7718eeeac Implement glibc ext for sec, min, and hour (#3271) 44e0eea94 Use FMT_HAS_INCLUDE and apply clang-format 99070899b Fix errors setting of FMT_USE_FLOAT128 (#3259) 05e3a9233 Allowing formatting non-copyable ranges. (#3290) 70db193f0 Visual Studio 2022: fmt/format-inl.h(1145,60): warning C4310: cast truncates constant value #3287 (#3288) a2c05a10e Workaround a bug in MSVC <= 19.22 cae9bf45b Simplify apidoc comments 87c066a35 Implement `println` (#3267) 9409b2e4d Workaround for incompatibility between libstdc++ consteval-based std::is_constant_evaluated() implementation and clang-14 (#3281) f89cd276f Refactor countl_zero fallback (#3276) 240b728d8 Report an error on overflow dfbb952b2 Fix empty spec for time point (#3275) 39971eb33 Fix localized format for float-point numbers (#3272) 0f42c17d8 Implement a new formatting algorithm for small given precision (#3269) bfc0924ea Bugfix for fmt::printf on Power9 architecture with the XL compiler (#3256) 676c2a107 Fix negative subsec for time_point (#3261) 2c80cedc3 Fix standard default installation target presence (#3264) dda53082b Support fill, align & width for time point (#3260) 2622cd23e Simplify arg_mapper 9e4a54fa6 Disable remaining implicit conversions 9ce648067 Disble deprecated implicit enum conversions 9121f9b1d Enable format_as for classes b7535365b Enable format_as for non-integral types 09ed1ddb9 Cleanup tests 0ec65d99a Merge parse_presentation_type into parse_format_specs 71e4e0272 Cleanup vprintf aad546baa Simplify presentation type parsing 14a69fcc5 Use parse_align bf34ffd33 Refactor format string parsing 6056e0712 Simplify symbols aa99b8640 Minor cleanup 6ade2eb4e Inline all_int_set caa697494 Simplify parse functions a73a9b6a8 Refactor format string checks 72785a3ab Cleanup write 0c3dd5ddd Remove redundant check 739b600f4 Remove iterator shenanigans 3710c4d38 Link to dragonbox a05ba44df Simplify format string parsing ffb9b1d13 Improve handling of signed types 32190859e Fix handling of char 8fe4d97d5 Reduce template instantiations 7e5a95956 Fix build with MSVC C++20 modules (#3254) 9e6030486 Clarify that unused args are allowed 7ad48c1f6 Cleanup core.h a921a596e Cleanup core.h 3e762fdf5 Use ignore_unused 79981a252 Cleanup ranges formatting bd12aaa98 Simplify format string parsing b8f36207c Simplify format string parsing d907786f0 Move anchor to where it belongs f2355bbe5 Fix docs f398c9476 Fix docs 4841784e8 Simplify C99 strftime detection conditions cb72c23e9 Improve timezone tests 583f2d820 Set timezone for chrono tests 32c439070 Minor cleanup 3a5e19fbf Minor cleanup dfb857ebe Refactor format spec parsing 9ea9b6bcb Cleanup arg id parsing 2b0ff62a7 Remove unused template arg from format_string_checker d1745084e Simplify parse context 407e7b7b6 basic_format_specs -> format_specs 3cf979475 Cleanup format string parsing 934c8e5f7 Refactor precision parsing fc9693834 Remove empty semicolon f0ab112c3 Cleanup parsing 9660e5b95 Remove redundant tests a585571e9 Ignore 0 character with align 840ec8569 Cleanup width handlers 1dadeb8a3 Refactor width parsing 275b4b341 Remove obsolete parse-benchmark e004f1d69 Fix for issue #3241 bde1a6070 Simplify fill and alignment parsing 040dc2a5d small typo in syntax.rst 6a186bcd6 Localize FMT_USE_LOCAL_TIME 8c56919bd Check chrono spec starts with % 115001a3b Formatting of system clocks ought to be to UTC, not to local time. This improves standards conformance of fmt. b90895412 Fix formatting of named arguments with locale d072f1dc6 Fix for issue #3228 3999fd193 Workaround an ADL issue c06e0b4ed Extract timezone offset from timezone conversion functions 1bf302a4e Implement %Ez, %Oz for chrono formatter f1733afd4 Pin godbolt example to specific version f61dcccc6 Update README.rst f9bcbdcbc Update README.rst 1a854b4aa Clarify what mod_inv_5 is 62ceb181b fix #3105 - Compile-time error when mixing named argument with automatic indexing b0c8263cb include/fmt/core.h: copy constructors removal d24be2e95 Add countl_zero function 8d50d814d Fix a chrono formatting issue found by fuzzing 115ca96e0 Bump tested CMake version to 3.25 886491625 Remove workaround for GTest bug 74c51ff37 Skip only strptime dependent test in scan-test 69ffedfe5 Use `target_compile_features` to specify C++ standard requirement fae6f7e08 Optimize range formatter a69e43c9d Update benchmark results 91c024ed3 Rename leading_v -> leading_xdigit 649aa102d CI linux: add CIFuzz Github action 31364732d Replace snprintf-based hex float formatter with internal implementation 74d55a493 Add missing operators 8276f1a20 Fix warning: the implicit by-copy capture of "this" is deprecated (EDG frontend) 81ebe70b9 Fix warning: a class type that is not trivially copyable passed through ellipsis (EDG frontend) 3160847eb Enable C++17 tests on macOS 6a95f8c7e Add missing env CTEST_OUTPUT_ON_FAILURE c7980542d Skip the scan-test if strptime isn't defined (#3184) 7df30f91a Format unique_ptr with custom deleter (#3177) d2e89c8b0 Document more chrono specs bd1959320 Document more chrono specs fd0d0ec8d Document more chrono specs 8e93434ed Update README.rst fc07217d8 Make utf-8 detection compatible with gbk cb7373b46 Replace format with FMT_STRING. (#3162) 795ed8abf Add precision modifier for seconds in chrono format (#3148) 66d71a1b3 Fixing formatting of range of range of char. (#3158) 80f8d3442 fmt::ostream - aggregate buffer instead of inheriting it (#3139) 64965bdc9 Add locale getter in tm_writer (#3147) e1ffa7655 Fix warning: conditional expression is constant. (#3150) 8c19bf3f2 Mention MariaDB amongst the projects that use fmt (#3145) f67dbc981 Remove duplicate implementation (#3144) cd7202e03 Fix overflow error (#3143) 51d3685ef Remove duplicate template parameter. (#3142) 9254cfa6f Support formatting of subseconds (#3115) cfb34a060 Avoid using `uint` as a type name (#3137) 5ad7b7138 Fix options for C++20 experimental module in CMake (#3134) d2c47c0df Fix broken condition (#3129) 491c32cbd Workaround gcc bug 103879 662adf4f3 Move formatter<std::error_code> from fmt/os.h to fmt/std.h (#3125) ad91cab37 Normalization of stdlib inline namespace names (#3119) 0ccaed3a6 Set CMAKE_RUNTIME_OUTPUT_DIRECTORY relative to CMAKE_CURRENT_BINARY_DIR instead of CMAKE_BINARY_DIR (#3120) ad719619c Support formatting of std time_point with utc_clock (#3110) 6e0a5f7fb Update CI to Ubuntu 20.04 and to newer versions of actions 48f525d02 Add basic_format_string::get() 0b5cb18b7 Use buffering in to_string to avoid bloat 4c4f99a58 Update a godbolt link 3272a7a3c Update an example a48e3355a Improve docs afcf42429 Update docs ac85afaab Simplify format_error 3178bb9a2 Update docs cf58f64c5 Update docs e4e0ae391 Use fmt/core.h in examples d65acc4e6 Improve docs c9f790b06 Update docs 6b8144a5a Update locale docs 2d66ad5d3 Suppress -Wshadow 042af5332 Suppress -Wfloat-equal 192859c2b Optimize writing to buffers via back_insert_iterator e2f6d7665 fix gcc <= 7.1 compile errors 61844b6b6 Fix build error on GCC-9 7a752e75f New CI: GCC-9 94ceb38a0 Improve locale API 58c4c012f Disable slow windows build and simplify write_loc c3494ae36 Refactor float localization 8ae56161c Fix compilation with FMT_ENFORCE_COMPILE_STRING and FMT_WERROR (#3091) 76705fc2e Update doc 21c2137e7 Add class name output to formatter for std::exception (#3076) ecffca672 Don't parse '}' as fill 3176e0fad Add locale overload for formatted_size (#3084) (#3087) 1feb430fa Fix intellisense on Windows (#3082) b98ffb7db Improve locale handling bac53951b Add starts_with to basic_string_view. (#3080) d59b89e9c More locale 58a5563a9 Implement grouping 1b94271ff Add support for UTF-8 digit separators 768d79a83 Implement format_facet 91ecb38a3 Localize negative integers aec3bb5d0 Workaround C complex.h idiocy 29c600013 Simplify is_variant_like_ check, fix compile error before GCC 11 (#3072) fec5515c5 num_format_facet -> format_facet f187274d3 Add loc_value fc5e59fe4 Don't use stringstream d6a870460 Improve locale support 56c72a671 Reduce locale dependency 4191477b9 Add formatter for std::exception (#3062) 75383a87f Inline trivial functions 48327a82e Make format.h compile faster b79ed4105 Remove unnecessary type_identity 64e29893c Improve locale support 0b0f7cfbf hip workaround 40e414d82 Fix compilation error with gcc-7.2.0 33b4c33c5 Requires FMT_CONSTEXPR20 support a07411c2b Disable compile-time checks for dynamic width/precision test for LCC and compiler without std::is_constant_evaluated() 797d82b21 Disable non-type template args for LCC a553521d6 Disable "GCC optimize" pragma for LCC a33701196 Update version 1f575fd5c Bump version c7635288f Fix docs, take 2 c8ed78e31 Fix docs e07cfb206 Update changelog 1dc7af569 Fix markup f7d21c3a1 Update changelog a55bcb24b Update changelog 30cb2b312 Remove appveyor config cf8d3c322 Update changelog 3c3cb6f6b Update changelog 91481f255 Detemplatize code_point_length_impl f98048b62 Fix bugs in utf8 decoder (#3056) 4a8e2949b Fix formatting of ranges of code unit types 3a3b0709e Disable bogus -Wstringop-overflow on GCC 11 (#3054) e724bbea1 Fix wchar_t corner cases 665d9779e Disable non-type template args for nvhpc (#3053) 13d07c6a3 Apply doc fixes retroactively 391f922ac Improve error reporting in format string compilation dc59d3df3 Fix a warning in gtest 489dabbd3 Fix decoder on broken utf8 sequences. (#3044) 541cd2183 Fix locale name (thanks Mikhail Paulyshka) 1f95c3438 Fix sign handling with large code units 779449fd9 Belarusify test fbb568bce nvhpc/22.3: workaround for c++17 mode. (#3043) 36c23bd5f Prepare for deprecating FindPythonInterp module. (#3040) 9ff0f3a7d Fix docs fd41110d3 Add MinGW to CI fc23cfbf4 Fix testsuite on MinGW + MSVCRT fd93b633b Constexpr formatted_size (#3026) 7fb8d33f9 Fix compile-time width/precision type check 8bd02e93b Reduce conditional compilation d9c1c7353 Use is_utf8() in print(std::ostream&, ...) 682e097be Remove -Wl,--as-needed linker option b9087ee58 Suppress unused typedef warning df56fdf88 Clarify docs for compile-time checks 90c48b852 Remove double code execution 5a8b7cd74 Add comment 36a25d75b Reuse detail::string_literal in the chrono formatter 6c9304b2c Replace ParseContext with basic_format_parse_context 24ab9dd19 Remove duplicate method a95dc1701 Remove unused condition 5f774c0ae I shouldn't be there 6567df7f2 Update README.rst 6c6b1fbf6 Workaround a bug in MSVC 9beddd08f Improve CI on Windows 6452e3c9e Fix a typo in example 756822ba3 Fix Unicode handling for ostream under Windows with libc++. (#3001) 0b2862a1e Range formatter (#2983) 258000064 Add fmt:: namespace to doc (#3009) e9ca7ea47 Suppress a bogus warning 81f1cc74a Improve Unicode handling when writing to an ostream on Windows (#2994) bbcb129e0 Reduce filesize of the tests on MinGW (#2995) 48e0a5922 Implement compile-time checks for dynamic width/precision type bc5c7c50f Fixes IBM XLC behavior with uint128 fallback (#2985) 00adc7120 Add a regression test for here be dragons c48be439f Add additional search paths for doxygen on Windows 371f9c71c Fix even in format_dragon 91abfcd6c Suppress an msvc warning deeab54b4 Remove unused include 688a627d6 Remove unused constants. 9bb1605f1 Remove some branches 8061d9afb Simplify Dragonbox implementation d82e1a108 Make sure the correct fmod overload is called defa04e73 Fix for EDG frontend (Intel, NVHPC compilers) (#2982) 92d36e82c The n specifier for ranges (#2981) 0db43cf7f Pointless comparison warnings (#2971) 05be7a076 Use FMT_USE_FLOAT128 instead of __SIZEOF_FLOAT128__ 2a1b3ac62 Fix large shift in uint128_fallback e1d3d3a32 Exclude recursive ranges from the formatter specialization for ranges (#2974) b761f1279 Improve forward using the idea from Jonathan Müller cc1926942 Inline std::forward d5e9166f5 Fixed typo in changelog example. b31d1a75a Add xchar support for fmt::streamed(). git-subtree-dir: externals/fmt git-subtree-split: f5e54359df4c26b6230fc61d38aa294581393084
2023-10-08 08:55:04 +01:00
template <typename Tag, typename BufType, FILE* BufType::*FileMemberPtr>
class file_access {
friend auto get_file(BufType& obj) -> FILE* { return obj.*FileMemberPtr; }
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
};
Squashed 'externals/fmt/' changes from c4ee72653..f5e54359d f5e54359d Update version a003ab93c Update changelog 9b7416081 `atomic_flag` formatting (#3594) a21690bdf Coding conventions c9efd8968 Merge branch 'MathewBensonCode-master' e78682405 Refactor Improvement on umul128 function 2b20d7be6 Refactor To remove friend function private access 1f38ebbdb Add condition to include friend function in win32 e41817969 Fix for FMT_MODULE not compiling on GCC 0bffed895 Bump actions/checkout from 3.1.0 to 3.5.3 (#3602) cc077a5e3 Fix `FMT_NO_UNIQUE_ADDRESS` warning with clang-cl. (#3600) a992b3d1f Fix for Compilation Error When Using FMT_MODULE (#3597) af1b768cc Update changelog 2a7c45b54 Update changelog bd868f3a5 Improve compatibility with GBK #3598 (#3599) bbb784fb1 Fix a gcc error about partial specialization after instantiation 6c845f57e Fix `formatted_size` with `FMT_COMPILE` and format specs (#3588) a379595c5 Bump actions/upload-artifact from 3.1.0 to 3.1.2 (#3593) 9dfde7871 Bump ossf/scorecard-action from 2.1.2 to 2.2.0 (#3592) e92a705bd Bump github/codeql-action from 2.2.4 to 2.21.4 (#3591) 5a866fe85 Add formatter for std::atomic (#3574) e150ea0cc to_string supports types with format_as 29ce2ff8a Update README.rst 2e1362add Create scorecard.yml e57ca2e36 Update version 4c56612c6 Update changelog e1acd5f4d Bump version 6ffee2f75 Handle new rst nodes ee475d640 Update changelog ecc914125 Update changelog d42486231 Fix fixed precision handling during rounding in long double 3c1b3337d Update changelog 35fb69ebe Update changelog f92be35c0 Update changelog 7a2f6ac21 Fix a comment 744ff5554 Fix docs 70ae48b00 Update changelog ebb10347c Merge branch 'master' of github.com:fmtlib/fmt 100572016 Clarify that visit_format_arg is deprecated aeb6ad4dd Added formatter for bit_reference-like types (#3570) 96d1fa22d Update changelog 8a4bec5cf fix ambiguous formatter lookup for flat_set (#3561) eacd51c24 cmake: fix FMT_PKGCONFIG_DIR path (#3563) 757564f5c add missing inline specifier (#3552) f4214ae8d Use the U literal for unsigned integer constants. (#3549) aecf80d30 Update a comment 503d49286 expose detail::throw_format_error (#3551) 4f46cb82f Remove std::copy usage. (#3550) 3dec65b7f Use replacement character in path dbabb305c Turn off error-producing NVCC workaround when using c++20 (#3544) ac0ab8eff Improve path formatter 40f35d6f0 Cleanup std formatters 31c2c5679 Cleanup formatters b2728a317 Improve path formatter 77e0b0e22 Cleanup chrono formatter e47585904 Fix overspecified tests 436c131d4 Optimize compiled format_to_n 388bc296b Fix fixed formatting of small long doubles 95e1ea573 Clarify requirement on compiled formatter fb97cb231 Suppress a bogus stringop-overflow warning dd5a9691f Clarify that data is not null-terminated 72dc4491e Fix format_string_checker initialisation order (#3542) 9bea6ec04 Don't use deprecated checked_array_iterator 661b23ede Call parse on empty specs at compile time 8e87d3a8b Fix include a47491656 Update CMakeLists.txt (#3523) de4705f84 Trying to improve errors in the unformattable case (#3478) e4c8cfe38 README: Add link to merged clang-tidy check (#3515) 606f85f8b Workaround brain-damaged conversions a331dbfb6 Fix type in assert message. (#3508) 13156e54b Revert "add ability to build Apple framework using CMAKE_FRAMEWORK" (#3496) 9158bea1e Remove old grisu tests dd17f89a1 Fix for issue #3492 (#3493) 1daae555b Optimize format string compilation 6ad301235 Optimize code unit output in compiled format 8732ad877 Update docs 5afb1821a Update docs a81135f2c Fix a link dfc34821a Update docs 0765e7284 Update docs 977d887a4 Suppress a bogus warning c86fe0b8d Give basic_memory_buffer allocator [[no_unique_address]] (#3485) 5dbe0ff95 Bump actions/checkout from 3.5.2 to 3.5.3 (#3486) de0757b57 Use FMT_TRY and FMT_CATCH in std.h (#3482) 8fe893c0a Update README.rst 0f823df46 Remove detail namespace hack 60fd9941c Use correct Char type in std::filesystem::path (#3476) 8abfc145b Fix MSVC warning in std::chrono::time_point formatter (#3475) 686b3353a Simplify typeid check b2106f363 Tweak comments 35547d600 Use const_check to silence MSVC warning 179c7e5a6 Use typeid() only if it's available 61fb3a15f Add VxWorks7 user space and kernel space support (#3467) bd393456e Remove FMT_*_DETAIL_NAMESPACE 6be36af0d Remove udl_formatter 2a35eeed8 Remove unused data 256a826d6 Consolidate formatters 6369af37d Simplify formatters 0b8404918 Remove get_cached_power 171a020c8 Pass correct Char to base format_as formatter (#3457) d8f04e399 Simplify ceil 5e988f8df Remove is_constant_evaluated() check 19b17618a Make constexpr ceil c684a06d5 New CI: macOS 13, Xcode 14.3, C++ 20 abdb7fdf8 Update api.rst 8b09fe2a0 Fix example for user-defined types in documentation for 10.0.0 (#3461) adad18a74 Update ChangeLog.rst 858e528ab Use dragon in constexpr a54cb108d CMake: Do not fail on unknown compiler features (#3453) ef55d4f52 Suppress a bogus gcc warning 70b6a6fa4 Update README.rst (#3454) 6fe895410 Remove invalid_arg_index d0652d225 Create dependabot.yml (#3452) de8d0171a Simplify FMT_FORMAT_AS 7401fe046 Hash pin Github Workflows (#3451) 08ef0d084 fix formatter<char*> (#3432) d60b907f8 Replace mod_inv_25 by explicit value (#3450) 4ce086f73 remove code duplication (#3448) 821f8cdb4 Detemplatize printf more 0bf6ed7e1 Cleanup printf e40e04fac Detemplatize printf_arg_formatter 0a1c27281 Detemplatize basic_printf_context 2f605cc89 Deprecate wide printf 1d54499ac Apply coding conventions 3c6053c53 Cleanup basic_printf_context 4a392adaa Remove basic_printf_parse_context b14913fae FMT_MODULE_EXPORT -> FMT_EXPORT 2117df299 format-inl.h: address implicit int to bool conversion (#3446) 616a49378 Revert Char* formatter removal 9a034b0d5 Always assert in FMT_THROW (#3439) e0fc0e85e Remove unneeded FMT_API 552c43aba Improve long formatters d6846f4ac Clarify why byte formatter is in core aeedac588 Remove unneeded specialization eaa630769 Make hex float test more stable (#3434) e82bf41a1 Update README.rst e077396f5 Update docs 861facad0 Fix a typo 75bfe5761 Improve docs 697e76ba3 Don't call init_named_args unnecessarily a425e0ff3 Cleanup xchar API c36dd825b Remove unnecessary forwarding 130b8fcdb Reduce template instantiations a47e8419b Cleanup the core API ea49c91cd Cleanup argument construction d7592ad8b Fix time_point formatting for durations with certain ratios (#3430) ebfb2e677 Remove unused alias 5780269d5 Improve API safety b47119216 Fix a comment 8f18e72df Improve API safety 93d7cb12f Fix formatting 0e4278717 Remove unused macro 93a30a074 unicode_to_utf8 -> to_utf8 since both sides of conversion are Unicode a08196b14 Update ChangeLog.rst 0398ba42c Update ChangeLog.rst a0b8a92e3 Update version 5cf2342aa Bump version fe9d39d7c Update changelog 4c9856197 Update changelog 403b271ed Update changelog 2c991e1af Update changelog c984df981 Remove an unused function from internal class fbf21ed22 Update changelog 575583144 Update changelog e7f6888c7 Update changelog 39db2dfd0 Update changelog 9b7829e26 Update changelog 1e0ce567e Fix formatting of paths containing invalid Unicode dde8cf3bb Unification utf16/utf32 to utf8 conversion e84b00e01 Workaround to error: variable 'n' set but not used [-Werror,-Wunused-but-set-variable] b12ffea4f Add filesystem_error test back f61f15cc5 Suppress a false positive in gcc 192df93d7 modules missing pieces (#3399) d8973bf16 Add FMT_STRING for format_to() call (#3413) d7a8e50cb Improve module testing (#3397) 02cae7e48 Improve handling of Unicode in paths 53162142b Remove .bazelrc mention from Bazel related readme (#3411) 5bcf0d7f9 Bazel support (#3406) f8c9fabd9 Fix spelling (#3404) 62ff4e1db Remove foonathan from maintainer list (#3402) f449ca052 Name `vfprintf` clashes with the identically named declaration in 'stdio.h' if that happens to be #included into the same TU. Fix this by using qualified name lookup instead of unqualified lookup that also enables ADL. (#3400) eafcd3c8e Optionally attach declarations to the `global module` rather than `module fmt` (#3387) 18154cc90 Simplify print 0de789cf2 Update changelog c03938922 export names only once (#3392) 93e81bb5d Fix C4365 (signed/unsigned mismatch) warning on 32-bit Windows (#3398) e7d6eb679 Update tests to use recommended MOCK_METHOD (#3395) 18e7a2532 Remove obsolete msvc workarounds (#3388) 0489c19dc fix and improve module (#3386) 8ec94ac6a Use full path to pcm d97d8cea6 Push module check to test d8a2698e6 Fix compilation as a C++20 module with gcc 13 d9c19940a Update add_module_library 4b5ae0b0e Remove unnecessary module support check 75f3b1c09 Use add_module_library faf83406a Workaround cmake issue 165814d57 Add module support to CMake 33f715077 Fix error C2668 on msvc (#3378) c98e5a08a Fix modular build on clang 119c6bd16 Move the modules check 77eeb7183 Remove unused headers 13bf99f9d Enable modules in clang 16 1d0257e4c FMT_MODULE_EXPORT_* -> FMT_EXPORT_* 4613d48fd FMT_EXPORT -> FMT_LIB_EXPORT 4a4a2a2bd Fix diagnostics fce74caa1 Disable problematic implicit conversions 02bf4d1c1 Disable to_string_view ADL 466e0650e Remove problematic workaround 029caa8ea Update changelog e406ddbfa Remove broken part of the config 909567953 Update changelog 7f46cb75b ranges: Fix extra semi (#3374) 4e3f38105 Update changelog d3c10f516 fix compilation for MSDOS (#3369) ab956f600 Update changelog 97aedeab4 Workaround a double-double hexfloat format (#3366) bce8d4ed0 Remove stray comment a91c7b286 Cleanup the core API 19c074e47 Remove deprecated fallback formatter 41cfc739f Generalize format_as f6276a2c2 Force use a signed char (On ARM char is unsigned by default) (#3362) 6002ddf82 Remove a deprecated option 6549ffde8 Improve format_as safety d9bc5f132 Fix code causing spurious Wstringop-overflow warning 9c5cd998d Remove unused functions 93bfa0538 %T is %H:%M:%S (#3349) d8e1c4265 fix case of variant which is valueless by exception (#3347) e1720c0e5 Fix CUDA nvcc warning fmt/include/fmt/core.h(295): warning #1675-D: unrecognized GCC pragma (#3352) 7f882918e `write_floating_seconds`: Fall back to `::round` (#3343) cbc7b8d5c Cleanup dead variable (#3338) 050293646 Path is not escaped twice in the debug mode (#3321) 3daf33837 Enable consteval for Xcode 14.0.1 and later (#3331) e0748e61d Fix recursion check in range formatting b94e1016f chore: set permission to cifuzz.yml (#3328) 98699719f Make # handling consistent with std::format 48dfbcaa9 Improve license and PR template wording c644c753d Add '🐙 userver framework' to the projects 73b7cee7f Fix for issue #3325 (#3326) 5b8302079 Add optional support (#3303) 3a69529e8 Fix various typos (#3312) 76f520835 Call element parse in tuple parse 507c3042d class -> typename 1741e90de Always call parse in range formatter d646fd0da Minor cleanup b5c2f74f4 change sopen_s to wsopen_s (fmtlib#3234) (#3293) e03753c4a Add ubuntu mirrors (#3302) 6e6eb6377 [msvc] fix warning about non-inline variable 3c5464ba1 Fix OpenBSD build error (#3295) 655046d24 Fix container adaptor formatting 581c6292c Add formatters for container adapters (#3279) 7718eeeac Implement glibc ext for sec, min, and hour (#3271) 44e0eea94 Use FMT_HAS_INCLUDE and apply clang-format 99070899b Fix errors setting of FMT_USE_FLOAT128 (#3259) 05e3a9233 Allowing formatting non-copyable ranges. (#3290) 70db193f0 Visual Studio 2022: fmt/format-inl.h(1145,60): warning C4310: cast truncates constant value #3287 (#3288) a2c05a10e Workaround a bug in MSVC <= 19.22 cae9bf45b Simplify apidoc comments 87c066a35 Implement `println` (#3267) 9409b2e4d Workaround for incompatibility between libstdc++ consteval-based std::is_constant_evaluated() implementation and clang-14 (#3281) f89cd276f Refactor countl_zero fallback (#3276) 240b728d8 Report an error on overflow dfbb952b2 Fix empty spec for time point (#3275) 39971eb33 Fix localized format for float-point numbers (#3272) 0f42c17d8 Implement a new formatting algorithm for small given precision (#3269) bfc0924ea Bugfix for fmt::printf on Power9 architecture with the XL compiler (#3256) 676c2a107 Fix negative subsec for time_point (#3261) 2c80cedc3 Fix standard default installation target presence (#3264) dda53082b Support fill, align & width for time point (#3260) 2622cd23e Simplify arg_mapper 9e4a54fa6 Disable remaining implicit conversions 9ce648067 Disble deprecated implicit enum conversions 9121f9b1d Enable format_as for classes b7535365b Enable format_as for non-integral types 09ed1ddb9 Cleanup tests 0ec65d99a Merge parse_presentation_type into parse_format_specs 71e4e0272 Cleanup vprintf aad546baa Simplify presentation type parsing 14a69fcc5 Use parse_align bf34ffd33 Refactor format string parsing 6056e0712 Simplify symbols aa99b8640 Minor cleanup 6ade2eb4e Inline all_int_set caa697494 Simplify parse functions a73a9b6a8 Refactor format string checks 72785a3ab Cleanup write 0c3dd5ddd Remove redundant check 739b600f4 Remove iterator shenanigans 3710c4d38 Link to dragonbox a05ba44df Simplify format string parsing ffb9b1d13 Improve handling of signed types 32190859e Fix handling of char 8fe4d97d5 Reduce template instantiations 7e5a95956 Fix build with MSVC C++20 modules (#3254) 9e6030486 Clarify that unused args are allowed 7ad48c1f6 Cleanup core.h a921a596e Cleanup core.h 3e762fdf5 Use ignore_unused 79981a252 Cleanup ranges formatting bd12aaa98 Simplify format string parsing b8f36207c Simplify format string parsing d907786f0 Move anchor to where it belongs f2355bbe5 Fix docs f398c9476 Fix docs 4841784e8 Simplify C99 strftime detection conditions cb72c23e9 Improve timezone tests 583f2d820 Set timezone for chrono tests 32c439070 Minor cleanup 3a5e19fbf Minor cleanup dfb857ebe Refactor format spec parsing 9ea9b6bcb Cleanup arg id parsing 2b0ff62a7 Remove unused template arg from format_string_checker d1745084e Simplify parse context 407e7b7b6 basic_format_specs -> format_specs 3cf979475 Cleanup format string parsing 934c8e5f7 Refactor precision parsing fc9693834 Remove empty semicolon f0ab112c3 Cleanup parsing 9660e5b95 Remove redundant tests a585571e9 Ignore 0 character with align 840ec8569 Cleanup width handlers 1dadeb8a3 Refactor width parsing 275b4b341 Remove obsolete parse-benchmark e004f1d69 Fix for issue #3241 bde1a6070 Simplify fill and alignment parsing 040dc2a5d small typo in syntax.rst 6a186bcd6 Localize FMT_USE_LOCAL_TIME 8c56919bd Check chrono spec starts with % 115001a3b Formatting of system clocks ought to be to UTC, not to local time. This improves standards conformance of fmt. b90895412 Fix formatting of named arguments with locale d072f1dc6 Fix for issue #3228 3999fd193 Workaround an ADL issue c06e0b4ed Extract timezone offset from timezone conversion functions 1bf302a4e Implement %Ez, %Oz for chrono formatter f1733afd4 Pin godbolt example to specific version f61dcccc6 Update README.rst f9bcbdcbc Update README.rst 1a854b4aa Clarify what mod_inv_5 is 62ceb181b fix #3105 - Compile-time error when mixing named argument with automatic indexing b0c8263cb include/fmt/core.h: copy constructors removal d24be2e95 Add countl_zero function 8d50d814d Fix a chrono formatting issue found by fuzzing 115ca96e0 Bump tested CMake version to 3.25 886491625 Remove workaround for GTest bug 74c51ff37 Skip only strptime dependent test in scan-test 69ffedfe5 Use `target_compile_features` to specify C++ standard requirement fae6f7e08 Optimize range formatter a69e43c9d Update benchmark results 91c024ed3 Rename leading_v -> leading_xdigit 649aa102d CI linux: add CIFuzz Github action 31364732d Replace snprintf-based hex float formatter with internal implementation 74d55a493 Add missing operators 8276f1a20 Fix warning: the implicit by-copy capture of "this" is deprecated (EDG frontend) 81ebe70b9 Fix warning: a class type that is not trivially copyable passed through ellipsis (EDG frontend) 3160847eb Enable C++17 tests on macOS 6a95f8c7e Add missing env CTEST_OUTPUT_ON_FAILURE c7980542d Skip the scan-test if strptime isn't defined (#3184) 7df30f91a Format unique_ptr with custom deleter (#3177) d2e89c8b0 Document more chrono specs bd1959320 Document more chrono specs fd0d0ec8d Document more chrono specs 8e93434ed Update README.rst fc07217d8 Make utf-8 detection compatible with gbk cb7373b46 Replace format with FMT_STRING. (#3162) 795ed8abf Add precision modifier for seconds in chrono format (#3148) 66d71a1b3 Fixing formatting of range of range of char. (#3158) 80f8d3442 fmt::ostream - aggregate buffer instead of inheriting it (#3139) 64965bdc9 Add locale getter in tm_writer (#3147) e1ffa7655 Fix warning: conditional expression is constant. (#3150) 8c19bf3f2 Mention MariaDB amongst the projects that use fmt (#3145) f67dbc981 Remove duplicate implementation (#3144) cd7202e03 Fix overflow error (#3143) 51d3685ef Remove duplicate template parameter. (#3142) 9254cfa6f Support formatting of subseconds (#3115) cfb34a060 Avoid using `uint` as a type name (#3137) 5ad7b7138 Fix options for C++20 experimental module in CMake (#3134) d2c47c0df Fix broken condition (#3129) 491c32cbd Workaround gcc bug 103879 662adf4f3 Move formatter<std::error_code> from fmt/os.h to fmt/std.h (#3125) ad91cab37 Normalization of stdlib inline namespace names (#3119) 0ccaed3a6 Set CMAKE_RUNTIME_OUTPUT_DIRECTORY relative to CMAKE_CURRENT_BINARY_DIR instead of CMAKE_BINARY_DIR (#3120) ad719619c Support formatting of std time_point with utc_clock (#3110) 6e0a5f7fb Update CI to Ubuntu 20.04 and to newer versions of actions 48f525d02 Add basic_format_string::get() 0b5cb18b7 Use buffering in to_string to avoid bloat 4c4f99a58 Update a godbolt link 3272a7a3c Update an example a48e3355a Improve docs afcf42429 Update docs ac85afaab Simplify format_error 3178bb9a2 Update docs cf58f64c5 Update docs e4e0ae391 Use fmt/core.h in examples d65acc4e6 Improve docs c9f790b06 Update docs 6b8144a5a Update locale docs 2d66ad5d3 Suppress -Wshadow 042af5332 Suppress -Wfloat-equal 192859c2b Optimize writing to buffers via back_insert_iterator e2f6d7665 fix gcc <= 7.1 compile errors 61844b6b6 Fix build error on GCC-9 7a752e75f New CI: GCC-9 94ceb38a0 Improve locale API 58c4c012f Disable slow windows build and simplify write_loc c3494ae36 Refactor float localization 8ae56161c Fix compilation with FMT_ENFORCE_COMPILE_STRING and FMT_WERROR (#3091) 76705fc2e Update doc 21c2137e7 Add class name output to formatter for std::exception (#3076) ecffca672 Don't parse '}' as fill 3176e0fad Add locale overload for formatted_size (#3084) (#3087) 1feb430fa Fix intellisense on Windows (#3082) b98ffb7db Improve locale handling bac53951b Add starts_with to basic_string_view. (#3080) d59b89e9c More locale 58a5563a9 Implement grouping 1b94271ff Add support for UTF-8 digit separators 768d79a83 Implement format_facet 91ecb38a3 Localize negative integers aec3bb5d0 Workaround C complex.h idiocy 29c600013 Simplify is_variant_like_ check, fix compile error before GCC 11 (#3072) fec5515c5 num_format_facet -> format_facet f187274d3 Add loc_value fc5e59fe4 Don't use stringstream d6a870460 Improve locale support 56c72a671 Reduce locale dependency 4191477b9 Add formatter for std::exception (#3062) 75383a87f Inline trivial functions 48327a82e Make format.h compile faster b79ed4105 Remove unnecessary type_identity 64e29893c Improve locale support 0b0f7cfbf hip workaround 40e414d82 Fix compilation error with gcc-7.2.0 33b4c33c5 Requires FMT_CONSTEXPR20 support a07411c2b Disable compile-time checks for dynamic width/precision test for LCC and compiler without std::is_constant_evaluated() 797d82b21 Disable non-type template args for LCC a553521d6 Disable "GCC optimize" pragma for LCC a33701196 Update version 1f575fd5c Bump version c7635288f Fix docs, take 2 c8ed78e31 Fix docs e07cfb206 Update changelog 1dc7af569 Fix markup f7d21c3a1 Update changelog a55bcb24b Update changelog 30cb2b312 Remove appveyor config cf8d3c322 Update changelog 3c3cb6f6b Update changelog 91481f255 Detemplatize code_point_length_impl f98048b62 Fix bugs in utf8 decoder (#3056) 4a8e2949b Fix formatting of ranges of code unit types 3a3b0709e Disable bogus -Wstringop-overflow on GCC 11 (#3054) e724bbea1 Fix wchar_t corner cases 665d9779e Disable non-type template args for nvhpc (#3053) 13d07c6a3 Apply doc fixes retroactively 391f922ac Improve error reporting in format string compilation dc59d3df3 Fix a warning in gtest 489dabbd3 Fix decoder on broken utf8 sequences. (#3044) 541cd2183 Fix locale name (thanks Mikhail Paulyshka) 1f95c3438 Fix sign handling with large code units 779449fd9 Belarusify test fbb568bce nvhpc/22.3: workaround for c++17 mode. (#3043) 36c23bd5f Prepare for deprecating FindPythonInterp module. (#3040) 9ff0f3a7d Fix docs fd41110d3 Add MinGW to CI fc23cfbf4 Fix testsuite on MinGW + MSVCRT fd93b633b Constexpr formatted_size (#3026) 7fb8d33f9 Fix compile-time width/precision type check 8bd02e93b Reduce conditional compilation d9c1c7353 Use is_utf8() in print(std::ostream&, ...) 682e097be Remove -Wl,--as-needed linker option b9087ee58 Suppress unused typedef warning df56fdf88 Clarify docs for compile-time checks 90c48b852 Remove double code execution 5a8b7cd74 Add comment 36a25d75b Reuse detail::string_literal in the chrono formatter 6c9304b2c Replace ParseContext with basic_format_parse_context 24ab9dd19 Remove duplicate method a95dc1701 Remove unused condition 5f774c0ae I shouldn't be there 6567df7f2 Update README.rst 6c6b1fbf6 Workaround a bug in MSVC 9beddd08f Improve CI on Windows 6452e3c9e Fix a typo in example 756822ba3 Fix Unicode handling for ostream under Windows with libc++. (#3001) 0b2862a1e Range formatter (#2983) 258000064 Add fmt:: namespace to doc (#3009) e9ca7ea47 Suppress a bogus warning 81f1cc74a Improve Unicode handling when writing to an ostream on Windows (#2994) bbcb129e0 Reduce filesize of the tests on MinGW (#2995) 48e0a5922 Implement compile-time checks for dynamic width/precision type bc5c7c50f Fixes IBM XLC behavior with uint128 fallback (#2985) 00adc7120 Add a regression test for here be dragons c48be439f Add additional search paths for doxygen on Windows 371f9c71c Fix even in format_dragon 91abfcd6c Suppress an msvc warning deeab54b4 Remove unused include 688a627d6 Remove unused constants. 9bb1605f1 Remove some branches 8061d9afb Simplify Dragonbox implementation d82e1a108 Make sure the correct fmod overload is called defa04e73 Fix for EDG frontend (Intel, NVHPC compilers) (#2982) 92d36e82c The n specifier for ranges (#2981) 0db43cf7f Pointless comparison warnings (#2971) 05be7a076 Use FMT_USE_FLOAT128 instead of __SIZEOF_FLOAT128__ 2a1b3ac62 Fix large shift in uint128_fallback e1d3d3a32 Exclude recursive ranges from the formatter specialization for ranges (#2974) b761f1279 Improve forward using the idea from Jonathan Müller cc1926942 Inline std::forward d5e9166f5 Fixed typo in changelog example. b31d1a75a Add xchar support for fmt::streamed(). git-subtree-dir: externals/fmt git-subtree-split: f5e54359df4c26b6230fc61d38aa294581393084
2023-10-08 08:55:04 +01:00
#if FMT_MSC_VERSION
template class file_access<file_access_tag, std::filebuf,
&std::filebuf::_Myfile>;
auto get_file(std::filebuf&) -> FILE*;
#elif defined(_WIN32) && defined(_LIBCPP_VERSION)
template class file_access<file_access_tag, std::__stdoutbuf<char>,
&std::__stdoutbuf<char>::__file_>;
auto get_file(std::__stdoutbuf<char>&) -> FILE*;
#endif
inline bool write_ostream_unicode(std::ostream& os, fmt::string_view data) {
#if FMT_MSC_VERSION
if (auto* buf = dynamic_cast<std::filebuf*>(os.rdbuf()))
if (FILE* f = get_file(*buf)) return write_console(f, data);
#elif defined(_WIN32) && defined(__GLIBCXX__)
auto* rdbuf = os.rdbuf();
FILE* c_file;
if (auto* sfbuf = dynamic_cast<__gnu_cxx::stdio_sync_filebuf<char>*>(rdbuf))
c_file = sfbuf->file();
else if (auto* fbuf = dynamic_cast<__gnu_cxx::stdio_filebuf<char>*>(rdbuf))
c_file = fbuf->file();
else
return false;
if (c_file) return write_console(c_file, data);
#elif defined(_WIN32) && defined(_LIBCPP_VERSION)
if (auto* buf = dynamic_cast<std::__stdoutbuf<char>*>(os.rdbuf()))
if (FILE* f = get_file(*buf)) return write_console(f, data);
#else
ignore_unused(os, data);
#endif
return false;
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
}
Squashed 'externals/fmt/' changes from c4ee72653..f5e54359d f5e54359d Update version a003ab93c Update changelog 9b7416081 `atomic_flag` formatting (#3594) a21690bdf Coding conventions c9efd8968 Merge branch 'MathewBensonCode-master' e78682405 Refactor Improvement on umul128 function 2b20d7be6 Refactor To remove friend function private access 1f38ebbdb Add condition to include friend function in win32 e41817969 Fix for FMT_MODULE not compiling on GCC 0bffed895 Bump actions/checkout from 3.1.0 to 3.5.3 (#3602) cc077a5e3 Fix `FMT_NO_UNIQUE_ADDRESS` warning with clang-cl. (#3600) a992b3d1f Fix for Compilation Error When Using FMT_MODULE (#3597) af1b768cc Update changelog 2a7c45b54 Update changelog bd868f3a5 Improve compatibility with GBK #3598 (#3599) bbb784fb1 Fix a gcc error about partial specialization after instantiation 6c845f57e Fix `formatted_size` with `FMT_COMPILE` and format specs (#3588) a379595c5 Bump actions/upload-artifact from 3.1.0 to 3.1.2 (#3593) 9dfde7871 Bump ossf/scorecard-action from 2.1.2 to 2.2.0 (#3592) e92a705bd Bump github/codeql-action from 2.2.4 to 2.21.4 (#3591) 5a866fe85 Add formatter for std::atomic (#3574) e150ea0cc to_string supports types with format_as 29ce2ff8a Update README.rst 2e1362add Create scorecard.yml e57ca2e36 Update version 4c56612c6 Update changelog e1acd5f4d Bump version 6ffee2f75 Handle new rst nodes ee475d640 Update changelog ecc914125 Update changelog d42486231 Fix fixed precision handling during rounding in long double 3c1b3337d Update changelog 35fb69ebe Update changelog f92be35c0 Update changelog 7a2f6ac21 Fix a comment 744ff5554 Fix docs 70ae48b00 Update changelog ebb10347c Merge branch 'master' of github.com:fmtlib/fmt 100572016 Clarify that visit_format_arg is deprecated aeb6ad4dd Added formatter for bit_reference-like types (#3570) 96d1fa22d Update changelog 8a4bec5cf fix ambiguous formatter lookup for flat_set (#3561) eacd51c24 cmake: fix FMT_PKGCONFIG_DIR path (#3563) 757564f5c add missing inline specifier (#3552) f4214ae8d Use the U literal for unsigned integer constants. (#3549) aecf80d30 Update a comment 503d49286 expose detail::throw_format_error (#3551) 4f46cb82f Remove std::copy usage. (#3550) 3dec65b7f Use replacement character in path dbabb305c Turn off error-producing NVCC workaround when using c++20 (#3544) ac0ab8eff Improve path formatter 40f35d6f0 Cleanup std formatters 31c2c5679 Cleanup formatters b2728a317 Improve path formatter 77e0b0e22 Cleanup chrono formatter e47585904 Fix overspecified tests 436c131d4 Optimize compiled format_to_n 388bc296b Fix fixed formatting of small long doubles 95e1ea573 Clarify requirement on compiled formatter fb97cb231 Suppress a bogus stringop-overflow warning dd5a9691f Clarify that data is not null-terminated 72dc4491e Fix format_string_checker initialisation order (#3542) 9bea6ec04 Don't use deprecated checked_array_iterator 661b23ede Call parse on empty specs at compile time 8e87d3a8b Fix include a47491656 Update CMakeLists.txt (#3523) de4705f84 Trying to improve errors in the unformattable case (#3478) e4c8cfe38 README: Add link to merged clang-tidy check (#3515) 606f85f8b Workaround brain-damaged conversions a331dbfb6 Fix type in assert message. (#3508) 13156e54b Revert "add ability to build Apple framework using CMAKE_FRAMEWORK" (#3496) 9158bea1e Remove old grisu tests dd17f89a1 Fix for issue #3492 (#3493) 1daae555b Optimize format string compilation 6ad301235 Optimize code unit output in compiled format 8732ad877 Update docs 5afb1821a Update docs a81135f2c Fix a link dfc34821a Update docs 0765e7284 Update docs 977d887a4 Suppress a bogus warning c86fe0b8d Give basic_memory_buffer allocator [[no_unique_address]] (#3485) 5dbe0ff95 Bump actions/checkout from 3.5.2 to 3.5.3 (#3486) de0757b57 Use FMT_TRY and FMT_CATCH in std.h (#3482) 8fe893c0a Update README.rst 0f823df46 Remove detail namespace hack 60fd9941c Use correct Char type in std::filesystem::path (#3476) 8abfc145b Fix MSVC warning in std::chrono::time_point formatter (#3475) 686b3353a Simplify typeid check b2106f363 Tweak comments 35547d600 Use const_check to silence MSVC warning 179c7e5a6 Use typeid() only if it's available 61fb3a15f Add VxWorks7 user space and kernel space support (#3467) bd393456e Remove FMT_*_DETAIL_NAMESPACE 6be36af0d Remove udl_formatter 2a35eeed8 Remove unused data 256a826d6 Consolidate formatters 6369af37d Simplify formatters 0b8404918 Remove get_cached_power 171a020c8 Pass correct Char to base format_as formatter (#3457) d8f04e399 Simplify ceil 5e988f8df Remove is_constant_evaluated() check 19b17618a Make constexpr ceil c684a06d5 New CI: macOS 13, Xcode 14.3, C++ 20 abdb7fdf8 Update api.rst 8b09fe2a0 Fix example for user-defined types in documentation for 10.0.0 (#3461) adad18a74 Update ChangeLog.rst 858e528ab Use dragon in constexpr a54cb108d CMake: Do not fail on unknown compiler features (#3453) ef55d4f52 Suppress a bogus gcc warning 70b6a6fa4 Update README.rst (#3454) 6fe895410 Remove invalid_arg_index d0652d225 Create dependabot.yml (#3452) de8d0171a Simplify FMT_FORMAT_AS 7401fe046 Hash pin Github Workflows (#3451) 08ef0d084 fix formatter<char*> (#3432) d60b907f8 Replace mod_inv_25 by explicit value (#3450) 4ce086f73 remove code duplication (#3448) 821f8cdb4 Detemplatize printf more 0bf6ed7e1 Cleanup printf e40e04fac Detemplatize printf_arg_formatter 0a1c27281 Detemplatize basic_printf_context 2f605cc89 Deprecate wide printf 1d54499ac Apply coding conventions 3c6053c53 Cleanup basic_printf_context 4a392adaa Remove basic_printf_parse_context b14913fae FMT_MODULE_EXPORT -> FMT_EXPORT 2117df299 format-inl.h: address implicit int to bool conversion (#3446) 616a49378 Revert Char* formatter removal 9a034b0d5 Always assert in FMT_THROW (#3439) e0fc0e85e Remove unneeded FMT_API 552c43aba Improve long formatters d6846f4ac Clarify why byte formatter is in core aeedac588 Remove unneeded specialization eaa630769 Make hex float test more stable (#3434) e82bf41a1 Update README.rst e077396f5 Update docs 861facad0 Fix a typo 75bfe5761 Improve docs 697e76ba3 Don't call init_named_args unnecessarily a425e0ff3 Cleanup xchar API c36dd825b Remove unnecessary forwarding 130b8fcdb Reduce template instantiations a47e8419b Cleanup the core API ea49c91cd Cleanup argument construction d7592ad8b Fix time_point formatting for durations with certain ratios (#3430) ebfb2e677 Remove unused alias 5780269d5 Improve API safety b47119216 Fix a comment 8f18e72df Improve API safety 93d7cb12f Fix formatting 0e4278717 Remove unused macro 93a30a074 unicode_to_utf8 -> to_utf8 since both sides of conversion are Unicode a08196b14 Update ChangeLog.rst 0398ba42c Update ChangeLog.rst a0b8a92e3 Update version 5cf2342aa Bump version fe9d39d7c Update changelog 4c9856197 Update changelog 403b271ed Update changelog 2c991e1af Update changelog c984df981 Remove an unused function from internal class fbf21ed22 Update changelog 575583144 Update changelog e7f6888c7 Update changelog 39db2dfd0 Update changelog 9b7829e26 Update changelog 1e0ce567e Fix formatting of paths containing invalid Unicode dde8cf3bb Unification utf16/utf32 to utf8 conversion e84b00e01 Workaround to error: variable 'n' set but not used [-Werror,-Wunused-but-set-variable] b12ffea4f Add filesystem_error test back f61f15cc5 Suppress a false positive in gcc 192df93d7 modules missing pieces (#3399) d8973bf16 Add FMT_STRING for format_to() call (#3413) d7a8e50cb Improve module testing (#3397) 02cae7e48 Improve handling of Unicode in paths 53162142b Remove .bazelrc mention from Bazel related readme (#3411) 5bcf0d7f9 Bazel support (#3406) f8c9fabd9 Fix spelling (#3404) 62ff4e1db Remove foonathan from maintainer list (#3402) f449ca052 Name `vfprintf` clashes with the identically named declaration in 'stdio.h' if that happens to be #included into the same TU. Fix this by using qualified name lookup instead of unqualified lookup that also enables ADL. (#3400) eafcd3c8e Optionally attach declarations to the `global module` rather than `module fmt` (#3387) 18154cc90 Simplify print 0de789cf2 Update changelog c03938922 export names only once (#3392) 93e81bb5d Fix C4365 (signed/unsigned mismatch) warning on 32-bit Windows (#3398) e7d6eb679 Update tests to use recommended MOCK_METHOD (#3395) 18e7a2532 Remove obsolete msvc workarounds (#3388) 0489c19dc fix and improve module (#3386) 8ec94ac6a Use full path to pcm d97d8cea6 Push module check to test d8a2698e6 Fix compilation as a C++20 module with gcc 13 d9c19940a Update add_module_library 4b5ae0b0e Remove unnecessary module support check 75f3b1c09 Use add_module_library faf83406a Workaround cmake issue 165814d57 Add module support to CMake 33f715077 Fix error C2668 on msvc (#3378) c98e5a08a Fix modular build on clang 119c6bd16 Move the modules check 77eeb7183 Remove unused headers 13bf99f9d Enable modules in clang 16 1d0257e4c FMT_MODULE_EXPORT_* -> FMT_EXPORT_* 4613d48fd FMT_EXPORT -> FMT_LIB_EXPORT 4a4a2a2bd Fix diagnostics fce74caa1 Disable problematic implicit conversions 02bf4d1c1 Disable to_string_view ADL 466e0650e Remove problematic workaround 029caa8ea Update changelog e406ddbfa Remove broken part of the config 909567953 Update changelog 7f46cb75b ranges: Fix extra semi (#3374) 4e3f38105 Update changelog d3c10f516 fix compilation for MSDOS (#3369) ab956f600 Update changelog 97aedeab4 Workaround a double-double hexfloat format (#3366) bce8d4ed0 Remove stray comment a91c7b286 Cleanup the core API 19c074e47 Remove deprecated fallback formatter 41cfc739f Generalize format_as f6276a2c2 Force use a signed char (On ARM char is unsigned by default) (#3362) 6002ddf82 Remove a deprecated option 6549ffde8 Improve format_as safety d9bc5f132 Fix code causing spurious Wstringop-overflow warning 9c5cd998d Remove unused functions 93bfa0538 %T is %H:%M:%S (#3349) d8e1c4265 fix case of variant which is valueless by exception (#3347) e1720c0e5 Fix CUDA nvcc warning fmt/include/fmt/core.h(295): warning #1675-D: unrecognized GCC pragma (#3352) 7f882918e `write_floating_seconds`: Fall back to `::round` (#3343) cbc7b8d5c Cleanup dead variable (#3338) 050293646 Path is not escaped twice in the debug mode (#3321) 3daf33837 Enable consteval for Xcode 14.0.1 and later (#3331) e0748e61d Fix recursion check in range formatting b94e1016f chore: set permission to cifuzz.yml (#3328) 98699719f Make # handling consistent with std::format 48dfbcaa9 Improve license and PR template wording c644c753d Add '🐙 userver framework' to the projects 73b7cee7f Fix for issue #3325 (#3326) 5b8302079 Add optional support (#3303) 3a69529e8 Fix various typos (#3312) 76f520835 Call element parse in tuple parse 507c3042d class -> typename 1741e90de Always call parse in range formatter d646fd0da Minor cleanup b5c2f74f4 change sopen_s to wsopen_s (fmtlib#3234) (#3293) e03753c4a Add ubuntu mirrors (#3302) 6e6eb6377 [msvc] fix warning about non-inline variable 3c5464ba1 Fix OpenBSD build error (#3295) 655046d24 Fix container adaptor formatting 581c6292c Add formatters for container adapters (#3279) 7718eeeac Implement glibc ext for sec, min, and hour (#3271) 44e0eea94 Use FMT_HAS_INCLUDE and apply clang-format 99070899b Fix errors setting of FMT_USE_FLOAT128 (#3259) 05e3a9233 Allowing formatting non-copyable ranges. (#3290) 70db193f0 Visual Studio 2022: fmt/format-inl.h(1145,60): warning C4310: cast truncates constant value #3287 (#3288) a2c05a10e Workaround a bug in MSVC <= 19.22 cae9bf45b Simplify apidoc comments 87c066a35 Implement `println` (#3267) 9409b2e4d Workaround for incompatibility between libstdc++ consteval-based std::is_constant_evaluated() implementation and clang-14 (#3281) f89cd276f Refactor countl_zero fallback (#3276) 240b728d8 Report an error on overflow dfbb952b2 Fix empty spec for time point (#3275) 39971eb33 Fix localized format for float-point numbers (#3272) 0f42c17d8 Implement a new formatting algorithm for small given precision (#3269) bfc0924ea Bugfix for fmt::printf on Power9 architecture with the XL compiler (#3256) 676c2a107 Fix negative subsec for time_point (#3261) 2c80cedc3 Fix standard default installation target presence (#3264) dda53082b Support fill, align & width for time point (#3260) 2622cd23e Simplify arg_mapper 9e4a54fa6 Disable remaining implicit conversions 9ce648067 Disble deprecated implicit enum conversions 9121f9b1d Enable format_as for classes b7535365b Enable format_as for non-integral types 09ed1ddb9 Cleanup tests 0ec65d99a Merge parse_presentation_type into parse_format_specs 71e4e0272 Cleanup vprintf aad546baa Simplify presentation type parsing 14a69fcc5 Use parse_align bf34ffd33 Refactor format string parsing 6056e0712 Simplify symbols aa99b8640 Minor cleanup 6ade2eb4e Inline all_int_set caa697494 Simplify parse functions a73a9b6a8 Refactor format string checks 72785a3ab Cleanup write 0c3dd5ddd Remove redundant check 739b600f4 Remove iterator shenanigans 3710c4d38 Link to dragonbox a05ba44df Simplify format string parsing ffb9b1d13 Improve handling of signed types 32190859e Fix handling of char 8fe4d97d5 Reduce template instantiations 7e5a95956 Fix build with MSVC C++20 modules (#3254) 9e6030486 Clarify that unused args are allowed 7ad48c1f6 Cleanup core.h a921a596e Cleanup core.h 3e762fdf5 Use ignore_unused 79981a252 Cleanup ranges formatting bd12aaa98 Simplify format string parsing b8f36207c Simplify format string parsing d907786f0 Move anchor to where it belongs f2355bbe5 Fix docs f398c9476 Fix docs 4841784e8 Simplify C99 strftime detection conditions cb72c23e9 Improve timezone tests 583f2d820 Set timezone for chrono tests 32c439070 Minor cleanup 3a5e19fbf Minor cleanup dfb857ebe Refactor format spec parsing 9ea9b6bcb Cleanup arg id parsing 2b0ff62a7 Remove unused template arg from format_string_checker d1745084e Simplify parse context 407e7b7b6 basic_format_specs -> format_specs 3cf979475 Cleanup format string parsing 934c8e5f7 Refactor precision parsing fc9693834 Remove empty semicolon f0ab112c3 Cleanup parsing 9660e5b95 Remove redundant tests a585571e9 Ignore 0 character with align 840ec8569 Cleanup width handlers 1dadeb8a3 Refactor width parsing 275b4b341 Remove obsolete parse-benchmark e004f1d69 Fix for issue #3241 bde1a6070 Simplify fill and alignment parsing 040dc2a5d small typo in syntax.rst 6a186bcd6 Localize FMT_USE_LOCAL_TIME 8c56919bd Check chrono spec starts with % 115001a3b Formatting of system clocks ought to be to UTC, not to local time. This improves standards conformance of fmt. b90895412 Fix formatting of named arguments with locale d072f1dc6 Fix for issue #3228 3999fd193 Workaround an ADL issue c06e0b4ed Extract timezone offset from timezone conversion functions 1bf302a4e Implement %Ez, %Oz for chrono formatter f1733afd4 Pin godbolt example to specific version f61dcccc6 Update README.rst f9bcbdcbc Update README.rst 1a854b4aa Clarify what mod_inv_5 is 62ceb181b fix #3105 - Compile-time error when mixing named argument with automatic indexing b0c8263cb include/fmt/core.h: copy constructors removal d24be2e95 Add countl_zero function 8d50d814d Fix a chrono formatting issue found by fuzzing 115ca96e0 Bump tested CMake version to 3.25 886491625 Remove workaround for GTest bug 74c51ff37 Skip only strptime dependent test in scan-test 69ffedfe5 Use `target_compile_features` to specify C++ standard requirement fae6f7e08 Optimize range formatter a69e43c9d Update benchmark results 91c024ed3 Rename leading_v -> leading_xdigit 649aa102d CI linux: add CIFuzz Github action 31364732d Replace snprintf-based hex float formatter with internal implementation 74d55a493 Add missing operators 8276f1a20 Fix warning: the implicit by-copy capture of "this" is deprecated (EDG frontend) 81ebe70b9 Fix warning: a class type that is not trivially copyable passed through ellipsis (EDG frontend) 3160847eb Enable C++17 tests on macOS 6a95f8c7e Add missing env CTEST_OUTPUT_ON_FAILURE c7980542d Skip the scan-test if strptime isn't defined (#3184) 7df30f91a Format unique_ptr with custom deleter (#3177) d2e89c8b0 Document more chrono specs bd1959320 Document more chrono specs fd0d0ec8d Document more chrono specs 8e93434ed Update README.rst fc07217d8 Make utf-8 detection compatible with gbk cb7373b46 Replace format with FMT_STRING. (#3162) 795ed8abf Add precision modifier for seconds in chrono format (#3148) 66d71a1b3 Fixing formatting of range of range of char. (#3158) 80f8d3442 fmt::ostream - aggregate buffer instead of inheriting it (#3139) 64965bdc9 Add locale getter in tm_writer (#3147) e1ffa7655 Fix warning: conditional expression is constant. (#3150) 8c19bf3f2 Mention MariaDB amongst the projects that use fmt (#3145) f67dbc981 Remove duplicate implementation (#3144) cd7202e03 Fix overflow error (#3143) 51d3685ef Remove duplicate template parameter. (#3142) 9254cfa6f Support formatting of subseconds (#3115) cfb34a060 Avoid using `uint` as a type name (#3137) 5ad7b7138 Fix options for C++20 experimental module in CMake (#3134) d2c47c0df Fix broken condition (#3129) 491c32cbd Workaround gcc bug 103879 662adf4f3 Move formatter<std::error_code> from fmt/os.h to fmt/std.h (#3125) ad91cab37 Normalization of stdlib inline namespace names (#3119) 0ccaed3a6 Set CMAKE_RUNTIME_OUTPUT_DIRECTORY relative to CMAKE_CURRENT_BINARY_DIR instead of CMAKE_BINARY_DIR (#3120) ad719619c Support formatting of std time_point with utc_clock (#3110) 6e0a5f7fb Update CI to Ubuntu 20.04 and to newer versions of actions 48f525d02 Add basic_format_string::get() 0b5cb18b7 Use buffering in to_string to avoid bloat 4c4f99a58 Update a godbolt link 3272a7a3c Update an example a48e3355a Improve docs afcf42429 Update docs ac85afaab Simplify format_error 3178bb9a2 Update docs cf58f64c5 Update docs e4e0ae391 Use fmt/core.h in examples d65acc4e6 Improve docs c9f790b06 Update docs 6b8144a5a Update locale docs 2d66ad5d3 Suppress -Wshadow 042af5332 Suppress -Wfloat-equal 192859c2b Optimize writing to buffers via back_insert_iterator e2f6d7665 fix gcc <= 7.1 compile errors 61844b6b6 Fix build error on GCC-9 7a752e75f New CI: GCC-9 94ceb38a0 Improve locale API 58c4c012f Disable slow windows build and simplify write_loc c3494ae36 Refactor float localization 8ae56161c Fix compilation with FMT_ENFORCE_COMPILE_STRING and FMT_WERROR (#3091) 76705fc2e Update doc 21c2137e7 Add class name output to formatter for std::exception (#3076) ecffca672 Don't parse '}' as fill 3176e0fad Add locale overload for formatted_size (#3084) (#3087) 1feb430fa Fix intellisense on Windows (#3082) b98ffb7db Improve locale handling bac53951b Add starts_with to basic_string_view. (#3080) d59b89e9c More locale 58a5563a9 Implement grouping 1b94271ff Add support for UTF-8 digit separators 768d79a83 Implement format_facet 91ecb38a3 Localize negative integers aec3bb5d0 Workaround C complex.h idiocy 29c600013 Simplify is_variant_like_ check, fix compile error before GCC 11 (#3072) fec5515c5 num_format_facet -> format_facet f187274d3 Add loc_value fc5e59fe4 Don't use stringstream d6a870460 Improve locale support 56c72a671 Reduce locale dependency 4191477b9 Add formatter for std::exception (#3062) 75383a87f Inline trivial functions 48327a82e Make format.h compile faster b79ed4105 Remove unnecessary type_identity 64e29893c Improve locale support 0b0f7cfbf hip workaround 40e414d82 Fix compilation error with gcc-7.2.0 33b4c33c5 Requires FMT_CONSTEXPR20 support a07411c2b Disable compile-time checks for dynamic width/precision test for LCC and compiler without std::is_constant_evaluated() 797d82b21 Disable non-type template args for LCC a553521d6 Disable "GCC optimize" pragma for LCC a33701196 Update version 1f575fd5c Bump version c7635288f Fix docs, take 2 c8ed78e31 Fix docs e07cfb206 Update changelog 1dc7af569 Fix markup f7d21c3a1 Update changelog a55bcb24b Update changelog 30cb2b312 Remove appveyor config cf8d3c322 Update changelog 3c3cb6f6b Update changelog 91481f255 Detemplatize code_point_length_impl f98048b62 Fix bugs in utf8 decoder (#3056) 4a8e2949b Fix formatting of ranges of code unit types 3a3b0709e Disable bogus -Wstringop-overflow on GCC 11 (#3054) e724bbea1 Fix wchar_t corner cases 665d9779e Disable non-type template args for nvhpc (#3053) 13d07c6a3 Apply doc fixes retroactively 391f922ac Improve error reporting in format string compilation dc59d3df3 Fix a warning in gtest 489dabbd3 Fix decoder on broken utf8 sequences. (#3044) 541cd2183 Fix locale name (thanks Mikhail Paulyshka) 1f95c3438 Fix sign handling with large code units 779449fd9 Belarusify test fbb568bce nvhpc/22.3: workaround for c++17 mode. (#3043) 36c23bd5f Prepare for deprecating FindPythonInterp module. (#3040) 9ff0f3a7d Fix docs fd41110d3 Add MinGW to CI fc23cfbf4 Fix testsuite on MinGW + MSVCRT fd93b633b Constexpr formatted_size (#3026) 7fb8d33f9 Fix compile-time width/precision type check 8bd02e93b Reduce conditional compilation d9c1c7353 Use is_utf8() in print(std::ostream&, ...) 682e097be Remove -Wl,--as-needed linker option b9087ee58 Suppress unused typedef warning df56fdf88 Clarify docs for compile-time checks 90c48b852 Remove double code execution 5a8b7cd74 Add comment 36a25d75b Reuse detail::string_literal in the chrono formatter 6c9304b2c Replace ParseContext with basic_format_parse_context 24ab9dd19 Remove duplicate method a95dc1701 Remove unused condition 5f774c0ae I shouldn't be there 6567df7f2 Update README.rst 6c6b1fbf6 Workaround a bug in MSVC 9beddd08f Improve CI on Windows 6452e3c9e Fix a typo in example 756822ba3 Fix Unicode handling for ostream under Windows with libc++. (#3001) 0b2862a1e Range formatter (#2983) 258000064 Add fmt:: namespace to doc (#3009) e9ca7ea47 Suppress a bogus warning 81f1cc74a Improve Unicode handling when writing to an ostream on Windows (#2994) bbcb129e0 Reduce filesize of the tests on MinGW (#2995) 48e0a5922 Implement compile-time checks for dynamic width/precision type bc5c7c50f Fixes IBM XLC behavior with uint128 fallback (#2985) 00adc7120 Add a regression test for here be dragons c48be439f Add additional search paths for doxygen on Windows 371f9c71c Fix even in format_dragon 91abfcd6c Suppress an msvc warning deeab54b4 Remove unused include 688a627d6 Remove unused constants. 9bb1605f1 Remove some branches 8061d9afb Simplify Dragonbox implementation d82e1a108 Make sure the correct fmod overload is called defa04e73 Fix for EDG frontend (Intel, NVHPC compilers) (#2982) 92d36e82c The n specifier for ranges (#2981) 0db43cf7f Pointless comparison warnings (#2971) 05be7a076 Use FMT_USE_FLOAT128 instead of __SIZEOF_FLOAT128__ 2a1b3ac62 Fix large shift in uint128_fallback e1d3d3a32 Exclude recursive ranges from the formatter specialization for ranges (#2974) b761f1279 Improve forward using the idea from Jonathan Müller cc1926942 Inline std::forward d5e9166f5 Fixed typo in changelog example. b31d1a75a Add xchar support for fmt::streamed(). git-subtree-dir: externals/fmt git-subtree-split: f5e54359df4c26b6230fc61d38aa294581393084
2023-10-08 08:55:04 +01:00
inline bool write_ostream_unicode(std::wostream&,
fmt::basic_string_view<wchar_t>) {
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
return false;
}
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
// Write the content of buf to os.
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
// It is a separate function rather than a part of vprint to simplify testing.
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
template <typename Char>
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
void write_buffer(std::basic_ostream<Char>& os, buffer<Char>& buf) {
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
const Char* buf_data = buf.data();
using unsigned_streamsize = std::make_unsigned<std::streamsize>::type;
unsigned_streamsize size = buf.size();
unsigned_streamsize max_size = to_unsigned(max_value<std::streamsize>());
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
do {
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
unsigned_streamsize n = size <= max_size ? size : max_size;
os.write(buf_data, static_cast<std::streamsize>(n));
buf_data += n;
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
size -= n;
} while (size != 0);
}
template <typename Char, typename T>
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
void format_value(buffer<Char>& buf, const T& value,
locale_ref loc = locale_ref()) {
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
auto&& format_buf = formatbuf<std::basic_streambuf<Char>>(buf);
auto&& output = std::basic_ostream<Char>(&format_buf);
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
#if !defined(FMT_STATIC_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
if (loc) output.imbue(loc.get<std::locale>());
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
#endif
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
output << value;
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
output.exceptions(std::ios_base::failbit | std::ios_base::badbit);
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
}
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
template <typename T> struct streamed_view { const T& value; };
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
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
} // namespace detail
// Formats an object of type T that has an overloaded ostream operator<<.
template <typename Char>
struct basic_ostream_formatter : formatter<basic_string_view<Char>, Char> {
Squashed 'externals/fmt/' changes from c4ee72653..f5e54359d f5e54359d Update version a003ab93c Update changelog 9b7416081 `atomic_flag` formatting (#3594) a21690bdf Coding conventions c9efd8968 Merge branch 'MathewBensonCode-master' e78682405 Refactor Improvement on umul128 function 2b20d7be6 Refactor To remove friend function private access 1f38ebbdb Add condition to include friend function in win32 e41817969 Fix for FMT_MODULE not compiling on GCC 0bffed895 Bump actions/checkout from 3.1.0 to 3.5.3 (#3602) cc077a5e3 Fix `FMT_NO_UNIQUE_ADDRESS` warning with clang-cl. (#3600) a992b3d1f Fix for Compilation Error When Using FMT_MODULE (#3597) af1b768cc Update changelog 2a7c45b54 Update changelog bd868f3a5 Improve compatibility with GBK #3598 (#3599) bbb784fb1 Fix a gcc error about partial specialization after instantiation 6c845f57e Fix `formatted_size` with `FMT_COMPILE` and format specs (#3588) a379595c5 Bump actions/upload-artifact from 3.1.0 to 3.1.2 (#3593) 9dfde7871 Bump ossf/scorecard-action from 2.1.2 to 2.2.0 (#3592) e92a705bd Bump github/codeql-action from 2.2.4 to 2.21.4 (#3591) 5a866fe85 Add formatter for std::atomic (#3574) e150ea0cc to_string supports types with format_as 29ce2ff8a Update README.rst 2e1362add Create scorecard.yml e57ca2e36 Update version 4c56612c6 Update changelog e1acd5f4d Bump version 6ffee2f75 Handle new rst nodes ee475d640 Update changelog ecc914125 Update changelog d42486231 Fix fixed precision handling during rounding in long double 3c1b3337d Update changelog 35fb69ebe Update changelog f92be35c0 Update changelog 7a2f6ac21 Fix a comment 744ff5554 Fix docs 70ae48b00 Update changelog ebb10347c Merge branch 'master' of github.com:fmtlib/fmt 100572016 Clarify that visit_format_arg is deprecated aeb6ad4dd Added formatter for bit_reference-like types (#3570) 96d1fa22d Update changelog 8a4bec5cf fix ambiguous formatter lookup for flat_set (#3561) eacd51c24 cmake: fix FMT_PKGCONFIG_DIR path (#3563) 757564f5c add missing inline specifier (#3552) f4214ae8d Use the U literal for unsigned integer constants. (#3549) aecf80d30 Update a comment 503d49286 expose detail::throw_format_error (#3551) 4f46cb82f Remove std::copy usage. (#3550) 3dec65b7f Use replacement character in path dbabb305c Turn off error-producing NVCC workaround when using c++20 (#3544) ac0ab8eff Improve path formatter 40f35d6f0 Cleanup std formatters 31c2c5679 Cleanup formatters b2728a317 Improve path formatter 77e0b0e22 Cleanup chrono formatter e47585904 Fix overspecified tests 436c131d4 Optimize compiled format_to_n 388bc296b Fix fixed formatting of small long doubles 95e1ea573 Clarify requirement on compiled formatter fb97cb231 Suppress a bogus stringop-overflow warning dd5a9691f Clarify that data is not null-terminated 72dc4491e Fix format_string_checker initialisation order (#3542) 9bea6ec04 Don't use deprecated checked_array_iterator 661b23ede Call parse on empty specs at compile time 8e87d3a8b Fix include a47491656 Update CMakeLists.txt (#3523) de4705f84 Trying to improve errors in the unformattable case (#3478) e4c8cfe38 README: Add link to merged clang-tidy check (#3515) 606f85f8b Workaround brain-damaged conversions a331dbfb6 Fix type in assert message. (#3508) 13156e54b Revert "add ability to build Apple framework using CMAKE_FRAMEWORK" (#3496) 9158bea1e Remove old grisu tests dd17f89a1 Fix for issue #3492 (#3493) 1daae555b Optimize format string compilation 6ad301235 Optimize code unit output in compiled format 8732ad877 Update docs 5afb1821a Update docs a81135f2c Fix a link dfc34821a Update docs 0765e7284 Update docs 977d887a4 Suppress a bogus warning c86fe0b8d Give basic_memory_buffer allocator [[no_unique_address]] (#3485) 5dbe0ff95 Bump actions/checkout from 3.5.2 to 3.5.3 (#3486) de0757b57 Use FMT_TRY and FMT_CATCH in std.h (#3482) 8fe893c0a Update README.rst 0f823df46 Remove detail namespace hack 60fd9941c Use correct Char type in std::filesystem::path (#3476) 8abfc145b Fix MSVC warning in std::chrono::time_point formatter (#3475) 686b3353a Simplify typeid check b2106f363 Tweak comments 35547d600 Use const_check to silence MSVC warning 179c7e5a6 Use typeid() only if it's available 61fb3a15f Add VxWorks7 user space and kernel space support (#3467) bd393456e Remove FMT_*_DETAIL_NAMESPACE 6be36af0d Remove udl_formatter 2a35eeed8 Remove unused data 256a826d6 Consolidate formatters 6369af37d Simplify formatters 0b8404918 Remove get_cached_power 171a020c8 Pass correct Char to base format_as formatter (#3457) d8f04e399 Simplify ceil 5e988f8df Remove is_constant_evaluated() check 19b17618a Make constexpr ceil c684a06d5 New CI: macOS 13, Xcode 14.3, C++ 20 abdb7fdf8 Update api.rst 8b09fe2a0 Fix example for user-defined types in documentation for 10.0.0 (#3461) adad18a74 Update ChangeLog.rst 858e528ab Use dragon in constexpr a54cb108d CMake: Do not fail on unknown compiler features (#3453) ef55d4f52 Suppress a bogus gcc warning 70b6a6fa4 Update README.rst (#3454) 6fe895410 Remove invalid_arg_index d0652d225 Create dependabot.yml (#3452) de8d0171a Simplify FMT_FORMAT_AS 7401fe046 Hash pin Github Workflows (#3451) 08ef0d084 fix formatter<char*> (#3432) d60b907f8 Replace mod_inv_25 by explicit value (#3450) 4ce086f73 remove code duplication (#3448) 821f8cdb4 Detemplatize printf more 0bf6ed7e1 Cleanup printf e40e04fac Detemplatize printf_arg_formatter 0a1c27281 Detemplatize basic_printf_context 2f605cc89 Deprecate wide printf 1d54499ac Apply coding conventions 3c6053c53 Cleanup basic_printf_context 4a392adaa Remove basic_printf_parse_context b14913fae FMT_MODULE_EXPORT -> FMT_EXPORT 2117df299 format-inl.h: address implicit int to bool conversion (#3446) 616a49378 Revert Char* formatter removal 9a034b0d5 Always assert in FMT_THROW (#3439) e0fc0e85e Remove unneeded FMT_API 552c43aba Improve long formatters d6846f4ac Clarify why byte formatter is in core aeedac588 Remove unneeded specialization eaa630769 Make hex float test more stable (#3434) e82bf41a1 Update README.rst e077396f5 Update docs 861facad0 Fix a typo 75bfe5761 Improve docs 697e76ba3 Don't call init_named_args unnecessarily a425e0ff3 Cleanup xchar API c36dd825b Remove unnecessary forwarding 130b8fcdb Reduce template instantiations a47e8419b Cleanup the core API ea49c91cd Cleanup argument construction d7592ad8b Fix time_point formatting for durations with certain ratios (#3430) ebfb2e677 Remove unused alias 5780269d5 Improve API safety b47119216 Fix a comment 8f18e72df Improve API safety 93d7cb12f Fix formatting 0e4278717 Remove unused macro 93a30a074 unicode_to_utf8 -> to_utf8 since both sides of conversion are Unicode a08196b14 Update ChangeLog.rst 0398ba42c Update ChangeLog.rst a0b8a92e3 Update version 5cf2342aa Bump version fe9d39d7c Update changelog 4c9856197 Update changelog 403b271ed Update changelog 2c991e1af Update changelog c984df981 Remove an unused function from internal class fbf21ed22 Update changelog 575583144 Update changelog e7f6888c7 Update changelog 39db2dfd0 Update changelog 9b7829e26 Update changelog 1e0ce567e Fix formatting of paths containing invalid Unicode dde8cf3bb Unification utf16/utf32 to utf8 conversion e84b00e01 Workaround to error: variable 'n' set but not used [-Werror,-Wunused-but-set-variable] b12ffea4f Add filesystem_error test back f61f15cc5 Suppress a false positive in gcc 192df93d7 modules missing pieces (#3399) d8973bf16 Add FMT_STRING for format_to() call (#3413) d7a8e50cb Improve module testing (#3397) 02cae7e48 Improve handling of Unicode in paths 53162142b Remove .bazelrc mention from Bazel related readme (#3411) 5bcf0d7f9 Bazel support (#3406) f8c9fabd9 Fix spelling (#3404) 62ff4e1db Remove foonathan from maintainer list (#3402) f449ca052 Name `vfprintf` clashes with the identically named declaration in 'stdio.h' if that happens to be #included into the same TU. Fix this by using qualified name lookup instead of unqualified lookup that also enables ADL. (#3400) eafcd3c8e Optionally attach declarations to the `global module` rather than `module fmt` (#3387) 18154cc90 Simplify print 0de789cf2 Update changelog c03938922 export names only once (#3392) 93e81bb5d Fix C4365 (signed/unsigned mismatch) warning on 32-bit Windows (#3398) e7d6eb679 Update tests to use recommended MOCK_METHOD (#3395) 18e7a2532 Remove obsolete msvc workarounds (#3388) 0489c19dc fix and improve module (#3386) 8ec94ac6a Use full path to pcm d97d8cea6 Push module check to test d8a2698e6 Fix compilation as a C++20 module with gcc 13 d9c19940a Update add_module_library 4b5ae0b0e Remove unnecessary module support check 75f3b1c09 Use add_module_library faf83406a Workaround cmake issue 165814d57 Add module support to CMake 33f715077 Fix error C2668 on msvc (#3378) c98e5a08a Fix modular build on clang 119c6bd16 Move the modules check 77eeb7183 Remove unused headers 13bf99f9d Enable modules in clang 16 1d0257e4c FMT_MODULE_EXPORT_* -> FMT_EXPORT_* 4613d48fd FMT_EXPORT -> FMT_LIB_EXPORT 4a4a2a2bd Fix diagnostics fce74caa1 Disable problematic implicit conversions 02bf4d1c1 Disable to_string_view ADL 466e0650e Remove problematic workaround 029caa8ea Update changelog e406ddbfa Remove broken part of the config 909567953 Update changelog 7f46cb75b ranges: Fix extra semi (#3374) 4e3f38105 Update changelog d3c10f516 fix compilation for MSDOS (#3369) ab956f600 Update changelog 97aedeab4 Workaround a double-double hexfloat format (#3366) bce8d4ed0 Remove stray comment a91c7b286 Cleanup the core API 19c074e47 Remove deprecated fallback formatter 41cfc739f Generalize format_as f6276a2c2 Force use a signed char (On ARM char is unsigned by default) (#3362) 6002ddf82 Remove a deprecated option 6549ffde8 Improve format_as safety d9bc5f132 Fix code causing spurious Wstringop-overflow warning 9c5cd998d Remove unused functions 93bfa0538 %T is %H:%M:%S (#3349) d8e1c4265 fix case of variant which is valueless by exception (#3347) e1720c0e5 Fix CUDA nvcc warning fmt/include/fmt/core.h(295): warning #1675-D: unrecognized GCC pragma (#3352) 7f882918e `write_floating_seconds`: Fall back to `::round` (#3343) cbc7b8d5c Cleanup dead variable (#3338) 050293646 Path is not escaped twice in the debug mode (#3321) 3daf33837 Enable consteval for Xcode 14.0.1 and later (#3331) e0748e61d Fix recursion check in range formatting b94e1016f chore: set permission to cifuzz.yml (#3328) 98699719f Make # handling consistent with std::format 48dfbcaa9 Improve license and PR template wording c644c753d Add '🐙 userver framework' to the projects 73b7cee7f Fix for issue #3325 (#3326) 5b8302079 Add optional support (#3303) 3a69529e8 Fix various typos (#3312) 76f520835 Call element parse in tuple parse 507c3042d class -> typename 1741e90de Always call parse in range formatter d646fd0da Minor cleanup b5c2f74f4 change sopen_s to wsopen_s (fmtlib#3234) (#3293) e03753c4a Add ubuntu mirrors (#3302) 6e6eb6377 [msvc] fix warning about non-inline variable 3c5464ba1 Fix OpenBSD build error (#3295) 655046d24 Fix container adaptor formatting 581c6292c Add formatters for container adapters (#3279) 7718eeeac Implement glibc ext for sec, min, and hour (#3271) 44e0eea94 Use FMT_HAS_INCLUDE and apply clang-format 99070899b Fix errors setting of FMT_USE_FLOAT128 (#3259) 05e3a9233 Allowing formatting non-copyable ranges. (#3290) 70db193f0 Visual Studio 2022: fmt/format-inl.h(1145,60): warning C4310: cast truncates constant value #3287 (#3288) a2c05a10e Workaround a bug in MSVC <= 19.22 cae9bf45b Simplify apidoc comments 87c066a35 Implement `println` (#3267) 9409b2e4d Workaround for incompatibility between libstdc++ consteval-based std::is_constant_evaluated() implementation and clang-14 (#3281) f89cd276f Refactor countl_zero fallback (#3276) 240b728d8 Report an error on overflow dfbb952b2 Fix empty spec for time point (#3275) 39971eb33 Fix localized format for float-point numbers (#3272) 0f42c17d8 Implement a new formatting algorithm for small given precision (#3269) bfc0924ea Bugfix for fmt::printf on Power9 architecture with the XL compiler (#3256) 676c2a107 Fix negative subsec for time_point (#3261) 2c80cedc3 Fix standard default installation target presence (#3264) dda53082b Support fill, align & width for time point (#3260) 2622cd23e Simplify arg_mapper 9e4a54fa6 Disable remaining implicit conversions 9ce648067 Disble deprecated implicit enum conversions 9121f9b1d Enable format_as for classes b7535365b Enable format_as for non-integral types 09ed1ddb9 Cleanup tests 0ec65d99a Merge parse_presentation_type into parse_format_specs 71e4e0272 Cleanup vprintf aad546baa Simplify presentation type parsing 14a69fcc5 Use parse_align bf34ffd33 Refactor format string parsing 6056e0712 Simplify symbols aa99b8640 Minor cleanup 6ade2eb4e Inline all_int_set caa697494 Simplify parse functions a73a9b6a8 Refactor format string checks 72785a3ab Cleanup write 0c3dd5ddd Remove redundant check 739b600f4 Remove iterator shenanigans 3710c4d38 Link to dragonbox a05ba44df Simplify format string parsing ffb9b1d13 Improve handling of signed types 32190859e Fix handling of char 8fe4d97d5 Reduce template instantiations 7e5a95956 Fix build with MSVC C++20 modules (#3254) 9e6030486 Clarify that unused args are allowed 7ad48c1f6 Cleanup core.h a921a596e Cleanup core.h 3e762fdf5 Use ignore_unused 79981a252 Cleanup ranges formatting bd12aaa98 Simplify format string parsing b8f36207c Simplify format string parsing d907786f0 Move anchor to where it belongs f2355bbe5 Fix docs f398c9476 Fix docs 4841784e8 Simplify C99 strftime detection conditions cb72c23e9 Improve timezone tests 583f2d820 Set timezone for chrono tests 32c439070 Minor cleanup 3a5e19fbf Minor cleanup dfb857ebe Refactor format spec parsing 9ea9b6bcb Cleanup arg id parsing 2b0ff62a7 Remove unused template arg from format_string_checker d1745084e Simplify parse context 407e7b7b6 basic_format_specs -> format_specs 3cf979475 Cleanup format string parsing 934c8e5f7 Refactor precision parsing fc9693834 Remove empty semicolon f0ab112c3 Cleanup parsing 9660e5b95 Remove redundant tests a585571e9 Ignore 0 character with align 840ec8569 Cleanup width handlers 1dadeb8a3 Refactor width parsing 275b4b341 Remove obsolete parse-benchmark e004f1d69 Fix for issue #3241 bde1a6070 Simplify fill and alignment parsing 040dc2a5d small typo in syntax.rst 6a186bcd6 Localize FMT_USE_LOCAL_TIME 8c56919bd Check chrono spec starts with % 115001a3b Formatting of system clocks ought to be to UTC, not to local time. This improves standards conformance of fmt. b90895412 Fix formatting of named arguments with locale d072f1dc6 Fix for issue #3228 3999fd193 Workaround an ADL issue c06e0b4ed Extract timezone offset from timezone conversion functions 1bf302a4e Implement %Ez, %Oz for chrono formatter f1733afd4 Pin godbolt example to specific version f61dcccc6 Update README.rst f9bcbdcbc Update README.rst 1a854b4aa Clarify what mod_inv_5 is 62ceb181b fix #3105 - Compile-time error when mixing named argument with automatic indexing b0c8263cb include/fmt/core.h: copy constructors removal d24be2e95 Add countl_zero function 8d50d814d Fix a chrono formatting issue found by fuzzing 115ca96e0 Bump tested CMake version to 3.25 886491625 Remove workaround for GTest bug 74c51ff37 Skip only strptime dependent test in scan-test 69ffedfe5 Use `target_compile_features` to specify C++ standard requirement fae6f7e08 Optimize range formatter a69e43c9d Update benchmark results 91c024ed3 Rename leading_v -> leading_xdigit 649aa102d CI linux: add CIFuzz Github action 31364732d Replace snprintf-based hex float formatter with internal implementation 74d55a493 Add missing operators 8276f1a20 Fix warning: the implicit by-copy capture of "this" is deprecated (EDG frontend) 81ebe70b9 Fix warning: a class type that is not trivially copyable passed through ellipsis (EDG frontend) 3160847eb Enable C++17 tests on macOS 6a95f8c7e Add missing env CTEST_OUTPUT_ON_FAILURE c7980542d Skip the scan-test if strptime isn't defined (#3184) 7df30f91a Format unique_ptr with custom deleter (#3177) d2e89c8b0 Document more chrono specs bd1959320 Document more chrono specs fd0d0ec8d Document more chrono specs 8e93434ed Update README.rst fc07217d8 Make utf-8 detection compatible with gbk cb7373b46 Replace format with FMT_STRING. (#3162) 795ed8abf Add precision modifier for seconds in chrono format (#3148) 66d71a1b3 Fixing formatting of range of range of char. (#3158) 80f8d3442 fmt::ostream - aggregate buffer instead of inheriting it (#3139) 64965bdc9 Add locale getter in tm_writer (#3147) e1ffa7655 Fix warning: conditional expression is constant. (#3150) 8c19bf3f2 Mention MariaDB amongst the projects that use fmt (#3145) f67dbc981 Remove duplicate implementation (#3144) cd7202e03 Fix overflow error (#3143) 51d3685ef Remove duplicate template parameter. (#3142) 9254cfa6f Support formatting of subseconds (#3115) cfb34a060 Avoid using `uint` as a type name (#3137) 5ad7b7138 Fix options for C++20 experimental module in CMake (#3134) d2c47c0df Fix broken condition (#3129) 491c32cbd Workaround gcc bug 103879 662adf4f3 Move formatter<std::error_code> from fmt/os.h to fmt/std.h (#3125) ad91cab37 Normalization of stdlib inline namespace names (#3119) 0ccaed3a6 Set CMAKE_RUNTIME_OUTPUT_DIRECTORY relative to CMAKE_CURRENT_BINARY_DIR instead of CMAKE_BINARY_DIR (#3120) ad719619c Support formatting of std time_point with utc_clock (#3110) 6e0a5f7fb Update CI to Ubuntu 20.04 and to newer versions of actions 48f525d02 Add basic_format_string::get() 0b5cb18b7 Use buffering in to_string to avoid bloat 4c4f99a58 Update a godbolt link 3272a7a3c Update an example a48e3355a Improve docs afcf42429 Update docs ac85afaab Simplify format_error 3178bb9a2 Update docs cf58f64c5 Update docs e4e0ae391 Use fmt/core.h in examples d65acc4e6 Improve docs c9f790b06 Update docs 6b8144a5a Update locale docs 2d66ad5d3 Suppress -Wshadow 042af5332 Suppress -Wfloat-equal 192859c2b Optimize writing to buffers via back_insert_iterator e2f6d7665 fix gcc <= 7.1 compile errors 61844b6b6 Fix build error on GCC-9 7a752e75f New CI: GCC-9 94ceb38a0 Improve locale API 58c4c012f Disable slow windows build and simplify write_loc c3494ae36 Refactor float localization 8ae56161c Fix compilation with FMT_ENFORCE_COMPILE_STRING and FMT_WERROR (#3091) 76705fc2e Update doc 21c2137e7 Add class name output to formatter for std::exception (#3076) ecffca672 Don't parse '}' as fill 3176e0fad Add locale overload for formatted_size (#3084) (#3087) 1feb430fa Fix intellisense on Windows (#3082) b98ffb7db Improve locale handling bac53951b Add starts_with to basic_string_view. (#3080) d59b89e9c More locale 58a5563a9 Implement grouping 1b94271ff Add support for UTF-8 digit separators 768d79a83 Implement format_facet 91ecb38a3 Localize negative integers aec3bb5d0 Workaround C complex.h idiocy 29c600013 Simplify is_variant_like_ check, fix compile error before GCC 11 (#3072) fec5515c5 num_format_facet -> format_facet f187274d3 Add loc_value fc5e59fe4 Don't use stringstream d6a870460 Improve locale support 56c72a671 Reduce locale dependency 4191477b9 Add formatter for std::exception (#3062) 75383a87f Inline trivial functions 48327a82e Make format.h compile faster b79ed4105 Remove unnecessary type_identity 64e29893c Improve locale support 0b0f7cfbf hip workaround 40e414d82 Fix compilation error with gcc-7.2.0 33b4c33c5 Requires FMT_CONSTEXPR20 support a07411c2b Disable compile-time checks for dynamic width/precision test for LCC and compiler without std::is_constant_evaluated() 797d82b21 Disable non-type template args for LCC a553521d6 Disable "GCC optimize" pragma for LCC a33701196 Update version 1f575fd5c Bump version c7635288f Fix docs, take 2 c8ed78e31 Fix docs e07cfb206 Update changelog 1dc7af569 Fix markup f7d21c3a1 Update changelog a55bcb24b Update changelog 30cb2b312 Remove appveyor config cf8d3c322 Update changelog 3c3cb6f6b Update changelog 91481f255 Detemplatize code_point_length_impl f98048b62 Fix bugs in utf8 decoder (#3056) 4a8e2949b Fix formatting of ranges of code unit types 3a3b0709e Disable bogus -Wstringop-overflow on GCC 11 (#3054) e724bbea1 Fix wchar_t corner cases 665d9779e Disable non-type template args for nvhpc (#3053) 13d07c6a3 Apply doc fixes retroactively 391f922ac Improve error reporting in format string compilation dc59d3df3 Fix a warning in gtest 489dabbd3 Fix decoder on broken utf8 sequences. (#3044) 541cd2183 Fix locale name (thanks Mikhail Paulyshka) 1f95c3438 Fix sign handling with large code units 779449fd9 Belarusify test fbb568bce nvhpc/22.3: workaround for c++17 mode. (#3043) 36c23bd5f Prepare for deprecating FindPythonInterp module. (#3040) 9ff0f3a7d Fix docs fd41110d3 Add MinGW to CI fc23cfbf4 Fix testsuite on MinGW + MSVCRT fd93b633b Constexpr formatted_size (#3026) 7fb8d33f9 Fix compile-time width/precision type check 8bd02e93b Reduce conditional compilation d9c1c7353 Use is_utf8() in print(std::ostream&, ...) 682e097be Remove -Wl,--as-needed linker option b9087ee58 Suppress unused typedef warning df56fdf88 Clarify docs for compile-time checks 90c48b852 Remove double code execution 5a8b7cd74 Add comment 36a25d75b Reuse detail::string_literal in the chrono formatter 6c9304b2c Replace ParseContext with basic_format_parse_context 24ab9dd19 Remove duplicate method a95dc1701 Remove unused condition 5f774c0ae I shouldn't be there 6567df7f2 Update README.rst 6c6b1fbf6 Workaround a bug in MSVC 9beddd08f Improve CI on Windows 6452e3c9e Fix a typo in example 756822ba3 Fix Unicode handling for ostream under Windows with libc++. (#3001) 0b2862a1e Range formatter (#2983) 258000064 Add fmt:: namespace to doc (#3009) e9ca7ea47 Suppress a bogus warning 81f1cc74a Improve Unicode handling when writing to an ostream on Windows (#2994) bbcb129e0 Reduce filesize of the tests on MinGW (#2995) 48e0a5922 Implement compile-time checks for dynamic width/precision type bc5c7c50f Fixes IBM XLC behavior with uint128 fallback (#2985) 00adc7120 Add a regression test for here be dragons c48be439f Add additional search paths for doxygen on Windows 371f9c71c Fix even in format_dragon 91abfcd6c Suppress an msvc warning deeab54b4 Remove unused include 688a627d6 Remove unused constants. 9bb1605f1 Remove some branches 8061d9afb Simplify Dragonbox implementation d82e1a108 Make sure the correct fmod overload is called defa04e73 Fix for EDG frontend (Intel, NVHPC compilers) (#2982) 92d36e82c The n specifier for ranges (#2981) 0db43cf7f Pointless comparison warnings (#2971) 05be7a076 Use FMT_USE_FLOAT128 instead of __SIZEOF_FLOAT128__ 2a1b3ac62 Fix large shift in uint128_fallback e1d3d3a32 Exclude recursive ranges from the formatter specialization for ranges (#2974) b761f1279 Improve forward using the idea from Jonathan Müller cc1926942 Inline std::forward d5e9166f5 Fixed typo in changelog example. b31d1a75a Add xchar support for fmt::streamed(). git-subtree-dir: externals/fmt git-subtree-split: f5e54359df4c26b6230fc61d38aa294581393084
2023-10-08 08:55:04 +01:00
void set_debug_format() = delete;
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
template <typename T, typename OutputIt>
auto format(const T& value, basic_format_context<OutputIt, Char>& ctx) const
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
-> OutputIt {
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
auto buffer = basic_memory_buffer<Char>();
Squashed 'externals/fmt/' changes from c4ee72653..f5e54359d f5e54359d Update version a003ab93c Update changelog 9b7416081 `atomic_flag` formatting (#3594) a21690bdf Coding conventions c9efd8968 Merge branch 'MathewBensonCode-master' e78682405 Refactor Improvement on umul128 function 2b20d7be6 Refactor To remove friend function private access 1f38ebbdb Add condition to include friend function in win32 e41817969 Fix for FMT_MODULE not compiling on GCC 0bffed895 Bump actions/checkout from 3.1.0 to 3.5.3 (#3602) cc077a5e3 Fix `FMT_NO_UNIQUE_ADDRESS` warning with clang-cl. (#3600) a992b3d1f Fix for Compilation Error When Using FMT_MODULE (#3597) af1b768cc Update changelog 2a7c45b54 Update changelog bd868f3a5 Improve compatibility with GBK #3598 (#3599) bbb784fb1 Fix a gcc error about partial specialization after instantiation 6c845f57e Fix `formatted_size` with `FMT_COMPILE` and format specs (#3588) a379595c5 Bump actions/upload-artifact from 3.1.0 to 3.1.2 (#3593) 9dfde7871 Bump ossf/scorecard-action from 2.1.2 to 2.2.0 (#3592) e92a705bd Bump github/codeql-action from 2.2.4 to 2.21.4 (#3591) 5a866fe85 Add formatter for std::atomic (#3574) e150ea0cc to_string supports types with format_as 29ce2ff8a Update README.rst 2e1362add Create scorecard.yml e57ca2e36 Update version 4c56612c6 Update changelog e1acd5f4d Bump version 6ffee2f75 Handle new rst nodes ee475d640 Update changelog ecc914125 Update changelog d42486231 Fix fixed precision handling during rounding in long double 3c1b3337d Update changelog 35fb69ebe Update changelog f92be35c0 Update changelog 7a2f6ac21 Fix a comment 744ff5554 Fix docs 70ae48b00 Update changelog ebb10347c Merge branch 'master' of github.com:fmtlib/fmt 100572016 Clarify that visit_format_arg is deprecated aeb6ad4dd Added formatter for bit_reference-like types (#3570) 96d1fa22d Update changelog 8a4bec5cf fix ambiguous formatter lookup for flat_set (#3561) eacd51c24 cmake: fix FMT_PKGCONFIG_DIR path (#3563) 757564f5c add missing inline specifier (#3552) f4214ae8d Use the U literal for unsigned integer constants. (#3549) aecf80d30 Update a comment 503d49286 expose detail::throw_format_error (#3551) 4f46cb82f Remove std::copy usage. (#3550) 3dec65b7f Use replacement character in path dbabb305c Turn off error-producing NVCC workaround when using c++20 (#3544) ac0ab8eff Improve path formatter 40f35d6f0 Cleanup std formatters 31c2c5679 Cleanup formatters b2728a317 Improve path formatter 77e0b0e22 Cleanup chrono formatter e47585904 Fix overspecified tests 436c131d4 Optimize compiled format_to_n 388bc296b Fix fixed formatting of small long doubles 95e1ea573 Clarify requirement on compiled formatter fb97cb231 Suppress a bogus stringop-overflow warning dd5a9691f Clarify that data is not null-terminated 72dc4491e Fix format_string_checker initialisation order (#3542) 9bea6ec04 Don't use deprecated checked_array_iterator 661b23ede Call parse on empty specs at compile time 8e87d3a8b Fix include a47491656 Update CMakeLists.txt (#3523) de4705f84 Trying to improve errors in the unformattable case (#3478) e4c8cfe38 README: Add link to merged clang-tidy check (#3515) 606f85f8b Workaround brain-damaged conversions a331dbfb6 Fix type in assert message. (#3508) 13156e54b Revert "add ability to build Apple framework using CMAKE_FRAMEWORK" (#3496) 9158bea1e Remove old grisu tests dd17f89a1 Fix for issue #3492 (#3493) 1daae555b Optimize format string compilation 6ad301235 Optimize code unit output in compiled format 8732ad877 Update docs 5afb1821a Update docs a81135f2c Fix a link dfc34821a Update docs 0765e7284 Update docs 977d887a4 Suppress a bogus warning c86fe0b8d Give basic_memory_buffer allocator [[no_unique_address]] (#3485) 5dbe0ff95 Bump actions/checkout from 3.5.2 to 3.5.3 (#3486) de0757b57 Use FMT_TRY and FMT_CATCH in std.h (#3482) 8fe893c0a Update README.rst 0f823df46 Remove detail namespace hack 60fd9941c Use correct Char type in std::filesystem::path (#3476) 8abfc145b Fix MSVC warning in std::chrono::time_point formatter (#3475) 686b3353a Simplify typeid check b2106f363 Tweak comments 35547d600 Use const_check to silence MSVC warning 179c7e5a6 Use typeid() only if it's available 61fb3a15f Add VxWorks7 user space and kernel space support (#3467) bd393456e Remove FMT_*_DETAIL_NAMESPACE 6be36af0d Remove udl_formatter 2a35eeed8 Remove unused data 256a826d6 Consolidate formatters 6369af37d Simplify formatters 0b8404918 Remove get_cached_power 171a020c8 Pass correct Char to base format_as formatter (#3457) d8f04e399 Simplify ceil 5e988f8df Remove is_constant_evaluated() check 19b17618a Make constexpr ceil c684a06d5 New CI: macOS 13, Xcode 14.3, C++ 20 abdb7fdf8 Update api.rst 8b09fe2a0 Fix example for user-defined types in documentation for 10.0.0 (#3461) adad18a74 Update ChangeLog.rst 858e528ab Use dragon in constexpr a54cb108d CMake: Do not fail on unknown compiler features (#3453) ef55d4f52 Suppress a bogus gcc warning 70b6a6fa4 Update README.rst (#3454) 6fe895410 Remove invalid_arg_index d0652d225 Create dependabot.yml (#3452) de8d0171a Simplify FMT_FORMAT_AS 7401fe046 Hash pin Github Workflows (#3451) 08ef0d084 fix formatter<char*> (#3432) d60b907f8 Replace mod_inv_25 by explicit value (#3450) 4ce086f73 remove code duplication (#3448) 821f8cdb4 Detemplatize printf more 0bf6ed7e1 Cleanup printf e40e04fac Detemplatize printf_arg_formatter 0a1c27281 Detemplatize basic_printf_context 2f605cc89 Deprecate wide printf 1d54499ac Apply coding conventions 3c6053c53 Cleanup basic_printf_context 4a392adaa Remove basic_printf_parse_context b14913fae FMT_MODULE_EXPORT -> FMT_EXPORT 2117df299 format-inl.h: address implicit int to bool conversion (#3446) 616a49378 Revert Char* formatter removal 9a034b0d5 Always assert in FMT_THROW (#3439) e0fc0e85e Remove unneeded FMT_API 552c43aba Improve long formatters d6846f4ac Clarify why byte formatter is in core aeedac588 Remove unneeded specialization eaa630769 Make hex float test more stable (#3434) e82bf41a1 Update README.rst e077396f5 Update docs 861facad0 Fix a typo 75bfe5761 Improve docs 697e76ba3 Don't call init_named_args unnecessarily a425e0ff3 Cleanup xchar API c36dd825b Remove unnecessary forwarding 130b8fcdb Reduce template instantiations a47e8419b Cleanup the core API ea49c91cd Cleanup argument construction d7592ad8b Fix time_point formatting for durations with certain ratios (#3430) ebfb2e677 Remove unused alias 5780269d5 Improve API safety b47119216 Fix a comment 8f18e72df Improve API safety 93d7cb12f Fix formatting 0e4278717 Remove unused macro 93a30a074 unicode_to_utf8 -> to_utf8 since both sides of conversion are Unicode a08196b14 Update ChangeLog.rst 0398ba42c Update ChangeLog.rst a0b8a92e3 Update version 5cf2342aa Bump version fe9d39d7c Update changelog 4c9856197 Update changelog 403b271ed Update changelog 2c991e1af Update changelog c984df981 Remove an unused function from internal class fbf21ed22 Update changelog 575583144 Update changelog e7f6888c7 Update changelog 39db2dfd0 Update changelog 9b7829e26 Update changelog 1e0ce567e Fix formatting of paths containing invalid Unicode dde8cf3bb Unification utf16/utf32 to utf8 conversion e84b00e01 Workaround to error: variable 'n' set but not used [-Werror,-Wunused-but-set-variable] b12ffea4f Add filesystem_error test back f61f15cc5 Suppress a false positive in gcc 192df93d7 modules missing pieces (#3399) d8973bf16 Add FMT_STRING for format_to() call (#3413) d7a8e50cb Improve module testing (#3397) 02cae7e48 Improve handling of Unicode in paths 53162142b Remove .bazelrc mention from Bazel related readme (#3411) 5bcf0d7f9 Bazel support (#3406) f8c9fabd9 Fix spelling (#3404) 62ff4e1db Remove foonathan from maintainer list (#3402) f449ca052 Name `vfprintf` clashes with the identically named declaration in 'stdio.h' if that happens to be #included into the same TU. Fix this by using qualified name lookup instead of unqualified lookup that also enables ADL. (#3400) eafcd3c8e Optionally attach declarations to the `global module` rather than `module fmt` (#3387) 18154cc90 Simplify print 0de789cf2 Update changelog c03938922 export names only once (#3392) 93e81bb5d Fix C4365 (signed/unsigned mismatch) warning on 32-bit Windows (#3398) e7d6eb679 Update tests to use recommended MOCK_METHOD (#3395) 18e7a2532 Remove obsolete msvc workarounds (#3388) 0489c19dc fix and improve module (#3386) 8ec94ac6a Use full path to pcm d97d8cea6 Push module check to test d8a2698e6 Fix compilation as a C++20 module with gcc 13 d9c19940a Update add_module_library 4b5ae0b0e Remove unnecessary module support check 75f3b1c09 Use add_module_library faf83406a Workaround cmake issue 165814d57 Add module support to CMake 33f715077 Fix error C2668 on msvc (#3378) c98e5a08a Fix modular build on clang 119c6bd16 Move the modules check 77eeb7183 Remove unused headers 13bf99f9d Enable modules in clang 16 1d0257e4c FMT_MODULE_EXPORT_* -> FMT_EXPORT_* 4613d48fd FMT_EXPORT -> FMT_LIB_EXPORT 4a4a2a2bd Fix diagnostics fce74caa1 Disable problematic implicit conversions 02bf4d1c1 Disable to_string_view ADL 466e0650e Remove problematic workaround 029caa8ea Update changelog e406ddbfa Remove broken part of the config 909567953 Update changelog 7f46cb75b ranges: Fix extra semi (#3374) 4e3f38105 Update changelog d3c10f516 fix compilation for MSDOS (#3369) ab956f600 Update changelog 97aedeab4 Workaround a double-double hexfloat format (#3366) bce8d4ed0 Remove stray comment a91c7b286 Cleanup the core API 19c074e47 Remove deprecated fallback formatter 41cfc739f Generalize format_as f6276a2c2 Force use a signed char (On ARM char is unsigned by default) (#3362) 6002ddf82 Remove a deprecated option 6549ffde8 Improve format_as safety d9bc5f132 Fix code causing spurious Wstringop-overflow warning 9c5cd998d Remove unused functions 93bfa0538 %T is %H:%M:%S (#3349) d8e1c4265 fix case of variant which is valueless by exception (#3347) e1720c0e5 Fix CUDA nvcc warning fmt/include/fmt/core.h(295): warning #1675-D: unrecognized GCC pragma (#3352) 7f882918e `write_floating_seconds`: Fall back to `::round` (#3343) cbc7b8d5c Cleanup dead variable (#3338) 050293646 Path is not escaped twice in the debug mode (#3321) 3daf33837 Enable consteval for Xcode 14.0.1 and later (#3331) e0748e61d Fix recursion check in range formatting b94e1016f chore: set permission to cifuzz.yml (#3328) 98699719f Make # handling consistent with std::format 48dfbcaa9 Improve license and PR template wording c644c753d Add '🐙 userver framework' to the projects 73b7cee7f Fix for issue #3325 (#3326) 5b8302079 Add optional support (#3303) 3a69529e8 Fix various typos (#3312) 76f520835 Call element parse in tuple parse 507c3042d class -> typename 1741e90de Always call parse in range formatter d646fd0da Minor cleanup b5c2f74f4 change sopen_s to wsopen_s (fmtlib#3234) (#3293) e03753c4a Add ubuntu mirrors (#3302) 6e6eb6377 [msvc] fix warning about non-inline variable 3c5464ba1 Fix OpenBSD build error (#3295) 655046d24 Fix container adaptor formatting 581c6292c Add formatters for container adapters (#3279) 7718eeeac Implement glibc ext for sec, min, and hour (#3271) 44e0eea94 Use FMT_HAS_INCLUDE and apply clang-format 99070899b Fix errors setting of FMT_USE_FLOAT128 (#3259) 05e3a9233 Allowing formatting non-copyable ranges. (#3290) 70db193f0 Visual Studio 2022: fmt/format-inl.h(1145,60): warning C4310: cast truncates constant value #3287 (#3288) a2c05a10e Workaround a bug in MSVC <= 19.22 cae9bf45b Simplify apidoc comments 87c066a35 Implement `println` (#3267) 9409b2e4d Workaround for incompatibility between libstdc++ consteval-based std::is_constant_evaluated() implementation and clang-14 (#3281) f89cd276f Refactor countl_zero fallback (#3276) 240b728d8 Report an error on overflow dfbb952b2 Fix empty spec for time point (#3275) 39971eb33 Fix localized format for float-point numbers (#3272) 0f42c17d8 Implement a new formatting algorithm for small given precision (#3269) bfc0924ea Bugfix for fmt::printf on Power9 architecture with the XL compiler (#3256) 676c2a107 Fix negative subsec for time_point (#3261) 2c80cedc3 Fix standard default installation target presence (#3264) dda53082b Support fill, align & width for time point (#3260) 2622cd23e Simplify arg_mapper 9e4a54fa6 Disable remaining implicit conversions 9ce648067 Disble deprecated implicit enum conversions 9121f9b1d Enable format_as for classes b7535365b Enable format_as for non-integral types 09ed1ddb9 Cleanup tests 0ec65d99a Merge parse_presentation_type into parse_format_specs 71e4e0272 Cleanup vprintf aad546baa Simplify presentation type parsing 14a69fcc5 Use parse_align bf34ffd33 Refactor format string parsing 6056e0712 Simplify symbols aa99b8640 Minor cleanup 6ade2eb4e Inline all_int_set caa697494 Simplify parse functions a73a9b6a8 Refactor format string checks 72785a3ab Cleanup write 0c3dd5ddd Remove redundant check 739b600f4 Remove iterator shenanigans 3710c4d38 Link to dragonbox a05ba44df Simplify format string parsing ffb9b1d13 Improve handling of signed types 32190859e Fix handling of char 8fe4d97d5 Reduce template instantiations 7e5a95956 Fix build with MSVC C++20 modules (#3254) 9e6030486 Clarify that unused args are allowed 7ad48c1f6 Cleanup core.h a921a596e Cleanup core.h 3e762fdf5 Use ignore_unused 79981a252 Cleanup ranges formatting bd12aaa98 Simplify format string parsing b8f36207c Simplify format string parsing d907786f0 Move anchor to where it belongs f2355bbe5 Fix docs f398c9476 Fix docs 4841784e8 Simplify C99 strftime detection conditions cb72c23e9 Improve timezone tests 583f2d820 Set timezone for chrono tests 32c439070 Minor cleanup 3a5e19fbf Minor cleanup dfb857ebe Refactor format spec parsing 9ea9b6bcb Cleanup arg id parsing 2b0ff62a7 Remove unused template arg from format_string_checker d1745084e Simplify parse context 407e7b7b6 basic_format_specs -> format_specs 3cf979475 Cleanup format string parsing 934c8e5f7 Refactor precision parsing fc9693834 Remove empty semicolon f0ab112c3 Cleanup parsing 9660e5b95 Remove redundant tests a585571e9 Ignore 0 character with align 840ec8569 Cleanup width handlers 1dadeb8a3 Refactor width parsing 275b4b341 Remove obsolete parse-benchmark e004f1d69 Fix for issue #3241 bde1a6070 Simplify fill and alignment parsing 040dc2a5d small typo in syntax.rst 6a186bcd6 Localize FMT_USE_LOCAL_TIME 8c56919bd Check chrono spec starts with % 115001a3b Formatting of system clocks ought to be to UTC, not to local time. This improves standards conformance of fmt. b90895412 Fix formatting of named arguments with locale d072f1dc6 Fix for issue #3228 3999fd193 Workaround an ADL issue c06e0b4ed Extract timezone offset from timezone conversion functions 1bf302a4e Implement %Ez, %Oz for chrono formatter f1733afd4 Pin godbolt example to specific version f61dcccc6 Update README.rst f9bcbdcbc Update README.rst 1a854b4aa Clarify what mod_inv_5 is 62ceb181b fix #3105 - Compile-time error when mixing named argument with automatic indexing b0c8263cb include/fmt/core.h: copy constructors removal d24be2e95 Add countl_zero function 8d50d814d Fix a chrono formatting issue found by fuzzing 115ca96e0 Bump tested CMake version to 3.25 886491625 Remove workaround for GTest bug 74c51ff37 Skip only strptime dependent test in scan-test 69ffedfe5 Use `target_compile_features` to specify C++ standard requirement fae6f7e08 Optimize range formatter a69e43c9d Update benchmark results 91c024ed3 Rename leading_v -> leading_xdigit 649aa102d CI linux: add CIFuzz Github action 31364732d Replace snprintf-based hex float formatter with internal implementation 74d55a493 Add missing operators 8276f1a20 Fix warning: the implicit by-copy capture of "this" is deprecated (EDG frontend) 81ebe70b9 Fix warning: a class type that is not trivially copyable passed through ellipsis (EDG frontend) 3160847eb Enable C++17 tests on macOS 6a95f8c7e Add missing env CTEST_OUTPUT_ON_FAILURE c7980542d Skip the scan-test if strptime isn't defined (#3184) 7df30f91a Format unique_ptr with custom deleter (#3177) d2e89c8b0 Document more chrono specs bd1959320 Document more chrono specs fd0d0ec8d Document more chrono specs 8e93434ed Update README.rst fc07217d8 Make utf-8 detection compatible with gbk cb7373b46 Replace format with FMT_STRING. (#3162) 795ed8abf Add precision modifier for seconds in chrono format (#3148) 66d71a1b3 Fixing formatting of range of range of char. (#3158) 80f8d3442 fmt::ostream - aggregate buffer instead of inheriting it (#3139) 64965bdc9 Add locale getter in tm_writer (#3147) e1ffa7655 Fix warning: conditional expression is constant. (#3150) 8c19bf3f2 Mention MariaDB amongst the projects that use fmt (#3145) f67dbc981 Remove duplicate implementation (#3144) cd7202e03 Fix overflow error (#3143) 51d3685ef Remove duplicate template parameter. (#3142) 9254cfa6f Support formatting of subseconds (#3115) cfb34a060 Avoid using `uint` as a type name (#3137) 5ad7b7138 Fix options for C++20 experimental module in CMake (#3134) d2c47c0df Fix broken condition (#3129) 491c32cbd Workaround gcc bug 103879 662adf4f3 Move formatter<std::error_code> from fmt/os.h to fmt/std.h (#3125) ad91cab37 Normalization of stdlib inline namespace names (#3119) 0ccaed3a6 Set CMAKE_RUNTIME_OUTPUT_DIRECTORY relative to CMAKE_CURRENT_BINARY_DIR instead of CMAKE_BINARY_DIR (#3120) ad719619c Support formatting of std time_point with utc_clock (#3110) 6e0a5f7fb Update CI to Ubuntu 20.04 and to newer versions of actions 48f525d02 Add basic_format_string::get() 0b5cb18b7 Use buffering in to_string to avoid bloat 4c4f99a58 Update a godbolt link 3272a7a3c Update an example a48e3355a Improve docs afcf42429 Update docs ac85afaab Simplify format_error 3178bb9a2 Update docs cf58f64c5 Update docs e4e0ae391 Use fmt/core.h in examples d65acc4e6 Improve docs c9f790b06 Update docs 6b8144a5a Update locale docs 2d66ad5d3 Suppress -Wshadow 042af5332 Suppress -Wfloat-equal 192859c2b Optimize writing to buffers via back_insert_iterator e2f6d7665 fix gcc <= 7.1 compile errors 61844b6b6 Fix build error on GCC-9 7a752e75f New CI: GCC-9 94ceb38a0 Improve locale API 58c4c012f Disable slow windows build and simplify write_loc c3494ae36 Refactor float localization 8ae56161c Fix compilation with FMT_ENFORCE_COMPILE_STRING and FMT_WERROR (#3091) 76705fc2e Update doc 21c2137e7 Add class name output to formatter for std::exception (#3076) ecffca672 Don't parse '}' as fill 3176e0fad Add locale overload for formatted_size (#3084) (#3087) 1feb430fa Fix intellisense on Windows (#3082) b98ffb7db Improve locale handling bac53951b Add starts_with to basic_string_view. (#3080) d59b89e9c More locale 58a5563a9 Implement grouping 1b94271ff Add support for UTF-8 digit separators 768d79a83 Implement format_facet 91ecb38a3 Localize negative integers aec3bb5d0 Workaround C complex.h idiocy 29c600013 Simplify is_variant_like_ check, fix compile error before GCC 11 (#3072) fec5515c5 num_format_facet -> format_facet f187274d3 Add loc_value fc5e59fe4 Don't use stringstream d6a870460 Improve locale support 56c72a671 Reduce locale dependency 4191477b9 Add formatter for std::exception (#3062) 75383a87f Inline trivial functions 48327a82e Make format.h compile faster b79ed4105 Remove unnecessary type_identity 64e29893c Improve locale support 0b0f7cfbf hip workaround 40e414d82 Fix compilation error with gcc-7.2.0 33b4c33c5 Requires FMT_CONSTEXPR20 support a07411c2b Disable compile-time checks for dynamic width/precision test for LCC and compiler without std::is_constant_evaluated() 797d82b21 Disable non-type template args for LCC a553521d6 Disable "GCC optimize" pragma for LCC a33701196 Update version 1f575fd5c Bump version c7635288f Fix docs, take 2 c8ed78e31 Fix docs e07cfb206 Update changelog 1dc7af569 Fix markup f7d21c3a1 Update changelog a55bcb24b Update changelog 30cb2b312 Remove appveyor config cf8d3c322 Update changelog 3c3cb6f6b Update changelog 91481f255 Detemplatize code_point_length_impl f98048b62 Fix bugs in utf8 decoder (#3056) 4a8e2949b Fix formatting of ranges of code unit types 3a3b0709e Disable bogus -Wstringop-overflow on GCC 11 (#3054) e724bbea1 Fix wchar_t corner cases 665d9779e Disable non-type template args for nvhpc (#3053) 13d07c6a3 Apply doc fixes retroactively 391f922ac Improve error reporting in format string compilation dc59d3df3 Fix a warning in gtest 489dabbd3 Fix decoder on broken utf8 sequences. (#3044) 541cd2183 Fix locale name (thanks Mikhail Paulyshka) 1f95c3438 Fix sign handling with large code units 779449fd9 Belarusify test fbb568bce nvhpc/22.3: workaround for c++17 mode. (#3043) 36c23bd5f Prepare for deprecating FindPythonInterp module. (#3040) 9ff0f3a7d Fix docs fd41110d3 Add MinGW to CI fc23cfbf4 Fix testsuite on MinGW + MSVCRT fd93b633b Constexpr formatted_size (#3026) 7fb8d33f9 Fix compile-time width/precision type check 8bd02e93b Reduce conditional compilation d9c1c7353 Use is_utf8() in print(std::ostream&, ...) 682e097be Remove -Wl,--as-needed linker option b9087ee58 Suppress unused typedef warning df56fdf88 Clarify docs for compile-time checks 90c48b852 Remove double code execution 5a8b7cd74 Add comment 36a25d75b Reuse detail::string_literal in the chrono formatter 6c9304b2c Replace ParseContext with basic_format_parse_context 24ab9dd19 Remove duplicate method a95dc1701 Remove unused condition 5f774c0ae I shouldn't be there 6567df7f2 Update README.rst 6c6b1fbf6 Workaround a bug in MSVC 9beddd08f Improve CI on Windows 6452e3c9e Fix a typo in example 756822ba3 Fix Unicode handling for ostream under Windows with libc++. (#3001) 0b2862a1e Range formatter (#2983) 258000064 Add fmt:: namespace to doc (#3009) e9ca7ea47 Suppress a bogus warning 81f1cc74a Improve Unicode handling when writing to an ostream on Windows (#2994) bbcb129e0 Reduce filesize of the tests on MinGW (#2995) 48e0a5922 Implement compile-time checks for dynamic width/precision type bc5c7c50f Fixes IBM XLC behavior with uint128 fallback (#2985) 00adc7120 Add a regression test for here be dragons c48be439f Add additional search paths for doxygen on Windows 371f9c71c Fix even in format_dragon 91abfcd6c Suppress an msvc warning deeab54b4 Remove unused include 688a627d6 Remove unused constants. 9bb1605f1 Remove some branches 8061d9afb Simplify Dragonbox implementation d82e1a108 Make sure the correct fmod overload is called defa04e73 Fix for EDG frontend (Intel, NVHPC compilers) (#2982) 92d36e82c The n specifier for ranges (#2981) 0db43cf7f Pointless comparison warnings (#2971) 05be7a076 Use FMT_USE_FLOAT128 instead of __SIZEOF_FLOAT128__ 2a1b3ac62 Fix large shift in uint128_fallback e1d3d3a32 Exclude recursive ranges from the formatter specialization for ranges (#2974) b761f1279 Improve forward using the idea from Jonathan Müller cc1926942 Inline std::forward d5e9166f5 Fixed typo in changelog example. b31d1a75a Add xchar support for fmt::streamed(). git-subtree-dir: externals/fmt git-subtree-split: f5e54359df4c26b6230fc61d38aa294581393084
2023-10-08 08:55:04 +01:00
detail::format_value(buffer, value, ctx.locale());
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
return formatter<basic_string_view<Char>, Char>::format(
{buffer.data(), buffer.size()}, ctx);
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
}
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
};
using ostream_formatter = basic_ostream_formatter<char>;
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
Squashed 'externals/fmt/' changes from c4ee72653..f5e54359d f5e54359d Update version a003ab93c Update changelog 9b7416081 `atomic_flag` formatting (#3594) a21690bdf Coding conventions c9efd8968 Merge branch 'MathewBensonCode-master' e78682405 Refactor Improvement on umul128 function 2b20d7be6 Refactor To remove friend function private access 1f38ebbdb Add condition to include friend function in win32 e41817969 Fix for FMT_MODULE not compiling on GCC 0bffed895 Bump actions/checkout from 3.1.0 to 3.5.3 (#3602) cc077a5e3 Fix `FMT_NO_UNIQUE_ADDRESS` warning with clang-cl. (#3600) a992b3d1f Fix for Compilation Error When Using FMT_MODULE (#3597) af1b768cc Update changelog 2a7c45b54 Update changelog bd868f3a5 Improve compatibility with GBK #3598 (#3599) bbb784fb1 Fix a gcc error about partial specialization after instantiation 6c845f57e Fix `formatted_size` with `FMT_COMPILE` and format specs (#3588) a379595c5 Bump actions/upload-artifact from 3.1.0 to 3.1.2 (#3593) 9dfde7871 Bump ossf/scorecard-action from 2.1.2 to 2.2.0 (#3592) e92a705bd Bump github/codeql-action from 2.2.4 to 2.21.4 (#3591) 5a866fe85 Add formatter for std::atomic (#3574) e150ea0cc to_string supports types with format_as 29ce2ff8a Update README.rst 2e1362add Create scorecard.yml e57ca2e36 Update version 4c56612c6 Update changelog e1acd5f4d Bump version 6ffee2f75 Handle new rst nodes ee475d640 Update changelog ecc914125 Update changelog d42486231 Fix fixed precision handling during rounding in long double 3c1b3337d Update changelog 35fb69ebe Update changelog f92be35c0 Update changelog 7a2f6ac21 Fix a comment 744ff5554 Fix docs 70ae48b00 Update changelog ebb10347c Merge branch 'master' of github.com:fmtlib/fmt 100572016 Clarify that visit_format_arg is deprecated aeb6ad4dd Added formatter for bit_reference-like types (#3570) 96d1fa22d Update changelog 8a4bec5cf fix ambiguous formatter lookup for flat_set (#3561) eacd51c24 cmake: fix FMT_PKGCONFIG_DIR path (#3563) 757564f5c add missing inline specifier (#3552) f4214ae8d Use the U literal for unsigned integer constants. (#3549) aecf80d30 Update a comment 503d49286 expose detail::throw_format_error (#3551) 4f46cb82f Remove std::copy usage. (#3550) 3dec65b7f Use replacement character in path dbabb305c Turn off error-producing NVCC workaround when using c++20 (#3544) ac0ab8eff Improve path formatter 40f35d6f0 Cleanup std formatters 31c2c5679 Cleanup formatters b2728a317 Improve path formatter 77e0b0e22 Cleanup chrono formatter e47585904 Fix overspecified tests 436c131d4 Optimize compiled format_to_n 388bc296b Fix fixed formatting of small long doubles 95e1ea573 Clarify requirement on compiled formatter fb97cb231 Suppress a bogus stringop-overflow warning dd5a9691f Clarify that data is not null-terminated 72dc4491e Fix format_string_checker initialisation order (#3542) 9bea6ec04 Don't use deprecated checked_array_iterator 661b23ede Call parse on empty specs at compile time 8e87d3a8b Fix include a47491656 Update CMakeLists.txt (#3523) de4705f84 Trying to improve errors in the unformattable case (#3478) e4c8cfe38 README: Add link to merged clang-tidy check (#3515) 606f85f8b Workaround brain-damaged conversions a331dbfb6 Fix type in assert message. (#3508) 13156e54b Revert "add ability to build Apple framework using CMAKE_FRAMEWORK" (#3496) 9158bea1e Remove old grisu tests dd17f89a1 Fix for issue #3492 (#3493) 1daae555b Optimize format string compilation 6ad301235 Optimize code unit output in compiled format 8732ad877 Update docs 5afb1821a Update docs a81135f2c Fix a link dfc34821a Update docs 0765e7284 Update docs 977d887a4 Suppress a bogus warning c86fe0b8d Give basic_memory_buffer allocator [[no_unique_address]] (#3485) 5dbe0ff95 Bump actions/checkout from 3.5.2 to 3.5.3 (#3486) de0757b57 Use FMT_TRY and FMT_CATCH in std.h (#3482) 8fe893c0a Update README.rst 0f823df46 Remove detail namespace hack 60fd9941c Use correct Char type in std::filesystem::path (#3476) 8abfc145b Fix MSVC warning in std::chrono::time_point formatter (#3475) 686b3353a Simplify typeid check b2106f363 Tweak comments 35547d600 Use const_check to silence MSVC warning 179c7e5a6 Use typeid() only if it's available 61fb3a15f Add VxWorks7 user space and kernel space support (#3467) bd393456e Remove FMT_*_DETAIL_NAMESPACE 6be36af0d Remove udl_formatter 2a35eeed8 Remove unused data 256a826d6 Consolidate formatters 6369af37d Simplify formatters 0b8404918 Remove get_cached_power 171a020c8 Pass correct Char to base format_as formatter (#3457) d8f04e399 Simplify ceil 5e988f8df Remove is_constant_evaluated() check 19b17618a Make constexpr ceil c684a06d5 New CI: macOS 13, Xcode 14.3, C++ 20 abdb7fdf8 Update api.rst 8b09fe2a0 Fix example for user-defined types in documentation for 10.0.0 (#3461) adad18a74 Update ChangeLog.rst 858e528ab Use dragon in constexpr a54cb108d CMake: Do not fail on unknown compiler features (#3453) ef55d4f52 Suppress a bogus gcc warning 70b6a6fa4 Update README.rst (#3454) 6fe895410 Remove invalid_arg_index d0652d225 Create dependabot.yml (#3452) de8d0171a Simplify FMT_FORMAT_AS 7401fe046 Hash pin Github Workflows (#3451) 08ef0d084 fix formatter<char*> (#3432) d60b907f8 Replace mod_inv_25 by explicit value (#3450) 4ce086f73 remove code duplication (#3448) 821f8cdb4 Detemplatize printf more 0bf6ed7e1 Cleanup printf e40e04fac Detemplatize printf_arg_formatter 0a1c27281 Detemplatize basic_printf_context 2f605cc89 Deprecate wide printf 1d54499ac Apply coding conventions 3c6053c53 Cleanup basic_printf_context 4a392adaa Remove basic_printf_parse_context b14913fae FMT_MODULE_EXPORT -> FMT_EXPORT 2117df299 format-inl.h: address implicit int to bool conversion (#3446) 616a49378 Revert Char* formatter removal 9a034b0d5 Always assert in FMT_THROW (#3439) e0fc0e85e Remove unneeded FMT_API 552c43aba Improve long formatters d6846f4ac Clarify why byte formatter is in core aeedac588 Remove unneeded specialization eaa630769 Make hex float test more stable (#3434) e82bf41a1 Update README.rst e077396f5 Update docs 861facad0 Fix a typo 75bfe5761 Improve docs 697e76ba3 Don't call init_named_args unnecessarily a425e0ff3 Cleanup xchar API c36dd825b Remove unnecessary forwarding 130b8fcdb Reduce template instantiations a47e8419b Cleanup the core API ea49c91cd Cleanup argument construction d7592ad8b Fix time_point formatting for durations with certain ratios (#3430) ebfb2e677 Remove unused alias 5780269d5 Improve API safety b47119216 Fix a comment 8f18e72df Improve API safety 93d7cb12f Fix formatting 0e4278717 Remove unused macro 93a30a074 unicode_to_utf8 -> to_utf8 since both sides of conversion are Unicode a08196b14 Update ChangeLog.rst 0398ba42c Update ChangeLog.rst a0b8a92e3 Update version 5cf2342aa Bump version fe9d39d7c Update changelog 4c9856197 Update changelog 403b271ed Update changelog 2c991e1af Update changelog c984df981 Remove an unused function from internal class fbf21ed22 Update changelog 575583144 Update changelog e7f6888c7 Update changelog 39db2dfd0 Update changelog 9b7829e26 Update changelog 1e0ce567e Fix formatting of paths containing invalid Unicode dde8cf3bb Unification utf16/utf32 to utf8 conversion e84b00e01 Workaround to error: variable 'n' set but not used [-Werror,-Wunused-but-set-variable] b12ffea4f Add filesystem_error test back f61f15cc5 Suppress a false positive in gcc 192df93d7 modules missing pieces (#3399) d8973bf16 Add FMT_STRING for format_to() call (#3413) d7a8e50cb Improve module testing (#3397) 02cae7e48 Improve handling of Unicode in paths 53162142b Remove .bazelrc mention from Bazel related readme (#3411) 5bcf0d7f9 Bazel support (#3406) f8c9fabd9 Fix spelling (#3404) 62ff4e1db Remove foonathan from maintainer list (#3402) f449ca052 Name `vfprintf` clashes with the identically named declaration in 'stdio.h' if that happens to be #included into the same TU. Fix this by using qualified name lookup instead of unqualified lookup that also enables ADL. (#3400) eafcd3c8e Optionally attach declarations to the `global module` rather than `module fmt` (#3387) 18154cc90 Simplify print 0de789cf2 Update changelog c03938922 export names only once (#3392) 93e81bb5d Fix C4365 (signed/unsigned mismatch) warning on 32-bit Windows (#3398) e7d6eb679 Update tests to use recommended MOCK_METHOD (#3395) 18e7a2532 Remove obsolete msvc workarounds (#3388) 0489c19dc fix and improve module (#3386) 8ec94ac6a Use full path to pcm d97d8cea6 Push module check to test d8a2698e6 Fix compilation as a C++20 module with gcc 13 d9c19940a Update add_module_library 4b5ae0b0e Remove unnecessary module support check 75f3b1c09 Use add_module_library faf83406a Workaround cmake issue 165814d57 Add module support to CMake 33f715077 Fix error C2668 on msvc (#3378) c98e5a08a Fix modular build on clang 119c6bd16 Move the modules check 77eeb7183 Remove unused headers 13bf99f9d Enable modules in clang 16 1d0257e4c FMT_MODULE_EXPORT_* -> FMT_EXPORT_* 4613d48fd FMT_EXPORT -> FMT_LIB_EXPORT 4a4a2a2bd Fix diagnostics fce74caa1 Disable problematic implicit conversions 02bf4d1c1 Disable to_string_view ADL 466e0650e Remove problematic workaround 029caa8ea Update changelog e406ddbfa Remove broken part of the config 909567953 Update changelog 7f46cb75b ranges: Fix extra semi (#3374) 4e3f38105 Update changelog d3c10f516 fix compilation for MSDOS (#3369) ab956f600 Update changelog 97aedeab4 Workaround a double-double hexfloat format (#3366) bce8d4ed0 Remove stray comment a91c7b286 Cleanup the core API 19c074e47 Remove deprecated fallback formatter 41cfc739f Generalize format_as f6276a2c2 Force use a signed char (On ARM char is unsigned by default) (#3362) 6002ddf82 Remove a deprecated option 6549ffde8 Improve format_as safety d9bc5f132 Fix code causing spurious Wstringop-overflow warning 9c5cd998d Remove unused functions 93bfa0538 %T is %H:%M:%S (#3349) d8e1c4265 fix case of variant which is valueless by exception (#3347) e1720c0e5 Fix CUDA nvcc warning fmt/include/fmt/core.h(295): warning #1675-D: unrecognized GCC pragma (#3352) 7f882918e `write_floating_seconds`: Fall back to `::round` (#3343) cbc7b8d5c Cleanup dead variable (#3338) 050293646 Path is not escaped twice in the debug mode (#3321) 3daf33837 Enable consteval for Xcode 14.0.1 and later (#3331) e0748e61d Fix recursion check in range formatting b94e1016f chore: set permission to cifuzz.yml (#3328) 98699719f Make # handling consistent with std::format 48dfbcaa9 Improve license and PR template wording c644c753d Add '🐙 userver framework' to the projects 73b7cee7f Fix for issue #3325 (#3326) 5b8302079 Add optional support (#3303) 3a69529e8 Fix various typos (#3312) 76f520835 Call element parse in tuple parse 507c3042d class -> typename 1741e90de Always call parse in range formatter d646fd0da Minor cleanup b5c2f74f4 change sopen_s to wsopen_s (fmtlib#3234) (#3293) e03753c4a Add ubuntu mirrors (#3302) 6e6eb6377 [msvc] fix warning about non-inline variable 3c5464ba1 Fix OpenBSD build error (#3295) 655046d24 Fix container adaptor formatting 581c6292c Add formatters for container adapters (#3279) 7718eeeac Implement glibc ext for sec, min, and hour (#3271) 44e0eea94 Use FMT_HAS_INCLUDE and apply clang-format 99070899b Fix errors setting of FMT_USE_FLOAT128 (#3259) 05e3a9233 Allowing formatting non-copyable ranges. (#3290) 70db193f0 Visual Studio 2022: fmt/format-inl.h(1145,60): warning C4310: cast truncates constant value #3287 (#3288) a2c05a10e Workaround a bug in MSVC <= 19.22 cae9bf45b Simplify apidoc comments 87c066a35 Implement `println` (#3267) 9409b2e4d Workaround for incompatibility between libstdc++ consteval-based std::is_constant_evaluated() implementation and clang-14 (#3281) f89cd276f Refactor countl_zero fallback (#3276) 240b728d8 Report an error on overflow dfbb952b2 Fix empty spec for time point (#3275) 39971eb33 Fix localized format for float-point numbers (#3272) 0f42c17d8 Implement a new formatting algorithm for small given precision (#3269) bfc0924ea Bugfix for fmt::printf on Power9 architecture with the XL compiler (#3256) 676c2a107 Fix negative subsec for time_point (#3261) 2c80cedc3 Fix standard default installation target presence (#3264) dda53082b Support fill, align & width for time point (#3260) 2622cd23e Simplify arg_mapper 9e4a54fa6 Disable remaining implicit conversions 9ce648067 Disble deprecated implicit enum conversions 9121f9b1d Enable format_as for classes b7535365b Enable format_as for non-integral types 09ed1ddb9 Cleanup tests 0ec65d99a Merge parse_presentation_type into parse_format_specs 71e4e0272 Cleanup vprintf aad546baa Simplify presentation type parsing 14a69fcc5 Use parse_align bf34ffd33 Refactor format string parsing 6056e0712 Simplify symbols aa99b8640 Minor cleanup 6ade2eb4e Inline all_int_set caa697494 Simplify parse functions a73a9b6a8 Refactor format string checks 72785a3ab Cleanup write 0c3dd5ddd Remove redundant check 739b600f4 Remove iterator shenanigans 3710c4d38 Link to dragonbox a05ba44df Simplify format string parsing ffb9b1d13 Improve handling of signed types 32190859e Fix handling of char 8fe4d97d5 Reduce template instantiations 7e5a95956 Fix build with MSVC C++20 modules (#3254) 9e6030486 Clarify that unused args are allowed 7ad48c1f6 Cleanup core.h a921a596e Cleanup core.h 3e762fdf5 Use ignore_unused 79981a252 Cleanup ranges formatting bd12aaa98 Simplify format string parsing b8f36207c Simplify format string parsing d907786f0 Move anchor to where it belongs f2355bbe5 Fix docs f398c9476 Fix docs 4841784e8 Simplify C99 strftime detection conditions cb72c23e9 Improve timezone tests 583f2d820 Set timezone for chrono tests 32c439070 Minor cleanup 3a5e19fbf Minor cleanup dfb857ebe Refactor format spec parsing 9ea9b6bcb Cleanup arg id parsing 2b0ff62a7 Remove unused template arg from format_string_checker d1745084e Simplify parse context 407e7b7b6 basic_format_specs -> format_specs 3cf979475 Cleanup format string parsing 934c8e5f7 Refactor precision parsing fc9693834 Remove empty semicolon f0ab112c3 Cleanup parsing 9660e5b95 Remove redundant tests a585571e9 Ignore 0 character with align 840ec8569 Cleanup width handlers 1dadeb8a3 Refactor width parsing 275b4b341 Remove obsolete parse-benchmark e004f1d69 Fix for issue #3241 bde1a6070 Simplify fill and alignment parsing 040dc2a5d small typo in syntax.rst 6a186bcd6 Localize FMT_USE_LOCAL_TIME 8c56919bd Check chrono spec starts with % 115001a3b Formatting of system clocks ought to be to UTC, not to local time. This improves standards conformance of fmt. b90895412 Fix formatting of named arguments with locale d072f1dc6 Fix for issue #3228 3999fd193 Workaround an ADL issue c06e0b4ed Extract timezone offset from timezone conversion functions 1bf302a4e Implement %Ez, %Oz for chrono formatter f1733afd4 Pin godbolt example to specific version f61dcccc6 Update README.rst f9bcbdcbc Update README.rst 1a854b4aa Clarify what mod_inv_5 is 62ceb181b fix #3105 - Compile-time error when mixing named argument with automatic indexing b0c8263cb include/fmt/core.h: copy constructors removal d24be2e95 Add countl_zero function 8d50d814d Fix a chrono formatting issue found by fuzzing 115ca96e0 Bump tested CMake version to 3.25 886491625 Remove workaround for GTest bug 74c51ff37 Skip only strptime dependent test in scan-test 69ffedfe5 Use `target_compile_features` to specify C++ standard requirement fae6f7e08 Optimize range formatter a69e43c9d Update benchmark results 91c024ed3 Rename leading_v -> leading_xdigit 649aa102d CI linux: add CIFuzz Github action 31364732d Replace snprintf-based hex float formatter with internal implementation 74d55a493 Add missing operators 8276f1a20 Fix warning: the implicit by-copy capture of "this" is deprecated (EDG frontend) 81ebe70b9 Fix warning: a class type that is not trivially copyable passed through ellipsis (EDG frontend) 3160847eb Enable C++17 tests on macOS 6a95f8c7e Add missing env CTEST_OUTPUT_ON_FAILURE c7980542d Skip the scan-test if strptime isn't defined (#3184) 7df30f91a Format unique_ptr with custom deleter (#3177) d2e89c8b0 Document more chrono specs bd1959320 Document more chrono specs fd0d0ec8d Document more chrono specs 8e93434ed Update README.rst fc07217d8 Make utf-8 detection compatible with gbk cb7373b46 Replace format with FMT_STRING. (#3162) 795ed8abf Add precision modifier for seconds in chrono format (#3148) 66d71a1b3 Fixing formatting of range of range of char. (#3158) 80f8d3442 fmt::ostream - aggregate buffer instead of inheriting it (#3139) 64965bdc9 Add locale getter in tm_writer (#3147) e1ffa7655 Fix warning: conditional expression is constant. (#3150) 8c19bf3f2 Mention MariaDB amongst the projects that use fmt (#3145) f67dbc981 Remove duplicate implementation (#3144) cd7202e03 Fix overflow error (#3143) 51d3685ef Remove duplicate template parameter. (#3142) 9254cfa6f Support formatting of subseconds (#3115) cfb34a060 Avoid using `uint` as a type name (#3137) 5ad7b7138 Fix options for C++20 experimental module in CMake (#3134) d2c47c0df Fix broken condition (#3129) 491c32cbd Workaround gcc bug 103879 662adf4f3 Move formatter<std::error_code> from fmt/os.h to fmt/std.h (#3125) ad91cab37 Normalization of stdlib inline namespace names (#3119) 0ccaed3a6 Set CMAKE_RUNTIME_OUTPUT_DIRECTORY relative to CMAKE_CURRENT_BINARY_DIR instead of CMAKE_BINARY_DIR (#3120) ad719619c Support formatting of std time_point with utc_clock (#3110) 6e0a5f7fb Update CI to Ubuntu 20.04 and to newer versions of actions 48f525d02 Add basic_format_string::get() 0b5cb18b7 Use buffering in to_string to avoid bloat 4c4f99a58 Update a godbolt link 3272a7a3c Update an example a48e3355a Improve docs afcf42429 Update docs ac85afaab Simplify format_error 3178bb9a2 Update docs cf58f64c5 Update docs e4e0ae391 Use fmt/core.h in examples d65acc4e6 Improve docs c9f790b06 Update docs 6b8144a5a Update locale docs 2d66ad5d3 Suppress -Wshadow 042af5332 Suppress -Wfloat-equal 192859c2b Optimize writing to buffers via back_insert_iterator e2f6d7665 fix gcc <= 7.1 compile errors 61844b6b6 Fix build error on GCC-9 7a752e75f New CI: GCC-9 94ceb38a0 Improve locale API 58c4c012f Disable slow windows build and simplify write_loc c3494ae36 Refactor float localization 8ae56161c Fix compilation with FMT_ENFORCE_COMPILE_STRING and FMT_WERROR (#3091) 76705fc2e Update doc 21c2137e7 Add class name output to formatter for std::exception (#3076) ecffca672 Don't parse '}' as fill 3176e0fad Add locale overload for formatted_size (#3084) (#3087) 1feb430fa Fix intellisense on Windows (#3082) b98ffb7db Improve locale handling bac53951b Add starts_with to basic_string_view. (#3080) d59b89e9c More locale 58a5563a9 Implement grouping 1b94271ff Add support for UTF-8 digit separators 768d79a83 Implement format_facet 91ecb38a3 Localize negative integers aec3bb5d0 Workaround C complex.h idiocy 29c600013 Simplify is_variant_like_ check, fix compile error before GCC 11 (#3072) fec5515c5 num_format_facet -> format_facet f187274d3 Add loc_value fc5e59fe4 Don't use stringstream d6a870460 Improve locale support 56c72a671 Reduce locale dependency 4191477b9 Add formatter for std::exception (#3062) 75383a87f Inline trivial functions 48327a82e Make format.h compile faster b79ed4105 Remove unnecessary type_identity 64e29893c Improve locale support 0b0f7cfbf hip workaround 40e414d82 Fix compilation error with gcc-7.2.0 33b4c33c5 Requires FMT_CONSTEXPR20 support a07411c2b Disable compile-time checks for dynamic width/precision test for LCC and compiler without std::is_constant_evaluated() 797d82b21 Disable non-type template args for LCC a553521d6 Disable "GCC optimize" pragma for LCC a33701196 Update version 1f575fd5c Bump version c7635288f Fix docs, take 2 c8ed78e31 Fix docs e07cfb206 Update changelog 1dc7af569 Fix markup f7d21c3a1 Update changelog a55bcb24b Update changelog 30cb2b312 Remove appveyor config cf8d3c322 Update changelog 3c3cb6f6b Update changelog 91481f255 Detemplatize code_point_length_impl f98048b62 Fix bugs in utf8 decoder (#3056) 4a8e2949b Fix formatting of ranges of code unit types 3a3b0709e Disable bogus -Wstringop-overflow on GCC 11 (#3054) e724bbea1 Fix wchar_t corner cases 665d9779e Disable non-type template args for nvhpc (#3053) 13d07c6a3 Apply doc fixes retroactively 391f922ac Improve error reporting in format string compilation dc59d3df3 Fix a warning in gtest 489dabbd3 Fix decoder on broken utf8 sequences. (#3044) 541cd2183 Fix locale name (thanks Mikhail Paulyshka) 1f95c3438 Fix sign handling with large code units 779449fd9 Belarusify test fbb568bce nvhpc/22.3: workaround for c++17 mode. (#3043) 36c23bd5f Prepare for deprecating FindPythonInterp module. (#3040) 9ff0f3a7d Fix docs fd41110d3 Add MinGW to CI fc23cfbf4 Fix testsuite on MinGW + MSVCRT fd93b633b Constexpr formatted_size (#3026) 7fb8d33f9 Fix compile-time width/precision type check 8bd02e93b Reduce conditional compilation d9c1c7353 Use is_utf8() in print(std::ostream&, ...) 682e097be Remove -Wl,--as-needed linker option b9087ee58 Suppress unused typedef warning df56fdf88 Clarify docs for compile-time checks 90c48b852 Remove double code execution 5a8b7cd74 Add comment 36a25d75b Reuse detail::string_literal in the chrono formatter 6c9304b2c Replace ParseContext with basic_format_parse_context 24ab9dd19 Remove duplicate method a95dc1701 Remove unused condition 5f774c0ae I shouldn't be there 6567df7f2 Update README.rst 6c6b1fbf6 Workaround a bug in MSVC 9beddd08f Improve CI on Windows 6452e3c9e Fix a typo in example 756822ba3 Fix Unicode handling for ostream under Windows with libc++. (#3001) 0b2862a1e Range formatter (#2983) 258000064 Add fmt:: namespace to doc (#3009) e9ca7ea47 Suppress a bogus warning 81f1cc74a Improve Unicode handling when writing to an ostream on Windows (#2994) bbcb129e0 Reduce filesize of the tests on MinGW (#2995) 48e0a5922 Implement compile-time checks for dynamic width/precision type bc5c7c50f Fixes IBM XLC behavior with uint128 fallback (#2985) 00adc7120 Add a regression test for here be dragons c48be439f Add additional search paths for doxygen on Windows 371f9c71c Fix even in format_dragon 91abfcd6c Suppress an msvc warning deeab54b4 Remove unused include 688a627d6 Remove unused constants. 9bb1605f1 Remove some branches 8061d9afb Simplify Dragonbox implementation d82e1a108 Make sure the correct fmod overload is called defa04e73 Fix for EDG frontend (Intel, NVHPC compilers) (#2982) 92d36e82c The n specifier for ranges (#2981) 0db43cf7f Pointless comparison warnings (#2971) 05be7a076 Use FMT_USE_FLOAT128 instead of __SIZEOF_FLOAT128__ 2a1b3ac62 Fix large shift in uint128_fallback e1d3d3a32 Exclude recursive ranges from the formatter specialization for ranges (#2974) b761f1279 Improve forward using the idea from Jonathan Müller cc1926942 Inline std::forward d5e9166f5 Fixed typo in changelog example. b31d1a75a Add xchar support for fmt::streamed(). git-subtree-dir: externals/fmt git-subtree-split: f5e54359df4c26b6230fc61d38aa294581393084
2023-10-08 08:55:04 +01:00
template <typename T, typename Char>
struct formatter<detail::streamed_view<T>, Char>
: basic_ostream_formatter<Char> {
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
template <typename OutputIt>
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
auto format(detail::streamed_view<T> view,
Squashed 'externals/fmt/' changes from c4ee72653..f5e54359d f5e54359d Update version a003ab93c Update changelog 9b7416081 `atomic_flag` formatting (#3594) a21690bdf Coding conventions c9efd8968 Merge branch 'MathewBensonCode-master' e78682405 Refactor Improvement on umul128 function 2b20d7be6 Refactor To remove friend function private access 1f38ebbdb Add condition to include friend function in win32 e41817969 Fix for FMT_MODULE not compiling on GCC 0bffed895 Bump actions/checkout from 3.1.0 to 3.5.3 (#3602) cc077a5e3 Fix `FMT_NO_UNIQUE_ADDRESS` warning with clang-cl. (#3600) a992b3d1f Fix for Compilation Error When Using FMT_MODULE (#3597) af1b768cc Update changelog 2a7c45b54 Update changelog bd868f3a5 Improve compatibility with GBK #3598 (#3599) bbb784fb1 Fix a gcc error about partial specialization after instantiation 6c845f57e Fix `formatted_size` with `FMT_COMPILE` and format specs (#3588) a379595c5 Bump actions/upload-artifact from 3.1.0 to 3.1.2 (#3593) 9dfde7871 Bump ossf/scorecard-action from 2.1.2 to 2.2.0 (#3592) e92a705bd Bump github/codeql-action from 2.2.4 to 2.21.4 (#3591) 5a866fe85 Add formatter for std::atomic (#3574) e150ea0cc to_string supports types with format_as 29ce2ff8a Update README.rst 2e1362add Create scorecard.yml e57ca2e36 Update version 4c56612c6 Update changelog e1acd5f4d Bump version 6ffee2f75 Handle new rst nodes ee475d640 Update changelog ecc914125 Update changelog d42486231 Fix fixed precision handling during rounding in long double 3c1b3337d Update changelog 35fb69ebe Update changelog f92be35c0 Update changelog 7a2f6ac21 Fix a comment 744ff5554 Fix docs 70ae48b00 Update changelog ebb10347c Merge branch 'master' of github.com:fmtlib/fmt 100572016 Clarify that visit_format_arg is deprecated aeb6ad4dd Added formatter for bit_reference-like types (#3570) 96d1fa22d Update changelog 8a4bec5cf fix ambiguous formatter lookup for flat_set (#3561) eacd51c24 cmake: fix FMT_PKGCONFIG_DIR path (#3563) 757564f5c add missing inline specifier (#3552) f4214ae8d Use the U literal for unsigned integer constants. (#3549) aecf80d30 Update a comment 503d49286 expose detail::throw_format_error (#3551) 4f46cb82f Remove std::copy usage. (#3550) 3dec65b7f Use replacement character in path dbabb305c Turn off error-producing NVCC workaround when using c++20 (#3544) ac0ab8eff Improve path formatter 40f35d6f0 Cleanup std formatters 31c2c5679 Cleanup formatters b2728a317 Improve path formatter 77e0b0e22 Cleanup chrono formatter e47585904 Fix overspecified tests 436c131d4 Optimize compiled format_to_n 388bc296b Fix fixed formatting of small long doubles 95e1ea573 Clarify requirement on compiled formatter fb97cb231 Suppress a bogus stringop-overflow warning dd5a9691f Clarify that data is not null-terminated 72dc4491e Fix format_string_checker initialisation order (#3542) 9bea6ec04 Don't use deprecated checked_array_iterator 661b23ede Call parse on empty specs at compile time 8e87d3a8b Fix include a47491656 Update CMakeLists.txt (#3523) de4705f84 Trying to improve errors in the unformattable case (#3478) e4c8cfe38 README: Add link to merged clang-tidy check (#3515) 606f85f8b Workaround brain-damaged conversions a331dbfb6 Fix type in assert message. (#3508) 13156e54b Revert "add ability to build Apple framework using CMAKE_FRAMEWORK" (#3496) 9158bea1e Remove old grisu tests dd17f89a1 Fix for issue #3492 (#3493) 1daae555b Optimize format string compilation 6ad301235 Optimize code unit output in compiled format 8732ad877 Update docs 5afb1821a Update docs a81135f2c Fix a link dfc34821a Update docs 0765e7284 Update docs 977d887a4 Suppress a bogus warning c86fe0b8d Give basic_memory_buffer allocator [[no_unique_address]] (#3485) 5dbe0ff95 Bump actions/checkout from 3.5.2 to 3.5.3 (#3486) de0757b57 Use FMT_TRY and FMT_CATCH in std.h (#3482) 8fe893c0a Update README.rst 0f823df46 Remove detail namespace hack 60fd9941c Use correct Char type in std::filesystem::path (#3476) 8abfc145b Fix MSVC warning in std::chrono::time_point formatter (#3475) 686b3353a Simplify typeid check b2106f363 Tweak comments 35547d600 Use const_check to silence MSVC warning 179c7e5a6 Use typeid() only if it's available 61fb3a15f Add VxWorks7 user space and kernel space support (#3467) bd393456e Remove FMT_*_DETAIL_NAMESPACE 6be36af0d Remove udl_formatter 2a35eeed8 Remove unused data 256a826d6 Consolidate formatters 6369af37d Simplify formatters 0b8404918 Remove get_cached_power 171a020c8 Pass correct Char to base format_as formatter (#3457) d8f04e399 Simplify ceil 5e988f8df Remove is_constant_evaluated() check 19b17618a Make constexpr ceil c684a06d5 New CI: macOS 13, Xcode 14.3, C++ 20 abdb7fdf8 Update api.rst 8b09fe2a0 Fix example for user-defined types in documentation for 10.0.0 (#3461) adad18a74 Update ChangeLog.rst 858e528ab Use dragon in constexpr a54cb108d CMake: Do not fail on unknown compiler features (#3453) ef55d4f52 Suppress a bogus gcc warning 70b6a6fa4 Update README.rst (#3454) 6fe895410 Remove invalid_arg_index d0652d225 Create dependabot.yml (#3452) de8d0171a Simplify FMT_FORMAT_AS 7401fe046 Hash pin Github Workflows (#3451) 08ef0d084 fix formatter<char*> (#3432) d60b907f8 Replace mod_inv_25 by explicit value (#3450) 4ce086f73 remove code duplication (#3448) 821f8cdb4 Detemplatize printf more 0bf6ed7e1 Cleanup printf e40e04fac Detemplatize printf_arg_formatter 0a1c27281 Detemplatize basic_printf_context 2f605cc89 Deprecate wide printf 1d54499ac Apply coding conventions 3c6053c53 Cleanup basic_printf_context 4a392adaa Remove basic_printf_parse_context b14913fae FMT_MODULE_EXPORT -> FMT_EXPORT 2117df299 format-inl.h: address implicit int to bool conversion (#3446) 616a49378 Revert Char* formatter removal 9a034b0d5 Always assert in FMT_THROW (#3439) e0fc0e85e Remove unneeded FMT_API 552c43aba Improve long formatters d6846f4ac Clarify why byte formatter is in core aeedac588 Remove unneeded specialization eaa630769 Make hex float test more stable (#3434) e82bf41a1 Update README.rst e077396f5 Update docs 861facad0 Fix a typo 75bfe5761 Improve docs 697e76ba3 Don't call init_named_args unnecessarily a425e0ff3 Cleanup xchar API c36dd825b Remove unnecessary forwarding 130b8fcdb Reduce template instantiations a47e8419b Cleanup the core API ea49c91cd Cleanup argument construction d7592ad8b Fix time_point formatting for durations with certain ratios (#3430) ebfb2e677 Remove unused alias 5780269d5 Improve API safety b47119216 Fix a comment 8f18e72df Improve API safety 93d7cb12f Fix formatting 0e4278717 Remove unused macro 93a30a074 unicode_to_utf8 -> to_utf8 since both sides of conversion are Unicode a08196b14 Update ChangeLog.rst 0398ba42c Update ChangeLog.rst a0b8a92e3 Update version 5cf2342aa Bump version fe9d39d7c Update changelog 4c9856197 Update changelog 403b271ed Update changelog 2c991e1af Update changelog c984df981 Remove an unused function from internal class fbf21ed22 Update changelog 575583144 Update changelog e7f6888c7 Update changelog 39db2dfd0 Update changelog 9b7829e26 Update changelog 1e0ce567e Fix formatting of paths containing invalid Unicode dde8cf3bb Unification utf16/utf32 to utf8 conversion e84b00e01 Workaround to error: variable 'n' set but not used [-Werror,-Wunused-but-set-variable] b12ffea4f Add filesystem_error test back f61f15cc5 Suppress a false positive in gcc 192df93d7 modules missing pieces (#3399) d8973bf16 Add FMT_STRING for format_to() call (#3413) d7a8e50cb Improve module testing (#3397) 02cae7e48 Improve handling of Unicode in paths 53162142b Remove .bazelrc mention from Bazel related readme (#3411) 5bcf0d7f9 Bazel support (#3406) f8c9fabd9 Fix spelling (#3404) 62ff4e1db Remove foonathan from maintainer list (#3402) f449ca052 Name `vfprintf` clashes with the identically named declaration in 'stdio.h' if that happens to be #included into the same TU. Fix this by using qualified name lookup instead of unqualified lookup that also enables ADL. (#3400) eafcd3c8e Optionally attach declarations to the `global module` rather than `module fmt` (#3387) 18154cc90 Simplify print 0de789cf2 Update changelog c03938922 export names only once (#3392) 93e81bb5d Fix C4365 (signed/unsigned mismatch) warning on 32-bit Windows (#3398) e7d6eb679 Update tests to use recommended MOCK_METHOD (#3395) 18e7a2532 Remove obsolete msvc workarounds (#3388) 0489c19dc fix and improve module (#3386) 8ec94ac6a Use full path to pcm d97d8cea6 Push module check to test d8a2698e6 Fix compilation as a C++20 module with gcc 13 d9c19940a Update add_module_library 4b5ae0b0e Remove unnecessary module support check 75f3b1c09 Use add_module_library faf83406a Workaround cmake issue 165814d57 Add module support to CMake 33f715077 Fix error C2668 on msvc (#3378) c98e5a08a Fix modular build on clang 119c6bd16 Move the modules check 77eeb7183 Remove unused headers 13bf99f9d Enable modules in clang 16 1d0257e4c FMT_MODULE_EXPORT_* -> FMT_EXPORT_* 4613d48fd FMT_EXPORT -> FMT_LIB_EXPORT 4a4a2a2bd Fix diagnostics fce74caa1 Disable problematic implicit conversions 02bf4d1c1 Disable to_string_view ADL 466e0650e Remove problematic workaround 029caa8ea Update changelog e406ddbfa Remove broken part of the config 909567953 Update changelog 7f46cb75b ranges: Fix extra semi (#3374) 4e3f38105 Update changelog d3c10f516 fix compilation for MSDOS (#3369) ab956f600 Update changelog 97aedeab4 Workaround a double-double hexfloat format (#3366) bce8d4ed0 Remove stray comment a91c7b286 Cleanup the core API 19c074e47 Remove deprecated fallback formatter 41cfc739f Generalize format_as f6276a2c2 Force use a signed char (On ARM char is unsigned by default) (#3362) 6002ddf82 Remove a deprecated option 6549ffde8 Improve format_as safety d9bc5f132 Fix code causing spurious Wstringop-overflow warning 9c5cd998d Remove unused functions 93bfa0538 %T is %H:%M:%S (#3349) d8e1c4265 fix case of variant which is valueless by exception (#3347) e1720c0e5 Fix CUDA nvcc warning fmt/include/fmt/core.h(295): warning #1675-D: unrecognized GCC pragma (#3352) 7f882918e `write_floating_seconds`: Fall back to `::round` (#3343) cbc7b8d5c Cleanup dead variable (#3338) 050293646 Path is not escaped twice in the debug mode (#3321) 3daf33837 Enable consteval for Xcode 14.0.1 and later (#3331) e0748e61d Fix recursion check in range formatting b94e1016f chore: set permission to cifuzz.yml (#3328) 98699719f Make # handling consistent with std::format 48dfbcaa9 Improve license and PR template wording c644c753d Add '🐙 userver framework' to the projects 73b7cee7f Fix for issue #3325 (#3326) 5b8302079 Add optional support (#3303) 3a69529e8 Fix various typos (#3312) 76f520835 Call element parse in tuple parse 507c3042d class -> typename 1741e90de Always call parse in range formatter d646fd0da Minor cleanup b5c2f74f4 change sopen_s to wsopen_s (fmtlib#3234) (#3293) e03753c4a Add ubuntu mirrors (#3302) 6e6eb6377 [msvc] fix warning about non-inline variable 3c5464ba1 Fix OpenBSD build error (#3295) 655046d24 Fix container adaptor formatting 581c6292c Add formatters for container adapters (#3279) 7718eeeac Implement glibc ext for sec, min, and hour (#3271) 44e0eea94 Use FMT_HAS_INCLUDE and apply clang-format 99070899b Fix errors setting of FMT_USE_FLOAT128 (#3259) 05e3a9233 Allowing formatting non-copyable ranges. (#3290) 70db193f0 Visual Studio 2022: fmt/format-inl.h(1145,60): warning C4310: cast truncates constant value #3287 (#3288) a2c05a10e Workaround a bug in MSVC <= 19.22 cae9bf45b Simplify apidoc comments 87c066a35 Implement `println` (#3267) 9409b2e4d Workaround for incompatibility between libstdc++ consteval-based std::is_constant_evaluated() implementation and clang-14 (#3281) f89cd276f Refactor countl_zero fallback (#3276) 240b728d8 Report an error on overflow dfbb952b2 Fix empty spec for time point (#3275) 39971eb33 Fix localized format for float-point numbers (#3272) 0f42c17d8 Implement a new formatting algorithm for small given precision (#3269) bfc0924ea Bugfix for fmt::printf on Power9 architecture with the XL compiler (#3256) 676c2a107 Fix negative subsec for time_point (#3261) 2c80cedc3 Fix standard default installation target presence (#3264) dda53082b Support fill, align & width for time point (#3260) 2622cd23e Simplify arg_mapper 9e4a54fa6 Disable remaining implicit conversions 9ce648067 Disble deprecated implicit enum conversions 9121f9b1d Enable format_as for classes b7535365b Enable format_as for non-integral types 09ed1ddb9 Cleanup tests 0ec65d99a Merge parse_presentation_type into parse_format_specs 71e4e0272 Cleanup vprintf aad546baa Simplify presentation type parsing 14a69fcc5 Use parse_align bf34ffd33 Refactor format string parsing 6056e0712 Simplify symbols aa99b8640 Minor cleanup 6ade2eb4e Inline all_int_set caa697494 Simplify parse functions a73a9b6a8 Refactor format string checks 72785a3ab Cleanup write 0c3dd5ddd Remove redundant check 739b600f4 Remove iterator shenanigans 3710c4d38 Link to dragonbox a05ba44df Simplify format string parsing ffb9b1d13 Improve handling of signed types 32190859e Fix handling of char 8fe4d97d5 Reduce template instantiations 7e5a95956 Fix build with MSVC C++20 modules (#3254) 9e6030486 Clarify that unused args are allowed 7ad48c1f6 Cleanup core.h a921a596e Cleanup core.h 3e762fdf5 Use ignore_unused 79981a252 Cleanup ranges formatting bd12aaa98 Simplify format string parsing b8f36207c Simplify format string parsing d907786f0 Move anchor to where it belongs f2355bbe5 Fix docs f398c9476 Fix docs 4841784e8 Simplify C99 strftime detection conditions cb72c23e9 Improve timezone tests 583f2d820 Set timezone for chrono tests 32c439070 Minor cleanup 3a5e19fbf Minor cleanup dfb857ebe Refactor format spec parsing 9ea9b6bcb Cleanup arg id parsing 2b0ff62a7 Remove unused template arg from format_string_checker d1745084e Simplify parse context 407e7b7b6 basic_format_specs -> format_specs 3cf979475 Cleanup format string parsing 934c8e5f7 Refactor precision parsing fc9693834 Remove empty semicolon f0ab112c3 Cleanup parsing 9660e5b95 Remove redundant tests a585571e9 Ignore 0 character with align 840ec8569 Cleanup width handlers 1dadeb8a3 Refactor width parsing 275b4b341 Remove obsolete parse-benchmark e004f1d69 Fix for issue #3241 bde1a6070 Simplify fill and alignment parsing 040dc2a5d small typo in syntax.rst 6a186bcd6 Localize FMT_USE_LOCAL_TIME 8c56919bd Check chrono spec starts with % 115001a3b Formatting of system clocks ought to be to UTC, not to local time. This improves standards conformance of fmt. b90895412 Fix formatting of named arguments with locale d072f1dc6 Fix for issue #3228 3999fd193 Workaround an ADL issue c06e0b4ed Extract timezone offset from timezone conversion functions 1bf302a4e Implement %Ez, %Oz for chrono formatter f1733afd4 Pin godbolt example to specific version f61dcccc6 Update README.rst f9bcbdcbc Update README.rst 1a854b4aa Clarify what mod_inv_5 is 62ceb181b fix #3105 - Compile-time error when mixing named argument with automatic indexing b0c8263cb include/fmt/core.h: copy constructors removal d24be2e95 Add countl_zero function 8d50d814d Fix a chrono formatting issue found by fuzzing 115ca96e0 Bump tested CMake version to 3.25 886491625 Remove workaround for GTest bug 74c51ff37 Skip only strptime dependent test in scan-test 69ffedfe5 Use `target_compile_features` to specify C++ standard requirement fae6f7e08 Optimize range formatter a69e43c9d Update benchmark results 91c024ed3 Rename leading_v -> leading_xdigit 649aa102d CI linux: add CIFuzz Github action 31364732d Replace snprintf-based hex float formatter with internal implementation 74d55a493 Add missing operators 8276f1a20 Fix warning: the implicit by-copy capture of "this" is deprecated (EDG frontend) 81ebe70b9 Fix warning: a class type that is not trivially copyable passed through ellipsis (EDG frontend) 3160847eb Enable C++17 tests on macOS 6a95f8c7e Add missing env CTEST_OUTPUT_ON_FAILURE c7980542d Skip the scan-test if strptime isn't defined (#3184) 7df30f91a Format unique_ptr with custom deleter (#3177) d2e89c8b0 Document more chrono specs bd1959320 Document more chrono specs fd0d0ec8d Document more chrono specs 8e93434ed Update README.rst fc07217d8 Make utf-8 detection compatible with gbk cb7373b46 Replace format with FMT_STRING. (#3162) 795ed8abf Add precision modifier for seconds in chrono format (#3148) 66d71a1b3 Fixing formatting of range of range of char. (#3158) 80f8d3442 fmt::ostream - aggregate buffer instead of inheriting it (#3139) 64965bdc9 Add locale getter in tm_writer (#3147) e1ffa7655 Fix warning: conditional expression is constant. (#3150) 8c19bf3f2 Mention MariaDB amongst the projects that use fmt (#3145) f67dbc981 Remove duplicate implementation (#3144) cd7202e03 Fix overflow error (#3143) 51d3685ef Remove duplicate template parameter. (#3142) 9254cfa6f Support formatting of subseconds (#3115) cfb34a060 Avoid using `uint` as a type name (#3137) 5ad7b7138 Fix options for C++20 experimental module in CMake (#3134) d2c47c0df Fix broken condition (#3129) 491c32cbd Workaround gcc bug 103879 662adf4f3 Move formatter<std::error_code> from fmt/os.h to fmt/std.h (#3125) ad91cab37 Normalization of stdlib inline namespace names (#3119) 0ccaed3a6 Set CMAKE_RUNTIME_OUTPUT_DIRECTORY relative to CMAKE_CURRENT_BINARY_DIR instead of CMAKE_BINARY_DIR (#3120) ad719619c Support formatting of std time_point with utc_clock (#3110) 6e0a5f7fb Update CI to Ubuntu 20.04 and to newer versions of actions 48f525d02 Add basic_format_string::get() 0b5cb18b7 Use buffering in to_string to avoid bloat 4c4f99a58 Update a godbolt link 3272a7a3c Update an example a48e3355a Improve docs afcf42429 Update docs ac85afaab Simplify format_error 3178bb9a2 Update docs cf58f64c5 Update docs e4e0ae391 Use fmt/core.h in examples d65acc4e6 Improve docs c9f790b06 Update docs 6b8144a5a Update locale docs 2d66ad5d3 Suppress -Wshadow 042af5332 Suppress -Wfloat-equal 192859c2b Optimize writing to buffers via back_insert_iterator e2f6d7665 fix gcc <= 7.1 compile errors 61844b6b6 Fix build error on GCC-9 7a752e75f New CI: GCC-9 94ceb38a0 Improve locale API 58c4c012f Disable slow windows build and simplify write_loc c3494ae36 Refactor float localization 8ae56161c Fix compilation with FMT_ENFORCE_COMPILE_STRING and FMT_WERROR (#3091) 76705fc2e Update doc 21c2137e7 Add class name output to formatter for std::exception (#3076) ecffca672 Don't parse '}' as fill 3176e0fad Add locale overload for formatted_size (#3084) (#3087) 1feb430fa Fix intellisense on Windows (#3082) b98ffb7db Improve locale handling bac53951b Add starts_with to basic_string_view. (#3080) d59b89e9c More locale 58a5563a9 Implement grouping 1b94271ff Add support for UTF-8 digit separators 768d79a83 Implement format_facet 91ecb38a3 Localize negative integers aec3bb5d0 Workaround C complex.h idiocy 29c600013 Simplify is_variant_like_ check, fix compile error before GCC 11 (#3072) fec5515c5 num_format_facet -> format_facet f187274d3 Add loc_value fc5e59fe4 Don't use stringstream d6a870460 Improve locale support 56c72a671 Reduce locale dependency 4191477b9 Add formatter for std::exception (#3062) 75383a87f Inline trivial functions 48327a82e Make format.h compile faster b79ed4105 Remove unnecessary type_identity 64e29893c Improve locale support 0b0f7cfbf hip workaround 40e414d82 Fix compilation error with gcc-7.2.0 33b4c33c5 Requires FMT_CONSTEXPR20 support a07411c2b Disable compile-time checks for dynamic width/precision test for LCC and compiler without std::is_constant_evaluated() 797d82b21 Disable non-type template args for LCC a553521d6 Disable "GCC optimize" pragma for LCC a33701196 Update version 1f575fd5c Bump version c7635288f Fix docs, take 2 c8ed78e31 Fix docs e07cfb206 Update changelog 1dc7af569 Fix markup f7d21c3a1 Update changelog a55bcb24b Update changelog 30cb2b312 Remove appveyor config cf8d3c322 Update changelog 3c3cb6f6b Update changelog 91481f255 Detemplatize code_point_length_impl f98048b62 Fix bugs in utf8 decoder (#3056) 4a8e2949b Fix formatting of ranges of code unit types 3a3b0709e Disable bogus -Wstringop-overflow on GCC 11 (#3054) e724bbea1 Fix wchar_t corner cases 665d9779e Disable non-type template args for nvhpc (#3053) 13d07c6a3 Apply doc fixes retroactively 391f922ac Improve error reporting in format string compilation dc59d3df3 Fix a warning in gtest 489dabbd3 Fix decoder on broken utf8 sequences. (#3044) 541cd2183 Fix locale name (thanks Mikhail Paulyshka) 1f95c3438 Fix sign handling with large code units 779449fd9 Belarusify test fbb568bce nvhpc/22.3: workaround for c++17 mode. (#3043) 36c23bd5f Prepare for deprecating FindPythonInterp module. (#3040) 9ff0f3a7d Fix docs fd41110d3 Add MinGW to CI fc23cfbf4 Fix testsuite on MinGW + MSVCRT fd93b633b Constexpr formatted_size (#3026) 7fb8d33f9 Fix compile-time width/precision type check 8bd02e93b Reduce conditional compilation d9c1c7353 Use is_utf8() in print(std::ostream&, ...) 682e097be Remove -Wl,--as-needed linker option b9087ee58 Suppress unused typedef warning df56fdf88 Clarify docs for compile-time checks 90c48b852 Remove double code execution 5a8b7cd74 Add comment 36a25d75b Reuse detail::string_literal in the chrono formatter 6c9304b2c Replace ParseContext with basic_format_parse_context 24ab9dd19 Remove duplicate method a95dc1701 Remove unused condition 5f774c0ae I shouldn't be there 6567df7f2 Update README.rst 6c6b1fbf6 Workaround a bug in MSVC 9beddd08f Improve CI on Windows 6452e3c9e Fix a typo in example 756822ba3 Fix Unicode handling for ostream under Windows with libc++. (#3001) 0b2862a1e Range formatter (#2983) 258000064 Add fmt:: namespace to doc (#3009) e9ca7ea47 Suppress a bogus warning 81f1cc74a Improve Unicode handling when writing to an ostream on Windows (#2994) bbcb129e0 Reduce filesize of the tests on MinGW (#2995) 48e0a5922 Implement compile-time checks for dynamic width/precision type bc5c7c50f Fixes IBM XLC behavior with uint128 fallback (#2985) 00adc7120 Add a regression test for here be dragons c48be439f Add additional search paths for doxygen on Windows 371f9c71c Fix even in format_dragon 91abfcd6c Suppress an msvc warning deeab54b4 Remove unused include 688a627d6 Remove unused constants. 9bb1605f1 Remove some branches 8061d9afb Simplify Dragonbox implementation d82e1a108 Make sure the correct fmod overload is called defa04e73 Fix for EDG frontend (Intel, NVHPC compilers) (#2982) 92d36e82c The n specifier for ranges (#2981) 0db43cf7f Pointless comparison warnings (#2971) 05be7a076 Use FMT_USE_FLOAT128 instead of __SIZEOF_FLOAT128__ 2a1b3ac62 Fix large shift in uint128_fallback e1d3d3a32 Exclude recursive ranges from the formatter specialization for ranges (#2974) b761f1279 Improve forward using the idea from Jonathan Müller cc1926942 Inline std::forward d5e9166f5 Fixed typo in changelog example. b31d1a75a Add xchar support for fmt::streamed(). git-subtree-dir: externals/fmt git-subtree-split: f5e54359df4c26b6230fc61d38aa294581393084
2023-10-08 08:55:04 +01:00
basic_format_context<OutputIt, Char>& ctx) const -> OutputIt {
return basic_ostream_formatter<Char>::format(view.value, ctx);
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
}
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
};
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
/**
\rst
Returns a view that formats `value` via an ostream ``operator<<``.
**Example**::
fmt::print("Current thread id: {}\n",
fmt::streamed(std::this_thread::get_id()));
\endrst
*/
template <typename T>
auto streamed(const T& value) -> detail::streamed_view<T> {
return {value};
}
namespace detail {
Squashed 'externals/fmt/' changes from c4ee72653..f5e54359d f5e54359d Update version a003ab93c Update changelog 9b7416081 `atomic_flag` formatting (#3594) a21690bdf Coding conventions c9efd8968 Merge branch 'MathewBensonCode-master' e78682405 Refactor Improvement on umul128 function 2b20d7be6 Refactor To remove friend function private access 1f38ebbdb Add condition to include friend function in win32 e41817969 Fix for FMT_MODULE not compiling on GCC 0bffed895 Bump actions/checkout from 3.1.0 to 3.5.3 (#3602) cc077a5e3 Fix `FMT_NO_UNIQUE_ADDRESS` warning with clang-cl. (#3600) a992b3d1f Fix for Compilation Error When Using FMT_MODULE (#3597) af1b768cc Update changelog 2a7c45b54 Update changelog bd868f3a5 Improve compatibility with GBK #3598 (#3599) bbb784fb1 Fix a gcc error about partial specialization after instantiation 6c845f57e Fix `formatted_size` with `FMT_COMPILE` and format specs (#3588) a379595c5 Bump actions/upload-artifact from 3.1.0 to 3.1.2 (#3593) 9dfde7871 Bump ossf/scorecard-action from 2.1.2 to 2.2.0 (#3592) e92a705bd Bump github/codeql-action from 2.2.4 to 2.21.4 (#3591) 5a866fe85 Add formatter for std::atomic (#3574) e150ea0cc to_string supports types with format_as 29ce2ff8a Update README.rst 2e1362add Create scorecard.yml e57ca2e36 Update version 4c56612c6 Update changelog e1acd5f4d Bump version 6ffee2f75 Handle new rst nodes ee475d640 Update changelog ecc914125 Update changelog d42486231 Fix fixed precision handling during rounding in long double 3c1b3337d Update changelog 35fb69ebe Update changelog f92be35c0 Update changelog 7a2f6ac21 Fix a comment 744ff5554 Fix docs 70ae48b00 Update changelog ebb10347c Merge branch 'master' of github.com:fmtlib/fmt 100572016 Clarify that visit_format_arg is deprecated aeb6ad4dd Added formatter for bit_reference-like types (#3570) 96d1fa22d Update changelog 8a4bec5cf fix ambiguous formatter lookup for flat_set (#3561) eacd51c24 cmake: fix FMT_PKGCONFIG_DIR path (#3563) 757564f5c add missing inline specifier (#3552) f4214ae8d Use the U literal for unsigned integer constants. (#3549) aecf80d30 Update a comment 503d49286 expose detail::throw_format_error (#3551) 4f46cb82f Remove std::copy usage. (#3550) 3dec65b7f Use replacement character in path dbabb305c Turn off error-producing NVCC workaround when using c++20 (#3544) ac0ab8eff Improve path formatter 40f35d6f0 Cleanup std formatters 31c2c5679 Cleanup formatters b2728a317 Improve path formatter 77e0b0e22 Cleanup chrono formatter e47585904 Fix overspecified tests 436c131d4 Optimize compiled format_to_n 388bc296b Fix fixed formatting of small long doubles 95e1ea573 Clarify requirement on compiled formatter fb97cb231 Suppress a bogus stringop-overflow warning dd5a9691f Clarify that data is not null-terminated 72dc4491e Fix format_string_checker initialisation order (#3542) 9bea6ec04 Don't use deprecated checked_array_iterator 661b23ede Call parse on empty specs at compile time 8e87d3a8b Fix include a47491656 Update CMakeLists.txt (#3523) de4705f84 Trying to improve errors in the unformattable case (#3478) e4c8cfe38 README: Add link to merged clang-tidy check (#3515) 606f85f8b Workaround brain-damaged conversions a331dbfb6 Fix type in assert message. (#3508) 13156e54b Revert "add ability to build Apple framework using CMAKE_FRAMEWORK" (#3496) 9158bea1e Remove old grisu tests dd17f89a1 Fix for issue #3492 (#3493) 1daae555b Optimize format string compilation 6ad301235 Optimize code unit output in compiled format 8732ad877 Update docs 5afb1821a Update docs a81135f2c Fix a link dfc34821a Update docs 0765e7284 Update docs 977d887a4 Suppress a bogus warning c86fe0b8d Give basic_memory_buffer allocator [[no_unique_address]] (#3485) 5dbe0ff95 Bump actions/checkout from 3.5.2 to 3.5.3 (#3486) de0757b57 Use FMT_TRY and FMT_CATCH in std.h (#3482) 8fe893c0a Update README.rst 0f823df46 Remove detail namespace hack 60fd9941c Use correct Char type in std::filesystem::path (#3476) 8abfc145b Fix MSVC warning in std::chrono::time_point formatter (#3475) 686b3353a Simplify typeid check b2106f363 Tweak comments 35547d600 Use const_check to silence MSVC warning 179c7e5a6 Use typeid() only if it's available 61fb3a15f Add VxWorks7 user space and kernel space support (#3467) bd393456e Remove FMT_*_DETAIL_NAMESPACE 6be36af0d Remove udl_formatter 2a35eeed8 Remove unused data 256a826d6 Consolidate formatters 6369af37d Simplify formatters 0b8404918 Remove get_cached_power 171a020c8 Pass correct Char to base format_as formatter (#3457) d8f04e399 Simplify ceil 5e988f8df Remove is_constant_evaluated() check 19b17618a Make constexpr ceil c684a06d5 New CI: macOS 13, Xcode 14.3, C++ 20 abdb7fdf8 Update api.rst 8b09fe2a0 Fix example for user-defined types in documentation for 10.0.0 (#3461) adad18a74 Update ChangeLog.rst 858e528ab Use dragon in constexpr a54cb108d CMake: Do not fail on unknown compiler features (#3453) ef55d4f52 Suppress a bogus gcc warning 70b6a6fa4 Update README.rst (#3454) 6fe895410 Remove invalid_arg_index d0652d225 Create dependabot.yml (#3452) de8d0171a Simplify FMT_FORMAT_AS 7401fe046 Hash pin Github Workflows (#3451) 08ef0d084 fix formatter<char*> (#3432) d60b907f8 Replace mod_inv_25 by explicit value (#3450) 4ce086f73 remove code duplication (#3448) 821f8cdb4 Detemplatize printf more 0bf6ed7e1 Cleanup printf e40e04fac Detemplatize printf_arg_formatter 0a1c27281 Detemplatize basic_printf_context 2f605cc89 Deprecate wide printf 1d54499ac Apply coding conventions 3c6053c53 Cleanup basic_printf_context 4a392adaa Remove basic_printf_parse_context b14913fae FMT_MODULE_EXPORT -> FMT_EXPORT 2117df299 format-inl.h: address implicit int to bool conversion (#3446) 616a49378 Revert Char* formatter removal 9a034b0d5 Always assert in FMT_THROW (#3439) e0fc0e85e Remove unneeded FMT_API 552c43aba Improve long formatters d6846f4ac Clarify why byte formatter is in core aeedac588 Remove unneeded specialization eaa630769 Make hex float test more stable (#3434) e82bf41a1 Update README.rst e077396f5 Update docs 861facad0 Fix a typo 75bfe5761 Improve docs 697e76ba3 Don't call init_named_args unnecessarily a425e0ff3 Cleanup xchar API c36dd825b Remove unnecessary forwarding 130b8fcdb Reduce template instantiations a47e8419b Cleanup the core API ea49c91cd Cleanup argument construction d7592ad8b Fix time_point formatting for durations with certain ratios (#3430) ebfb2e677 Remove unused alias 5780269d5 Improve API safety b47119216 Fix a comment 8f18e72df Improve API safety 93d7cb12f Fix formatting 0e4278717 Remove unused macro 93a30a074 unicode_to_utf8 -> to_utf8 since both sides of conversion are Unicode a08196b14 Update ChangeLog.rst 0398ba42c Update ChangeLog.rst a0b8a92e3 Update version 5cf2342aa Bump version fe9d39d7c Update changelog 4c9856197 Update changelog 403b271ed Update changelog 2c991e1af Update changelog c984df981 Remove an unused function from internal class fbf21ed22 Update changelog 575583144 Update changelog e7f6888c7 Update changelog 39db2dfd0 Update changelog 9b7829e26 Update changelog 1e0ce567e Fix formatting of paths containing invalid Unicode dde8cf3bb Unification utf16/utf32 to utf8 conversion e84b00e01 Workaround to error: variable 'n' set but not used [-Werror,-Wunused-but-set-variable] b12ffea4f Add filesystem_error test back f61f15cc5 Suppress a false positive in gcc 192df93d7 modules missing pieces (#3399) d8973bf16 Add FMT_STRING for format_to() call (#3413) d7a8e50cb Improve module testing (#3397) 02cae7e48 Improve handling of Unicode in paths 53162142b Remove .bazelrc mention from Bazel related readme (#3411) 5bcf0d7f9 Bazel support (#3406) f8c9fabd9 Fix spelling (#3404) 62ff4e1db Remove foonathan from maintainer list (#3402) f449ca052 Name `vfprintf` clashes with the identically named declaration in 'stdio.h' if that happens to be #included into the same TU. Fix this by using qualified name lookup instead of unqualified lookup that also enables ADL. (#3400) eafcd3c8e Optionally attach declarations to the `global module` rather than `module fmt` (#3387) 18154cc90 Simplify print 0de789cf2 Update changelog c03938922 export names only once (#3392) 93e81bb5d Fix C4365 (signed/unsigned mismatch) warning on 32-bit Windows (#3398) e7d6eb679 Update tests to use recommended MOCK_METHOD (#3395) 18e7a2532 Remove obsolete msvc workarounds (#3388) 0489c19dc fix and improve module (#3386) 8ec94ac6a Use full path to pcm d97d8cea6 Push module check to test d8a2698e6 Fix compilation as a C++20 module with gcc 13 d9c19940a Update add_module_library 4b5ae0b0e Remove unnecessary module support check 75f3b1c09 Use add_module_library faf83406a Workaround cmake issue 165814d57 Add module support to CMake 33f715077 Fix error C2668 on msvc (#3378) c98e5a08a Fix modular build on clang 119c6bd16 Move the modules check 77eeb7183 Remove unused headers 13bf99f9d Enable modules in clang 16 1d0257e4c FMT_MODULE_EXPORT_* -> FMT_EXPORT_* 4613d48fd FMT_EXPORT -> FMT_LIB_EXPORT 4a4a2a2bd Fix diagnostics fce74caa1 Disable problematic implicit conversions 02bf4d1c1 Disable to_string_view ADL 466e0650e Remove problematic workaround 029caa8ea Update changelog e406ddbfa Remove broken part of the config 909567953 Update changelog 7f46cb75b ranges: Fix extra semi (#3374) 4e3f38105 Update changelog d3c10f516 fix compilation for MSDOS (#3369) ab956f600 Update changelog 97aedeab4 Workaround a double-double hexfloat format (#3366) bce8d4ed0 Remove stray comment a91c7b286 Cleanup the core API 19c074e47 Remove deprecated fallback formatter 41cfc739f Generalize format_as f6276a2c2 Force use a signed char (On ARM char is unsigned by default) (#3362) 6002ddf82 Remove a deprecated option 6549ffde8 Improve format_as safety d9bc5f132 Fix code causing spurious Wstringop-overflow warning 9c5cd998d Remove unused functions 93bfa0538 %T is %H:%M:%S (#3349) d8e1c4265 fix case of variant which is valueless by exception (#3347) e1720c0e5 Fix CUDA nvcc warning fmt/include/fmt/core.h(295): warning #1675-D: unrecognized GCC pragma (#3352) 7f882918e `write_floating_seconds`: Fall back to `::round` (#3343) cbc7b8d5c Cleanup dead variable (#3338) 050293646 Path is not escaped twice in the debug mode (#3321) 3daf33837 Enable consteval for Xcode 14.0.1 and later (#3331) e0748e61d Fix recursion check in range formatting b94e1016f chore: set permission to cifuzz.yml (#3328) 98699719f Make # handling consistent with std::format 48dfbcaa9 Improve license and PR template wording c644c753d Add '🐙 userver framework' to the projects 73b7cee7f Fix for issue #3325 (#3326) 5b8302079 Add optional support (#3303) 3a69529e8 Fix various typos (#3312) 76f520835 Call element parse in tuple parse 507c3042d class -> typename 1741e90de Always call parse in range formatter d646fd0da Minor cleanup b5c2f74f4 change sopen_s to wsopen_s (fmtlib#3234) (#3293) e03753c4a Add ubuntu mirrors (#3302) 6e6eb6377 [msvc] fix warning about non-inline variable 3c5464ba1 Fix OpenBSD build error (#3295) 655046d24 Fix container adaptor formatting 581c6292c Add formatters for container adapters (#3279) 7718eeeac Implement glibc ext for sec, min, and hour (#3271) 44e0eea94 Use FMT_HAS_INCLUDE and apply clang-format 99070899b Fix errors setting of FMT_USE_FLOAT128 (#3259) 05e3a9233 Allowing formatting non-copyable ranges. (#3290) 70db193f0 Visual Studio 2022: fmt/format-inl.h(1145,60): warning C4310: cast truncates constant value #3287 (#3288) a2c05a10e Workaround a bug in MSVC <= 19.22 cae9bf45b Simplify apidoc comments 87c066a35 Implement `println` (#3267) 9409b2e4d Workaround for incompatibility between libstdc++ consteval-based std::is_constant_evaluated() implementation and clang-14 (#3281) f89cd276f Refactor countl_zero fallback (#3276) 240b728d8 Report an error on overflow dfbb952b2 Fix empty spec for time point (#3275) 39971eb33 Fix localized format for float-point numbers (#3272) 0f42c17d8 Implement a new formatting algorithm for small given precision (#3269) bfc0924ea Bugfix for fmt::printf on Power9 architecture with the XL compiler (#3256) 676c2a107 Fix negative subsec for time_point (#3261) 2c80cedc3 Fix standard default installation target presence (#3264) dda53082b Support fill, align & width for time point (#3260) 2622cd23e Simplify arg_mapper 9e4a54fa6 Disable remaining implicit conversions 9ce648067 Disble deprecated implicit enum conversions 9121f9b1d Enable format_as for classes b7535365b Enable format_as for non-integral types 09ed1ddb9 Cleanup tests 0ec65d99a Merge parse_presentation_type into parse_format_specs 71e4e0272 Cleanup vprintf aad546baa Simplify presentation type parsing 14a69fcc5 Use parse_align bf34ffd33 Refactor format string parsing 6056e0712 Simplify symbols aa99b8640 Minor cleanup 6ade2eb4e Inline all_int_set caa697494 Simplify parse functions a73a9b6a8 Refactor format string checks 72785a3ab Cleanup write 0c3dd5ddd Remove redundant check 739b600f4 Remove iterator shenanigans 3710c4d38 Link to dragonbox a05ba44df Simplify format string parsing ffb9b1d13 Improve handling of signed types 32190859e Fix handling of char 8fe4d97d5 Reduce template instantiations 7e5a95956 Fix build with MSVC C++20 modules (#3254) 9e6030486 Clarify that unused args are allowed 7ad48c1f6 Cleanup core.h a921a596e Cleanup core.h 3e762fdf5 Use ignore_unused 79981a252 Cleanup ranges formatting bd12aaa98 Simplify format string parsing b8f36207c Simplify format string parsing d907786f0 Move anchor to where it belongs f2355bbe5 Fix docs f398c9476 Fix docs 4841784e8 Simplify C99 strftime detection conditions cb72c23e9 Improve timezone tests 583f2d820 Set timezone for chrono tests 32c439070 Minor cleanup 3a5e19fbf Minor cleanup dfb857ebe Refactor format spec parsing 9ea9b6bcb Cleanup arg id parsing 2b0ff62a7 Remove unused template arg from format_string_checker d1745084e Simplify parse context 407e7b7b6 basic_format_specs -> format_specs 3cf979475 Cleanup format string parsing 934c8e5f7 Refactor precision parsing fc9693834 Remove empty semicolon f0ab112c3 Cleanup parsing 9660e5b95 Remove redundant tests a585571e9 Ignore 0 character with align 840ec8569 Cleanup width handlers 1dadeb8a3 Refactor width parsing 275b4b341 Remove obsolete parse-benchmark e004f1d69 Fix for issue #3241 bde1a6070 Simplify fill and alignment parsing 040dc2a5d small typo in syntax.rst 6a186bcd6 Localize FMT_USE_LOCAL_TIME 8c56919bd Check chrono spec starts with % 115001a3b Formatting of system clocks ought to be to UTC, not to local time. This improves standards conformance of fmt. b90895412 Fix formatting of named arguments with locale d072f1dc6 Fix for issue #3228 3999fd193 Workaround an ADL issue c06e0b4ed Extract timezone offset from timezone conversion functions 1bf302a4e Implement %Ez, %Oz for chrono formatter f1733afd4 Pin godbolt example to specific version f61dcccc6 Update README.rst f9bcbdcbc Update README.rst 1a854b4aa Clarify what mod_inv_5 is 62ceb181b fix #3105 - Compile-time error when mixing named argument with automatic indexing b0c8263cb include/fmt/core.h: copy constructors removal d24be2e95 Add countl_zero function 8d50d814d Fix a chrono formatting issue found by fuzzing 115ca96e0 Bump tested CMake version to 3.25 886491625 Remove workaround for GTest bug 74c51ff37 Skip only strptime dependent test in scan-test 69ffedfe5 Use `target_compile_features` to specify C++ standard requirement fae6f7e08 Optimize range formatter a69e43c9d Update benchmark results 91c024ed3 Rename leading_v -> leading_xdigit 649aa102d CI linux: add CIFuzz Github action 31364732d Replace snprintf-based hex float formatter with internal implementation 74d55a493 Add missing operators 8276f1a20 Fix warning: the implicit by-copy capture of "this" is deprecated (EDG frontend) 81ebe70b9 Fix warning: a class type that is not trivially copyable passed through ellipsis (EDG frontend) 3160847eb Enable C++17 tests on macOS 6a95f8c7e Add missing env CTEST_OUTPUT_ON_FAILURE c7980542d Skip the scan-test if strptime isn't defined (#3184) 7df30f91a Format unique_ptr with custom deleter (#3177) d2e89c8b0 Document more chrono specs bd1959320 Document more chrono specs fd0d0ec8d Document more chrono specs 8e93434ed Update README.rst fc07217d8 Make utf-8 detection compatible with gbk cb7373b46 Replace format with FMT_STRING. (#3162) 795ed8abf Add precision modifier for seconds in chrono format (#3148) 66d71a1b3 Fixing formatting of range of range of char. (#3158) 80f8d3442 fmt::ostream - aggregate buffer instead of inheriting it (#3139) 64965bdc9 Add locale getter in tm_writer (#3147) e1ffa7655 Fix warning: conditional expression is constant. (#3150) 8c19bf3f2 Mention MariaDB amongst the projects that use fmt (#3145) f67dbc981 Remove duplicate implementation (#3144) cd7202e03 Fix overflow error (#3143) 51d3685ef Remove duplicate template parameter. (#3142) 9254cfa6f Support formatting of subseconds (#3115) cfb34a060 Avoid using `uint` as a type name (#3137) 5ad7b7138 Fix options for C++20 experimental module in CMake (#3134) d2c47c0df Fix broken condition (#3129) 491c32cbd Workaround gcc bug 103879 662adf4f3 Move formatter<std::error_code> from fmt/os.h to fmt/std.h (#3125) ad91cab37 Normalization of stdlib inline namespace names (#3119) 0ccaed3a6 Set CMAKE_RUNTIME_OUTPUT_DIRECTORY relative to CMAKE_CURRENT_BINARY_DIR instead of CMAKE_BINARY_DIR (#3120) ad719619c Support formatting of std time_point with utc_clock (#3110) 6e0a5f7fb Update CI to Ubuntu 20.04 and to newer versions of actions 48f525d02 Add basic_format_string::get() 0b5cb18b7 Use buffering in to_string to avoid bloat 4c4f99a58 Update a godbolt link 3272a7a3c Update an example a48e3355a Improve docs afcf42429 Update docs ac85afaab Simplify format_error 3178bb9a2 Update docs cf58f64c5 Update docs e4e0ae391 Use fmt/core.h in examples d65acc4e6 Improve docs c9f790b06 Update docs 6b8144a5a Update locale docs 2d66ad5d3 Suppress -Wshadow 042af5332 Suppress -Wfloat-equal 192859c2b Optimize writing to buffers via back_insert_iterator e2f6d7665 fix gcc <= 7.1 compile errors 61844b6b6 Fix build error on GCC-9 7a752e75f New CI: GCC-9 94ceb38a0 Improve locale API 58c4c012f Disable slow windows build and simplify write_loc c3494ae36 Refactor float localization 8ae56161c Fix compilation with FMT_ENFORCE_COMPILE_STRING and FMT_WERROR (#3091) 76705fc2e Update doc 21c2137e7 Add class name output to formatter for std::exception (#3076) ecffca672 Don't parse '}' as fill 3176e0fad Add locale overload for formatted_size (#3084) (#3087) 1feb430fa Fix intellisense on Windows (#3082) b98ffb7db Improve locale handling bac53951b Add starts_with to basic_string_view. (#3080) d59b89e9c More locale 58a5563a9 Implement grouping 1b94271ff Add support for UTF-8 digit separators 768d79a83 Implement format_facet 91ecb38a3 Localize negative integers aec3bb5d0 Workaround C complex.h idiocy 29c600013 Simplify is_variant_like_ check, fix compile error before GCC 11 (#3072) fec5515c5 num_format_facet -> format_facet f187274d3 Add loc_value fc5e59fe4 Don't use stringstream d6a870460 Improve locale support 56c72a671 Reduce locale dependency 4191477b9 Add formatter for std::exception (#3062) 75383a87f Inline trivial functions 48327a82e Make format.h compile faster b79ed4105 Remove unnecessary type_identity 64e29893c Improve locale support 0b0f7cfbf hip workaround 40e414d82 Fix compilation error with gcc-7.2.0 33b4c33c5 Requires FMT_CONSTEXPR20 support a07411c2b Disable compile-time checks for dynamic width/precision test for LCC and compiler without std::is_constant_evaluated() 797d82b21 Disable non-type template args for LCC a553521d6 Disable "GCC optimize" pragma for LCC a33701196 Update version 1f575fd5c Bump version c7635288f Fix docs, take 2 c8ed78e31 Fix docs e07cfb206 Update changelog 1dc7af569 Fix markup f7d21c3a1 Update changelog a55bcb24b Update changelog 30cb2b312 Remove appveyor config cf8d3c322 Update changelog 3c3cb6f6b Update changelog 91481f255 Detemplatize code_point_length_impl f98048b62 Fix bugs in utf8 decoder (#3056) 4a8e2949b Fix formatting of ranges of code unit types 3a3b0709e Disable bogus -Wstringop-overflow on GCC 11 (#3054) e724bbea1 Fix wchar_t corner cases 665d9779e Disable non-type template args for nvhpc (#3053) 13d07c6a3 Apply doc fixes retroactively 391f922ac Improve error reporting in format string compilation dc59d3df3 Fix a warning in gtest 489dabbd3 Fix decoder on broken utf8 sequences. (#3044) 541cd2183 Fix locale name (thanks Mikhail Paulyshka) 1f95c3438 Fix sign handling with large code units 779449fd9 Belarusify test fbb568bce nvhpc/22.3: workaround for c++17 mode. (#3043) 36c23bd5f Prepare for deprecating FindPythonInterp module. (#3040) 9ff0f3a7d Fix docs fd41110d3 Add MinGW to CI fc23cfbf4 Fix testsuite on MinGW + MSVCRT fd93b633b Constexpr formatted_size (#3026) 7fb8d33f9 Fix compile-time width/precision type check 8bd02e93b Reduce conditional compilation d9c1c7353 Use is_utf8() in print(std::ostream&, ...) 682e097be Remove -Wl,--as-needed linker option b9087ee58 Suppress unused typedef warning df56fdf88 Clarify docs for compile-time checks 90c48b852 Remove double code execution 5a8b7cd74 Add comment 36a25d75b Reuse detail::string_literal in the chrono formatter 6c9304b2c Replace ParseContext with basic_format_parse_context 24ab9dd19 Remove duplicate method a95dc1701 Remove unused condition 5f774c0ae I shouldn't be there 6567df7f2 Update README.rst 6c6b1fbf6 Workaround a bug in MSVC 9beddd08f Improve CI on Windows 6452e3c9e Fix a typo in example 756822ba3 Fix Unicode handling for ostream under Windows with libc++. (#3001) 0b2862a1e Range formatter (#2983) 258000064 Add fmt:: namespace to doc (#3009) e9ca7ea47 Suppress a bogus warning 81f1cc74a Improve Unicode handling when writing to an ostream on Windows (#2994) bbcb129e0 Reduce filesize of the tests on MinGW (#2995) 48e0a5922 Implement compile-time checks for dynamic width/precision type bc5c7c50f Fixes IBM XLC behavior with uint128 fallback (#2985) 00adc7120 Add a regression test for here be dragons c48be439f Add additional search paths for doxygen on Windows 371f9c71c Fix even in format_dragon 91abfcd6c Suppress an msvc warning deeab54b4 Remove unused include 688a627d6 Remove unused constants. 9bb1605f1 Remove some branches 8061d9afb Simplify Dragonbox implementation d82e1a108 Make sure the correct fmod overload is called defa04e73 Fix for EDG frontend (Intel, NVHPC compilers) (#2982) 92d36e82c The n specifier for ranges (#2981) 0db43cf7f Pointless comparison warnings (#2971) 05be7a076 Use FMT_USE_FLOAT128 instead of __SIZEOF_FLOAT128__ 2a1b3ac62 Fix large shift in uint128_fallback e1d3d3a32 Exclude recursive ranges from the formatter specialization for ranges (#2974) b761f1279 Improve forward using the idea from Jonathan Müller cc1926942 Inline std::forward d5e9166f5 Fixed typo in changelog example. b31d1a75a Add xchar support for fmt::streamed(). git-subtree-dir: externals/fmt git-subtree-split: f5e54359df4c26b6230fc61d38aa294581393084
2023-10-08 08:55:04 +01:00
inline void vprint_directly(std::ostream& os, string_view format_str,
format_args args) {
auto buffer = memory_buffer();
detail::vformat_to(buffer, format_str, args);
detail::write_buffer(os, buffer);
}
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
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
} // namespace detail
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
Squashed 'externals/fmt/' changes from c4ee72653..f5e54359d f5e54359d Update version a003ab93c Update changelog 9b7416081 `atomic_flag` formatting (#3594) a21690bdf Coding conventions c9efd8968 Merge branch 'MathewBensonCode-master' e78682405 Refactor Improvement on umul128 function 2b20d7be6 Refactor To remove friend function private access 1f38ebbdb Add condition to include friend function in win32 e41817969 Fix for FMT_MODULE not compiling on GCC 0bffed895 Bump actions/checkout from 3.1.0 to 3.5.3 (#3602) cc077a5e3 Fix `FMT_NO_UNIQUE_ADDRESS` warning with clang-cl. (#3600) a992b3d1f Fix for Compilation Error When Using FMT_MODULE (#3597) af1b768cc Update changelog 2a7c45b54 Update changelog bd868f3a5 Improve compatibility with GBK #3598 (#3599) bbb784fb1 Fix a gcc error about partial specialization after instantiation 6c845f57e Fix `formatted_size` with `FMT_COMPILE` and format specs (#3588) a379595c5 Bump actions/upload-artifact from 3.1.0 to 3.1.2 (#3593) 9dfde7871 Bump ossf/scorecard-action from 2.1.2 to 2.2.0 (#3592) e92a705bd Bump github/codeql-action from 2.2.4 to 2.21.4 (#3591) 5a866fe85 Add formatter for std::atomic (#3574) e150ea0cc to_string supports types with format_as 29ce2ff8a Update README.rst 2e1362add Create scorecard.yml e57ca2e36 Update version 4c56612c6 Update changelog e1acd5f4d Bump version 6ffee2f75 Handle new rst nodes ee475d640 Update changelog ecc914125 Update changelog d42486231 Fix fixed precision handling during rounding in long double 3c1b3337d Update changelog 35fb69ebe Update changelog f92be35c0 Update changelog 7a2f6ac21 Fix a comment 744ff5554 Fix docs 70ae48b00 Update changelog ebb10347c Merge branch 'master' of github.com:fmtlib/fmt 100572016 Clarify that visit_format_arg is deprecated aeb6ad4dd Added formatter for bit_reference-like types (#3570) 96d1fa22d Update changelog 8a4bec5cf fix ambiguous formatter lookup for flat_set (#3561) eacd51c24 cmake: fix FMT_PKGCONFIG_DIR path (#3563) 757564f5c add missing inline specifier (#3552) f4214ae8d Use the U literal for unsigned integer constants. (#3549) aecf80d30 Update a comment 503d49286 expose detail::throw_format_error (#3551) 4f46cb82f Remove std::copy usage. (#3550) 3dec65b7f Use replacement character in path dbabb305c Turn off error-producing NVCC workaround when using c++20 (#3544) ac0ab8eff Improve path formatter 40f35d6f0 Cleanup std formatters 31c2c5679 Cleanup formatters b2728a317 Improve path formatter 77e0b0e22 Cleanup chrono formatter e47585904 Fix overspecified tests 436c131d4 Optimize compiled format_to_n 388bc296b Fix fixed formatting of small long doubles 95e1ea573 Clarify requirement on compiled formatter fb97cb231 Suppress a bogus stringop-overflow warning dd5a9691f Clarify that data is not null-terminated 72dc4491e Fix format_string_checker initialisation order (#3542) 9bea6ec04 Don't use deprecated checked_array_iterator 661b23ede Call parse on empty specs at compile time 8e87d3a8b Fix include a47491656 Update CMakeLists.txt (#3523) de4705f84 Trying to improve errors in the unformattable case (#3478) e4c8cfe38 README: Add link to merged clang-tidy check (#3515) 606f85f8b Workaround brain-damaged conversions a331dbfb6 Fix type in assert message. (#3508) 13156e54b Revert "add ability to build Apple framework using CMAKE_FRAMEWORK" (#3496) 9158bea1e Remove old grisu tests dd17f89a1 Fix for issue #3492 (#3493) 1daae555b Optimize format string compilation 6ad301235 Optimize code unit output in compiled format 8732ad877 Update docs 5afb1821a Update docs a81135f2c Fix a link dfc34821a Update docs 0765e7284 Update docs 977d887a4 Suppress a bogus warning c86fe0b8d Give basic_memory_buffer allocator [[no_unique_address]] (#3485) 5dbe0ff95 Bump actions/checkout from 3.5.2 to 3.5.3 (#3486) de0757b57 Use FMT_TRY and FMT_CATCH in std.h (#3482) 8fe893c0a Update README.rst 0f823df46 Remove detail namespace hack 60fd9941c Use correct Char type in std::filesystem::path (#3476) 8abfc145b Fix MSVC warning in std::chrono::time_point formatter (#3475) 686b3353a Simplify typeid check b2106f363 Tweak comments 35547d600 Use const_check to silence MSVC warning 179c7e5a6 Use typeid() only if it's available 61fb3a15f Add VxWorks7 user space and kernel space support (#3467) bd393456e Remove FMT_*_DETAIL_NAMESPACE 6be36af0d Remove udl_formatter 2a35eeed8 Remove unused data 256a826d6 Consolidate formatters 6369af37d Simplify formatters 0b8404918 Remove get_cached_power 171a020c8 Pass correct Char to base format_as formatter (#3457) d8f04e399 Simplify ceil 5e988f8df Remove is_constant_evaluated() check 19b17618a Make constexpr ceil c684a06d5 New CI: macOS 13, Xcode 14.3, C++ 20 abdb7fdf8 Update api.rst 8b09fe2a0 Fix example for user-defined types in documentation for 10.0.0 (#3461) adad18a74 Update ChangeLog.rst 858e528ab Use dragon in constexpr a54cb108d CMake: Do not fail on unknown compiler features (#3453) ef55d4f52 Suppress a bogus gcc warning 70b6a6fa4 Update README.rst (#3454) 6fe895410 Remove invalid_arg_index d0652d225 Create dependabot.yml (#3452) de8d0171a Simplify FMT_FORMAT_AS 7401fe046 Hash pin Github Workflows (#3451) 08ef0d084 fix formatter<char*> (#3432) d60b907f8 Replace mod_inv_25 by explicit value (#3450) 4ce086f73 remove code duplication (#3448) 821f8cdb4 Detemplatize printf more 0bf6ed7e1 Cleanup printf e40e04fac Detemplatize printf_arg_formatter 0a1c27281 Detemplatize basic_printf_context 2f605cc89 Deprecate wide printf 1d54499ac Apply coding conventions 3c6053c53 Cleanup basic_printf_context 4a392adaa Remove basic_printf_parse_context b14913fae FMT_MODULE_EXPORT -> FMT_EXPORT 2117df299 format-inl.h: address implicit int to bool conversion (#3446) 616a49378 Revert Char* formatter removal 9a034b0d5 Always assert in FMT_THROW (#3439) e0fc0e85e Remove unneeded FMT_API 552c43aba Improve long formatters d6846f4ac Clarify why byte formatter is in core aeedac588 Remove unneeded specialization eaa630769 Make hex float test more stable (#3434) e82bf41a1 Update README.rst e077396f5 Update docs 861facad0 Fix a typo 75bfe5761 Improve docs 697e76ba3 Don't call init_named_args unnecessarily a425e0ff3 Cleanup xchar API c36dd825b Remove unnecessary forwarding 130b8fcdb Reduce template instantiations a47e8419b Cleanup the core API ea49c91cd Cleanup argument construction d7592ad8b Fix time_point formatting for durations with certain ratios (#3430) ebfb2e677 Remove unused alias 5780269d5 Improve API safety b47119216 Fix a comment 8f18e72df Improve API safety 93d7cb12f Fix formatting 0e4278717 Remove unused macro 93a30a074 unicode_to_utf8 -> to_utf8 since both sides of conversion are Unicode a08196b14 Update ChangeLog.rst 0398ba42c Update ChangeLog.rst a0b8a92e3 Update version 5cf2342aa Bump version fe9d39d7c Update changelog 4c9856197 Update changelog 403b271ed Update changelog 2c991e1af Update changelog c984df981 Remove an unused function from internal class fbf21ed22 Update changelog 575583144 Update changelog e7f6888c7 Update changelog 39db2dfd0 Update changelog 9b7829e26 Update changelog 1e0ce567e Fix formatting of paths containing invalid Unicode dde8cf3bb Unification utf16/utf32 to utf8 conversion e84b00e01 Workaround to error: variable 'n' set but not used [-Werror,-Wunused-but-set-variable] b12ffea4f Add filesystem_error test back f61f15cc5 Suppress a false positive in gcc 192df93d7 modules missing pieces (#3399) d8973bf16 Add FMT_STRING for format_to() call (#3413) d7a8e50cb Improve module testing (#3397) 02cae7e48 Improve handling of Unicode in paths 53162142b Remove .bazelrc mention from Bazel related readme (#3411) 5bcf0d7f9 Bazel support (#3406) f8c9fabd9 Fix spelling (#3404) 62ff4e1db Remove foonathan from maintainer list (#3402) f449ca052 Name `vfprintf` clashes with the identically named declaration in 'stdio.h' if that happens to be #included into the same TU. Fix this by using qualified name lookup instead of unqualified lookup that also enables ADL. (#3400) eafcd3c8e Optionally attach declarations to the `global module` rather than `module fmt` (#3387) 18154cc90 Simplify print 0de789cf2 Update changelog c03938922 export names only once (#3392) 93e81bb5d Fix C4365 (signed/unsigned mismatch) warning on 32-bit Windows (#3398) e7d6eb679 Update tests to use recommended MOCK_METHOD (#3395) 18e7a2532 Remove obsolete msvc workarounds (#3388) 0489c19dc fix and improve module (#3386) 8ec94ac6a Use full path to pcm d97d8cea6 Push module check to test d8a2698e6 Fix compilation as a C++20 module with gcc 13 d9c19940a Update add_module_library 4b5ae0b0e Remove unnecessary module support check 75f3b1c09 Use add_module_library faf83406a Workaround cmake issue 165814d57 Add module support to CMake 33f715077 Fix error C2668 on msvc (#3378) c98e5a08a Fix modular build on clang 119c6bd16 Move the modules check 77eeb7183 Remove unused headers 13bf99f9d Enable modules in clang 16 1d0257e4c FMT_MODULE_EXPORT_* -> FMT_EXPORT_* 4613d48fd FMT_EXPORT -> FMT_LIB_EXPORT 4a4a2a2bd Fix diagnostics fce74caa1 Disable problematic implicit conversions 02bf4d1c1 Disable to_string_view ADL 466e0650e Remove problematic workaround 029caa8ea Update changelog e406ddbfa Remove broken part of the config 909567953 Update changelog 7f46cb75b ranges: Fix extra semi (#3374) 4e3f38105 Update changelog d3c10f516 fix compilation for MSDOS (#3369) ab956f600 Update changelog 97aedeab4 Workaround a double-double hexfloat format (#3366) bce8d4ed0 Remove stray comment a91c7b286 Cleanup the core API 19c074e47 Remove deprecated fallback formatter 41cfc739f Generalize format_as f6276a2c2 Force use a signed char (On ARM char is unsigned by default) (#3362) 6002ddf82 Remove a deprecated option 6549ffde8 Improve format_as safety d9bc5f132 Fix code causing spurious Wstringop-overflow warning 9c5cd998d Remove unused functions 93bfa0538 %T is %H:%M:%S (#3349) d8e1c4265 fix case of variant which is valueless by exception (#3347) e1720c0e5 Fix CUDA nvcc warning fmt/include/fmt/core.h(295): warning #1675-D: unrecognized GCC pragma (#3352) 7f882918e `write_floating_seconds`: Fall back to `::round` (#3343) cbc7b8d5c Cleanup dead variable (#3338) 050293646 Path is not escaped twice in the debug mode (#3321) 3daf33837 Enable consteval for Xcode 14.0.1 and later (#3331) e0748e61d Fix recursion check in range formatting b94e1016f chore: set permission to cifuzz.yml (#3328) 98699719f Make # handling consistent with std::format 48dfbcaa9 Improve license and PR template wording c644c753d Add '🐙 userver framework' to the projects 73b7cee7f Fix for issue #3325 (#3326) 5b8302079 Add optional support (#3303) 3a69529e8 Fix various typos (#3312) 76f520835 Call element parse in tuple parse 507c3042d class -> typename 1741e90de Always call parse in range formatter d646fd0da Minor cleanup b5c2f74f4 change sopen_s to wsopen_s (fmtlib#3234) (#3293) e03753c4a Add ubuntu mirrors (#3302) 6e6eb6377 [msvc] fix warning about non-inline variable 3c5464ba1 Fix OpenBSD build error (#3295) 655046d24 Fix container adaptor formatting 581c6292c Add formatters for container adapters (#3279) 7718eeeac Implement glibc ext for sec, min, and hour (#3271) 44e0eea94 Use FMT_HAS_INCLUDE and apply clang-format 99070899b Fix errors setting of FMT_USE_FLOAT128 (#3259) 05e3a9233 Allowing formatting non-copyable ranges. (#3290) 70db193f0 Visual Studio 2022: fmt/format-inl.h(1145,60): warning C4310: cast truncates constant value #3287 (#3288) a2c05a10e Workaround a bug in MSVC <= 19.22 cae9bf45b Simplify apidoc comments 87c066a35 Implement `println` (#3267) 9409b2e4d Workaround for incompatibility between libstdc++ consteval-based std::is_constant_evaluated() implementation and clang-14 (#3281) f89cd276f Refactor countl_zero fallback (#3276) 240b728d8 Report an error on overflow dfbb952b2 Fix empty spec for time point (#3275) 39971eb33 Fix localized format for float-point numbers (#3272) 0f42c17d8 Implement a new formatting algorithm for small given precision (#3269) bfc0924ea Bugfix for fmt::printf on Power9 architecture with the XL compiler (#3256) 676c2a107 Fix negative subsec for time_point (#3261) 2c80cedc3 Fix standard default installation target presence (#3264) dda53082b Support fill, align & width for time point (#3260) 2622cd23e Simplify arg_mapper 9e4a54fa6 Disable remaining implicit conversions 9ce648067 Disble deprecated implicit enum conversions 9121f9b1d Enable format_as for classes b7535365b Enable format_as for non-integral types 09ed1ddb9 Cleanup tests 0ec65d99a Merge parse_presentation_type into parse_format_specs 71e4e0272 Cleanup vprintf aad546baa Simplify presentation type parsing 14a69fcc5 Use parse_align bf34ffd33 Refactor format string parsing 6056e0712 Simplify symbols aa99b8640 Minor cleanup 6ade2eb4e Inline all_int_set caa697494 Simplify parse functions a73a9b6a8 Refactor format string checks 72785a3ab Cleanup write 0c3dd5ddd Remove redundant check 739b600f4 Remove iterator shenanigans 3710c4d38 Link to dragonbox a05ba44df Simplify format string parsing ffb9b1d13 Improve handling of signed types 32190859e Fix handling of char 8fe4d97d5 Reduce template instantiations 7e5a95956 Fix build with MSVC C++20 modules (#3254) 9e6030486 Clarify that unused args are allowed 7ad48c1f6 Cleanup core.h a921a596e Cleanup core.h 3e762fdf5 Use ignore_unused 79981a252 Cleanup ranges formatting bd12aaa98 Simplify format string parsing b8f36207c Simplify format string parsing d907786f0 Move anchor to where it belongs f2355bbe5 Fix docs f398c9476 Fix docs 4841784e8 Simplify C99 strftime detection conditions cb72c23e9 Improve timezone tests 583f2d820 Set timezone for chrono tests 32c439070 Minor cleanup 3a5e19fbf Minor cleanup dfb857ebe Refactor format spec parsing 9ea9b6bcb Cleanup arg id parsing 2b0ff62a7 Remove unused template arg from format_string_checker d1745084e Simplify parse context 407e7b7b6 basic_format_specs -> format_specs 3cf979475 Cleanup format string parsing 934c8e5f7 Refactor precision parsing fc9693834 Remove empty semicolon f0ab112c3 Cleanup parsing 9660e5b95 Remove redundant tests a585571e9 Ignore 0 character with align 840ec8569 Cleanup width handlers 1dadeb8a3 Refactor width parsing 275b4b341 Remove obsolete parse-benchmark e004f1d69 Fix for issue #3241 bde1a6070 Simplify fill and alignment parsing 040dc2a5d small typo in syntax.rst 6a186bcd6 Localize FMT_USE_LOCAL_TIME 8c56919bd Check chrono spec starts with % 115001a3b Formatting of system clocks ought to be to UTC, not to local time. This improves standards conformance of fmt. b90895412 Fix formatting of named arguments with locale d072f1dc6 Fix for issue #3228 3999fd193 Workaround an ADL issue c06e0b4ed Extract timezone offset from timezone conversion functions 1bf302a4e Implement %Ez, %Oz for chrono formatter f1733afd4 Pin godbolt example to specific version f61dcccc6 Update README.rst f9bcbdcbc Update README.rst 1a854b4aa Clarify what mod_inv_5 is 62ceb181b fix #3105 - Compile-time error when mixing named argument with automatic indexing b0c8263cb include/fmt/core.h: copy constructors removal d24be2e95 Add countl_zero function 8d50d814d Fix a chrono formatting issue found by fuzzing 115ca96e0 Bump tested CMake version to 3.25 886491625 Remove workaround for GTest bug 74c51ff37 Skip only strptime dependent test in scan-test 69ffedfe5 Use `target_compile_features` to specify C++ standard requirement fae6f7e08 Optimize range formatter a69e43c9d Update benchmark results 91c024ed3 Rename leading_v -> leading_xdigit 649aa102d CI linux: add CIFuzz Github action 31364732d Replace snprintf-based hex float formatter with internal implementation 74d55a493 Add missing operators 8276f1a20 Fix warning: the implicit by-copy capture of "this" is deprecated (EDG frontend) 81ebe70b9 Fix warning: a class type that is not trivially copyable passed through ellipsis (EDG frontend) 3160847eb Enable C++17 tests on macOS 6a95f8c7e Add missing env CTEST_OUTPUT_ON_FAILURE c7980542d Skip the scan-test if strptime isn't defined (#3184) 7df30f91a Format unique_ptr with custom deleter (#3177) d2e89c8b0 Document more chrono specs bd1959320 Document more chrono specs fd0d0ec8d Document more chrono specs 8e93434ed Update README.rst fc07217d8 Make utf-8 detection compatible with gbk cb7373b46 Replace format with FMT_STRING. (#3162) 795ed8abf Add precision modifier for seconds in chrono format (#3148) 66d71a1b3 Fixing formatting of range of range of char. (#3158) 80f8d3442 fmt::ostream - aggregate buffer instead of inheriting it (#3139) 64965bdc9 Add locale getter in tm_writer (#3147) e1ffa7655 Fix warning: conditional expression is constant. (#3150) 8c19bf3f2 Mention MariaDB amongst the projects that use fmt (#3145) f67dbc981 Remove duplicate implementation (#3144) cd7202e03 Fix overflow error (#3143) 51d3685ef Remove duplicate template parameter. (#3142) 9254cfa6f Support formatting of subseconds (#3115) cfb34a060 Avoid using `uint` as a type name (#3137) 5ad7b7138 Fix options for C++20 experimental module in CMake (#3134) d2c47c0df Fix broken condition (#3129) 491c32cbd Workaround gcc bug 103879 662adf4f3 Move formatter<std::error_code> from fmt/os.h to fmt/std.h (#3125) ad91cab37 Normalization of stdlib inline namespace names (#3119) 0ccaed3a6 Set CMAKE_RUNTIME_OUTPUT_DIRECTORY relative to CMAKE_CURRENT_BINARY_DIR instead of CMAKE_BINARY_DIR (#3120) ad719619c Support formatting of std time_point with utc_clock (#3110) 6e0a5f7fb Update CI to Ubuntu 20.04 and to newer versions of actions 48f525d02 Add basic_format_string::get() 0b5cb18b7 Use buffering in to_string to avoid bloat 4c4f99a58 Update a godbolt link 3272a7a3c Update an example a48e3355a Improve docs afcf42429 Update docs ac85afaab Simplify format_error 3178bb9a2 Update docs cf58f64c5 Update docs e4e0ae391 Use fmt/core.h in examples d65acc4e6 Improve docs c9f790b06 Update docs 6b8144a5a Update locale docs 2d66ad5d3 Suppress -Wshadow 042af5332 Suppress -Wfloat-equal 192859c2b Optimize writing to buffers via back_insert_iterator e2f6d7665 fix gcc <= 7.1 compile errors 61844b6b6 Fix build error on GCC-9 7a752e75f New CI: GCC-9 94ceb38a0 Improve locale API 58c4c012f Disable slow windows build and simplify write_loc c3494ae36 Refactor float localization 8ae56161c Fix compilation with FMT_ENFORCE_COMPILE_STRING and FMT_WERROR (#3091) 76705fc2e Update doc 21c2137e7 Add class name output to formatter for std::exception (#3076) ecffca672 Don't parse '}' as fill 3176e0fad Add locale overload for formatted_size (#3084) (#3087) 1feb430fa Fix intellisense on Windows (#3082) b98ffb7db Improve locale handling bac53951b Add starts_with to basic_string_view. (#3080) d59b89e9c More locale 58a5563a9 Implement grouping 1b94271ff Add support for UTF-8 digit separators 768d79a83 Implement format_facet 91ecb38a3 Localize negative integers aec3bb5d0 Workaround C complex.h idiocy 29c600013 Simplify is_variant_like_ check, fix compile error before GCC 11 (#3072) fec5515c5 num_format_facet -> format_facet f187274d3 Add loc_value fc5e59fe4 Don't use stringstream d6a870460 Improve locale support 56c72a671 Reduce locale dependency 4191477b9 Add formatter for std::exception (#3062) 75383a87f Inline trivial functions 48327a82e Make format.h compile faster b79ed4105 Remove unnecessary type_identity 64e29893c Improve locale support 0b0f7cfbf hip workaround 40e414d82 Fix compilation error with gcc-7.2.0 33b4c33c5 Requires FMT_CONSTEXPR20 support a07411c2b Disable compile-time checks for dynamic width/precision test for LCC and compiler without std::is_constant_evaluated() 797d82b21 Disable non-type template args for LCC a553521d6 Disable "GCC optimize" pragma for LCC a33701196 Update version 1f575fd5c Bump version c7635288f Fix docs, take 2 c8ed78e31 Fix docs e07cfb206 Update changelog 1dc7af569 Fix markup f7d21c3a1 Update changelog a55bcb24b Update changelog 30cb2b312 Remove appveyor config cf8d3c322 Update changelog 3c3cb6f6b Update changelog 91481f255 Detemplatize code_point_length_impl f98048b62 Fix bugs in utf8 decoder (#3056) 4a8e2949b Fix formatting of ranges of code unit types 3a3b0709e Disable bogus -Wstringop-overflow on GCC 11 (#3054) e724bbea1 Fix wchar_t corner cases 665d9779e Disable non-type template args for nvhpc (#3053) 13d07c6a3 Apply doc fixes retroactively 391f922ac Improve error reporting in format string compilation dc59d3df3 Fix a warning in gtest 489dabbd3 Fix decoder on broken utf8 sequences. (#3044) 541cd2183 Fix locale name (thanks Mikhail Paulyshka) 1f95c3438 Fix sign handling with large code units 779449fd9 Belarusify test fbb568bce nvhpc/22.3: workaround for c++17 mode. (#3043) 36c23bd5f Prepare for deprecating FindPythonInterp module. (#3040) 9ff0f3a7d Fix docs fd41110d3 Add MinGW to CI fc23cfbf4 Fix testsuite on MinGW + MSVCRT fd93b633b Constexpr formatted_size (#3026) 7fb8d33f9 Fix compile-time width/precision type check 8bd02e93b Reduce conditional compilation d9c1c7353 Use is_utf8() in print(std::ostream&, ...) 682e097be Remove -Wl,--as-needed linker option b9087ee58 Suppress unused typedef warning df56fdf88 Clarify docs for compile-time checks 90c48b852 Remove double code execution 5a8b7cd74 Add comment 36a25d75b Reuse detail::string_literal in the chrono formatter 6c9304b2c Replace ParseContext with basic_format_parse_context 24ab9dd19 Remove duplicate method a95dc1701 Remove unused condition 5f774c0ae I shouldn't be there 6567df7f2 Update README.rst 6c6b1fbf6 Workaround a bug in MSVC 9beddd08f Improve CI on Windows 6452e3c9e Fix a typo in example 756822ba3 Fix Unicode handling for ostream under Windows with libc++. (#3001) 0b2862a1e Range formatter (#2983) 258000064 Add fmt:: namespace to doc (#3009) e9ca7ea47 Suppress a bogus warning 81f1cc74a Improve Unicode handling when writing to an ostream on Windows (#2994) bbcb129e0 Reduce filesize of the tests on MinGW (#2995) 48e0a5922 Implement compile-time checks for dynamic width/precision type bc5c7c50f Fixes IBM XLC behavior with uint128 fallback (#2985) 00adc7120 Add a regression test for here be dragons c48be439f Add additional search paths for doxygen on Windows 371f9c71c Fix even in format_dragon 91abfcd6c Suppress an msvc warning deeab54b4 Remove unused include 688a627d6 Remove unused constants. 9bb1605f1 Remove some branches 8061d9afb Simplify Dragonbox implementation d82e1a108 Make sure the correct fmod overload is called defa04e73 Fix for EDG frontend (Intel, NVHPC compilers) (#2982) 92d36e82c The n specifier for ranges (#2981) 0db43cf7f Pointless comparison warnings (#2971) 05be7a076 Use FMT_USE_FLOAT128 instead of __SIZEOF_FLOAT128__ 2a1b3ac62 Fix large shift in uint128_fallback e1d3d3a32 Exclude recursive ranges from the formatter specialization for ranges (#2974) b761f1279 Improve forward using the idea from Jonathan Müller cc1926942 Inline std::forward d5e9166f5 Fixed typo in changelog example. b31d1a75a Add xchar support for fmt::streamed(). git-subtree-dir: externals/fmt git-subtree-split: f5e54359df4c26b6230fc61d38aa294581393084
2023-10-08 08:55:04 +01:00
FMT_EXPORT template <typename Char>
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
void vprint(std::basic_ostream<Char>& os,
basic_string_view<type_identity_t<Char>> format_str,
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
basic_format_args<buffer_context<type_identity_t<Char>>> args) {
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
auto buffer = basic_memory_buffer<Char>();
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
detail::vformat_to(buffer, format_str, args);
Squashed 'externals/fmt/' changes from c4ee72653..f5e54359d f5e54359d Update version a003ab93c Update changelog 9b7416081 `atomic_flag` formatting (#3594) a21690bdf Coding conventions c9efd8968 Merge branch 'MathewBensonCode-master' e78682405 Refactor Improvement on umul128 function 2b20d7be6 Refactor To remove friend function private access 1f38ebbdb Add condition to include friend function in win32 e41817969 Fix for FMT_MODULE not compiling on GCC 0bffed895 Bump actions/checkout from 3.1.0 to 3.5.3 (#3602) cc077a5e3 Fix `FMT_NO_UNIQUE_ADDRESS` warning with clang-cl. (#3600) a992b3d1f Fix for Compilation Error When Using FMT_MODULE (#3597) af1b768cc Update changelog 2a7c45b54 Update changelog bd868f3a5 Improve compatibility with GBK #3598 (#3599) bbb784fb1 Fix a gcc error about partial specialization after instantiation 6c845f57e Fix `formatted_size` with `FMT_COMPILE` and format specs (#3588) a379595c5 Bump actions/upload-artifact from 3.1.0 to 3.1.2 (#3593) 9dfde7871 Bump ossf/scorecard-action from 2.1.2 to 2.2.0 (#3592) e92a705bd Bump github/codeql-action from 2.2.4 to 2.21.4 (#3591) 5a866fe85 Add formatter for std::atomic (#3574) e150ea0cc to_string supports types with format_as 29ce2ff8a Update README.rst 2e1362add Create scorecard.yml e57ca2e36 Update version 4c56612c6 Update changelog e1acd5f4d Bump version 6ffee2f75 Handle new rst nodes ee475d640 Update changelog ecc914125 Update changelog d42486231 Fix fixed precision handling during rounding in long double 3c1b3337d Update changelog 35fb69ebe Update changelog f92be35c0 Update changelog 7a2f6ac21 Fix a comment 744ff5554 Fix docs 70ae48b00 Update changelog ebb10347c Merge branch 'master' of github.com:fmtlib/fmt 100572016 Clarify that visit_format_arg is deprecated aeb6ad4dd Added formatter for bit_reference-like types (#3570) 96d1fa22d Update changelog 8a4bec5cf fix ambiguous formatter lookup for flat_set (#3561) eacd51c24 cmake: fix FMT_PKGCONFIG_DIR path (#3563) 757564f5c add missing inline specifier (#3552) f4214ae8d Use the U literal for unsigned integer constants. (#3549) aecf80d30 Update a comment 503d49286 expose detail::throw_format_error (#3551) 4f46cb82f Remove std::copy usage. (#3550) 3dec65b7f Use replacement character in path dbabb305c Turn off error-producing NVCC workaround when using c++20 (#3544) ac0ab8eff Improve path formatter 40f35d6f0 Cleanup std formatters 31c2c5679 Cleanup formatters b2728a317 Improve path formatter 77e0b0e22 Cleanup chrono formatter e47585904 Fix overspecified tests 436c131d4 Optimize compiled format_to_n 388bc296b Fix fixed formatting of small long doubles 95e1ea573 Clarify requirement on compiled formatter fb97cb231 Suppress a bogus stringop-overflow warning dd5a9691f Clarify that data is not null-terminated 72dc4491e Fix format_string_checker initialisation order (#3542) 9bea6ec04 Don't use deprecated checked_array_iterator 661b23ede Call parse on empty specs at compile time 8e87d3a8b Fix include a47491656 Update CMakeLists.txt (#3523) de4705f84 Trying to improve errors in the unformattable case (#3478) e4c8cfe38 README: Add link to merged clang-tidy check (#3515) 606f85f8b Workaround brain-damaged conversions a331dbfb6 Fix type in assert message. (#3508) 13156e54b Revert "add ability to build Apple framework using CMAKE_FRAMEWORK" (#3496) 9158bea1e Remove old grisu tests dd17f89a1 Fix for issue #3492 (#3493) 1daae555b Optimize format string compilation 6ad301235 Optimize code unit output in compiled format 8732ad877 Update docs 5afb1821a Update docs a81135f2c Fix a link dfc34821a Update docs 0765e7284 Update docs 977d887a4 Suppress a bogus warning c86fe0b8d Give basic_memory_buffer allocator [[no_unique_address]] (#3485) 5dbe0ff95 Bump actions/checkout from 3.5.2 to 3.5.3 (#3486) de0757b57 Use FMT_TRY and FMT_CATCH in std.h (#3482) 8fe893c0a Update README.rst 0f823df46 Remove detail namespace hack 60fd9941c Use correct Char type in std::filesystem::path (#3476) 8abfc145b Fix MSVC warning in std::chrono::time_point formatter (#3475) 686b3353a Simplify typeid check b2106f363 Tweak comments 35547d600 Use const_check to silence MSVC warning 179c7e5a6 Use typeid() only if it's available 61fb3a15f Add VxWorks7 user space and kernel space support (#3467) bd393456e Remove FMT_*_DETAIL_NAMESPACE 6be36af0d Remove udl_formatter 2a35eeed8 Remove unused data 256a826d6 Consolidate formatters 6369af37d Simplify formatters 0b8404918 Remove get_cached_power 171a020c8 Pass correct Char to base format_as formatter (#3457) d8f04e399 Simplify ceil 5e988f8df Remove is_constant_evaluated() check 19b17618a Make constexpr ceil c684a06d5 New CI: macOS 13, Xcode 14.3, C++ 20 abdb7fdf8 Update api.rst 8b09fe2a0 Fix example for user-defined types in documentation for 10.0.0 (#3461) adad18a74 Update ChangeLog.rst 858e528ab Use dragon in constexpr a54cb108d CMake: Do not fail on unknown compiler features (#3453) ef55d4f52 Suppress a bogus gcc warning 70b6a6fa4 Update README.rst (#3454) 6fe895410 Remove invalid_arg_index d0652d225 Create dependabot.yml (#3452) de8d0171a Simplify FMT_FORMAT_AS 7401fe046 Hash pin Github Workflows (#3451) 08ef0d084 fix formatter<char*> (#3432) d60b907f8 Replace mod_inv_25 by explicit value (#3450) 4ce086f73 remove code duplication (#3448) 821f8cdb4 Detemplatize printf more 0bf6ed7e1 Cleanup printf e40e04fac Detemplatize printf_arg_formatter 0a1c27281 Detemplatize basic_printf_context 2f605cc89 Deprecate wide printf 1d54499ac Apply coding conventions 3c6053c53 Cleanup basic_printf_context 4a392adaa Remove basic_printf_parse_context b14913fae FMT_MODULE_EXPORT -> FMT_EXPORT 2117df299 format-inl.h: address implicit int to bool conversion (#3446) 616a49378 Revert Char* formatter removal 9a034b0d5 Always assert in FMT_THROW (#3439) e0fc0e85e Remove unneeded FMT_API 552c43aba Improve long formatters d6846f4ac Clarify why byte formatter is in core aeedac588 Remove unneeded specialization eaa630769 Make hex float test more stable (#3434) e82bf41a1 Update README.rst e077396f5 Update docs 861facad0 Fix a typo 75bfe5761 Improve docs 697e76ba3 Don't call init_named_args unnecessarily a425e0ff3 Cleanup xchar API c36dd825b Remove unnecessary forwarding 130b8fcdb Reduce template instantiations a47e8419b Cleanup the core API ea49c91cd Cleanup argument construction d7592ad8b Fix time_point formatting for durations with certain ratios (#3430) ebfb2e677 Remove unused alias 5780269d5 Improve API safety b47119216 Fix a comment 8f18e72df Improve API safety 93d7cb12f Fix formatting 0e4278717 Remove unused macro 93a30a074 unicode_to_utf8 -> to_utf8 since both sides of conversion are Unicode a08196b14 Update ChangeLog.rst 0398ba42c Update ChangeLog.rst a0b8a92e3 Update version 5cf2342aa Bump version fe9d39d7c Update changelog 4c9856197 Update changelog 403b271ed Update changelog 2c991e1af Update changelog c984df981 Remove an unused function from internal class fbf21ed22 Update changelog 575583144 Update changelog e7f6888c7 Update changelog 39db2dfd0 Update changelog 9b7829e26 Update changelog 1e0ce567e Fix formatting of paths containing invalid Unicode dde8cf3bb Unification utf16/utf32 to utf8 conversion e84b00e01 Workaround to error: variable 'n' set but not used [-Werror,-Wunused-but-set-variable] b12ffea4f Add filesystem_error test back f61f15cc5 Suppress a false positive in gcc 192df93d7 modules missing pieces (#3399) d8973bf16 Add FMT_STRING for format_to() call (#3413) d7a8e50cb Improve module testing (#3397) 02cae7e48 Improve handling of Unicode in paths 53162142b Remove .bazelrc mention from Bazel related readme (#3411) 5bcf0d7f9 Bazel support (#3406) f8c9fabd9 Fix spelling (#3404) 62ff4e1db Remove foonathan from maintainer list (#3402) f449ca052 Name `vfprintf` clashes with the identically named declaration in 'stdio.h' if that happens to be #included into the same TU. Fix this by using qualified name lookup instead of unqualified lookup that also enables ADL. (#3400) eafcd3c8e Optionally attach declarations to the `global module` rather than `module fmt` (#3387) 18154cc90 Simplify print 0de789cf2 Update changelog c03938922 export names only once (#3392) 93e81bb5d Fix C4365 (signed/unsigned mismatch) warning on 32-bit Windows (#3398) e7d6eb679 Update tests to use recommended MOCK_METHOD (#3395) 18e7a2532 Remove obsolete msvc workarounds (#3388) 0489c19dc fix and improve module (#3386) 8ec94ac6a Use full path to pcm d97d8cea6 Push module check to test d8a2698e6 Fix compilation as a C++20 module with gcc 13 d9c19940a Update add_module_library 4b5ae0b0e Remove unnecessary module support check 75f3b1c09 Use add_module_library faf83406a Workaround cmake issue 165814d57 Add module support to CMake 33f715077 Fix error C2668 on msvc (#3378) c98e5a08a Fix modular build on clang 119c6bd16 Move the modules check 77eeb7183 Remove unused headers 13bf99f9d Enable modules in clang 16 1d0257e4c FMT_MODULE_EXPORT_* -> FMT_EXPORT_* 4613d48fd FMT_EXPORT -> FMT_LIB_EXPORT 4a4a2a2bd Fix diagnostics fce74caa1 Disable problematic implicit conversions 02bf4d1c1 Disable to_string_view ADL 466e0650e Remove problematic workaround 029caa8ea Update changelog e406ddbfa Remove broken part of the config 909567953 Update changelog 7f46cb75b ranges: Fix extra semi (#3374) 4e3f38105 Update changelog d3c10f516 fix compilation for MSDOS (#3369) ab956f600 Update changelog 97aedeab4 Workaround a double-double hexfloat format (#3366) bce8d4ed0 Remove stray comment a91c7b286 Cleanup the core API 19c074e47 Remove deprecated fallback formatter 41cfc739f Generalize format_as f6276a2c2 Force use a signed char (On ARM char is unsigned by default) (#3362) 6002ddf82 Remove a deprecated option 6549ffde8 Improve format_as safety d9bc5f132 Fix code causing spurious Wstringop-overflow warning 9c5cd998d Remove unused functions 93bfa0538 %T is %H:%M:%S (#3349) d8e1c4265 fix case of variant which is valueless by exception (#3347) e1720c0e5 Fix CUDA nvcc warning fmt/include/fmt/core.h(295): warning #1675-D: unrecognized GCC pragma (#3352) 7f882918e `write_floating_seconds`: Fall back to `::round` (#3343) cbc7b8d5c Cleanup dead variable (#3338) 050293646 Path is not escaped twice in the debug mode (#3321) 3daf33837 Enable consteval for Xcode 14.0.1 and later (#3331) e0748e61d Fix recursion check in range formatting b94e1016f chore: set permission to cifuzz.yml (#3328) 98699719f Make # handling consistent with std::format 48dfbcaa9 Improve license and PR template wording c644c753d Add '🐙 userver framework' to the projects 73b7cee7f Fix for issue #3325 (#3326) 5b8302079 Add optional support (#3303) 3a69529e8 Fix various typos (#3312) 76f520835 Call element parse in tuple parse 507c3042d class -> typename 1741e90de Always call parse in range formatter d646fd0da Minor cleanup b5c2f74f4 change sopen_s to wsopen_s (fmtlib#3234) (#3293) e03753c4a Add ubuntu mirrors (#3302) 6e6eb6377 [msvc] fix warning about non-inline variable 3c5464ba1 Fix OpenBSD build error (#3295) 655046d24 Fix container adaptor formatting 581c6292c Add formatters for container adapters (#3279) 7718eeeac Implement glibc ext for sec, min, and hour (#3271) 44e0eea94 Use FMT_HAS_INCLUDE and apply clang-format 99070899b Fix errors setting of FMT_USE_FLOAT128 (#3259) 05e3a9233 Allowing formatting non-copyable ranges. (#3290) 70db193f0 Visual Studio 2022: fmt/format-inl.h(1145,60): warning C4310: cast truncates constant value #3287 (#3288) a2c05a10e Workaround a bug in MSVC <= 19.22 cae9bf45b Simplify apidoc comments 87c066a35 Implement `println` (#3267) 9409b2e4d Workaround for incompatibility between libstdc++ consteval-based std::is_constant_evaluated() implementation and clang-14 (#3281) f89cd276f Refactor countl_zero fallback (#3276) 240b728d8 Report an error on overflow dfbb952b2 Fix empty spec for time point (#3275) 39971eb33 Fix localized format for float-point numbers (#3272) 0f42c17d8 Implement a new formatting algorithm for small given precision (#3269) bfc0924ea Bugfix for fmt::printf on Power9 architecture with the XL compiler (#3256) 676c2a107 Fix negative subsec for time_point (#3261) 2c80cedc3 Fix standard default installation target presence (#3264) dda53082b Support fill, align & width for time point (#3260) 2622cd23e Simplify arg_mapper 9e4a54fa6 Disable remaining implicit conversions 9ce648067 Disble deprecated implicit enum conversions 9121f9b1d Enable format_as for classes b7535365b Enable format_as for non-integral types 09ed1ddb9 Cleanup tests 0ec65d99a Merge parse_presentation_type into parse_format_specs 71e4e0272 Cleanup vprintf aad546baa Simplify presentation type parsing 14a69fcc5 Use parse_align bf34ffd33 Refactor format string parsing 6056e0712 Simplify symbols aa99b8640 Minor cleanup 6ade2eb4e Inline all_int_set caa697494 Simplify parse functions a73a9b6a8 Refactor format string checks 72785a3ab Cleanup write 0c3dd5ddd Remove redundant check 739b600f4 Remove iterator shenanigans 3710c4d38 Link to dragonbox a05ba44df Simplify format string parsing ffb9b1d13 Improve handling of signed types 32190859e Fix handling of char 8fe4d97d5 Reduce template instantiations 7e5a95956 Fix build with MSVC C++20 modules (#3254) 9e6030486 Clarify that unused args are allowed 7ad48c1f6 Cleanup core.h a921a596e Cleanup core.h 3e762fdf5 Use ignore_unused 79981a252 Cleanup ranges formatting bd12aaa98 Simplify format string parsing b8f36207c Simplify format string parsing d907786f0 Move anchor to where it belongs f2355bbe5 Fix docs f398c9476 Fix docs 4841784e8 Simplify C99 strftime detection conditions cb72c23e9 Improve timezone tests 583f2d820 Set timezone for chrono tests 32c439070 Minor cleanup 3a5e19fbf Minor cleanup dfb857ebe Refactor format spec parsing 9ea9b6bcb Cleanup arg id parsing 2b0ff62a7 Remove unused template arg from format_string_checker d1745084e Simplify parse context 407e7b7b6 basic_format_specs -> format_specs 3cf979475 Cleanup format string parsing 934c8e5f7 Refactor precision parsing fc9693834 Remove empty semicolon f0ab112c3 Cleanup parsing 9660e5b95 Remove redundant tests a585571e9 Ignore 0 character with align 840ec8569 Cleanup width handlers 1dadeb8a3 Refactor width parsing 275b4b341 Remove obsolete parse-benchmark e004f1d69 Fix for issue #3241 bde1a6070 Simplify fill and alignment parsing 040dc2a5d small typo in syntax.rst 6a186bcd6 Localize FMT_USE_LOCAL_TIME 8c56919bd Check chrono spec starts with % 115001a3b Formatting of system clocks ought to be to UTC, not to local time. This improves standards conformance of fmt. b90895412 Fix formatting of named arguments with locale d072f1dc6 Fix for issue #3228 3999fd193 Workaround an ADL issue c06e0b4ed Extract timezone offset from timezone conversion functions 1bf302a4e Implement %Ez, %Oz for chrono formatter f1733afd4 Pin godbolt example to specific version f61dcccc6 Update README.rst f9bcbdcbc Update README.rst 1a854b4aa Clarify what mod_inv_5 is 62ceb181b fix #3105 - Compile-time error when mixing named argument with automatic indexing b0c8263cb include/fmt/core.h: copy constructors removal d24be2e95 Add countl_zero function 8d50d814d Fix a chrono formatting issue found by fuzzing 115ca96e0 Bump tested CMake version to 3.25 886491625 Remove workaround for GTest bug 74c51ff37 Skip only strptime dependent test in scan-test 69ffedfe5 Use `target_compile_features` to specify C++ standard requirement fae6f7e08 Optimize range formatter a69e43c9d Update benchmark results 91c024ed3 Rename leading_v -> leading_xdigit 649aa102d CI linux: add CIFuzz Github action 31364732d Replace snprintf-based hex float formatter with internal implementation 74d55a493 Add missing operators 8276f1a20 Fix warning: the implicit by-copy capture of "this" is deprecated (EDG frontend) 81ebe70b9 Fix warning: a class type that is not trivially copyable passed through ellipsis (EDG frontend) 3160847eb Enable C++17 tests on macOS 6a95f8c7e Add missing env CTEST_OUTPUT_ON_FAILURE c7980542d Skip the scan-test if strptime isn't defined (#3184) 7df30f91a Format unique_ptr with custom deleter (#3177) d2e89c8b0 Document more chrono specs bd1959320 Document more chrono specs fd0d0ec8d Document more chrono specs 8e93434ed Update README.rst fc07217d8 Make utf-8 detection compatible with gbk cb7373b46 Replace format with FMT_STRING. (#3162) 795ed8abf Add precision modifier for seconds in chrono format (#3148) 66d71a1b3 Fixing formatting of range of range of char. (#3158) 80f8d3442 fmt::ostream - aggregate buffer instead of inheriting it (#3139) 64965bdc9 Add locale getter in tm_writer (#3147) e1ffa7655 Fix warning: conditional expression is constant. (#3150) 8c19bf3f2 Mention MariaDB amongst the projects that use fmt (#3145) f67dbc981 Remove duplicate implementation (#3144) cd7202e03 Fix overflow error (#3143) 51d3685ef Remove duplicate template parameter. (#3142) 9254cfa6f Support formatting of subseconds (#3115) cfb34a060 Avoid using `uint` as a type name (#3137) 5ad7b7138 Fix options for C++20 experimental module in CMake (#3134) d2c47c0df Fix broken condition (#3129) 491c32cbd Workaround gcc bug 103879 662adf4f3 Move formatter<std::error_code> from fmt/os.h to fmt/std.h (#3125) ad91cab37 Normalization of stdlib inline namespace names (#3119) 0ccaed3a6 Set CMAKE_RUNTIME_OUTPUT_DIRECTORY relative to CMAKE_CURRENT_BINARY_DIR instead of CMAKE_BINARY_DIR (#3120) ad719619c Support formatting of std time_point with utc_clock (#3110) 6e0a5f7fb Update CI to Ubuntu 20.04 and to newer versions of actions 48f525d02 Add basic_format_string::get() 0b5cb18b7 Use buffering in to_string to avoid bloat 4c4f99a58 Update a godbolt link 3272a7a3c Update an example a48e3355a Improve docs afcf42429 Update docs ac85afaab Simplify format_error 3178bb9a2 Update docs cf58f64c5 Update docs e4e0ae391 Use fmt/core.h in examples d65acc4e6 Improve docs c9f790b06 Update docs 6b8144a5a Update locale docs 2d66ad5d3 Suppress -Wshadow 042af5332 Suppress -Wfloat-equal 192859c2b Optimize writing to buffers via back_insert_iterator e2f6d7665 fix gcc <= 7.1 compile errors 61844b6b6 Fix build error on GCC-9 7a752e75f New CI: GCC-9 94ceb38a0 Improve locale API 58c4c012f Disable slow windows build and simplify write_loc c3494ae36 Refactor float localization 8ae56161c Fix compilation with FMT_ENFORCE_COMPILE_STRING and FMT_WERROR (#3091) 76705fc2e Update doc 21c2137e7 Add class name output to formatter for std::exception (#3076) ecffca672 Don't parse '}' as fill 3176e0fad Add locale overload for formatted_size (#3084) (#3087) 1feb430fa Fix intellisense on Windows (#3082) b98ffb7db Improve locale handling bac53951b Add starts_with to basic_string_view. (#3080) d59b89e9c More locale 58a5563a9 Implement grouping 1b94271ff Add support for UTF-8 digit separators 768d79a83 Implement format_facet 91ecb38a3 Localize negative integers aec3bb5d0 Workaround C complex.h idiocy 29c600013 Simplify is_variant_like_ check, fix compile error before GCC 11 (#3072) fec5515c5 num_format_facet -> format_facet f187274d3 Add loc_value fc5e59fe4 Don't use stringstream d6a870460 Improve locale support 56c72a671 Reduce locale dependency 4191477b9 Add formatter for std::exception (#3062) 75383a87f Inline trivial functions 48327a82e Make format.h compile faster b79ed4105 Remove unnecessary type_identity 64e29893c Improve locale support 0b0f7cfbf hip workaround 40e414d82 Fix compilation error with gcc-7.2.0 33b4c33c5 Requires FMT_CONSTEXPR20 support a07411c2b Disable compile-time checks for dynamic width/precision test for LCC and compiler without std::is_constant_evaluated() 797d82b21 Disable non-type template args for LCC a553521d6 Disable "GCC optimize" pragma for LCC a33701196 Update version 1f575fd5c Bump version c7635288f Fix docs, take 2 c8ed78e31 Fix docs e07cfb206 Update changelog 1dc7af569 Fix markup f7d21c3a1 Update changelog a55bcb24b Update changelog 30cb2b312 Remove appveyor config cf8d3c322 Update changelog 3c3cb6f6b Update changelog 91481f255 Detemplatize code_point_length_impl f98048b62 Fix bugs in utf8 decoder (#3056) 4a8e2949b Fix formatting of ranges of code unit types 3a3b0709e Disable bogus -Wstringop-overflow on GCC 11 (#3054) e724bbea1 Fix wchar_t corner cases 665d9779e Disable non-type template args for nvhpc (#3053) 13d07c6a3 Apply doc fixes retroactively 391f922ac Improve error reporting in format string compilation dc59d3df3 Fix a warning in gtest 489dabbd3 Fix decoder on broken utf8 sequences. (#3044) 541cd2183 Fix locale name (thanks Mikhail Paulyshka) 1f95c3438 Fix sign handling with large code units 779449fd9 Belarusify test fbb568bce nvhpc/22.3: workaround for c++17 mode. (#3043) 36c23bd5f Prepare for deprecating FindPythonInterp module. (#3040) 9ff0f3a7d Fix docs fd41110d3 Add MinGW to CI fc23cfbf4 Fix testsuite on MinGW + MSVCRT fd93b633b Constexpr formatted_size (#3026) 7fb8d33f9 Fix compile-time width/precision type check 8bd02e93b Reduce conditional compilation d9c1c7353 Use is_utf8() in print(std::ostream&, ...) 682e097be Remove -Wl,--as-needed linker option b9087ee58 Suppress unused typedef warning df56fdf88 Clarify docs for compile-time checks 90c48b852 Remove double code execution 5a8b7cd74 Add comment 36a25d75b Reuse detail::string_literal in the chrono formatter 6c9304b2c Replace ParseContext with basic_format_parse_context 24ab9dd19 Remove duplicate method a95dc1701 Remove unused condition 5f774c0ae I shouldn't be there 6567df7f2 Update README.rst 6c6b1fbf6 Workaround a bug in MSVC 9beddd08f Improve CI on Windows 6452e3c9e Fix a typo in example 756822ba3 Fix Unicode handling for ostream under Windows with libc++. (#3001) 0b2862a1e Range formatter (#2983) 258000064 Add fmt:: namespace to doc (#3009) e9ca7ea47 Suppress a bogus warning 81f1cc74a Improve Unicode handling when writing to an ostream on Windows (#2994) bbcb129e0 Reduce filesize of the tests on MinGW (#2995) 48e0a5922 Implement compile-time checks for dynamic width/precision type bc5c7c50f Fixes IBM XLC behavior with uint128 fallback (#2985) 00adc7120 Add a regression test for here be dragons c48be439f Add additional search paths for doxygen on Windows 371f9c71c Fix even in format_dragon 91abfcd6c Suppress an msvc warning deeab54b4 Remove unused include 688a627d6 Remove unused constants. 9bb1605f1 Remove some branches 8061d9afb Simplify Dragonbox implementation d82e1a108 Make sure the correct fmod overload is called defa04e73 Fix for EDG frontend (Intel, NVHPC compilers) (#2982) 92d36e82c The n specifier for ranges (#2981) 0db43cf7f Pointless comparison warnings (#2971) 05be7a076 Use FMT_USE_FLOAT128 instead of __SIZEOF_FLOAT128__ 2a1b3ac62 Fix large shift in uint128_fallback e1d3d3a32 Exclude recursive ranges from the formatter specialization for ranges (#2974) b761f1279 Improve forward using the idea from Jonathan Müller cc1926942 Inline std::forward d5e9166f5 Fixed typo in changelog example. b31d1a75a Add xchar support for fmt::streamed(). git-subtree-dir: externals/fmt git-subtree-split: f5e54359df4c26b6230fc61d38aa294581393084
2023-10-08 08:55:04 +01:00
if (detail::write_ostream_unicode(os, {buffer.data(), buffer.size()})) return;
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
detail::write_buffer(os, buffer);
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
}
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
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
/**
\rst
Prints formatted data to the stream *os*.
**Example**::
fmt::print(cerr, "Don't {}!", "panic");
\endrst
*/
Squashed 'externals/fmt/' changes from c4ee72653..f5e54359d f5e54359d Update version a003ab93c Update changelog 9b7416081 `atomic_flag` formatting (#3594) a21690bdf Coding conventions c9efd8968 Merge branch 'MathewBensonCode-master' e78682405 Refactor Improvement on umul128 function 2b20d7be6 Refactor To remove friend function private access 1f38ebbdb Add condition to include friend function in win32 e41817969 Fix for FMT_MODULE not compiling on GCC 0bffed895 Bump actions/checkout from 3.1.0 to 3.5.3 (#3602) cc077a5e3 Fix `FMT_NO_UNIQUE_ADDRESS` warning with clang-cl. (#3600) a992b3d1f Fix for Compilation Error When Using FMT_MODULE (#3597) af1b768cc Update changelog 2a7c45b54 Update changelog bd868f3a5 Improve compatibility with GBK #3598 (#3599) bbb784fb1 Fix a gcc error about partial specialization after instantiation 6c845f57e Fix `formatted_size` with `FMT_COMPILE` and format specs (#3588) a379595c5 Bump actions/upload-artifact from 3.1.0 to 3.1.2 (#3593) 9dfde7871 Bump ossf/scorecard-action from 2.1.2 to 2.2.0 (#3592) e92a705bd Bump github/codeql-action from 2.2.4 to 2.21.4 (#3591) 5a866fe85 Add formatter for std::atomic (#3574) e150ea0cc to_string supports types with format_as 29ce2ff8a Update README.rst 2e1362add Create scorecard.yml e57ca2e36 Update version 4c56612c6 Update changelog e1acd5f4d Bump version 6ffee2f75 Handle new rst nodes ee475d640 Update changelog ecc914125 Update changelog d42486231 Fix fixed precision handling during rounding in long double 3c1b3337d Update changelog 35fb69ebe Update changelog f92be35c0 Update changelog 7a2f6ac21 Fix a comment 744ff5554 Fix docs 70ae48b00 Update changelog ebb10347c Merge branch 'master' of github.com:fmtlib/fmt 100572016 Clarify that visit_format_arg is deprecated aeb6ad4dd Added formatter for bit_reference-like types (#3570) 96d1fa22d Update changelog 8a4bec5cf fix ambiguous formatter lookup for flat_set (#3561) eacd51c24 cmake: fix FMT_PKGCONFIG_DIR path (#3563) 757564f5c add missing inline specifier (#3552) f4214ae8d Use the U literal for unsigned integer constants. (#3549) aecf80d30 Update a comment 503d49286 expose detail::throw_format_error (#3551) 4f46cb82f Remove std::copy usage. (#3550) 3dec65b7f Use replacement character in path dbabb305c Turn off error-producing NVCC workaround when using c++20 (#3544) ac0ab8eff Improve path formatter 40f35d6f0 Cleanup std formatters 31c2c5679 Cleanup formatters b2728a317 Improve path formatter 77e0b0e22 Cleanup chrono formatter e47585904 Fix overspecified tests 436c131d4 Optimize compiled format_to_n 388bc296b Fix fixed formatting of small long doubles 95e1ea573 Clarify requirement on compiled formatter fb97cb231 Suppress a bogus stringop-overflow warning dd5a9691f Clarify that data is not null-terminated 72dc4491e Fix format_string_checker initialisation order (#3542) 9bea6ec04 Don't use deprecated checked_array_iterator 661b23ede Call parse on empty specs at compile time 8e87d3a8b Fix include a47491656 Update CMakeLists.txt (#3523) de4705f84 Trying to improve errors in the unformattable case (#3478) e4c8cfe38 README: Add link to merged clang-tidy check (#3515) 606f85f8b Workaround brain-damaged conversions a331dbfb6 Fix type in assert message. (#3508) 13156e54b Revert "add ability to build Apple framework using CMAKE_FRAMEWORK" (#3496) 9158bea1e Remove old grisu tests dd17f89a1 Fix for issue #3492 (#3493) 1daae555b Optimize format string compilation 6ad301235 Optimize code unit output in compiled format 8732ad877 Update docs 5afb1821a Update docs a81135f2c Fix a link dfc34821a Update docs 0765e7284 Update docs 977d887a4 Suppress a bogus warning c86fe0b8d Give basic_memory_buffer allocator [[no_unique_address]] (#3485) 5dbe0ff95 Bump actions/checkout from 3.5.2 to 3.5.3 (#3486) de0757b57 Use FMT_TRY and FMT_CATCH in std.h (#3482) 8fe893c0a Update README.rst 0f823df46 Remove detail namespace hack 60fd9941c Use correct Char type in std::filesystem::path (#3476) 8abfc145b Fix MSVC warning in std::chrono::time_point formatter (#3475) 686b3353a Simplify typeid check b2106f363 Tweak comments 35547d600 Use const_check to silence MSVC warning 179c7e5a6 Use typeid() only if it's available 61fb3a15f Add VxWorks7 user space and kernel space support (#3467) bd393456e Remove FMT_*_DETAIL_NAMESPACE 6be36af0d Remove udl_formatter 2a35eeed8 Remove unused data 256a826d6 Consolidate formatters 6369af37d Simplify formatters 0b8404918 Remove get_cached_power 171a020c8 Pass correct Char to base format_as formatter (#3457) d8f04e399 Simplify ceil 5e988f8df Remove is_constant_evaluated() check 19b17618a Make constexpr ceil c684a06d5 New CI: macOS 13, Xcode 14.3, C++ 20 abdb7fdf8 Update api.rst 8b09fe2a0 Fix example for user-defined types in documentation for 10.0.0 (#3461) adad18a74 Update ChangeLog.rst 858e528ab Use dragon in constexpr a54cb108d CMake: Do not fail on unknown compiler features (#3453) ef55d4f52 Suppress a bogus gcc warning 70b6a6fa4 Update README.rst (#3454) 6fe895410 Remove invalid_arg_index d0652d225 Create dependabot.yml (#3452) de8d0171a Simplify FMT_FORMAT_AS 7401fe046 Hash pin Github Workflows (#3451) 08ef0d084 fix formatter<char*> (#3432) d60b907f8 Replace mod_inv_25 by explicit value (#3450) 4ce086f73 remove code duplication (#3448) 821f8cdb4 Detemplatize printf more 0bf6ed7e1 Cleanup printf e40e04fac Detemplatize printf_arg_formatter 0a1c27281 Detemplatize basic_printf_context 2f605cc89 Deprecate wide printf 1d54499ac Apply coding conventions 3c6053c53 Cleanup basic_printf_context 4a392adaa Remove basic_printf_parse_context b14913fae FMT_MODULE_EXPORT -> FMT_EXPORT 2117df299 format-inl.h: address implicit int to bool conversion (#3446) 616a49378 Revert Char* formatter removal 9a034b0d5 Always assert in FMT_THROW (#3439) e0fc0e85e Remove unneeded FMT_API 552c43aba Improve long formatters d6846f4ac Clarify why byte formatter is in core aeedac588 Remove unneeded specialization eaa630769 Make hex float test more stable (#3434) e82bf41a1 Update README.rst e077396f5 Update docs 861facad0 Fix a typo 75bfe5761 Improve docs 697e76ba3 Don't call init_named_args unnecessarily a425e0ff3 Cleanup xchar API c36dd825b Remove unnecessary forwarding 130b8fcdb Reduce template instantiations a47e8419b Cleanup the core API ea49c91cd Cleanup argument construction d7592ad8b Fix time_point formatting for durations with certain ratios (#3430) ebfb2e677 Remove unused alias 5780269d5 Improve API safety b47119216 Fix a comment 8f18e72df Improve API safety 93d7cb12f Fix formatting 0e4278717 Remove unused macro 93a30a074 unicode_to_utf8 -> to_utf8 since both sides of conversion are Unicode a08196b14 Update ChangeLog.rst 0398ba42c Update ChangeLog.rst a0b8a92e3 Update version 5cf2342aa Bump version fe9d39d7c Update changelog 4c9856197 Update changelog 403b271ed Update changelog 2c991e1af Update changelog c984df981 Remove an unused function from internal class fbf21ed22 Update changelog 575583144 Update changelog e7f6888c7 Update changelog 39db2dfd0 Update changelog 9b7829e26 Update changelog 1e0ce567e Fix formatting of paths containing invalid Unicode dde8cf3bb Unification utf16/utf32 to utf8 conversion e84b00e01 Workaround to error: variable 'n' set but not used [-Werror,-Wunused-but-set-variable] b12ffea4f Add filesystem_error test back f61f15cc5 Suppress a false positive in gcc 192df93d7 modules missing pieces (#3399) d8973bf16 Add FMT_STRING for format_to() call (#3413) d7a8e50cb Improve module testing (#3397) 02cae7e48 Improve handling of Unicode in paths 53162142b Remove .bazelrc mention from Bazel related readme (#3411) 5bcf0d7f9 Bazel support (#3406) f8c9fabd9 Fix spelling (#3404) 62ff4e1db Remove foonathan from maintainer list (#3402) f449ca052 Name `vfprintf` clashes with the identically named declaration in 'stdio.h' if that happens to be #included into the same TU. Fix this by using qualified name lookup instead of unqualified lookup that also enables ADL. (#3400) eafcd3c8e Optionally attach declarations to the `global module` rather than `module fmt` (#3387) 18154cc90 Simplify print 0de789cf2 Update changelog c03938922 export names only once (#3392) 93e81bb5d Fix C4365 (signed/unsigned mismatch) warning on 32-bit Windows (#3398) e7d6eb679 Update tests to use recommended MOCK_METHOD (#3395) 18e7a2532 Remove obsolete msvc workarounds (#3388) 0489c19dc fix and improve module (#3386) 8ec94ac6a Use full path to pcm d97d8cea6 Push module check to test d8a2698e6 Fix compilation as a C++20 module with gcc 13 d9c19940a Update add_module_library 4b5ae0b0e Remove unnecessary module support check 75f3b1c09 Use add_module_library faf83406a Workaround cmake issue 165814d57 Add module support to CMake 33f715077 Fix error C2668 on msvc (#3378) c98e5a08a Fix modular build on clang 119c6bd16 Move the modules check 77eeb7183 Remove unused headers 13bf99f9d Enable modules in clang 16 1d0257e4c FMT_MODULE_EXPORT_* -> FMT_EXPORT_* 4613d48fd FMT_EXPORT -> FMT_LIB_EXPORT 4a4a2a2bd Fix diagnostics fce74caa1 Disable problematic implicit conversions 02bf4d1c1 Disable to_string_view ADL 466e0650e Remove problematic workaround 029caa8ea Update changelog e406ddbfa Remove broken part of the config 909567953 Update changelog 7f46cb75b ranges: Fix extra semi (#3374) 4e3f38105 Update changelog d3c10f516 fix compilation for MSDOS (#3369) ab956f600 Update changelog 97aedeab4 Workaround a double-double hexfloat format (#3366) bce8d4ed0 Remove stray comment a91c7b286 Cleanup the core API 19c074e47 Remove deprecated fallback formatter 41cfc739f Generalize format_as f6276a2c2 Force use a signed char (On ARM char is unsigned by default) (#3362) 6002ddf82 Remove a deprecated option 6549ffde8 Improve format_as safety d9bc5f132 Fix code causing spurious Wstringop-overflow warning 9c5cd998d Remove unused functions 93bfa0538 %T is %H:%M:%S (#3349) d8e1c4265 fix case of variant which is valueless by exception (#3347) e1720c0e5 Fix CUDA nvcc warning fmt/include/fmt/core.h(295): warning #1675-D: unrecognized GCC pragma (#3352) 7f882918e `write_floating_seconds`: Fall back to `::round` (#3343) cbc7b8d5c Cleanup dead variable (#3338) 050293646 Path is not escaped twice in the debug mode (#3321) 3daf33837 Enable consteval for Xcode 14.0.1 and later (#3331) e0748e61d Fix recursion check in range formatting b94e1016f chore: set permission to cifuzz.yml (#3328) 98699719f Make # handling consistent with std::format 48dfbcaa9 Improve license and PR template wording c644c753d Add '🐙 userver framework' to the projects 73b7cee7f Fix for issue #3325 (#3326) 5b8302079 Add optional support (#3303) 3a69529e8 Fix various typos (#3312) 76f520835 Call element parse in tuple parse 507c3042d class -> typename 1741e90de Always call parse in range formatter d646fd0da Minor cleanup b5c2f74f4 change sopen_s to wsopen_s (fmtlib#3234) (#3293) e03753c4a Add ubuntu mirrors (#3302) 6e6eb6377 [msvc] fix warning about non-inline variable 3c5464ba1 Fix OpenBSD build error (#3295) 655046d24 Fix container adaptor formatting 581c6292c Add formatters for container adapters (#3279) 7718eeeac Implement glibc ext for sec, min, and hour (#3271) 44e0eea94 Use FMT_HAS_INCLUDE and apply clang-format 99070899b Fix errors setting of FMT_USE_FLOAT128 (#3259) 05e3a9233 Allowing formatting non-copyable ranges. (#3290) 70db193f0 Visual Studio 2022: fmt/format-inl.h(1145,60): warning C4310: cast truncates constant value #3287 (#3288) a2c05a10e Workaround a bug in MSVC <= 19.22 cae9bf45b Simplify apidoc comments 87c066a35 Implement `println` (#3267) 9409b2e4d Workaround for incompatibility between libstdc++ consteval-based std::is_constant_evaluated() implementation and clang-14 (#3281) f89cd276f Refactor countl_zero fallback (#3276) 240b728d8 Report an error on overflow dfbb952b2 Fix empty spec for time point (#3275) 39971eb33 Fix localized format for float-point numbers (#3272) 0f42c17d8 Implement a new formatting algorithm for small given precision (#3269) bfc0924ea Bugfix for fmt::printf on Power9 architecture with the XL compiler (#3256) 676c2a107 Fix negative subsec for time_point (#3261) 2c80cedc3 Fix standard default installation target presence (#3264) dda53082b Support fill, align & width for time point (#3260) 2622cd23e Simplify arg_mapper 9e4a54fa6 Disable remaining implicit conversions 9ce648067 Disble deprecated implicit enum conversions 9121f9b1d Enable format_as for classes b7535365b Enable format_as for non-integral types 09ed1ddb9 Cleanup tests 0ec65d99a Merge parse_presentation_type into parse_format_specs 71e4e0272 Cleanup vprintf aad546baa Simplify presentation type parsing 14a69fcc5 Use parse_align bf34ffd33 Refactor format string parsing 6056e0712 Simplify symbols aa99b8640 Minor cleanup 6ade2eb4e Inline all_int_set caa697494 Simplify parse functions a73a9b6a8 Refactor format string checks 72785a3ab Cleanup write 0c3dd5ddd Remove redundant check 739b600f4 Remove iterator shenanigans 3710c4d38 Link to dragonbox a05ba44df Simplify format string parsing ffb9b1d13 Improve handling of signed types 32190859e Fix handling of char 8fe4d97d5 Reduce template instantiations 7e5a95956 Fix build with MSVC C++20 modules (#3254) 9e6030486 Clarify that unused args are allowed 7ad48c1f6 Cleanup core.h a921a596e Cleanup core.h 3e762fdf5 Use ignore_unused 79981a252 Cleanup ranges formatting bd12aaa98 Simplify format string parsing b8f36207c Simplify format string parsing d907786f0 Move anchor to where it belongs f2355bbe5 Fix docs f398c9476 Fix docs 4841784e8 Simplify C99 strftime detection conditions cb72c23e9 Improve timezone tests 583f2d820 Set timezone for chrono tests 32c439070 Minor cleanup 3a5e19fbf Minor cleanup dfb857ebe Refactor format spec parsing 9ea9b6bcb Cleanup arg id parsing 2b0ff62a7 Remove unused template arg from format_string_checker d1745084e Simplify parse context 407e7b7b6 basic_format_specs -> format_specs 3cf979475 Cleanup format string parsing 934c8e5f7 Refactor precision parsing fc9693834 Remove empty semicolon f0ab112c3 Cleanup parsing 9660e5b95 Remove redundant tests a585571e9 Ignore 0 character with align 840ec8569 Cleanup width handlers 1dadeb8a3 Refactor width parsing 275b4b341 Remove obsolete parse-benchmark e004f1d69 Fix for issue #3241 bde1a6070 Simplify fill and alignment parsing 040dc2a5d small typo in syntax.rst 6a186bcd6 Localize FMT_USE_LOCAL_TIME 8c56919bd Check chrono spec starts with % 115001a3b Formatting of system clocks ought to be to UTC, not to local time. This improves standards conformance of fmt. b90895412 Fix formatting of named arguments with locale d072f1dc6 Fix for issue #3228 3999fd193 Workaround an ADL issue c06e0b4ed Extract timezone offset from timezone conversion functions 1bf302a4e Implement %Ez, %Oz for chrono formatter f1733afd4 Pin godbolt example to specific version f61dcccc6 Update README.rst f9bcbdcbc Update README.rst 1a854b4aa Clarify what mod_inv_5 is 62ceb181b fix #3105 - Compile-time error when mixing named argument with automatic indexing b0c8263cb include/fmt/core.h: copy constructors removal d24be2e95 Add countl_zero function 8d50d814d Fix a chrono formatting issue found by fuzzing 115ca96e0 Bump tested CMake version to 3.25 886491625 Remove workaround for GTest bug 74c51ff37 Skip only strptime dependent test in scan-test 69ffedfe5 Use `target_compile_features` to specify C++ standard requirement fae6f7e08 Optimize range formatter a69e43c9d Update benchmark results 91c024ed3 Rename leading_v -> leading_xdigit 649aa102d CI linux: add CIFuzz Github action 31364732d Replace snprintf-based hex float formatter with internal implementation 74d55a493 Add missing operators 8276f1a20 Fix warning: the implicit by-copy capture of "this" is deprecated (EDG frontend) 81ebe70b9 Fix warning: a class type that is not trivially copyable passed through ellipsis (EDG frontend) 3160847eb Enable C++17 tests on macOS 6a95f8c7e Add missing env CTEST_OUTPUT_ON_FAILURE c7980542d Skip the scan-test if strptime isn't defined (#3184) 7df30f91a Format unique_ptr with custom deleter (#3177) d2e89c8b0 Document more chrono specs bd1959320 Document more chrono specs fd0d0ec8d Document more chrono specs 8e93434ed Update README.rst fc07217d8 Make utf-8 detection compatible with gbk cb7373b46 Replace format with FMT_STRING. (#3162) 795ed8abf Add precision modifier for seconds in chrono format (#3148) 66d71a1b3 Fixing formatting of range of range of char. (#3158) 80f8d3442 fmt::ostream - aggregate buffer instead of inheriting it (#3139) 64965bdc9 Add locale getter in tm_writer (#3147) e1ffa7655 Fix warning: conditional expression is constant. (#3150) 8c19bf3f2 Mention MariaDB amongst the projects that use fmt (#3145) f67dbc981 Remove duplicate implementation (#3144) cd7202e03 Fix overflow error (#3143) 51d3685ef Remove duplicate template parameter. (#3142) 9254cfa6f Support formatting of subseconds (#3115) cfb34a060 Avoid using `uint` as a type name (#3137) 5ad7b7138 Fix options for C++20 experimental module in CMake (#3134) d2c47c0df Fix broken condition (#3129) 491c32cbd Workaround gcc bug 103879 662adf4f3 Move formatter<std::error_code> from fmt/os.h to fmt/std.h (#3125) ad91cab37 Normalization of stdlib inline namespace names (#3119) 0ccaed3a6 Set CMAKE_RUNTIME_OUTPUT_DIRECTORY relative to CMAKE_CURRENT_BINARY_DIR instead of CMAKE_BINARY_DIR (#3120) ad719619c Support formatting of std time_point with utc_clock (#3110) 6e0a5f7fb Update CI to Ubuntu 20.04 and to newer versions of actions 48f525d02 Add basic_format_string::get() 0b5cb18b7 Use buffering in to_string to avoid bloat 4c4f99a58 Update a godbolt link 3272a7a3c Update an example a48e3355a Improve docs afcf42429 Update docs ac85afaab Simplify format_error 3178bb9a2 Update docs cf58f64c5 Update docs e4e0ae391 Use fmt/core.h in examples d65acc4e6 Improve docs c9f790b06 Update docs 6b8144a5a Update locale docs 2d66ad5d3 Suppress -Wshadow 042af5332 Suppress -Wfloat-equal 192859c2b Optimize writing to buffers via back_insert_iterator e2f6d7665 fix gcc <= 7.1 compile errors 61844b6b6 Fix build error on GCC-9 7a752e75f New CI: GCC-9 94ceb38a0 Improve locale API 58c4c012f Disable slow windows build and simplify write_loc c3494ae36 Refactor float localization 8ae56161c Fix compilation with FMT_ENFORCE_COMPILE_STRING and FMT_WERROR (#3091) 76705fc2e Update doc 21c2137e7 Add class name output to formatter for std::exception (#3076) ecffca672 Don't parse '}' as fill 3176e0fad Add locale overload for formatted_size (#3084) (#3087) 1feb430fa Fix intellisense on Windows (#3082) b98ffb7db Improve locale handling bac53951b Add starts_with to basic_string_view. (#3080) d59b89e9c More locale 58a5563a9 Implement grouping 1b94271ff Add support for UTF-8 digit separators 768d79a83 Implement format_facet 91ecb38a3 Localize negative integers aec3bb5d0 Workaround C complex.h idiocy 29c600013 Simplify is_variant_like_ check, fix compile error before GCC 11 (#3072) fec5515c5 num_format_facet -> format_facet f187274d3 Add loc_value fc5e59fe4 Don't use stringstream d6a870460 Improve locale support 56c72a671 Reduce locale dependency 4191477b9 Add formatter for std::exception (#3062) 75383a87f Inline trivial functions 48327a82e Make format.h compile faster b79ed4105 Remove unnecessary type_identity 64e29893c Improve locale support 0b0f7cfbf hip workaround 40e414d82 Fix compilation error with gcc-7.2.0 33b4c33c5 Requires FMT_CONSTEXPR20 support a07411c2b Disable compile-time checks for dynamic width/precision test for LCC and compiler without std::is_constant_evaluated() 797d82b21 Disable non-type template args for LCC a553521d6 Disable "GCC optimize" pragma for LCC a33701196 Update version 1f575fd5c Bump version c7635288f Fix docs, take 2 c8ed78e31 Fix docs e07cfb206 Update changelog 1dc7af569 Fix markup f7d21c3a1 Update changelog a55bcb24b Update changelog 30cb2b312 Remove appveyor config cf8d3c322 Update changelog 3c3cb6f6b Update changelog 91481f255 Detemplatize code_point_length_impl f98048b62 Fix bugs in utf8 decoder (#3056) 4a8e2949b Fix formatting of ranges of code unit types 3a3b0709e Disable bogus -Wstringop-overflow on GCC 11 (#3054) e724bbea1 Fix wchar_t corner cases 665d9779e Disable non-type template args for nvhpc (#3053) 13d07c6a3 Apply doc fixes retroactively 391f922ac Improve error reporting in format string compilation dc59d3df3 Fix a warning in gtest 489dabbd3 Fix decoder on broken utf8 sequences. (#3044) 541cd2183 Fix locale name (thanks Mikhail Paulyshka) 1f95c3438 Fix sign handling with large code units 779449fd9 Belarusify test fbb568bce nvhpc/22.3: workaround for c++17 mode. (#3043) 36c23bd5f Prepare for deprecating FindPythonInterp module. (#3040) 9ff0f3a7d Fix docs fd41110d3 Add MinGW to CI fc23cfbf4 Fix testsuite on MinGW + MSVCRT fd93b633b Constexpr formatted_size (#3026) 7fb8d33f9 Fix compile-time width/precision type check 8bd02e93b Reduce conditional compilation d9c1c7353 Use is_utf8() in print(std::ostream&, ...) 682e097be Remove -Wl,--as-needed linker option b9087ee58 Suppress unused typedef warning df56fdf88 Clarify docs for compile-time checks 90c48b852 Remove double code execution 5a8b7cd74 Add comment 36a25d75b Reuse detail::string_literal in the chrono formatter 6c9304b2c Replace ParseContext with basic_format_parse_context 24ab9dd19 Remove duplicate method a95dc1701 Remove unused condition 5f774c0ae I shouldn't be there 6567df7f2 Update README.rst 6c6b1fbf6 Workaround a bug in MSVC 9beddd08f Improve CI on Windows 6452e3c9e Fix a typo in example 756822ba3 Fix Unicode handling for ostream under Windows with libc++. (#3001) 0b2862a1e Range formatter (#2983) 258000064 Add fmt:: namespace to doc (#3009) e9ca7ea47 Suppress a bogus warning 81f1cc74a Improve Unicode handling when writing to an ostream on Windows (#2994) bbcb129e0 Reduce filesize of the tests on MinGW (#2995) 48e0a5922 Implement compile-time checks for dynamic width/precision type bc5c7c50f Fixes IBM XLC behavior with uint128 fallback (#2985) 00adc7120 Add a regression test for here be dragons c48be439f Add additional search paths for doxygen on Windows 371f9c71c Fix even in format_dragon 91abfcd6c Suppress an msvc warning deeab54b4 Remove unused include 688a627d6 Remove unused constants. 9bb1605f1 Remove some branches 8061d9afb Simplify Dragonbox implementation d82e1a108 Make sure the correct fmod overload is called defa04e73 Fix for EDG frontend (Intel, NVHPC compilers) (#2982) 92d36e82c The n specifier for ranges (#2981) 0db43cf7f Pointless comparison warnings (#2971) 05be7a076 Use FMT_USE_FLOAT128 instead of __SIZEOF_FLOAT128__ 2a1b3ac62 Fix large shift in uint128_fallback e1d3d3a32 Exclude recursive ranges from the formatter specialization for ranges (#2974) b761f1279 Improve forward using the idea from Jonathan Müller cc1926942 Inline std::forward d5e9166f5 Fixed typo in changelog example. b31d1a75a Add xchar support for fmt::streamed(). git-subtree-dir: externals/fmt git-subtree-split: f5e54359df4c26b6230fc61d38aa294581393084
2023-10-08 08:55:04 +01:00
FMT_EXPORT template <typename... T>
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
void print(std::ostream& os, format_string<T...> fmt, T&&... args) {
Squashed 'externals/fmt/' changes from c4ee72653..f5e54359d f5e54359d Update version a003ab93c Update changelog 9b7416081 `atomic_flag` formatting (#3594) a21690bdf Coding conventions c9efd8968 Merge branch 'MathewBensonCode-master' e78682405 Refactor Improvement on umul128 function 2b20d7be6 Refactor To remove friend function private access 1f38ebbdb Add condition to include friend function in win32 e41817969 Fix for FMT_MODULE not compiling on GCC 0bffed895 Bump actions/checkout from 3.1.0 to 3.5.3 (#3602) cc077a5e3 Fix `FMT_NO_UNIQUE_ADDRESS` warning with clang-cl. (#3600) a992b3d1f Fix for Compilation Error When Using FMT_MODULE (#3597) af1b768cc Update changelog 2a7c45b54 Update changelog bd868f3a5 Improve compatibility with GBK #3598 (#3599) bbb784fb1 Fix a gcc error about partial specialization after instantiation 6c845f57e Fix `formatted_size` with `FMT_COMPILE` and format specs (#3588) a379595c5 Bump actions/upload-artifact from 3.1.0 to 3.1.2 (#3593) 9dfde7871 Bump ossf/scorecard-action from 2.1.2 to 2.2.0 (#3592) e92a705bd Bump github/codeql-action from 2.2.4 to 2.21.4 (#3591) 5a866fe85 Add formatter for std::atomic (#3574) e150ea0cc to_string supports types with format_as 29ce2ff8a Update README.rst 2e1362add Create scorecard.yml e57ca2e36 Update version 4c56612c6 Update changelog e1acd5f4d Bump version 6ffee2f75 Handle new rst nodes ee475d640 Update changelog ecc914125 Update changelog d42486231 Fix fixed precision handling during rounding in long double 3c1b3337d Update changelog 35fb69ebe Update changelog f92be35c0 Update changelog 7a2f6ac21 Fix a comment 744ff5554 Fix docs 70ae48b00 Update changelog ebb10347c Merge branch 'master' of github.com:fmtlib/fmt 100572016 Clarify that visit_format_arg is deprecated aeb6ad4dd Added formatter for bit_reference-like types (#3570) 96d1fa22d Update changelog 8a4bec5cf fix ambiguous formatter lookup for flat_set (#3561) eacd51c24 cmake: fix FMT_PKGCONFIG_DIR path (#3563) 757564f5c add missing inline specifier (#3552) f4214ae8d Use the U literal for unsigned integer constants. (#3549) aecf80d30 Update a comment 503d49286 expose detail::throw_format_error (#3551) 4f46cb82f Remove std::copy usage. (#3550) 3dec65b7f Use replacement character in path dbabb305c Turn off error-producing NVCC workaround when using c++20 (#3544) ac0ab8eff Improve path formatter 40f35d6f0 Cleanup std formatters 31c2c5679 Cleanup formatters b2728a317 Improve path formatter 77e0b0e22 Cleanup chrono formatter e47585904 Fix overspecified tests 436c131d4 Optimize compiled format_to_n 388bc296b Fix fixed formatting of small long doubles 95e1ea573 Clarify requirement on compiled formatter fb97cb231 Suppress a bogus stringop-overflow warning dd5a9691f Clarify that data is not null-terminated 72dc4491e Fix format_string_checker initialisation order (#3542) 9bea6ec04 Don't use deprecated checked_array_iterator 661b23ede Call parse on empty specs at compile time 8e87d3a8b Fix include a47491656 Update CMakeLists.txt (#3523) de4705f84 Trying to improve errors in the unformattable case (#3478) e4c8cfe38 README: Add link to merged clang-tidy check (#3515) 606f85f8b Workaround brain-damaged conversions a331dbfb6 Fix type in assert message. (#3508) 13156e54b Revert "add ability to build Apple framework using CMAKE_FRAMEWORK" (#3496) 9158bea1e Remove old grisu tests dd17f89a1 Fix for issue #3492 (#3493) 1daae555b Optimize format string compilation 6ad301235 Optimize code unit output in compiled format 8732ad877 Update docs 5afb1821a Update docs a81135f2c Fix a link dfc34821a Update docs 0765e7284 Update docs 977d887a4 Suppress a bogus warning c86fe0b8d Give basic_memory_buffer allocator [[no_unique_address]] (#3485) 5dbe0ff95 Bump actions/checkout from 3.5.2 to 3.5.3 (#3486) de0757b57 Use FMT_TRY and FMT_CATCH in std.h (#3482) 8fe893c0a Update README.rst 0f823df46 Remove detail namespace hack 60fd9941c Use correct Char type in std::filesystem::path (#3476) 8abfc145b Fix MSVC warning in std::chrono::time_point formatter (#3475) 686b3353a Simplify typeid check b2106f363 Tweak comments 35547d600 Use const_check to silence MSVC warning 179c7e5a6 Use typeid() only if it's available 61fb3a15f Add VxWorks7 user space and kernel space support (#3467) bd393456e Remove FMT_*_DETAIL_NAMESPACE 6be36af0d Remove udl_formatter 2a35eeed8 Remove unused data 256a826d6 Consolidate formatters 6369af37d Simplify formatters 0b8404918 Remove get_cached_power 171a020c8 Pass correct Char to base format_as formatter (#3457) d8f04e399 Simplify ceil 5e988f8df Remove is_constant_evaluated() check 19b17618a Make constexpr ceil c684a06d5 New CI: macOS 13, Xcode 14.3, C++ 20 abdb7fdf8 Update api.rst 8b09fe2a0 Fix example for user-defined types in documentation for 10.0.0 (#3461) adad18a74 Update ChangeLog.rst 858e528ab Use dragon in constexpr a54cb108d CMake: Do not fail on unknown compiler features (#3453) ef55d4f52 Suppress a bogus gcc warning 70b6a6fa4 Update README.rst (#3454) 6fe895410 Remove invalid_arg_index d0652d225 Create dependabot.yml (#3452) de8d0171a Simplify FMT_FORMAT_AS 7401fe046 Hash pin Github Workflows (#3451) 08ef0d084 fix formatter<char*> (#3432) d60b907f8 Replace mod_inv_25 by explicit value (#3450) 4ce086f73 remove code duplication (#3448) 821f8cdb4 Detemplatize printf more 0bf6ed7e1 Cleanup printf e40e04fac Detemplatize printf_arg_formatter 0a1c27281 Detemplatize basic_printf_context 2f605cc89 Deprecate wide printf 1d54499ac Apply coding conventions 3c6053c53 Cleanup basic_printf_context 4a392adaa Remove basic_printf_parse_context b14913fae FMT_MODULE_EXPORT -> FMT_EXPORT 2117df299 format-inl.h: address implicit int to bool conversion (#3446) 616a49378 Revert Char* formatter removal 9a034b0d5 Always assert in FMT_THROW (#3439) e0fc0e85e Remove unneeded FMT_API 552c43aba Improve long formatters d6846f4ac Clarify why byte formatter is in core aeedac588 Remove unneeded specialization eaa630769 Make hex float test more stable (#3434) e82bf41a1 Update README.rst e077396f5 Update docs 861facad0 Fix a typo 75bfe5761 Improve docs 697e76ba3 Don't call init_named_args unnecessarily a425e0ff3 Cleanup xchar API c36dd825b Remove unnecessary forwarding 130b8fcdb Reduce template instantiations a47e8419b Cleanup the core API ea49c91cd Cleanup argument construction d7592ad8b Fix time_point formatting for durations with certain ratios (#3430) ebfb2e677 Remove unused alias 5780269d5 Improve API safety b47119216 Fix a comment 8f18e72df Improve API safety 93d7cb12f Fix formatting 0e4278717 Remove unused macro 93a30a074 unicode_to_utf8 -> to_utf8 since both sides of conversion are Unicode a08196b14 Update ChangeLog.rst 0398ba42c Update ChangeLog.rst a0b8a92e3 Update version 5cf2342aa Bump version fe9d39d7c Update changelog 4c9856197 Update changelog 403b271ed Update changelog 2c991e1af Update changelog c984df981 Remove an unused function from internal class fbf21ed22 Update changelog 575583144 Update changelog e7f6888c7 Update changelog 39db2dfd0 Update changelog 9b7829e26 Update changelog 1e0ce567e Fix formatting of paths containing invalid Unicode dde8cf3bb Unification utf16/utf32 to utf8 conversion e84b00e01 Workaround to error: variable 'n' set but not used [-Werror,-Wunused-but-set-variable] b12ffea4f Add filesystem_error test back f61f15cc5 Suppress a false positive in gcc 192df93d7 modules missing pieces (#3399) d8973bf16 Add FMT_STRING for format_to() call (#3413) d7a8e50cb Improve module testing (#3397) 02cae7e48 Improve handling of Unicode in paths 53162142b Remove .bazelrc mention from Bazel related readme (#3411) 5bcf0d7f9 Bazel support (#3406) f8c9fabd9 Fix spelling (#3404) 62ff4e1db Remove foonathan from maintainer list (#3402) f449ca052 Name `vfprintf` clashes with the identically named declaration in 'stdio.h' if that happens to be #included into the same TU. Fix this by using qualified name lookup instead of unqualified lookup that also enables ADL. (#3400) eafcd3c8e Optionally attach declarations to the `global module` rather than `module fmt` (#3387) 18154cc90 Simplify print 0de789cf2 Update changelog c03938922 export names only once (#3392) 93e81bb5d Fix C4365 (signed/unsigned mismatch) warning on 32-bit Windows (#3398) e7d6eb679 Update tests to use recommended MOCK_METHOD (#3395) 18e7a2532 Remove obsolete msvc workarounds (#3388) 0489c19dc fix and improve module (#3386) 8ec94ac6a Use full path to pcm d97d8cea6 Push module check to test d8a2698e6 Fix compilation as a C++20 module with gcc 13 d9c19940a Update add_module_library 4b5ae0b0e Remove unnecessary module support check 75f3b1c09 Use add_module_library faf83406a Workaround cmake issue 165814d57 Add module support to CMake 33f715077 Fix error C2668 on msvc (#3378) c98e5a08a Fix modular build on clang 119c6bd16 Move the modules check 77eeb7183 Remove unused headers 13bf99f9d Enable modules in clang 16 1d0257e4c FMT_MODULE_EXPORT_* -> FMT_EXPORT_* 4613d48fd FMT_EXPORT -> FMT_LIB_EXPORT 4a4a2a2bd Fix diagnostics fce74caa1 Disable problematic implicit conversions 02bf4d1c1 Disable to_string_view ADL 466e0650e Remove problematic workaround 029caa8ea Update changelog e406ddbfa Remove broken part of the config 909567953 Update changelog 7f46cb75b ranges: Fix extra semi (#3374) 4e3f38105 Update changelog d3c10f516 fix compilation for MSDOS (#3369) ab956f600 Update changelog 97aedeab4 Workaround a double-double hexfloat format (#3366) bce8d4ed0 Remove stray comment a91c7b286 Cleanup the core API 19c074e47 Remove deprecated fallback formatter 41cfc739f Generalize format_as f6276a2c2 Force use a signed char (On ARM char is unsigned by default) (#3362) 6002ddf82 Remove a deprecated option 6549ffde8 Improve format_as safety d9bc5f132 Fix code causing spurious Wstringop-overflow warning 9c5cd998d Remove unused functions 93bfa0538 %T is %H:%M:%S (#3349) d8e1c4265 fix case of variant which is valueless by exception (#3347) e1720c0e5 Fix CUDA nvcc warning fmt/include/fmt/core.h(295): warning #1675-D: unrecognized GCC pragma (#3352) 7f882918e `write_floating_seconds`: Fall back to `::round` (#3343) cbc7b8d5c Cleanup dead variable (#3338) 050293646 Path is not escaped twice in the debug mode (#3321) 3daf33837 Enable consteval for Xcode 14.0.1 and later (#3331) e0748e61d Fix recursion check in range formatting b94e1016f chore: set permission to cifuzz.yml (#3328) 98699719f Make # handling consistent with std::format 48dfbcaa9 Improve license and PR template wording c644c753d Add '🐙 userver framework' to the projects 73b7cee7f Fix for issue #3325 (#3326) 5b8302079 Add optional support (#3303) 3a69529e8 Fix various typos (#3312) 76f520835 Call element parse in tuple parse 507c3042d class -> typename 1741e90de Always call parse in range formatter d646fd0da Minor cleanup b5c2f74f4 change sopen_s to wsopen_s (fmtlib#3234) (#3293) e03753c4a Add ubuntu mirrors (#3302) 6e6eb6377 [msvc] fix warning about non-inline variable 3c5464ba1 Fix OpenBSD build error (#3295) 655046d24 Fix container adaptor formatting 581c6292c Add formatters for container adapters (#3279) 7718eeeac Implement glibc ext for sec, min, and hour (#3271) 44e0eea94 Use FMT_HAS_INCLUDE and apply clang-format 99070899b Fix errors setting of FMT_USE_FLOAT128 (#3259) 05e3a9233 Allowing formatting non-copyable ranges. (#3290) 70db193f0 Visual Studio 2022: fmt/format-inl.h(1145,60): warning C4310: cast truncates constant value #3287 (#3288) a2c05a10e Workaround a bug in MSVC <= 19.22 cae9bf45b Simplify apidoc comments 87c066a35 Implement `println` (#3267) 9409b2e4d Workaround for incompatibility between libstdc++ consteval-based std::is_constant_evaluated() implementation and clang-14 (#3281) f89cd276f Refactor countl_zero fallback (#3276) 240b728d8 Report an error on overflow dfbb952b2 Fix empty spec for time point (#3275) 39971eb33 Fix localized format for float-point numbers (#3272) 0f42c17d8 Implement a new formatting algorithm for small given precision (#3269) bfc0924ea Bugfix for fmt::printf on Power9 architecture with the XL compiler (#3256) 676c2a107 Fix negative subsec for time_point (#3261) 2c80cedc3 Fix standard default installation target presence (#3264) dda53082b Support fill, align & width for time point (#3260) 2622cd23e Simplify arg_mapper 9e4a54fa6 Disable remaining implicit conversions 9ce648067 Disble deprecated implicit enum conversions 9121f9b1d Enable format_as for classes b7535365b Enable format_as for non-integral types 09ed1ddb9 Cleanup tests 0ec65d99a Merge parse_presentation_type into parse_format_specs 71e4e0272 Cleanup vprintf aad546baa Simplify presentation type parsing 14a69fcc5 Use parse_align bf34ffd33 Refactor format string parsing 6056e0712 Simplify symbols aa99b8640 Minor cleanup 6ade2eb4e Inline all_int_set caa697494 Simplify parse functions a73a9b6a8 Refactor format string checks 72785a3ab Cleanup write 0c3dd5ddd Remove redundant check 739b600f4 Remove iterator shenanigans 3710c4d38 Link to dragonbox a05ba44df Simplify format string parsing ffb9b1d13 Improve handling of signed types 32190859e Fix handling of char 8fe4d97d5 Reduce template instantiations 7e5a95956 Fix build with MSVC C++20 modules (#3254) 9e6030486 Clarify that unused args are allowed 7ad48c1f6 Cleanup core.h a921a596e Cleanup core.h 3e762fdf5 Use ignore_unused 79981a252 Cleanup ranges formatting bd12aaa98 Simplify format string parsing b8f36207c Simplify format string parsing d907786f0 Move anchor to where it belongs f2355bbe5 Fix docs f398c9476 Fix docs 4841784e8 Simplify C99 strftime detection conditions cb72c23e9 Improve timezone tests 583f2d820 Set timezone for chrono tests 32c439070 Minor cleanup 3a5e19fbf Minor cleanup dfb857ebe Refactor format spec parsing 9ea9b6bcb Cleanup arg id parsing 2b0ff62a7 Remove unused template arg from format_string_checker d1745084e Simplify parse context 407e7b7b6 basic_format_specs -> format_specs 3cf979475 Cleanup format string parsing 934c8e5f7 Refactor precision parsing fc9693834 Remove empty semicolon f0ab112c3 Cleanup parsing 9660e5b95 Remove redundant tests a585571e9 Ignore 0 character with align 840ec8569 Cleanup width handlers 1dadeb8a3 Refactor width parsing 275b4b341 Remove obsolete parse-benchmark e004f1d69 Fix for issue #3241 bde1a6070 Simplify fill and alignment parsing 040dc2a5d small typo in syntax.rst 6a186bcd6 Localize FMT_USE_LOCAL_TIME 8c56919bd Check chrono spec starts with % 115001a3b Formatting of system clocks ought to be to UTC, not to local time. This improves standards conformance of fmt. b90895412 Fix formatting of named arguments with locale d072f1dc6 Fix for issue #3228 3999fd193 Workaround an ADL issue c06e0b4ed Extract timezone offset from timezone conversion functions 1bf302a4e Implement %Ez, %Oz for chrono formatter f1733afd4 Pin godbolt example to specific version f61dcccc6 Update README.rst f9bcbdcbc Update README.rst 1a854b4aa Clarify what mod_inv_5 is 62ceb181b fix #3105 - Compile-time error when mixing named argument with automatic indexing b0c8263cb include/fmt/core.h: copy constructors removal d24be2e95 Add countl_zero function 8d50d814d Fix a chrono formatting issue found by fuzzing 115ca96e0 Bump tested CMake version to 3.25 886491625 Remove workaround for GTest bug 74c51ff37 Skip only strptime dependent test in scan-test 69ffedfe5 Use `target_compile_features` to specify C++ standard requirement fae6f7e08 Optimize range formatter a69e43c9d Update benchmark results 91c024ed3 Rename leading_v -> leading_xdigit 649aa102d CI linux: add CIFuzz Github action 31364732d Replace snprintf-based hex float formatter with internal implementation 74d55a493 Add missing operators 8276f1a20 Fix warning: the implicit by-copy capture of "this" is deprecated (EDG frontend) 81ebe70b9 Fix warning: a class type that is not trivially copyable passed through ellipsis (EDG frontend) 3160847eb Enable C++17 tests on macOS 6a95f8c7e Add missing env CTEST_OUTPUT_ON_FAILURE c7980542d Skip the scan-test if strptime isn't defined (#3184) 7df30f91a Format unique_ptr with custom deleter (#3177) d2e89c8b0 Document more chrono specs bd1959320 Document more chrono specs fd0d0ec8d Document more chrono specs 8e93434ed Update README.rst fc07217d8 Make utf-8 detection compatible with gbk cb7373b46 Replace format with FMT_STRING. (#3162) 795ed8abf Add precision modifier for seconds in chrono format (#3148) 66d71a1b3 Fixing formatting of range of range of char. (#3158) 80f8d3442 fmt::ostream - aggregate buffer instead of inheriting it (#3139) 64965bdc9 Add locale getter in tm_writer (#3147) e1ffa7655 Fix warning: conditional expression is constant. (#3150) 8c19bf3f2 Mention MariaDB amongst the projects that use fmt (#3145) f67dbc981 Remove duplicate implementation (#3144) cd7202e03 Fix overflow error (#3143) 51d3685ef Remove duplicate template parameter. (#3142) 9254cfa6f Support formatting of subseconds (#3115) cfb34a060 Avoid using `uint` as a type name (#3137) 5ad7b7138 Fix options for C++20 experimental module in CMake (#3134) d2c47c0df Fix broken condition (#3129) 491c32cbd Workaround gcc bug 103879 662adf4f3 Move formatter<std::error_code> from fmt/os.h to fmt/std.h (#3125) ad91cab37 Normalization of stdlib inline namespace names (#3119) 0ccaed3a6 Set CMAKE_RUNTIME_OUTPUT_DIRECTORY relative to CMAKE_CURRENT_BINARY_DIR instead of CMAKE_BINARY_DIR (#3120) ad719619c Support formatting of std time_point with utc_clock (#3110) 6e0a5f7fb Update CI to Ubuntu 20.04 and to newer versions of actions 48f525d02 Add basic_format_string::get() 0b5cb18b7 Use buffering in to_string to avoid bloat 4c4f99a58 Update a godbolt link 3272a7a3c Update an example a48e3355a Improve docs afcf42429 Update docs ac85afaab Simplify format_error 3178bb9a2 Update docs cf58f64c5 Update docs e4e0ae391 Use fmt/core.h in examples d65acc4e6 Improve docs c9f790b06 Update docs 6b8144a5a Update locale docs 2d66ad5d3 Suppress -Wshadow 042af5332 Suppress -Wfloat-equal 192859c2b Optimize writing to buffers via back_insert_iterator e2f6d7665 fix gcc <= 7.1 compile errors 61844b6b6 Fix build error on GCC-9 7a752e75f New CI: GCC-9 94ceb38a0 Improve locale API 58c4c012f Disable slow windows build and simplify write_loc c3494ae36 Refactor float localization 8ae56161c Fix compilation with FMT_ENFORCE_COMPILE_STRING and FMT_WERROR (#3091) 76705fc2e Update doc 21c2137e7 Add class name output to formatter for std::exception (#3076) ecffca672 Don't parse '}' as fill 3176e0fad Add locale overload for formatted_size (#3084) (#3087) 1feb430fa Fix intellisense on Windows (#3082) b98ffb7db Improve locale handling bac53951b Add starts_with to basic_string_view. (#3080) d59b89e9c More locale 58a5563a9 Implement grouping 1b94271ff Add support for UTF-8 digit separators 768d79a83 Implement format_facet 91ecb38a3 Localize negative integers aec3bb5d0 Workaround C complex.h idiocy 29c600013 Simplify is_variant_like_ check, fix compile error before GCC 11 (#3072) fec5515c5 num_format_facet -> format_facet f187274d3 Add loc_value fc5e59fe4 Don't use stringstream d6a870460 Improve locale support 56c72a671 Reduce locale dependency 4191477b9 Add formatter for std::exception (#3062) 75383a87f Inline trivial functions 48327a82e Make format.h compile faster b79ed4105 Remove unnecessary type_identity 64e29893c Improve locale support 0b0f7cfbf hip workaround 40e414d82 Fix compilation error with gcc-7.2.0 33b4c33c5 Requires FMT_CONSTEXPR20 support a07411c2b Disable compile-time checks for dynamic width/precision test for LCC and compiler without std::is_constant_evaluated() 797d82b21 Disable non-type template args for LCC a553521d6 Disable "GCC optimize" pragma for LCC a33701196 Update version 1f575fd5c Bump version c7635288f Fix docs, take 2 c8ed78e31 Fix docs e07cfb206 Update changelog 1dc7af569 Fix markup f7d21c3a1 Update changelog a55bcb24b Update changelog 30cb2b312 Remove appveyor config cf8d3c322 Update changelog 3c3cb6f6b Update changelog 91481f255 Detemplatize code_point_length_impl f98048b62 Fix bugs in utf8 decoder (#3056) 4a8e2949b Fix formatting of ranges of code unit types 3a3b0709e Disable bogus -Wstringop-overflow on GCC 11 (#3054) e724bbea1 Fix wchar_t corner cases 665d9779e Disable non-type template args for nvhpc (#3053) 13d07c6a3 Apply doc fixes retroactively 391f922ac Improve error reporting in format string compilation dc59d3df3 Fix a warning in gtest 489dabbd3 Fix decoder on broken utf8 sequences. (#3044) 541cd2183 Fix locale name (thanks Mikhail Paulyshka) 1f95c3438 Fix sign handling with large code units 779449fd9 Belarusify test fbb568bce nvhpc/22.3: workaround for c++17 mode. (#3043) 36c23bd5f Prepare for deprecating FindPythonInterp module. (#3040) 9ff0f3a7d Fix docs fd41110d3 Add MinGW to CI fc23cfbf4 Fix testsuite on MinGW + MSVCRT fd93b633b Constexpr formatted_size (#3026) 7fb8d33f9 Fix compile-time width/precision type check 8bd02e93b Reduce conditional compilation d9c1c7353 Use is_utf8() in print(std::ostream&, ...) 682e097be Remove -Wl,--as-needed linker option b9087ee58 Suppress unused typedef warning df56fdf88 Clarify docs for compile-time checks 90c48b852 Remove double code execution 5a8b7cd74 Add comment 36a25d75b Reuse detail::string_literal in the chrono formatter 6c9304b2c Replace ParseContext with basic_format_parse_context 24ab9dd19 Remove duplicate method a95dc1701 Remove unused condition 5f774c0ae I shouldn't be there 6567df7f2 Update README.rst 6c6b1fbf6 Workaround a bug in MSVC 9beddd08f Improve CI on Windows 6452e3c9e Fix a typo in example 756822ba3 Fix Unicode handling for ostream under Windows with libc++. (#3001) 0b2862a1e Range formatter (#2983) 258000064 Add fmt:: namespace to doc (#3009) e9ca7ea47 Suppress a bogus warning 81f1cc74a Improve Unicode handling when writing to an ostream on Windows (#2994) bbcb129e0 Reduce filesize of the tests on MinGW (#2995) 48e0a5922 Implement compile-time checks for dynamic width/precision type bc5c7c50f Fixes IBM XLC behavior with uint128 fallback (#2985) 00adc7120 Add a regression test for here be dragons c48be439f Add additional search paths for doxygen on Windows 371f9c71c Fix even in format_dragon 91abfcd6c Suppress an msvc warning deeab54b4 Remove unused include 688a627d6 Remove unused constants. 9bb1605f1 Remove some branches 8061d9afb Simplify Dragonbox implementation d82e1a108 Make sure the correct fmod overload is called defa04e73 Fix for EDG frontend (Intel, NVHPC compilers) (#2982) 92d36e82c The n specifier for ranges (#2981) 0db43cf7f Pointless comparison warnings (#2971) 05be7a076 Use FMT_USE_FLOAT128 instead of __SIZEOF_FLOAT128__ 2a1b3ac62 Fix large shift in uint128_fallback e1d3d3a32 Exclude recursive ranges from the formatter specialization for ranges (#2974) b761f1279 Improve forward using the idea from Jonathan Müller cc1926942 Inline std::forward d5e9166f5 Fixed typo in changelog example. b31d1a75a Add xchar support for fmt::streamed(). git-subtree-dir: externals/fmt git-subtree-split: f5e54359df4c26b6230fc61d38aa294581393084
2023-10-08 08:55:04 +01:00
const auto& vargs = fmt::make_format_args(args...);
if (detail::is_utf8())
vprint(os, fmt, vargs);
else
detail::vprint_directly(os, fmt, vargs);
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
}
Squashed 'externals/fmt/' changes from c4ee72653..f5e54359d f5e54359d Update version a003ab93c Update changelog 9b7416081 `atomic_flag` formatting (#3594) a21690bdf Coding conventions c9efd8968 Merge branch 'MathewBensonCode-master' e78682405 Refactor Improvement on umul128 function 2b20d7be6 Refactor To remove friend function private access 1f38ebbdb Add condition to include friend function in win32 e41817969 Fix for FMT_MODULE not compiling on GCC 0bffed895 Bump actions/checkout from 3.1.0 to 3.5.3 (#3602) cc077a5e3 Fix `FMT_NO_UNIQUE_ADDRESS` warning with clang-cl. (#3600) a992b3d1f Fix for Compilation Error When Using FMT_MODULE (#3597) af1b768cc Update changelog 2a7c45b54 Update changelog bd868f3a5 Improve compatibility with GBK #3598 (#3599) bbb784fb1 Fix a gcc error about partial specialization after instantiation 6c845f57e Fix `formatted_size` with `FMT_COMPILE` and format specs (#3588) a379595c5 Bump actions/upload-artifact from 3.1.0 to 3.1.2 (#3593) 9dfde7871 Bump ossf/scorecard-action from 2.1.2 to 2.2.0 (#3592) e92a705bd Bump github/codeql-action from 2.2.4 to 2.21.4 (#3591) 5a866fe85 Add formatter for std::atomic (#3574) e150ea0cc to_string supports types with format_as 29ce2ff8a Update README.rst 2e1362add Create scorecard.yml e57ca2e36 Update version 4c56612c6 Update changelog e1acd5f4d Bump version 6ffee2f75 Handle new rst nodes ee475d640 Update changelog ecc914125 Update changelog d42486231 Fix fixed precision handling during rounding in long double 3c1b3337d Update changelog 35fb69ebe Update changelog f92be35c0 Update changelog 7a2f6ac21 Fix a comment 744ff5554 Fix docs 70ae48b00 Update changelog ebb10347c Merge branch 'master' of github.com:fmtlib/fmt 100572016 Clarify that visit_format_arg is deprecated aeb6ad4dd Added formatter for bit_reference-like types (#3570) 96d1fa22d Update changelog 8a4bec5cf fix ambiguous formatter lookup for flat_set (#3561) eacd51c24 cmake: fix FMT_PKGCONFIG_DIR path (#3563) 757564f5c add missing inline specifier (#3552) f4214ae8d Use the U literal for unsigned integer constants. (#3549) aecf80d30 Update a comment 503d49286 expose detail::throw_format_error (#3551) 4f46cb82f Remove std::copy usage. (#3550) 3dec65b7f Use replacement character in path dbabb305c Turn off error-producing NVCC workaround when using c++20 (#3544) ac0ab8eff Improve path formatter 40f35d6f0 Cleanup std formatters 31c2c5679 Cleanup formatters b2728a317 Improve path formatter 77e0b0e22 Cleanup chrono formatter e47585904 Fix overspecified tests 436c131d4 Optimize compiled format_to_n 388bc296b Fix fixed formatting of small long doubles 95e1ea573 Clarify requirement on compiled formatter fb97cb231 Suppress a bogus stringop-overflow warning dd5a9691f Clarify that data is not null-terminated 72dc4491e Fix format_string_checker initialisation order (#3542) 9bea6ec04 Don't use deprecated checked_array_iterator 661b23ede Call parse on empty specs at compile time 8e87d3a8b Fix include a47491656 Update CMakeLists.txt (#3523) de4705f84 Trying to improve errors in the unformattable case (#3478) e4c8cfe38 README: Add link to merged clang-tidy check (#3515) 606f85f8b Workaround brain-damaged conversions a331dbfb6 Fix type in assert message. (#3508) 13156e54b Revert "add ability to build Apple framework using CMAKE_FRAMEWORK" (#3496) 9158bea1e Remove old grisu tests dd17f89a1 Fix for issue #3492 (#3493) 1daae555b Optimize format string compilation 6ad301235 Optimize code unit output in compiled format 8732ad877 Update docs 5afb1821a Update docs a81135f2c Fix a link dfc34821a Update docs 0765e7284 Update docs 977d887a4 Suppress a bogus warning c86fe0b8d Give basic_memory_buffer allocator [[no_unique_address]] (#3485) 5dbe0ff95 Bump actions/checkout from 3.5.2 to 3.5.3 (#3486) de0757b57 Use FMT_TRY and FMT_CATCH in std.h (#3482) 8fe893c0a Update README.rst 0f823df46 Remove detail namespace hack 60fd9941c Use correct Char type in std::filesystem::path (#3476) 8abfc145b Fix MSVC warning in std::chrono::time_point formatter (#3475) 686b3353a Simplify typeid check b2106f363 Tweak comments 35547d600 Use const_check to silence MSVC warning 179c7e5a6 Use typeid() only if it's available 61fb3a15f Add VxWorks7 user space and kernel space support (#3467) bd393456e Remove FMT_*_DETAIL_NAMESPACE 6be36af0d Remove udl_formatter 2a35eeed8 Remove unused data 256a826d6 Consolidate formatters 6369af37d Simplify formatters 0b8404918 Remove get_cached_power 171a020c8 Pass correct Char to base format_as formatter (#3457) d8f04e399 Simplify ceil 5e988f8df Remove is_constant_evaluated() check 19b17618a Make constexpr ceil c684a06d5 New CI: macOS 13, Xcode 14.3, C++ 20 abdb7fdf8 Update api.rst 8b09fe2a0 Fix example for user-defined types in documentation for 10.0.0 (#3461) adad18a74 Update ChangeLog.rst 858e528ab Use dragon in constexpr a54cb108d CMake: Do not fail on unknown compiler features (#3453) ef55d4f52 Suppress a bogus gcc warning 70b6a6fa4 Update README.rst (#3454) 6fe895410 Remove invalid_arg_index d0652d225 Create dependabot.yml (#3452) de8d0171a Simplify FMT_FORMAT_AS 7401fe046 Hash pin Github Workflows (#3451) 08ef0d084 fix formatter<char*> (#3432) d60b907f8 Replace mod_inv_25 by explicit value (#3450) 4ce086f73 remove code duplication (#3448) 821f8cdb4 Detemplatize printf more 0bf6ed7e1 Cleanup printf e40e04fac Detemplatize printf_arg_formatter 0a1c27281 Detemplatize basic_printf_context 2f605cc89 Deprecate wide printf 1d54499ac Apply coding conventions 3c6053c53 Cleanup basic_printf_context 4a392adaa Remove basic_printf_parse_context b14913fae FMT_MODULE_EXPORT -> FMT_EXPORT 2117df299 format-inl.h: address implicit int to bool conversion (#3446) 616a49378 Revert Char* formatter removal 9a034b0d5 Always assert in FMT_THROW (#3439) e0fc0e85e Remove unneeded FMT_API 552c43aba Improve long formatters d6846f4ac Clarify why byte formatter is in core aeedac588 Remove unneeded specialization eaa630769 Make hex float test more stable (#3434) e82bf41a1 Update README.rst e077396f5 Update docs 861facad0 Fix a typo 75bfe5761 Improve docs 697e76ba3 Don't call init_named_args unnecessarily a425e0ff3 Cleanup xchar API c36dd825b Remove unnecessary forwarding 130b8fcdb Reduce template instantiations a47e8419b Cleanup the core API ea49c91cd Cleanup argument construction d7592ad8b Fix time_point formatting for durations with certain ratios (#3430) ebfb2e677 Remove unused alias 5780269d5 Improve API safety b47119216 Fix a comment 8f18e72df Improve API safety 93d7cb12f Fix formatting 0e4278717 Remove unused macro 93a30a074 unicode_to_utf8 -> to_utf8 since both sides of conversion are Unicode a08196b14 Update ChangeLog.rst 0398ba42c Update ChangeLog.rst a0b8a92e3 Update version 5cf2342aa Bump version fe9d39d7c Update changelog 4c9856197 Update changelog 403b271ed Update changelog 2c991e1af Update changelog c984df981 Remove an unused function from internal class fbf21ed22 Update changelog 575583144 Update changelog e7f6888c7 Update changelog 39db2dfd0 Update changelog 9b7829e26 Update changelog 1e0ce567e Fix formatting of paths containing invalid Unicode dde8cf3bb Unification utf16/utf32 to utf8 conversion e84b00e01 Workaround to error: variable 'n' set but not used [-Werror,-Wunused-but-set-variable] b12ffea4f Add filesystem_error test back f61f15cc5 Suppress a false positive in gcc 192df93d7 modules missing pieces (#3399) d8973bf16 Add FMT_STRING for format_to() call (#3413) d7a8e50cb Improve module testing (#3397) 02cae7e48 Improve handling of Unicode in paths 53162142b Remove .bazelrc mention from Bazel related readme (#3411) 5bcf0d7f9 Bazel support (#3406) f8c9fabd9 Fix spelling (#3404) 62ff4e1db Remove foonathan from maintainer list (#3402) f449ca052 Name `vfprintf` clashes with the identically named declaration in 'stdio.h' if that happens to be #included into the same TU. Fix this by using qualified name lookup instead of unqualified lookup that also enables ADL. (#3400) eafcd3c8e Optionally attach declarations to the `global module` rather than `module fmt` (#3387) 18154cc90 Simplify print 0de789cf2 Update changelog c03938922 export names only once (#3392) 93e81bb5d Fix C4365 (signed/unsigned mismatch) warning on 32-bit Windows (#3398) e7d6eb679 Update tests to use recommended MOCK_METHOD (#3395) 18e7a2532 Remove obsolete msvc workarounds (#3388) 0489c19dc fix and improve module (#3386) 8ec94ac6a Use full path to pcm d97d8cea6 Push module check to test d8a2698e6 Fix compilation as a C++20 module with gcc 13 d9c19940a Update add_module_library 4b5ae0b0e Remove unnecessary module support check 75f3b1c09 Use add_module_library faf83406a Workaround cmake issue 165814d57 Add module support to CMake 33f715077 Fix error C2668 on msvc (#3378) c98e5a08a Fix modular build on clang 119c6bd16 Move the modules check 77eeb7183 Remove unused headers 13bf99f9d Enable modules in clang 16 1d0257e4c FMT_MODULE_EXPORT_* -> FMT_EXPORT_* 4613d48fd FMT_EXPORT -> FMT_LIB_EXPORT 4a4a2a2bd Fix diagnostics fce74caa1 Disable problematic implicit conversions 02bf4d1c1 Disable to_string_view ADL 466e0650e Remove problematic workaround 029caa8ea Update changelog e406ddbfa Remove broken part of the config 909567953 Update changelog 7f46cb75b ranges: Fix extra semi (#3374) 4e3f38105 Update changelog d3c10f516 fix compilation for MSDOS (#3369) ab956f600 Update changelog 97aedeab4 Workaround a double-double hexfloat format (#3366) bce8d4ed0 Remove stray comment a91c7b286 Cleanup the core API 19c074e47 Remove deprecated fallback formatter 41cfc739f Generalize format_as f6276a2c2 Force use a signed char (On ARM char is unsigned by default) (#3362) 6002ddf82 Remove a deprecated option 6549ffde8 Improve format_as safety d9bc5f132 Fix code causing spurious Wstringop-overflow warning 9c5cd998d Remove unused functions 93bfa0538 %T is %H:%M:%S (#3349) d8e1c4265 fix case of variant which is valueless by exception (#3347) e1720c0e5 Fix CUDA nvcc warning fmt/include/fmt/core.h(295): warning #1675-D: unrecognized GCC pragma (#3352) 7f882918e `write_floating_seconds`: Fall back to `::round` (#3343) cbc7b8d5c Cleanup dead variable (#3338) 050293646 Path is not escaped twice in the debug mode (#3321) 3daf33837 Enable consteval for Xcode 14.0.1 and later (#3331) e0748e61d Fix recursion check in range formatting b94e1016f chore: set permission to cifuzz.yml (#3328) 98699719f Make # handling consistent with std::format 48dfbcaa9 Improve license and PR template wording c644c753d Add '🐙 userver framework' to the projects 73b7cee7f Fix for issue #3325 (#3326) 5b8302079 Add optional support (#3303) 3a69529e8 Fix various typos (#3312) 76f520835 Call element parse in tuple parse 507c3042d class -> typename 1741e90de Always call parse in range formatter d646fd0da Minor cleanup b5c2f74f4 change sopen_s to wsopen_s (fmtlib#3234) (#3293) e03753c4a Add ubuntu mirrors (#3302) 6e6eb6377 [msvc] fix warning about non-inline variable 3c5464ba1 Fix OpenBSD build error (#3295) 655046d24 Fix container adaptor formatting 581c6292c Add formatters for container adapters (#3279) 7718eeeac Implement glibc ext for sec, min, and hour (#3271) 44e0eea94 Use FMT_HAS_INCLUDE and apply clang-format 99070899b Fix errors setting of FMT_USE_FLOAT128 (#3259) 05e3a9233 Allowing formatting non-copyable ranges. (#3290) 70db193f0 Visual Studio 2022: fmt/format-inl.h(1145,60): warning C4310: cast truncates constant value #3287 (#3288) a2c05a10e Workaround a bug in MSVC <= 19.22 cae9bf45b Simplify apidoc comments 87c066a35 Implement `println` (#3267) 9409b2e4d Workaround for incompatibility between libstdc++ consteval-based std::is_constant_evaluated() implementation and clang-14 (#3281) f89cd276f Refactor countl_zero fallback (#3276) 240b728d8 Report an error on overflow dfbb952b2 Fix empty spec for time point (#3275) 39971eb33 Fix localized format for float-point numbers (#3272) 0f42c17d8 Implement a new formatting algorithm for small given precision (#3269) bfc0924ea Bugfix for fmt::printf on Power9 architecture with the XL compiler (#3256) 676c2a107 Fix negative subsec for time_point (#3261) 2c80cedc3 Fix standard default installation target presence (#3264) dda53082b Support fill, align & width for time point (#3260) 2622cd23e Simplify arg_mapper 9e4a54fa6 Disable remaining implicit conversions 9ce648067 Disble deprecated implicit enum conversions 9121f9b1d Enable format_as for classes b7535365b Enable format_as for non-integral types 09ed1ddb9 Cleanup tests 0ec65d99a Merge parse_presentation_type into parse_format_specs 71e4e0272 Cleanup vprintf aad546baa Simplify presentation type parsing 14a69fcc5 Use parse_align bf34ffd33 Refactor format string parsing 6056e0712 Simplify symbols aa99b8640 Minor cleanup 6ade2eb4e Inline all_int_set caa697494 Simplify parse functions a73a9b6a8 Refactor format string checks 72785a3ab Cleanup write 0c3dd5ddd Remove redundant check 739b600f4 Remove iterator shenanigans 3710c4d38 Link to dragonbox a05ba44df Simplify format string parsing ffb9b1d13 Improve handling of signed types 32190859e Fix handling of char 8fe4d97d5 Reduce template instantiations 7e5a95956 Fix build with MSVC C++20 modules (#3254) 9e6030486 Clarify that unused args are allowed 7ad48c1f6 Cleanup core.h a921a596e Cleanup core.h 3e762fdf5 Use ignore_unused 79981a252 Cleanup ranges formatting bd12aaa98 Simplify format string parsing b8f36207c Simplify format string parsing d907786f0 Move anchor to where it belongs f2355bbe5 Fix docs f398c9476 Fix docs 4841784e8 Simplify C99 strftime detection conditions cb72c23e9 Improve timezone tests 583f2d820 Set timezone for chrono tests 32c439070 Minor cleanup 3a5e19fbf Minor cleanup dfb857ebe Refactor format spec parsing 9ea9b6bcb Cleanup arg id parsing 2b0ff62a7 Remove unused template arg from format_string_checker d1745084e Simplify parse context 407e7b7b6 basic_format_specs -> format_specs 3cf979475 Cleanup format string parsing 934c8e5f7 Refactor precision parsing fc9693834 Remove empty semicolon f0ab112c3 Cleanup parsing 9660e5b95 Remove redundant tests a585571e9 Ignore 0 character with align 840ec8569 Cleanup width handlers 1dadeb8a3 Refactor width parsing 275b4b341 Remove obsolete parse-benchmark e004f1d69 Fix for issue #3241 bde1a6070 Simplify fill and alignment parsing 040dc2a5d small typo in syntax.rst 6a186bcd6 Localize FMT_USE_LOCAL_TIME 8c56919bd Check chrono spec starts with % 115001a3b Formatting of system clocks ought to be to UTC, not to local time. This improves standards conformance of fmt. b90895412 Fix formatting of named arguments with locale d072f1dc6 Fix for issue #3228 3999fd193 Workaround an ADL issue c06e0b4ed Extract timezone offset from timezone conversion functions 1bf302a4e Implement %Ez, %Oz for chrono formatter f1733afd4 Pin godbolt example to specific version f61dcccc6 Update README.rst f9bcbdcbc Update README.rst 1a854b4aa Clarify what mod_inv_5 is 62ceb181b fix #3105 - Compile-time error when mixing named argument with automatic indexing b0c8263cb include/fmt/core.h: copy constructors removal d24be2e95 Add countl_zero function 8d50d814d Fix a chrono formatting issue found by fuzzing 115ca96e0 Bump tested CMake version to 3.25 886491625 Remove workaround for GTest bug 74c51ff37 Skip only strptime dependent test in scan-test 69ffedfe5 Use `target_compile_features` to specify C++ standard requirement fae6f7e08 Optimize range formatter a69e43c9d Update benchmark results 91c024ed3 Rename leading_v -> leading_xdigit 649aa102d CI linux: add CIFuzz Github action 31364732d Replace snprintf-based hex float formatter with internal implementation 74d55a493 Add missing operators 8276f1a20 Fix warning: the implicit by-copy capture of "this" is deprecated (EDG frontend) 81ebe70b9 Fix warning: a class type that is not trivially copyable passed through ellipsis (EDG frontend) 3160847eb Enable C++17 tests on macOS 6a95f8c7e Add missing env CTEST_OUTPUT_ON_FAILURE c7980542d Skip the scan-test if strptime isn't defined (#3184) 7df30f91a Format unique_ptr with custom deleter (#3177) d2e89c8b0 Document more chrono specs bd1959320 Document more chrono specs fd0d0ec8d Document more chrono specs 8e93434ed Update README.rst fc07217d8 Make utf-8 detection compatible with gbk cb7373b46 Replace format with FMT_STRING. (#3162) 795ed8abf Add precision modifier for seconds in chrono format (#3148) 66d71a1b3 Fixing formatting of range of range of char. (#3158) 80f8d3442 fmt::ostream - aggregate buffer instead of inheriting it (#3139) 64965bdc9 Add locale getter in tm_writer (#3147) e1ffa7655 Fix warning: conditional expression is constant. (#3150) 8c19bf3f2 Mention MariaDB amongst the projects that use fmt (#3145) f67dbc981 Remove duplicate implementation (#3144) cd7202e03 Fix overflow error (#3143) 51d3685ef Remove duplicate template parameter. (#3142) 9254cfa6f Support formatting of subseconds (#3115) cfb34a060 Avoid using `uint` as a type name (#3137) 5ad7b7138 Fix options for C++20 experimental module in CMake (#3134) d2c47c0df Fix broken condition (#3129) 491c32cbd Workaround gcc bug 103879 662adf4f3 Move formatter<std::error_code> from fmt/os.h to fmt/std.h (#3125) ad91cab37 Normalization of stdlib inline namespace names (#3119) 0ccaed3a6 Set CMAKE_RUNTIME_OUTPUT_DIRECTORY relative to CMAKE_CURRENT_BINARY_DIR instead of CMAKE_BINARY_DIR (#3120) ad719619c Support formatting of std time_point with utc_clock (#3110) 6e0a5f7fb Update CI to Ubuntu 20.04 and to newer versions of actions 48f525d02 Add basic_format_string::get() 0b5cb18b7 Use buffering in to_string to avoid bloat 4c4f99a58 Update a godbolt link 3272a7a3c Update an example a48e3355a Improve docs afcf42429 Update docs ac85afaab Simplify format_error 3178bb9a2 Update docs cf58f64c5 Update docs e4e0ae391 Use fmt/core.h in examples d65acc4e6 Improve docs c9f790b06 Update docs 6b8144a5a Update locale docs 2d66ad5d3 Suppress -Wshadow 042af5332 Suppress -Wfloat-equal 192859c2b Optimize writing to buffers via back_insert_iterator e2f6d7665 fix gcc <= 7.1 compile errors 61844b6b6 Fix build error on GCC-9 7a752e75f New CI: GCC-9 94ceb38a0 Improve locale API 58c4c012f Disable slow windows build and simplify write_loc c3494ae36 Refactor float localization 8ae56161c Fix compilation with FMT_ENFORCE_COMPILE_STRING and FMT_WERROR (#3091) 76705fc2e Update doc 21c2137e7 Add class name output to formatter for std::exception (#3076) ecffca672 Don't parse '}' as fill 3176e0fad Add locale overload for formatted_size (#3084) (#3087) 1feb430fa Fix intellisense on Windows (#3082) b98ffb7db Improve locale handling bac53951b Add starts_with to basic_string_view. (#3080) d59b89e9c More locale 58a5563a9 Implement grouping 1b94271ff Add support for UTF-8 digit separators 768d79a83 Implement format_facet 91ecb38a3 Localize negative integers aec3bb5d0 Workaround C complex.h idiocy 29c600013 Simplify is_variant_like_ check, fix compile error before GCC 11 (#3072) fec5515c5 num_format_facet -> format_facet f187274d3 Add loc_value fc5e59fe4 Don't use stringstream d6a870460 Improve locale support 56c72a671 Reduce locale dependency 4191477b9 Add formatter for std::exception (#3062) 75383a87f Inline trivial functions 48327a82e Make format.h compile faster b79ed4105 Remove unnecessary type_identity 64e29893c Improve locale support 0b0f7cfbf hip workaround 40e414d82 Fix compilation error with gcc-7.2.0 33b4c33c5 Requires FMT_CONSTEXPR20 support a07411c2b Disable compile-time checks for dynamic width/precision test for LCC and compiler without std::is_constant_evaluated() 797d82b21 Disable non-type template args for LCC a553521d6 Disable "GCC optimize" pragma for LCC a33701196 Update version 1f575fd5c Bump version c7635288f Fix docs, take 2 c8ed78e31 Fix docs e07cfb206 Update changelog 1dc7af569 Fix markup f7d21c3a1 Update changelog a55bcb24b Update changelog 30cb2b312 Remove appveyor config cf8d3c322 Update changelog 3c3cb6f6b Update changelog 91481f255 Detemplatize code_point_length_impl f98048b62 Fix bugs in utf8 decoder (#3056) 4a8e2949b Fix formatting of ranges of code unit types 3a3b0709e Disable bogus -Wstringop-overflow on GCC 11 (#3054) e724bbea1 Fix wchar_t corner cases 665d9779e Disable non-type template args for nvhpc (#3053) 13d07c6a3 Apply doc fixes retroactively 391f922ac Improve error reporting in format string compilation dc59d3df3 Fix a warning in gtest 489dabbd3 Fix decoder on broken utf8 sequences. (#3044) 541cd2183 Fix locale name (thanks Mikhail Paulyshka) 1f95c3438 Fix sign handling with large code units 779449fd9 Belarusify test fbb568bce nvhpc/22.3: workaround for c++17 mode. (#3043) 36c23bd5f Prepare for deprecating FindPythonInterp module. (#3040) 9ff0f3a7d Fix docs fd41110d3 Add MinGW to CI fc23cfbf4 Fix testsuite on MinGW + MSVCRT fd93b633b Constexpr formatted_size (#3026) 7fb8d33f9 Fix compile-time width/precision type check 8bd02e93b Reduce conditional compilation d9c1c7353 Use is_utf8() in print(std::ostream&, ...) 682e097be Remove -Wl,--as-needed linker option b9087ee58 Suppress unused typedef warning df56fdf88 Clarify docs for compile-time checks 90c48b852 Remove double code execution 5a8b7cd74 Add comment 36a25d75b Reuse detail::string_literal in the chrono formatter 6c9304b2c Replace ParseContext with basic_format_parse_context 24ab9dd19 Remove duplicate method a95dc1701 Remove unused condition 5f774c0ae I shouldn't be there 6567df7f2 Update README.rst 6c6b1fbf6 Workaround a bug in MSVC 9beddd08f Improve CI on Windows 6452e3c9e Fix a typo in example 756822ba3 Fix Unicode handling for ostream under Windows with libc++. (#3001) 0b2862a1e Range formatter (#2983) 258000064 Add fmt:: namespace to doc (#3009) e9ca7ea47 Suppress a bogus warning 81f1cc74a Improve Unicode handling when writing to an ostream on Windows (#2994) bbcb129e0 Reduce filesize of the tests on MinGW (#2995) 48e0a5922 Implement compile-time checks for dynamic width/precision type bc5c7c50f Fixes IBM XLC behavior with uint128 fallback (#2985) 00adc7120 Add a regression test for here be dragons c48be439f Add additional search paths for doxygen on Windows 371f9c71c Fix even in format_dragon 91abfcd6c Suppress an msvc warning deeab54b4 Remove unused include 688a627d6 Remove unused constants. 9bb1605f1 Remove some branches 8061d9afb Simplify Dragonbox implementation d82e1a108 Make sure the correct fmod overload is called defa04e73 Fix for EDG frontend (Intel, NVHPC compilers) (#2982) 92d36e82c The n specifier for ranges (#2981) 0db43cf7f Pointless comparison warnings (#2971) 05be7a076 Use FMT_USE_FLOAT128 instead of __SIZEOF_FLOAT128__ 2a1b3ac62 Fix large shift in uint128_fallback e1d3d3a32 Exclude recursive ranges from the formatter specialization for ranges (#2974) b761f1279 Improve forward using the idea from Jonathan Müller cc1926942 Inline std::forward d5e9166f5 Fixed typo in changelog example. b31d1a75a Add xchar support for fmt::streamed(). git-subtree-dir: externals/fmt git-subtree-split: f5e54359df4c26b6230fc61d38aa294581393084
2023-10-08 08:55:04 +01:00
FMT_EXPORT
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
template <typename... Args>
void print(std::wostream& os,
basic_format_string<wchar_t, type_identity_t<Args>...> fmt,
Args&&... args) {
vprint(os, fmt, fmt::make_format_args<buffer_context<wchar_t>>(args...));
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
}
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
Squashed 'externals/fmt/' changes from c4ee72653..f5e54359d f5e54359d Update version a003ab93c Update changelog 9b7416081 `atomic_flag` formatting (#3594) a21690bdf Coding conventions c9efd8968 Merge branch 'MathewBensonCode-master' e78682405 Refactor Improvement on umul128 function 2b20d7be6 Refactor To remove friend function private access 1f38ebbdb Add condition to include friend function in win32 e41817969 Fix for FMT_MODULE not compiling on GCC 0bffed895 Bump actions/checkout from 3.1.0 to 3.5.3 (#3602) cc077a5e3 Fix `FMT_NO_UNIQUE_ADDRESS` warning with clang-cl. (#3600) a992b3d1f Fix for Compilation Error When Using FMT_MODULE (#3597) af1b768cc Update changelog 2a7c45b54 Update changelog bd868f3a5 Improve compatibility with GBK #3598 (#3599) bbb784fb1 Fix a gcc error about partial specialization after instantiation 6c845f57e Fix `formatted_size` with `FMT_COMPILE` and format specs (#3588) a379595c5 Bump actions/upload-artifact from 3.1.0 to 3.1.2 (#3593) 9dfde7871 Bump ossf/scorecard-action from 2.1.2 to 2.2.0 (#3592) e92a705bd Bump github/codeql-action from 2.2.4 to 2.21.4 (#3591) 5a866fe85 Add formatter for std::atomic (#3574) e150ea0cc to_string supports types with format_as 29ce2ff8a Update README.rst 2e1362add Create scorecard.yml e57ca2e36 Update version 4c56612c6 Update changelog e1acd5f4d Bump version 6ffee2f75 Handle new rst nodes ee475d640 Update changelog ecc914125 Update changelog d42486231 Fix fixed precision handling during rounding in long double 3c1b3337d Update changelog 35fb69ebe Update changelog f92be35c0 Update changelog 7a2f6ac21 Fix a comment 744ff5554 Fix docs 70ae48b00 Update changelog ebb10347c Merge branch 'master' of github.com:fmtlib/fmt 100572016 Clarify that visit_format_arg is deprecated aeb6ad4dd Added formatter for bit_reference-like types (#3570) 96d1fa22d Update changelog 8a4bec5cf fix ambiguous formatter lookup for flat_set (#3561) eacd51c24 cmake: fix FMT_PKGCONFIG_DIR path (#3563) 757564f5c add missing inline specifier (#3552) f4214ae8d Use the U literal for unsigned integer constants. (#3549) aecf80d30 Update a comment 503d49286 expose detail::throw_format_error (#3551) 4f46cb82f Remove std::copy usage. (#3550) 3dec65b7f Use replacement character in path dbabb305c Turn off error-producing NVCC workaround when using c++20 (#3544) ac0ab8eff Improve path formatter 40f35d6f0 Cleanup std formatters 31c2c5679 Cleanup formatters b2728a317 Improve path formatter 77e0b0e22 Cleanup chrono formatter e47585904 Fix overspecified tests 436c131d4 Optimize compiled format_to_n 388bc296b Fix fixed formatting of small long doubles 95e1ea573 Clarify requirement on compiled formatter fb97cb231 Suppress a bogus stringop-overflow warning dd5a9691f Clarify that data is not null-terminated 72dc4491e Fix format_string_checker initialisation order (#3542) 9bea6ec04 Don't use deprecated checked_array_iterator 661b23ede Call parse on empty specs at compile time 8e87d3a8b Fix include a47491656 Update CMakeLists.txt (#3523) de4705f84 Trying to improve errors in the unformattable case (#3478) e4c8cfe38 README: Add link to merged clang-tidy check (#3515) 606f85f8b Workaround brain-damaged conversions a331dbfb6 Fix type in assert message. (#3508) 13156e54b Revert "add ability to build Apple framework using CMAKE_FRAMEWORK" (#3496) 9158bea1e Remove old grisu tests dd17f89a1 Fix for issue #3492 (#3493) 1daae555b Optimize format string compilation 6ad301235 Optimize code unit output in compiled format 8732ad877 Update docs 5afb1821a Update docs a81135f2c Fix a link dfc34821a Update docs 0765e7284 Update docs 977d887a4 Suppress a bogus warning c86fe0b8d Give basic_memory_buffer allocator [[no_unique_address]] (#3485) 5dbe0ff95 Bump actions/checkout from 3.5.2 to 3.5.3 (#3486) de0757b57 Use FMT_TRY and FMT_CATCH in std.h (#3482) 8fe893c0a Update README.rst 0f823df46 Remove detail namespace hack 60fd9941c Use correct Char type in std::filesystem::path (#3476) 8abfc145b Fix MSVC warning in std::chrono::time_point formatter (#3475) 686b3353a Simplify typeid check b2106f363 Tweak comments 35547d600 Use const_check to silence MSVC warning 179c7e5a6 Use typeid() only if it's available 61fb3a15f Add VxWorks7 user space and kernel space support (#3467) bd393456e Remove FMT_*_DETAIL_NAMESPACE 6be36af0d Remove udl_formatter 2a35eeed8 Remove unused data 256a826d6 Consolidate formatters 6369af37d Simplify formatters 0b8404918 Remove get_cached_power 171a020c8 Pass correct Char to base format_as formatter (#3457) d8f04e399 Simplify ceil 5e988f8df Remove is_constant_evaluated() check 19b17618a Make constexpr ceil c684a06d5 New CI: macOS 13, Xcode 14.3, C++ 20 abdb7fdf8 Update api.rst 8b09fe2a0 Fix example for user-defined types in documentation for 10.0.0 (#3461) adad18a74 Update ChangeLog.rst 858e528ab Use dragon in constexpr a54cb108d CMake: Do not fail on unknown compiler features (#3453) ef55d4f52 Suppress a bogus gcc warning 70b6a6fa4 Update README.rst (#3454) 6fe895410 Remove invalid_arg_index d0652d225 Create dependabot.yml (#3452) de8d0171a Simplify FMT_FORMAT_AS 7401fe046 Hash pin Github Workflows (#3451) 08ef0d084 fix formatter<char*> (#3432) d60b907f8 Replace mod_inv_25 by explicit value (#3450) 4ce086f73 remove code duplication (#3448) 821f8cdb4 Detemplatize printf more 0bf6ed7e1 Cleanup printf e40e04fac Detemplatize printf_arg_formatter 0a1c27281 Detemplatize basic_printf_context 2f605cc89 Deprecate wide printf 1d54499ac Apply coding conventions 3c6053c53 Cleanup basic_printf_context 4a392adaa Remove basic_printf_parse_context b14913fae FMT_MODULE_EXPORT -> FMT_EXPORT 2117df299 format-inl.h: address implicit int to bool conversion (#3446) 616a49378 Revert Char* formatter removal 9a034b0d5 Always assert in FMT_THROW (#3439) e0fc0e85e Remove unneeded FMT_API 552c43aba Improve long formatters d6846f4ac Clarify why byte formatter is in core aeedac588 Remove unneeded specialization eaa630769 Make hex float test more stable (#3434) e82bf41a1 Update README.rst e077396f5 Update docs 861facad0 Fix a typo 75bfe5761 Improve docs 697e76ba3 Don't call init_named_args unnecessarily a425e0ff3 Cleanup xchar API c36dd825b Remove unnecessary forwarding 130b8fcdb Reduce template instantiations a47e8419b Cleanup the core API ea49c91cd Cleanup argument construction d7592ad8b Fix time_point formatting for durations with certain ratios (#3430) ebfb2e677 Remove unused alias 5780269d5 Improve API safety b47119216 Fix a comment 8f18e72df Improve API safety 93d7cb12f Fix formatting 0e4278717 Remove unused macro 93a30a074 unicode_to_utf8 -> to_utf8 since both sides of conversion are Unicode a08196b14 Update ChangeLog.rst 0398ba42c Update ChangeLog.rst a0b8a92e3 Update version 5cf2342aa Bump version fe9d39d7c Update changelog 4c9856197 Update changelog 403b271ed Update changelog 2c991e1af Update changelog c984df981 Remove an unused function from internal class fbf21ed22 Update changelog 575583144 Update changelog e7f6888c7 Update changelog 39db2dfd0 Update changelog 9b7829e26 Update changelog 1e0ce567e Fix formatting of paths containing invalid Unicode dde8cf3bb Unification utf16/utf32 to utf8 conversion e84b00e01 Workaround to error: variable 'n' set but not used [-Werror,-Wunused-but-set-variable] b12ffea4f Add filesystem_error test back f61f15cc5 Suppress a false positive in gcc 192df93d7 modules missing pieces (#3399) d8973bf16 Add FMT_STRING for format_to() call (#3413) d7a8e50cb Improve module testing (#3397) 02cae7e48 Improve handling of Unicode in paths 53162142b Remove .bazelrc mention from Bazel related readme (#3411) 5bcf0d7f9 Bazel support (#3406) f8c9fabd9 Fix spelling (#3404) 62ff4e1db Remove foonathan from maintainer list (#3402) f449ca052 Name `vfprintf` clashes with the identically named declaration in 'stdio.h' if that happens to be #included into the same TU. Fix this by using qualified name lookup instead of unqualified lookup that also enables ADL. (#3400) eafcd3c8e Optionally attach declarations to the `global module` rather than `module fmt` (#3387) 18154cc90 Simplify print 0de789cf2 Update changelog c03938922 export names only once (#3392) 93e81bb5d Fix C4365 (signed/unsigned mismatch) warning on 32-bit Windows (#3398) e7d6eb679 Update tests to use recommended MOCK_METHOD (#3395) 18e7a2532 Remove obsolete msvc workarounds (#3388) 0489c19dc fix and improve module (#3386) 8ec94ac6a Use full path to pcm d97d8cea6 Push module check to test d8a2698e6 Fix compilation as a C++20 module with gcc 13 d9c19940a Update add_module_library 4b5ae0b0e Remove unnecessary module support check 75f3b1c09 Use add_module_library faf83406a Workaround cmake issue 165814d57 Add module support to CMake 33f715077 Fix error C2668 on msvc (#3378) c98e5a08a Fix modular build on clang 119c6bd16 Move the modules check 77eeb7183 Remove unused headers 13bf99f9d Enable modules in clang 16 1d0257e4c FMT_MODULE_EXPORT_* -> FMT_EXPORT_* 4613d48fd FMT_EXPORT -> FMT_LIB_EXPORT 4a4a2a2bd Fix diagnostics fce74caa1 Disable problematic implicit conversions 02bf4d1c1 Disable to_string_view ADL 466e0650e Remove problematic workaround 029caa8ea Update changelog e406ddbfa Remove broken part of the config 909567953 Update changelog 7f46cb75b ranges: Fix extra semi (#3374) 4e3f38105 Update changelog d3c10f516 fix compilation for MSDOS (#3369) ab956f600 Update changelog 97aedeab4 Workaround a double-double hexfloat format (#3366) bce8d4ed0 Remove stray comment a91c7b286 Cleanup the core API 19c074e47 Remove deprecated fallback formatter 41cfc739f Generalize format_as f6276a2c2 Force use a signed char (On ARM char is unsigned by default) (#3362) 6002ddf82 Remove a deprecated option 6549ffde8 Improve format_as safety d9bc5f132 Fix code causing spurious Wstringop-overflow warning 9c5cd998d Remove unused functions 93bfa0538 %T is %H:%M:%S (#3349) d8e1c4265 fix case of variant which is valueless by exception (#3347) e1720c0e5 Fix CUDA nvcc warning fmt/include/fmt/core.h(295): warning #1675-D: unrecognized GCC pragma (#3352) 7f882918e `write_floating_seconds`: Fall back to `::round` (#3343) cbc7b8d5c Cleanup dead variable (#3338) 050293646 Path is not escaped twice in the debug mode (#3321) 3daf33837 Enable consteval for Xcode 14.0.1 and later (#3331) e0748e61d Fix recursion check in range formatting b94e1016f chore: set permission to cifuzz.yml (#3328) 98699719f Make # handling consistent with std::format 48dfbcaa9 Improve license and PR template wording c644c753d Add '🐙 userver framework' to the projects 73b7cee7f Fix for issue #3325 (#3326) 5b8302079 Add optional support (#3303) 3a69529e8 Fix various typos (#3312) 76f520835 Call element parse in tuple parse 507c3042d class -> typename 1741e90de Always call parse in range formatter d646fd0da Minor cleanup b5c2f74f4 change sopen_s to wsopen_s (fmtlib#3234) (#3293) e03753c4a Add ubuntu mirrors (#3302) 6e6eb6377 [msvc] fix warning about non-inline variable 3c5464ba1 Fix OpenBSD build error (#3295) 655046d24 Fix container adaptor formatting 581c6292c Add formatters for container adapters (#3279) 7718eeeac Implement glibc ext for sec, min, and hour (#3271) 44e0eea94 Use FMT_HAS_INCLUDE and apply clang-format 99070899b Fix errors setting of FMT_USE_FLOAT128 (#3259) 05e3a9233 Allowing formatting non-copyable ranges. (#3290) 70db193f0 Visual Studio 2022: fmt/format-inl.h(1145,60): warning C4310: cast truncates constant value #3287 (#3288) a2c05a10e Workaround a bug in MSVC <= 19.22 cae9bf45b Simplify apidoc comments 87c066a35 Implement `println` (#3267) 9409b2e4d Workaround for incompatibility between libstdc++ consteval-based std::is_constant_evaluated() implementation and clang-14 (#3281) f89cd276f Refactor countl_zero fallback (#3276) 240b728d8 Report an error on overflow dfbb952b2 Fix empty spec for time point (#3275) 39971eb33 Fix localized format for float-point numbers (#3272) 0f42c17d8 Implement a new formatting algorithm for small given precision (#3269) bfc0924ea Bugfix for fmt::printf on Power9 architecture with the XL compiler (#3256) 676c2a107 Fix negative subsec for time_point (#3261) 2c80cedc3 Fix standard default installation target presence (#3264) dda53082b Support fill, align & width for time point (#3260) 2622cd23e Simplify arg_mapper 9e4a54fa6 Disable remaining implicit conversions 9ce648067 Disble deprecated implicit enum conversions 9121f9b1d Enable format_as for classes b7535365b Enable format_as for non-integral types 09ed1ddb9 Cleanup tests 0ec65d99a Merge parse_presentation_type into parse_format_specs 71e4e0272 Cleanup vprintf aad546baa Simplify presentation type parsing 14a69fcc5 Use parse_align bf34ffd33 Refactor format string parsing 6056e0712 Simplify symbols aa99b8640 Minor cleanup 6ade2eb4e Inline all_int_set caa697494 Simplify parse functions a73a9b6a8 Refactor format string checks 72785a3ab Cleanup write 0c3dd5ddd Remove redundant check 739b600f4 Remove iterator shenanigans 3710c4d38 Link to dragonbox a05ba44df Simplify format string parsing ffb9b1d13 Improve handling of signed types 32190859e Fix handling of char 8fe4d97d5 Reduce template instantiations 7e5a95956 Fix build with MSVC C++20 modules (#3254) 9e6030486 Clarify that unused args are allowed 7ad48c1f6 Cleanup core.h a921a596e Cleanup core.h 3e762fdf5 Use ignore_unused 79981a252 Cleanup ranges formatting bd12aaa98 Simplify format string parsing b8f36207c Simplify format string parsing d907786f0 Move anchor to where it belongs f2355bbe5 Fix docs f398c9476 Fix docs 4841784e8 Simplify C99 strftime detection conditions cb72c23e9 Improve timezone tests 583f2d820 Set timezone for chrono tests 32c439070 Minor cleanup 3a5e19fbf Minor cleanup dfb857ebe Refactor format spec parsing 9ea9b6bcb Cleanup arg id parsing 2b0ff62a7 Remove unused template arg from format_string_checker d1745084e Simplify parse context 407e7b7b6 basic_format_specs -> format_specs 3cf979475 Cleanup format string parsing 934c8e5f7 Refactor precision parsing fc9693834 Remove empty semicolon f0ab112c3 Cleanup parsing 9660e5b95 Remove redundant tests a585571e9 Ignore 0 character with align 840ec8569 Cleanup width handlers 1dadeb8a3 Refactor width parsing 275b4b341 Remove obsolete parse-benchmark e004f1d69 Fix for issue #3241 bde1a6070 Simplify fill and alignment parsing 040dc2a5d small typo in syntax.rst 6a186bcd6 Localize FMT_USE_LOCAL_TIME 8c56919bd Check chrono spec starts with % 115001a3b Formatting of system clocks ought to be to UTC, not to local time. This improves standards conformance of fmt. b90895412 Fix formatting of named arguments with locale d072f1dc6 Fix for issue #3228 3999fd193 Workaround an ADL issue c06e0b4ed Extract timezone offset from timezone conversion functions 1bf302a4e Implement %Ez, %Oz for chrono formatter f1733afd4 Pin godbolt example to specific version f61dcccc6 Update README.rst f9bcbdcbc Update README.rst 1a854b4aa Clarify what mod_inv_5 is 62ceb181b fix #3105 - Compile-time error when mixing named argument with automatic indexing b0c8263cb include/fmt/core.h: copy constructors removal d24be2e95 Add countl_zero function 8d50d814d Fix a chrono formatting issue found by fuzzing 115ca96e0 Bump tested CMake version to 3.25 886491625 Remove workaround for GTest bug 74c51ff37 Skip only strptime dependent test in scan-test 69ffedfe5 Use `target_compile_features` to specify C++ standard requirement fae6f7e08 Optimize range formatter a69e43c9d Update benchmark results 91c024ed3 Rename leading_v -> leading_xdigit 649aa102d CI linux: add CIFuzz Github action 31364732d Replace snprintf-based hex float formatter with internal implementation 74d55a493 Add missing operators 8276f1a20 Fix warning: the implicit by-copy capture of "this" is deprecated (EDG frontend) 81ebe70b9 Fix warning: a class type that is not trivially copyable passed through ellipsis (EDG frontend) 3160847eb Enable C++17 tests on macOS 6a95f8c7e Add missing env CTEST_OUTPUT_ON_FAILURE c7980542d Skip the scan-test if strptime isn't defined (#3184) 7df30f91a Format unique_ptr with custom deleter (#3177) d2e89c8b0 Document more chrono specs bd1959320 Document more chrono specs fd0d0ec8d Document more chrono specs 8e93434ed Update README.rst fc07217d8 Make utf-8 detection compatible with gbk cb7373b46 Replace format with FMT_STRING. (#3162) 795ed8abf Add precision modifier for seconds in chrono format (#3148) 66d71a1b3 Fixing formatting of range of range of char. (#3158) 80f8d3442 fmt::ostream - aggregate buffer instead of inheriting it (#3139) 64965bdc9 Add locale getter in tm_writer (#3147) e1ffa7655 Fix warning: conditional expression is constant. (#3150) 8c19bf3f2 Mention MariaDB amongst the projects that use fmt (#3145) f67dbc981 Remove duplicate implementation (#3144) cd7202e03 Fix overflow error (#3143) 51d3685ef Remove duplicate template parameter. (#3142) 9254cfa6f Support formatting of subseconds (#3115) cfb34a060 Avoid using `uint` as a type name (#3137) 5ad7b7138 Fix options for C++20 experimental module in CMake (#3134) d2c47c0df Fix broken condition (#3129) 491c32cbd Workaround gcc bug 103879 662adf4f3 Move formatter<std::error_code> from fmt/os.h to fmt/std.h (#3125) ad91cab37 Normalization of stdlib inline namespace names (#3119) 0ccaed3a6 Set CMAKE_RUNTIME_OUTPUT_DIRECTORY relative to CMAKE_CURRENT_BINARY_DIR instead of CMAKE_BINARY_DIR (#3120) ad719619c Support formatting of std time_point with utc_clock (#3110) 6e0a5f7fb Update CI to Ubuntu 20.04 and to newer versions of actions 48f525d02 Add basic_format_string::get() 0b5cb18b7 Use buffering in to_string to avoid bloat 4c4f99a58 Update a godbolt link 3272a7a3c Update an example a48e3355a Improve docs afcf42429 Update docs ac85afaab Simplify format_error 3178bb9a2 Update docs cf58f64c5 Update docs e4e0ae391 Use fmt/core.h in examples d65acc4e6 Improve docs c9f790b06 Update docs 6b8144a5a Update locale docs 2d66ad5d3 Suppress -Wshadow 042af5332 Suppress -Wfloat-equal 192859c2b Optimize writing to buffers via back_insert_iterator e2f6d7665 fix gcc <= 7.1 compile errors 61844b6b6 Fix build error on GCC-9 7a752e75f New CI: GCC-9 94ceb38a0 Improve locale API 58c4c012f Disable slow windows build and simplify write_loc c3494ae36 Refactor float localization 8ae56161c Fix compilation with FMT_ENFORCE_COMPILE_STRING and FMT_WERROR (#3091) 76705fc2e Update doc 21c2137e7 Add class name output to formatter for std::exception (#3076) ecffca672 Don't parse '}' as fill 3176e0fad Add locale overload for formatted_size (#3084) (#3087) 1feb430fa Fix intellisense on Windows (#3082) b98ffb7db Improve locale handling bac53951b Add starts_with to basic_string_view. (#3080) d59b89e9c More locale 58a5563a9 Implement grouping 1b94271ff Add support for UTF-8 digit separators 768d79a83 Implement format_facet 91ecb38a3 Localize negative integers aec3bb5d0 Workaround C complex.h idiocy 29c600013 Simplify is_variant_like_ check, fix compile error before GCC 11 (#3072) fec5515c5 num_format_facet -> format_facet f187274d3 Add loc_value fc5e59fe4 Don't use stringstream d6a870460 Improve locale support 56c72a671 Reduce locale dependency 4191477b9 Add formatter for std::exception (#3062) 75383a87f Inline trivial functions 48327a82e Make format.h compile faster b79ed4105 Remove unnecessary type_identity 64e29893c Improve locale support 0b0f7cfbf hip workaround 40e414d82 Fix compilation error with gcc-7.2.0 33b4c33c5 Requires FMT_CONSTEXPR20 support a07411c2b Disable compile-time checks for dynamic width/precision test for LCC and compiler without std::is_constant_evaluated() 797d82b21 Disable non-type template args for LCC a553521d6 Disable "GCC optimize" pragma for LCC a33701196 Update version 1f575fd5c Bump version c7635288f Fix docs, take 2 c8ed78e31 Fix docs e07cfb206 Update changelog 1dc7af569 Fix markup f7d21c3a1 Update changelog a55bcb24b Update changelog 30cb2b312 Remove appveyor config cf8d3c322 Update changelog 3c3cb6f6b Update changelog 91481f255 Detemplatize code_point_length_impl f98048b62 Fix bugs in utf8 decoder (#3056) 4a8e2949b Fix formatting of ranges of code unit types 3a3b0709e Disable bogus -Wstringop-overflow on GCC 11 (#3054) e724bbea1 Fix wchar_t corner cases 665d9779e Disable non-type template args for nvhpc (#3053) 13d07c6a3 Apply doc fixes retroactively 391f922ac Improve error reporting in format string compilation dc59d3df3 Fix a warning in gtest 489dabbd3 Fix decoder on broken utf8 sequences. (#3044) 541cd2183 Fix locale name (thanks Mikhail Paulyshka) 1f95c3438 Fix sign handling with large code units 779449fd9 Belarusify test fbb568bce nvhpc/22.3: workaround for c++17 mode. (#3043) 36c23bd5f Prepare for deprecating FindPythonInterp module. (#3040) 9ff0f3a7d Fix docs fd41110d3 Add MinGW to CI fc23cfbf4 Fix testsuite on MinGW + MSVCRT fd93b633b Constexpr formatted_size (#3026) 7fb8d33f9 Fix compile-time width/precision type check 8bd02e93b Reduce conditional compilation d9c1c7353 Use is_utf8() in print(std::ostream&, ...) 682e097be Remove -Wl,--as-needed linker option b9087ee58 Suppress unused typedef warning df56fdf88 Clarify docs for compile-time checks 90c48b852 Remove double code execution 5a8b7cd74 Add comment 36a25d75b Reuse detail::string_literal in the chrono formatter 6c9304b2c Replace ParseContext with basic_format_parse_context 24ab9dd19 Remove duplicate method a95dc1701 Remove unused condition 5f774c0ae I shouldn't be there 6567df7f2 Update README.rst 6c6b1fbf6 Workaround a bug in MSVC 9beddd08f Improve CI on Windows 6452e3c9e Fix a typo in example 756822ba3 Fix Unicode handling for ostream under Windows with libc++. (#3001) 0b2862a1e Range formatter (#2983) 258000064 Add fmt:: namespace to doc (#3009) e9ca7ea47 Suppress a bogus warning 81f1cc74a Improve Unicode handling when writing to an ostream on Windows (#2994) bbcb129e0 Reduce filesize of the tests on MinGW (#2995) 48e0a5922 Implement compile-time checks for dynamic width/precision type bc5c7c50f Fixes IBM XLC behavior with uint128 fallback (#2985) 00adc7120 Add a regression test for here be dragons c48be439f Add additional search paths for doxygen on Windows 371f9c71c Fix even in format_dragon 91abfcd6c Suppress an msvc warning deeab54b4 Remove unused include 688a627d6 Remove unused constants. 9bb1605f1 Remove some branches 8061d9afb Simplify Dragonbox implementation d82e1a108 Make sure the correct fmod overload is called defa04e73 Fix for EDG frontend (Intel, NVHPC compilers) (#2982) 92d36e82c The n specifier for ranges (#2981) 0db43cf7f Pointless comparison warnings (#2971) 05be7a076 Use FMT_USE_FLOAT128 instead of __SIZEOF_FLOAT128__ 2a1b3ac62 Fix large shift in uint128_fallback e1d3d3a32 Exclude recursive ranges from the formatter specialization for ranges (#2974) b761f1279 Improve forward using the idea from Jonathan Müller cc1926942 Inline std::forward d5e9166f5 Fixed typo in changelog example. b31d1a75a Add xchar support for fmt::streamed(). git-subtree-dir: externals/fmt git-subtree-split: f5e54359df4c26b6230fc61d38aa294581393084
2023-10-08 08:55:04 +01:00
FMT_EXPORT template <typename... T>
void println(std::ostream& os, format_string<T...> fmt, T&&... args) {
fmt::print(os, "{}\n", fmt::format(fmt, std::forward<T>(args)...));
}
FMT_EXPORT
template <typename... Args>
void println(std::wostream& os,
basic_format_string<wchar_t, type_identity_t<Args>...> fmt,
Args&&... args) {
print(os, L"{}\n", fmt::format(fmt, std::forward<Args>(args)...));
}
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
FMT_END_NAMESPACE
#endif // FMT_OSTREAM_H_