Commit Graph

1479 Commits

Author SHA1 Message Date
b43b2f9537 Cleanup standard formatters 2025-05-04 13:04:06 -07:00
41b3bed4d2 Clarify why we don't use qualified names 2025-04-26 10:12:06 -07:00
9db5e4df22 Don't specialize std::is_floating_point 2025-04-26 08:17:05 -07:00
906eaf2ddb Make specifier order consistent 2025-04-25 12:10:21 -07:00
f53055efe0 Revert "Workaround an ABI issue in spdlog"
This reverts commit 784eac839d.
2025-03-29 07:48:20 -07:00
784eac839d Workaround an ABI issue in spdlog 2025-03-22 07:01:45 -07:00
dd780fde44 Add clang-3.4 2025-03-15 12:22:10 -07:00
52eeeb52a6 Make exponent threshold depend on representation (#3649) 2025-01-26 12:10:48 -08:00
5f0572acdc Workaround a compilation error on gcc 9.4 2025-01-18 09:01:00 -08:00
898d438571 Fix formatting into std::ostreambuf_iterator using a compiled format (#4312)
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2025-01-18 07:16:06 -08:00
586ea06f02 Rename set_fill to copy_fill_from 2025-01-11 09:22:15 -08:00
21aa0956d4 Restore ABI compatibility 2025-01-10 17:36:09 -08:00
2c3a5698ef Simplify a copying the fill from basic_specs
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2025-01-05 09:33:05 -08:00
dad3237514 Fix a bug when copying the fill from basic_specs
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2025-01-03 09:16:21 -08:00
feb72126b4 Readd FMT_NO_UNIQUE_ADDRESS 2024-12-26 13:54:06 -08:00
873670ba3f Make parameter basic_memory_buffer<char, SIZE>& buf of to_string const 2024-12-11 12:19:20 -08:00
385c01dc7b Allow bit_cast to work for 80bit long double (#4246) 2024-11-29 01:25:21 -08:00
a6c45dfea8 Fix modular build 2024-11-10 09:06:50 -08:00
a35389b3c2 Corrently handle buffer flush 2024-11-09 10:56:31 -08:00
542600013f Suppress MSVC warnings "C4127: conditional expression is constant" by used const_check (#4233)
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2024-11-09 07:43:46 -08:00
720da57bab Remove reference to unused intrinsic 2024-11-03 17:18:33 -08:00
680db66c3a Explicitly export symbols from detail 2024-11-03 09:13:17 -08:00
56ce41ef63 Remove initializer_list dependency 2024-11-03 08:26:25 -08:00
cf50e4d6a4 Fix const[expr] in context API 2024-11-03 07:25:52 -08:00
6580d7b808 Cleanup the format API 2024-11-03 06:57:36 -08:00
7e73566ce7 Minor cleanup 2024-11-02 11:24:24 -07:00
8523dba2dc Make constexpr precede explicit consistently 2024-11-02 11:03:03 -07:00
e3d3b24fc1 Minor cleanup 2024-11-02 10:46:58 -07:00
4b8e2838f0 More cleanup 2024-10-27 10:56:52 -07:00
7d4662f7ab Remove FMT_BUILTIN_CTZ 2024-10-27 10:22:43 -07:00
27110bc474 Minor cleanup 2024-10-27 09:44:25 -07:00
a16ff5787b Add support for code units > 0xFFFF in fill 2024-10-20 07:59:58 -07:00
6bdc12a199 detail_exported -> detail 2024-10-09 11:04:55 -07:00
786a4b0968 Cleanup fixed_string 2024-10-09 08:42:49 -07:00
e62c41ffb0 Conform std::iterator_traits<fmt::appender> to [iterator.traits]/1 (#4185)
* Conform `std::iterator_traits<fmt::appender>` to [iterator.traits]/1

> In addition, the types
> ```c++
> iterator_traits<I>::pointer
> iterator_traits<I>::reference
> ```
> shall be defined as the iterator’s pointer and reference types; that is, for an iterator object `a` of class type, the same type as `decltype(a.operator->())` and `decltype(*a)`, respectively. The type `iterator_traits<I>::pointer` shall be void for an iterator of class type `I` that does not support `operator->`. Additionally, in the case of an output iterator, the types
> ```c++
> iterator_traits<I>::value_type
> iterator_traits<I>::difference_type
> iterator_traits<I>::reference
> ```
> may be defined as `void`.

* Remove unnecessary member types from basic_appender

This reverts commit 1accf6c0a0.

* Address clang-format issue
2024-10-03 09:05:14 -07:00
18792893d8 Silencing Wextra-semi warning (#4188) 2024-10-03 09:00:55 -07:00
c95722ad62 Improve naming consistency 2024-09-29 18:17:44 -07:00
db06b0df87 Use countl_zero in bigint 2024-09-29 17:11:22 -07:00
b9ec48d9ca Cleanup bigint 2024-09-29 12:03:07 -07:00
3faf6f181e Add min_of/max_of 2024-09-29 10:24:39 -07:00
d64b100a30 Relax constexpr 2024-09-29 10:04:57 -07:00
96dca569a1 Module linkage fixes for shared build (#4169)
* Mark some in-class defined member functions as explicitly inline/constexpr, to avoid missing external symbols when using fmt module with shared build due to modules not defaulting to implicit inline.

* Switch constexpr to inline for context::arg(string_view).
NOTE: Looks as if basic_format_args::get(string_view) could probably be made constexpr instead, but sticking with minimal change approach.

* Work around apparent non-conformance of older MSVC compilers.

* Switch format_int::str() from constexpr to inline to satisfy libstdc++ std::string constexpr limitations.

* Replace usages of macros for constexpr/inline with keywords.

* Fix for locations requiring C++14 constexpr.

* Further minor constexpr tweaks.

* Apply clang format
2024-09-26 07:53:55 -07:00
891c9a73ae Cleanup format API 2024-09-22 15:52:55 -07:00
9282222b7d Export more 2024-09-22 15:10:58 -07:00
ff92223549 Simplify locale handling 2024-09-22 10:21:19 -07:00
80c4d42c66 Cleanup format.h 2024-09-22 08:20:26 -07:00
05226c4bd9 Remove type_identity 2024-09-20 19:13:09 -07:00
c283b458a5 Cleanup format.h 2024-09-20 19:00:23 -07:00
a197a994c5 Add member format_as for std 2024-09-20 08:49:49 -07:00
4197727712 Improve handling of unformattable args 2024-09-16 18:52:18 -07:00