dynarmic/externals/fmt/test/ranges-test.cc

156 lines
4.2 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 21:57:22 +02:00
// Formatting library for C++ - the core API
//
// Copyright (c) 2012 - present, Victor Zverovich
// All rights reserved.
//
// For the license information refer to format.h.
//
// Copyright (c) 2018 - present, Remotion (Igor Schulz)
// All Rights Reserved
// {fmt} support for ranges, containers and types tuple interface.
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 22:00:18 +02:00
#include "fmt/ranges.h"
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 22:03:34 +02: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 21:57:22 +02:00
#include "gtest.h"
Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e
2020-04-23 22:03:34 +02:00
// Check if 'if constexpr' is supported.
#if (__cplusplus > 201402L) || \
(defined(_MSVC_LANG) && _MSVC_LANG > 201402L && _MSC_VER >= 1910)
# include <array>
# include <map>
# include <string>
# include <vector>
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 21:57:22 +02:00
TEST(RangesTest, FormatVector) {
std::vector<int32_t> iv{1, 2, 3, 5, 7, 11};
auto ivf = fmt::format("{}", iv);
EXPECT_EQ("{1, 2, 3, 5, 7, 11}", ivf);
}
TEST(RangesTest, FormatVector2) {
std::vector<std::vector<int32_t>> ivv{{1, 2}, {3, 5}, {7, 11}};
auto ivf = fmt::format("{}", ivv);
EXPECT_EQ("{{1, 2}, {3, 5}, {7, 11}}", ivf);
}
TEST(RangesTest, FormatMap) {
std::map<std::string, int32_t> simap{{"one", 1}, {"two", 2}};
EXPECT_EQ("{(\"one\", 1), (\"two\", 2)}", fmt::format("{}", simap));
}
TEST(RangesTest, FormatPair) {
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 22:03:34 +02:00
std::pair<int64_t, float> pa1{42, 1.5f};
EXPECT_EQ("(42, 1.5)", fmt::format("{}", pa1));
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 21:57:22 +02:00
}
TEST(RangesTest, FormatTuple) {
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 22:03:34 +02:00
std::tuple<int64_t, float, std::string, char> t{42, 1.5f, "this is tuple",
'i'};
EXPECT_EQ("(42, 1.5, \"this is tuple\", 'i')", fmt::format("{}", t));
EXPECT_EQ("()", fmt::format("{}", std::tuple<>()));
}
TEST(RangesTest, JoinTuple) {
// Value tuple args
std::tuple<char, int, float> t1 = std::make_tuple('a', 1, 2.0f);
EXPECT_EQ("(a, 1, 2.0)", fmt::format("({})", fmt::join(t1, ", ")));
// Testing lvalue tuple args
int x = 4;
std::tuple<char, int&> t2{'b', x};
EXPECT_EQ("b + 4", fmt::format("{}", fmt::join(t2, " + ")));
// Empty tuple
std::tuple<> t3;
EXPECT_EQ("", fmt::format("{}", fmt::join(t3, "|")));
// Single element tuple
std::tuple<float> t4{4.0f};
EXPECT_EQ("4.0", fmt::format("{}", fmt::join(t4, "/")));
}
TEST(RangesTest, JoinInitializerList) {
EXPECT_EQ("1, 2, 3", fmt::format("{}", fmt::join({1, 2, 3}, ", ")));
EXPECT_EQ("fmt rocks !",
fmt::format("{}", fmt::join({"fmt", "rocks", "!"}, " ")));
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 21:57:22 +02:00
}
struct my_struct {
int32_t i;
std::string str; // can throw
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 20:25:26 +02:00
template <size_t N> decltype(auto) get() const noexcept {
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 21:57:22 +02:00
if constexpr (N == 0)
return i;
else if constexpr (N == 1)
return fmt::string_view{str};
}
};
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 20:25:26 +02:00
template <size_t N> decltype(auto) get(const my_struct& s) noexcept {
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 21:57:22 +02:00
return s.get<N>();
}
namespace std {
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 20:25:26 +02:00
template <> struct tuple_size<my_struct> : std::integral_constant<size_t, 2> {};
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 21:57:22 +02: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 20:25:26 +02:00
template <size_t N> struct tuple_element<N, my_struct> {
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 21:57:22 +02:00
using type = decltype(std::declval<my_struct>().get<N>());
};
} // namespace std
TEST(RangesTest, FormatStruct) {
my_struct mst{13, "my struct"};
EXPECT_EQ("(13, \"my struct\")", fmt::format("{}", mst));
}
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 22:03:34 +02:00
TEST(RangesTest, FormatTo) {
char buf[10];
auto end = fmt::format_to(buf, "{}", std::vector{1, 2, 3});
*end = '\0';
EXPECT_STREQ(buf, "{1, 2, 3}");
}
struct path_like {
const path_like* begin() const;
const path_like* end() const;
operator std::string() const;
};
TEST(RangesTest, PathLike) {
EXPECT_FALSE((fmt::is_range<path_like, char>::value));
}
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 21:57:22 +02:00
#endif // (__cplusplus > 201402L) || (defined(_MSVC_LANG) && _MSVC_LANG >
// 201402L && _MSC_VER >= 1910)
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 22:03:34 +02:00
#ifdef FMT_USE_STRING_VIEW
struct string_like {
const char* begin();
const char* end();
explicit operator fmt::string_view() const { return "foo"; }
explicit operator std::string_view() const { return "foo"; }
};
TEST(RangesTest, FormatStringLike) {
EXPECT_EQ("foo", fmt::format("{}", string_like()));
}
#endif // FMT_USE_STRING_VIEW
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 20:25:26 +02:00
struct zstring_sentinel {};
bool operator==(const char* p, zstring_sentinel) { return *p == '\0'; }
bool operator!=(const char* p, zstring_sentinel) { return *p != '\0'; }
struct zstring {
const char* p;
const char* begin() const { return p; }
zstring_sentinel end() const { return {}; }
};
TEST(RangesTest, JoinSentinel) {
zstring hello{"hello"};
EXPECT_EQ("{'h', 'e', 'l', 'l', 'o'}", fmt::format("{}", hello));
EXPECT_EQ("h_e_l_l_o", fmt::format("{}", fmt::join(hello, "_")));
}