Commit Graph

2704 Commits

Author SHA1 Message Date
Victor Zverovich 0378d171f9 Replace remove_cvref_t with remove_const_t 2024-01-02 12:46:09 -08:00
Victor Zverovich 63ce170853 Replace virtual dispatch with normal functions in buffers 2024-01-02 07:02:20 -08:00
Victor Zverovich 74ffea0dcf Simplify to_ascii 2024-01-01 20:09:47 -08:00
Victor Zverovich 4ec9c2906b Apply coding conventions 2024-01-01 19:04:25 -08:00
Victor Zverovich f4a7d40dca Dedup throw_format_error 2024-01-01 18:42:23 -08:00
Victor Zverovich 068bf9bad8 Make visitation compatible with std::format 2024-01-01 17:31:36 -08:00
Victor Zverovich 50565f9853 Move misplaced join overloads to fmt/ranges.h 2024-01-01 16:28:59 -08:00
Victor Zverovich 0b39d67103 Remove detail::error_handler 2024-01-01 16:10:13 -08:00
Victor Zverovich c142385033 Improve the pipe API 2024-01-01 15:55:37 -08:00
Victor Zverovich b0569451a7 Bump version 2024-01-01 10:06:52 -08:00
Bruce Mitchener ebd5c8f994 Consistently use fmt:: when invoking format_to. (#3779)
This has been done partially in previous commits:

* 2ac6c5ca8b
* 258000064d
* ba50c19e82
* 5ab9d39253

A patch that includes the `std::error_code` changes here is
upstream in vcpkg, so that will be able to be removed when
updating to the next release.
2024-01-01 06:57:03 -08:00
Victor Zverovich a5bacf3fef Remove custom_formatter 2023-12-31 12:34:18 -08:00
Victor Zverovich e33c1568c3 Implement scan argument access 2023-12-31 08:49:29 -08:00
Victor Zverovich 23826669cf Cleanup error handling 2023-12-31 07:51:57 -08:00
Victor Zverovich 8c520b4fdc Fix comment 2023-12-29 15:48:25 -08:00
Victor Zverovich 47a0eec2e8 Remove unnecessary alias 2023-12-29 09:59:55 -08:00
Victor Zverovich d5823aae36 Ceci n'est pas une pipe 2023-12-29 08:11:29 -08:00
Victor Zverovich 47c8f63d02 Remove redundant specifier 2023-12-28 07:32:07 -08:00
Victor Zverovich df62c86783 Mark grow as deprecated 2023-12-25 10:11:22 -08:00
Victor Zverovich fc0f84d290 Move formatbuf to ostream.h 2023-12-23 15:00:28 -08:00
Victor Zverovich 86f2ec5de7 Fix a warning 2023-12-23 14:51:43 -08:00
Victor Zverovich a537c39fdf Move conjunction to where it is used 2023-12-23 14:35:11 -08:00
Victor Zverovich 7c240d52c3 Remove unused symbol 2023-12-23 13:20:55 -08:00
Victor Zverovich e7875ae0fa Fix formatting of some nested ranges 2023-12-23 09:35:32 -08:00
Victor Zverovich 3eb3aef575 Fix handling of set_debug_format 2023-12-23 08:32:36 -08:00
Vladislav Shchapov 9cd2b87e18 Fix wchar_t to char conversion warnings (#3764)
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2023-12-20 08:59:26 -08:00
Victor Zverovich d5da9cc40e Apply clang-tidy 2023-12-19 17:52:50 -08:00
Vladislav Shchapov 9165434e5a Enable consteval in MSVC VS2019 version 16.10 (#3757)
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2023-12-18 13:00:11 -08:00
Vladislav Shchapov 923005bd4f Add stdlib version check for C++20 (#3754)
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2023-12-17 08:33:17 -08:00
Victor Zverovich afa85e46c3 Apply clang-format 2023-12-17 07:32:22 -08:00
js324 6025bd7c37 Add localized formatting to non-decimal presentation types of ints (#3750) 2023-12-15 07:51:25 -08:00
Kefu Chai 6855bd532b Apply clang-format
* use clang-format v17.0.6 to reformat the tree
* tweak some places so that clang-format does not mutate the layout
  of code too much

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2023-12-13 07:18:37 -08:00
Victor Zverovich bbee753579 Make clang-format happy 2023-12-13 06:54:51 -08:00
Mikael Simberg 89860eb901 Use void(*)(void*) instead of decltype(&std::free) to satisfy clang in CUDA mode (#3751)
clang can't resolve &std::free in decltype(&std::free) because std::free
is overloaded (for host and device).
2023-12-11 09:44:02 -08:00
Kefu Chai 274ba2645b allow format_as() to format reference (#3739)
before this change, format_as() is unable to format a type which
has `auto format_as() -> const another_type&`, and `another_type`
is formattable. because `format_as_result` maps the result type
as it is, and the compiler refuses to compile
`static_cast<T*>(nullptr)`, where T is a reference type. but
it would be handy if we could use `format_as()` to format types
which, for instance, owns / inherit from a formattable type, and
delegate the formatter to these variables instead without creating
a copy of them.

in this change:

* instruct `format_as_result` to map the
  result type to the decayed type, so that `type` can be the decayed
  type of result type, and this also enables `type` to be formattable,
  as long as the decayed type is formattable.
* corresponding test is added to format-test.cc

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2023-12-10 08:49:53 -08:00
Victor Zverovich 9048add999 Report out-of-range errors in chrono 2023-12-10 08:28:50 -08:00
Vladislav Shchapov 6392dba21c Fix warning: identifier '_a' preceded by whitespace in a literal operator declaration is deprecated (#3748)
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2023-12-09 08:16:57 -08:00
Albert Santoni 9c3c107c8c Fix compile with GCC 6.3.0 (bug #3738) (#3743) 2023-12-08 09:36:33 -08:00
js324 573d74395b error on bool arg w/ char pres_type (#3734) 2023-12-05 13:45:10 -08:00
Ivan Shapovalov 71bd51e6c2 Implement %j specifier for std::chrono::duration (#3732)
This adds support for `%j` presentation type for duration types:

> "If the type being formatted is a specialization of duration, the decimal
number of days without padding."

Fixes #3643.
2023-12-03 07:29:58 -08:00
Félix-Antoine Constantin 99b9fbf8ef Add formatter for std::source_location (#3730) 2023-11-30 10:05:56 -08:00
Victor Zverovich 8f83ee2ad1 Apply coding conventions 2023-11-30 08:24:02 -08:00
Victor Zverovich 2a8a694466 Clarify that mixing code unit types is deprecated 2023-11-30 08:20:01 -08:00
Victor Zverovich 04718008ab Minor cleanup 2023-11-30 07:43:31 -08:00
js324 b87ea22e29 Add native and generic representation for filesystem::path format spec (#3729) 2023-11-29 14:49:36 -08:00
Victor Zverovich 6988be3878 Bump version 2023-11-25 09:11:53 -08:00
Victor Zverovich 2d1e4bb35e Remove a useless comment 2023-11-25 09:05:20 -08:00
Corentin Schreiber 7f8d419115 Fix overflow in time_point formatting with large dates (#3727)
* Fix #3725 and rename fmt_safe_duration_cast to fmt_duration_cast
The function is now more generic and will handle all casts. It also
takes care of toggling safe vs unsafe casts using
FMT_SAFE_DURATION_CAST.

* Refactor fmt_duration_cast to put #ifdef inside the function

* Fix compilation error with FMT_USE_LOCAL_TIME
2023-11-25 08:36:55 -08:00
Victor Zverovich 06f1c0d725 Clarify that calling non-const format is deprecated 2023-11-24 10:21:57 -08:00
Victor Zverovich 8a39388516 Fix the default locale in ostream_formatter 2023-11-24 09:24:43 -08:00