2022 Commits

Author SHA1 Message Date
Cory Quammen
f488eed101 Resolve default constructor error in Xcode 7.2.1 and 8.2.1
Fix issue that produces the error 'default initialization of an object
of const type 'const detail::buffer_size' without a user-provided
default constructor'
2021-08-06 11:17:02 -07:00
Victor Zverovich
bba0a9d962 Make flush public 2021-07-30 07:02:49 -07:00
brm
0544a2279b
Exclude fallback functions when FMT_BUILTIN_CLZ(LL) is not defined (#2434) 2021-07-25 10:37:18 -07:00
Victor Zverovich
5c222f0561 Add support for nonconst formattable types 2021-07-24 09:53:53 -07:00
Spiros Tsalikis
63fe2d5bd2 Add copy constructor for dynamic_format_arg_store, and test 2021-07-23 09:35:09 -07:00
Victor Zverovich
561834650a Improve digit count 2021-07-18 09:14:56 -07:00
Johnathan
f20f50368f
Replace throw with FMT_THROW (#2427)
Using `throw` results in compile errors with `-fno-exceptions`. gcc seems fine with it, but arm-gcc and clang would complain.
2021-07-18 07:08:24 -07:00
Victor Zverovich
e41ac1f875 Don't use deprecated API in docs 2021-07-10 13:42:51 -07:00
Victor Zverovich
8465869d7b Move ignore_unused to detail 2021-07-09 08:24:11 -07:00
Victor Zverovich
20e4ef8b4c Pass significand_size by value 2021-07-05 08:51:43 -07:00
Victor Zverovich
c4a3c2342a Refactor locale handling 2021-07-05 08:25:12 -07:00
Benoît Lormeau
02ad5e11da
Add faint, blink, reverse and conceal to the emphases (#2394) 2021-07-02 20:03:55 -07:00
Victor Zverovich
cfc05e05f0 Bump version 2021-07-02 14:43:31 -07:00
Victor Zverovich
e461f3dbbe Minor consitency and comment tweaks 2021-07-02 13:56:37 -07:00
Mattias Ljungström
54014e42e3
silence warning C4100 on MSVC 2019 when exceptions are disabled (#2397) 2021-07-02 13:51:49 -07:00
Victor Zverovich
3e7a29cc92 Workaround clang/gcc incompatibility 2021-07-02 13:29:22 -07:00
Victor Zverovich
1d7384530e Add missing presentation type checks for std::string (#2402) 2021-07-02 07:51:04 -07:00
Jonathan Emmett
889bbf27a2
Fix missing std::get overload in MSVC (#2407)
This replaces the `std::get` call with an unqualified equivalent to allow
it to be treated as a dependent call.

ranges.h needs std::get overloads from `<tuple>` but does not directly
include it. This causes compilation failures in MSVC with /permissive-.
On other platforms `<tuple>` is included as a dependency from other headers
(specifically from `<memory>`), but there is no such implicit dependency in
MSVC's STL.

Fixes #2401
2021-07-01 10:55:46 -07:00
Victor Zverovich
5f8473914c Remove outdated apidoc 2021-07-01 07:56:53 -07:00
Victor Zverovich
785908ee37 Fix warnings 2021-06-30 06:42:29 -07:00
Greg Sjaardema
fbb70eec5c
suppress unused variable warnings (#2381)
* suppress unused variable warnings

An arguably better method for suppressing unused variable warnings.   The `(void)var` method does not work on many intel compiilers.
This is from Herb Sutter's blog post https://herbsutter.com/2009/10/18/mailbag-shutting-up-compiler-warnings/

* Format to eliminate long lines

* Run clang-format
2021-06-30 06:33:30 -07:00
Javier Honduvilla Coto
002bb759ff Remove unneeded num_result_bigits decrement
For what I see this seems unused?
2021-06-29 06:23:02 -07:00
Marek Kurdej
a3f762c5aa [doc] Minor: fix `code`. 2021-06-29 06:21:15 -07:00
Eren Okka
c3c27e5ab5 Fix MSVC warning C4819 2021-06-28 06:14:53 -07:00
Aidan Sun
f85fb9fdff Adjust definition for FMT_HAS_INCLUDE
Adjust definition for FMT_HAS_INCLUDE

Remove check for `!FMT_MSC_VER`
2021-06-27 07:08:29 -07:00
Patrick Geltinger
49a3b58c8b Specify size for static data arrays 2021-06-26 06:55:24 -07:00
Jason A. Donenfeld
c9a10631cb format: do not use udl_{arg,formatter} return types when UDL is not in use
The udl_{arg,formatter} structs are only defined when
FMT_USE_USER_DEFINED_LITERALS is set, so don't try to define things that
return that struct when it's not defined.
2021-06-26 06:25:16 -07:00
Greg Sjaardema
3bd806f12f Eliminate intel compiler warning
The intel compiler defines `__GNUC__`, but does not support the gcc `_Pragma`.  This PR filters out the intel compiler to avoid warnings about an unrecognized function.
2021-06-26 06:16:12 -07:00
Daniela Engert
5221242f6e Instruct msvc to report the _true_ value in __cplusplus and force _full_ C++ conformance
* do this  in _some_ tests to improve test coverage and catch possible problems due to that
 * fix invalid export of `static constexpr` constant
 * fix msvc warnings about unreachable code in high warning levels
2021-06-24 09:10:08 -07:00
Victor Zverovich
31a5f0d399 Bump version in inline namespace 2021-06-22 14:47:59 -07:00
Victor Zverovich
102a4d492a Bump version in inline namespace 2021-06-22 07:04:02 -07:00
Victor Zverovich
92fec0f050 Bump version 2021-06-21 05:57:50 -07:00
Victor Zverovich
427b534054 Add no_value state to value 2021-06-15 07:53:28 -07:00
Victor Zverovich
e421d52713 Simplify error handling in parse_nonnegative_int 2021-06-14 16:05:37 -07:00
Владислав Щапов
a59678f376 Fix chrono_test.locale
UTF-8: https://datatracker.ietf.org/doc/html/rfc3629
2021-06-14 09:41:08 -07:00
Владислав Щапов
c123a72844 Fix set locale error in chrono formatter 2021-06-14 09:41:08 -07:00
Victor Zverovich
3c8fad126c Optimize parse_nonnegative_int 2021-06-13 19:20:44 -07:00
sunmy2019
f28cf3302d
adding a default format for std::chrono::time_point<std::chrono::syst… (#2345) 2021-06-11 10:52:39 -07:00
Daniela Engert
55010a9d3a Support non-char overloads (module) 2021-06-11 09:38:53 -07:00
Daniela Engert
0193e7c428 Support compile-time strings and compile-time format string compilation in module
Make just the necessary parts available for lookup from client context.
2021-06-11 09:38:53 -07:00
Victor Zverovich
3423d75475 Remove the msvc workaround (#2351) 2021-06-11 06:20:25 -07:00
Victor Zverovich
dccddc2bdb Apply clang-format 2021-06-07 08:49:47 -07:00
Victor Zverovich
0e36681b8e Cleanup digit count 2021-06-07 07:42:22 -07:00
Victor Zverovich
1de80f5b22 Workaround lack of static constexpr in constexpr functions 2021-06-07 07:27:56 -07:00
Victor Zverovich
2039dce75f Detect consteval 2021-06-07 06:57:43 -07:00
Victor Zverovich
d551b88a6d Move is_char specializations to xchar.h 2021-06-06 15:32:30 -07:00
Victor Zverovich
206000a017 Workaround pathological conversion (#2343) 2021-06-06 07:18:44 -07:00
Victor Zverovich
76ee490468 Move wchar/custom char overloads to xchar.h 2021-06-05 22:57:45 -07:00
Victor Zverovich
e77b22d6da Deprecate memory buffer overload of format_to 2021-06-05 14:58:36 -07:00
Victor Zverovich
4678192c88 Remove bsr2log10 2021-06-04 21:33:05 -07:00
Victor Zverovich
7c3d3dfa29 Update thousands_sep_impl signature 2021-06-04 21:12:47 -07:00
Victor Zverovich
5223f552c8 Remove FMT_ALWAYS_INLINE 2021-06-04 20:29:54 -07:00
Victor Zverovich
cfde93afe0 Add FMT_STATIC_CONSTEXPR 2021-06-04 16:50:09 -07:00
Cristi
986a5a6c2c Fixed join_view formatter for wchar_t 2021-06-04 14:50:45 -07:00
Tobias Ribizel
7c8b35ff32 fix MSVC Win32 count_digits 2021-06-04 11:06:25 -07:00
Victor Zverovich
3eeb084e71 Optimize count_digits 2021-06-04 09:14:58 -07:00
Victor Zverovich
2ac0bfe59e Improve handling of thousands separator 2021-06-04 06:12:44 -07:00
Victor Zverovich
f4c95f6dd9 Improve handling of thousands separator 2021-06-03 18:25:08 -07:00
Victor Zverovich
0eef389ddb Code style 2021-06-03 18:25:08 -07:00
Victor Zverovich
11addaa16e Update docs 2021-06-03 06:24:17 -07:00
Victor Zverovich
290d3f8b61 Cleanup ranges API 2021-06-02 17:06:02 -07:00
Victor Zverovich
d142579e97 Cleanup the format API 2021-06-02 16:25:21 -07:00
Владислав Щапов
f286139d22 Fix "undefined reference to `fmt::v7::detail::basic_data<void>::digits'"
Remove unused FMT_EXTERN_TEMPLATE_API
2021-06-02 14:33:17 -07:00
Victor Zverovich
a04e3a2dc8 Comment 2021-06-01 20:47:16 -07:00
Victor Zverovich
87876d5474 Cleanup the printf implementation 2021-06-01 20:32:56 -07:00
Victor Zverovich
d338d66324 Cleanup the printf implementation 2021-06-01 19:30:46 -07:00
Victor Zverovich
272660e704 Remove deprecated printf functions 2021-06-01 18:08:31 -07:00
Victor Zverovich
ad97258915 Merge branch 'master' of github.com:fmtlib/fmt 2021-06-01 13:38:26 -07:00
Victor Zverovich
ed2a6377e7 Workaround msvc constexpr issues 2021-06-01 13:32:44 -07:00
Alexey Ochapov
9976869549 fix custom types formatting at compile-time, add test 2021-06-01 11:16:05 -07:00
Victor Zverovich
8c1b22ba6d Workaround a gcc 9.1 bug (#2334) 2021-06-01 06:43:30 -07:00
Daniela Engert
d7ba6c3ea8
Use qualified name-lookup in module. (#2324)
Allow lookup of non-exported names from local classes in function templates.
2021-05-31 09:11:24 -07:00
Victor Zverovich
11a14db286 Update format_to taking a buffer and remove undocumented vformat_to overload 2021-05-30 07:57:51 -07:00
Victor Zverovich
832ec098fc Fix argument order in locale overload of vformat_to (#2327) 2021-05-30 06:42:09 -07:00
Victor Zverovich
486a80e8ef Move wchar_t overloads to xchar.h 2021-05-30 06:41:39 -07:00
Victor Zverovich
5a2b88f6e9 Reduce binary size 2021-05-29 16:45:43 -07:00
Daniela Engert
00a39ad5f8
Enable Char types other than char (#2323) 2021-05-29 11:42:16 -07:00
Victor Zverovich
ff37e41625 wchar.h -> xchar.h because it handles other code unit types too 2021-05-29 09:37:17 -07:00
Victor Zverovich
0901176fe4 arg_join -> join_view 2021-05-29 08:47:16 -07:00
Victor Zverovich
a9a9018191 Move wmemory_buffer to wchar.h 2021-05-29 08:26:04 -07:00
Victor Zverovich
9d67988aed FMT_DEPRECATED_WCHAR -> FMT_DEPRECATED_INCLUDE_WCHAR 2021-05-29 06:41:07 -07:00
Daniela Engert
126c8cb46b
Export os.h API, too (#2318) 2021-05-28 09:27:45 -07:00
Matthias Liedtke
98b9ff47a1
Align hex floats right as default (#2317) 2021-05-28 09:21:01 -07:00
Liedtke
a70a4ae053
Ignore zero-padding for non-finite floating points (#2310)
* Ignore zero-padding for non-finite floating points

* keep width for non-finite formatting with 0-padding

* clang-format

* preserve alignment

* align code-style
2021-05-27 14:13:05 -07:00
Victor Zverovich
4e21baff43 Simplify get_units 2021-05-26 18:26:00 -07:00
John Melas
ca466374bd
qualify make_format_args (#2315)
Co-authored-by: John Melas <john@jmelas.gr>
2021-05-26 06:42:02 -07:00
Victor Zverovich
5a2a185682 Make buffers non-movable 2021-05-25 17:30:17 -07:00
Alexey Ochapov
ee52a6dc40
add fmt::print() overload to support compiled format (#2304) 2021-05-25 14:54:56 -07:00
sven-herrmann
82607efb57
Fixed int conversion warning (#2313)
* Fixed int conversion warning

Compiler warns about conversion from int to size_t, thus added explicit cast.

* now using detail::to_unsigned for the cast
2021-05-25 08:13:39 -07:00
Victor Zverovich
35a2c2a743 Refactor chrono formatting 2021-05-25 06:57:47 -07:00
Victor Zverovich
b955e7a6b2 Refactor chrono formatting 2021-05-24 15:33:33 -07:00
Victor Zverovich
883d9595c5 Support alternative locale names in tests 2021-05-24 14:09:19 -07:00
Victor Zverovich
1cd9899cf3 Add initial support for weekday formatting 2021-05-24 10:21:34 -07:00
Victor Zverovich
dd8f38fcbb Cleanup printf API 2021-05-23 20:30:26 -07:00
Victor Zverovich
a216f2562d Remove undocumented and obsolete vprintf overload 2021-05-23 20:15:02 -07:00
Victor Zverovich
0c0926395d Add is_exotic_char trait 2021-05-23 19:50:17 -07:00
Daniela Engert
8ec0b9e33b Do *not* export namespace detail 2021-05-23 06:49:07 -07:00
Victor Zverovich
703005c8ba Deprecate locale.h 2021-05-22 10:21:17 -07:00
Victor Zverovich
51f0178625 Cleanup the format API 2021-05-22 07:09:09 -07:00
Victor Zverovich
5d59dcf66e Remove deprecated aliases / undeprecate has_formatter 2021-05-22 06:53:34 -07:00
Victor Zverovich
c242dd402c Move cerrno include to where it is used 2021-05-22 06:18:40 -07:00
Victor Zverovich
1c83a49be9 Simplify buffer extraction 2021-05-21 20:15:56 -07:00
Victor Zverovich
2617384d8e Improve buffer extraction 2021-05-21 19:44:49 -07:00
Victor Zverovich
34b8acaef7 More wchar_t-specific API to wchar.h 2021-05-21 18:24:39 -07:00
Victor Zverovich
6326c18906 Improve code style consistency 2021-05-21 17:29:15 -07:00
Matthew Gilbert
5c4b0c86fb Add missing Allocator template argument for basic_memory_buffer in format_to
Remove deduced default template arguments in format_to and moves the
SFINAE check to a non-deduced template parameter.
2021-05-21 12:13:46 -07:00
Victor Zverovich
00149c0b6a Move detail::null to chrono where it is used 2021-05-21 09:16:45 -07:00
Victor Zverovich
c5c968cb22 Improve binary size 2021-05-21 08:50:35 -07:00
Victor Zverovich
18af1dc460 Fix binary size regression caused by b268f88 2021-05-20 18:33:45 -07:00
Victor Zverovich
d1e6f0f8c6 Fix binary size regression caused by b268f88 2021-05-20 18:00:19 -07:00
Daniela Engert
6e2e6b796f Restore support for wchar_t overloads in module 2021-05-20 10:03:58 -07:00
Victor Zverovich
24b677d053 Improve symbol sizes 2021-05-20 07:21:20 -07:00
Victor Zverovich
63271a51c4 Fix ADL issues 2021-05-20 06:31:43 -07:00
Victor Zverovich
61b4c923d7 Reduce code bloat 2021-05-20 05:51:45 -07:00
Michael Winterberg
2a2e4c5801 addressing nits. 2021-05-19 16:09:49 -07:00
Michael Winterberg
be48f4d657 Avoid unwanted sign extensions from MSVC in is_utf8.
Microsoft's constexpr evaluator treats the type of micro[0] and micro[1] as
plain char, and so sign extends before comparing them to ints.
The normal compiler, including the optimizer, does not fail in this way,
so this is merely a "future proof" change in case someone uses is_utf8()
in a constant expression.
2021-05-19 16:09:49 -07:00
Sergiu Deitsch
13e652939b export missed symbols
Enable `-fvisibility=hidden` and `-fvisibility-inlines-hidden` by default in CI builds to ensure all public symbols are exported correctly.
2021-05-19 16:03:45 -07:00
Jessy De Lannoit
71fb113818 fix compile error on msvc preview 4 (16.10) involving lookup clash /w STL 2021-05-19 13:17:20 -07:00
Victor Zverovich
08d22503bb Remove outdated comments 2021-05-19 11:47:21 -07:00
Victor Zverovich
95c358f721 Improve separation between code unit types 2021-05-19 09:06:57 -07:00
Victor Zverovich
39c3c4ec22 Simplify the core API 2021-05-19 08:32:57 -07:00
Victor Zverovich
e9c1c415b8 Improve compile-time checks 2021-05-19 07:57:57 -07:00
Victor Zverovich
21d93bfd33 Move generic format functions to format.h 2021-05-18 19:01:43 -07:00
Victor Zverovich
9a92eb4158 Move more wchar overloads to wchar.h 2021-05-18 05:53:25 -07:00
Victor Zverovich
0dd91e20d5 Add wchar.h for wide char overloads 2021-05-17 21:59:10 -07:00
Victor Zverovich
ce14eafc24 Simplify format string checks 2021-05-17 19:25:50 -07:00
Victor Zverovich
8d70c0edab Refactor the format API 2021-05-17 18:25:36 -07:00
Victor Zverovich
813ac49543 More API cleanups 2021-05-17 07:58:13 -07:00
Victor Zverovich
4ab01fb198 Cleanup printf API 2021-05-17 07:19:50 -07:00
Victor Zverovich
d5036b11b1 Remove deprecated APIs 2021-05-17 06:59:46 -07:00
Victor Zverovich
2581946231 Cleanup the core API 2021-05-16 13:02:01 -07:00
Victor Zverovich
b35db4e006 Improve handling of 128-bit ints 2021-05-16 11:43:44 -07:00
Victor Zverovich
d35f1ad5c1 Cleanup core 2021-05-16 10:02:33 -07:00
Victor Zverovich
8f1902c05a Move format string checks to core.h 2021-05-16 07:08:49 -07:00
Daniela Engert
6469b9037c Silence msvc warning about an unused named parameter
Warning C4100 may cause compile failures under strict warning regimes.
2021-05-16 06:14:30 -07:00
Daniela Engert
5466373a11 Do *not* export namespace detail
Introduce `FMT_BEGIN_DETAIL_NAMESPACE` and `FMT_END_DETAIL_NAMESPACE` for `namespace detail` sections embedded in that part of the code that contains all declarations that are exported from the module, i.e. which is enclosed by `FMT_MODULE_EXPORT_BEGIN` and `FMT_MODULE_EXPORT_END`. Given a correct implementation of C++20 modules, neither the name `fmt::detail` nor any of its contents will become visible outside of the module.
2021-05-15 12:08:42 -07:00
Victor Zverovich
588bdb5404 Simplify get_arg_index_by_name 2021-05-15 06:47:43 -07:00
Alexey Ochapov
54f22a3eef add support for statically named arguments with FMT_STRING 2021-05-14 16:31:10 -07:00
Daniela Engert
ea94d6d93c Prevent ambiguity in name lookup
Unqualified calls to 'make_format_args' may find the same name by ADL in <format> if this C++20 header happens to be directly or indirectly included in a translation unit. Do a qualified lookup instead.
2021-05-14 07:10:02 -07:00
Victor Zverovich
57280762b6 Move specs checker to core.h 2021-05-13 19:33:09 -07:00
Victor Zverovich
ced3037523 Move dynamic specs to core.h 2021-05-13 19:01:21 -07:00
Victor Zverovich
dd2bc998ab Move specs to core.h 2021-05-13 18:48:15 -07:00
Victor Zverovich
08da1adcf6 Remove unused headers 2021-05-13 17:58:15 -07:00
Victor Zverovich
3be0cc2087 Fix handling of 128-bit ints 2021-05-13 17:53:23 -07:00
Victor Zverovich
d1aebdbde0 Inline format_to 2021-05-12 18:07:59 -07:00
Victor Zverovich
02896dabee Avoid use after move (#2278) 2021-05-11 16:58:07 -07:00
Владислав Щапов
0036a1d195 Fix issue #2274. 2021-05-10 15:57:23 -07:00
Владислав Щапов
2a9b314627 Replace fmt::error_code to std::error_code 2021-05-09 12:26:19 -07:00
Victor Zverovich
4862930845 Optimize format string compilation 2021-05-09 09:15:55 -07:00
Victor Zverovich
3207a8bbbf Get rid of unnecessary recursion to enable inlining 2021-05-09 07:54:13 -07:00
Victor Zverovich
6214f15a0c Optimize standard formatter specialization 2021-05-09 07:11:35 -07:00
Victor Zverovich
cd2c78fb8a Use write directly in formatter specializations 2021-05-09 07:07:51 -07:00
Владислав Щапов
4211d86539 Add a formatter specialization for std::error_code. 2021-05-09 06:29:39 -07:00
Victor Zverovich
84feeb0f36 Remove redundant comments and put common case check first 2021-05-07 17:14:29 -07:00
Victor Zverovich
d0abe7c246 Make chrono formatting locale-independent by default 2021-05-07 16:14:10 -07:00
Victor Zverovich
50fb0b5eae Fix formatting 2021-05-07 08:52:49 -07:00
Victor Zverovich
16f2ef91ab Replace fmt::system_error with std::system_error 2021-05-07 08:33:39 -07:00
Victor Zverovich
4b885c8633 Replace windows_error with system_error 2021-05-07 06:19:03 -07:00
Victor Zverovich
5238055f40 Move esoteric char type support to format.h 2021-05-06 09:02:00 -07:00
Victor Zverovich
849c9f6168 Move is_name_start to core 2021-05-06 08:12:24 -07:00
Victor Zverovich
23892caf53 Move more parsing to core 2021-05-06 07:37:40 -07:00
Victor Zverovich
8e6390c32c Move FMT_STRING to core 2021-05-06 07:19:41 -07:00
Victor Zverovich
51a33713fc Move parsing to core 2021-05-06 07:01:29 -07:00
Victor Zverovich
9d7b53cb9b Remove redundant formatter specialization for byte 2021-05-05 08:14:12 -07:00
Victor Zverovich
f0095ccd34 Add support for ranges of types without formatters to join (#2262) 2021-05-05 07:43:46 -07:00
Victor Zverovich
4f0eadfce4 Exclude fallback from is_formattable 2021-05-05 06:29:51 -07:00
Victor Zverovich
400b953fbb Use [] instead of {} in ranges for consistency with Python format 2021-05-04 21:04:21 -07:00
Victor Zverovich
38bcc04a11 Drop range limit and cleanup tests 2021-05-04 20:53:56 -07:00
Victor Zverovich
9155e2de4c Cleanup tests 2021-05-01 17:11:45 -07:00
Victor Zverovich
c9c0e5077d Cleanup tests 2021-04-30 06:42:38 -07:00
Victor Zverovich
ccf4ccde23 Cleanup tests and format string compilation 2021-04-29 19:50:04 -07:00
Victor Zverovich
e96a92f869 Cleanup tests and format string compilation 2021-04-29 16:21:08 -07:00
Daniela Engert
342973b349 Make wchar_t overloads usable in module
Bring ''detail::find()' into scope.
2021-04-28 09:37:57 -07:00
Victor Zverovich
355be4b13f Make FMT_COMPILE fallback on runtime without if constexpr (#2261) 2021-04-28 09:11:47 -07:00
Владислав Щапов
0cd0fb9184 C++17: std::char_traits<>::{compare,length} is constexpr - v2 2021-04-28 07:05:32 -07:00
Daniela Engert
d1a6e5603f Keep defaulted destructors inline
applies to exception classes in case of msvc only
2021-04-28 06:17:26 -07:00
Victor Zverovich
84a36b99bf Move data to functions 2021-04-27 17:21:32 -07:00
Victor Zverovich
ab7c33ede0 Suppress checked iterator warnings 2021-04-27 13:54:39 -07:00
Alexey Ochapov
77258f6069 fix FMT_CONSTEXPR_CHAR_TRAITS check for MSVC 2021-04-26 16:35:32 -07:00
Alexey Ochapov
f085c3d7a0 use proper check for non-type template parameters 2021-04-26 16:35:32 -07:00
Victor Zverovich
69bdc20a3c Workaround missing std::system on iOS, take 2 2021-04-26 06:21:44 -07:00
Alexey Ochapov
1678ed6235 simplify field::format() and spec_field::format(), fix typo 2021-04-25 07:53:49 -07:00
Alexey Ochapov
ca821982ee use named arg with static name in compile-time API
to get arg index by name at compile-time
2021-04-25 07:53:49 -07:00
Alexey Ochapov
ce6e7d8620 use fixed_string to create named arg class with static name for _a literal 2021-04-25 07:53:49 -07:00
Alexey Ochapov
fc56af14c2 move fixed_string from compile.h to format.h 2021-04-25 07:53:49 -07:00
Victor Zverovich
8f9ddf452d Remove deprecated posix.h 2021-04-24 07:03:11 -07:00
Daniela Engert
d3c523e0d2 Export printf-related contexts from printf.h 2021-04-24 06:39:57 -07:00
Daniela Engert
2c25df089f Export replacement type_traits, too 2021-04-24 06:39:57 -07:00
Victor Zverovich
553022dc56 Don't use std::system on iOS (#2248) 2021-04-24 06:17:05 -07:00
Victor Zverovich
8a040d187a Cleanup core-test 2021-04-23 20:07:48 -07:00
Victor Zverovich
064cac2bf9 Bump version 2021-04-23 16:05:03 -07:00
Victor Zverovich
5b2c740ad8 Remove deprecated APIs 2021-04-23 15:27:25 -07:00
Victor Zverovich
b9ab5c8836 Remove printf.h dependency on ostream.h 2021-04-23 10:42:57 -07:00
Victor Zverovich
c47f211296 Simplify data handling 2021-04-23 06:52:10 -07:00
Victor Zverovich
54d3b1710e Move more data out of basic_data 2021-04-23 06:45:23 -07:00
Vladislav Shchapov
128f007b25
C++17: std::char_traits<>::{compare,length} is constexpr. (#2246) 2021-04-23 06:11:34 -07:00
Victor Zverovich
841aad95b4 Move data out of basic_data 2021-04-22 15:29:42 -07:00
Alexey Ochapov
1d4199f46b
fix udl_compiled_string with non-byte chars (e.g. wchar) (#2242) 2021-04-19 08:29:35 -07:00
yumeyao
c5d4fcb119
Appending a space to guarantee non-empty strftime() result. (#2244) 2021-04-18 19:13:51 -07:00
Victor Zverovich
6271406233 Fix a warning (#2233) 2021-04-16 15:58:17 -07:00
denchat
52bd62c72f
Create separate dllexport marking points for clang and msvc. (#2229)
* add FMT_INSTANTIATION_DEF_API for msvc

This should fix https://github.com/fmtlib/fmt/issues/2228

To fix difference dllexport requirements
msvc:  dllexport at template instantiation definition in format.cc
clang: dllexport at template instantiation declaration (extern template) in format.h
2021-04-16 12:34:18 -07:00
Daniela Engert
f4bbc54cc4
Tag official API for module export (#2235)
* functions
 * classes
 * UDLs
 * other declarations

Export everything in namespace 'fmt' from core.h and format.h
2021-04-16 11:04:55 -07:00
Daniela Engert
d8910af80d
Use qualified name lookup rather than ADL. (#2239)
Name lookup within exported templates cannot find non-exported entities by ADL when instantiation takes place outside the module.
2021-04-16 09:38:25 -07:00
crbrz
9260114162
Ranges wide strings support (#2236)
* Ranges copy wchar_t

* arg_join formatter not working for wide strings

* Added ranges wide string tests

Co-authored-by: Cristi <cristi@emailaddressmanager.com>
2021-04-16 06:25:35 -07:00
denchat
42eccac454
Fix clang warning about ignoring __declspec(dllexport) on basic_data<void> template instantitation definition (#2220) 2021-04-12 09:31:44 -07:00
Victor Zverovich
99c2f7a349 Allow including fmt/core.h in the header-only mode 2021-04-10 07:44:36 -07:00
Elliot
78776ee4e2
Fix a conditional expression is constant warning #2210 (#2211) 2021-04-07 10:42:11 -07:00
jstaahl
266107f57c
constexpr uint128_wrapper (#2215)
* constexpr uint128_wrapper

* change FMT_CONSTEXPR to constexpr

* clang format

Co-authored-by: Jake Staahl <jstaahl@snapchat.com>
2021-04-06 22:07:01 -07:00
Alexey Ochapov
2e0d64cf2f specify size for prefixes static data 2021-04-06 17:07:14 -07:00
Victor Zverovich
95da484727 Fix a link 2021-04-03 09:14:52 -07:00
Victor Zverovich
06b3a1000c Add support for time points with arbitrary durations (#2208) 2021-04-02 11:17:14 -07:00
Victor Zverovich
dac42f52b2 Inline fallback is_constant_evaluated 2021-04-01 10:42:09 -07:00
Victor Zverovich
7c43f8b896 Don't use strlen at compile time (#2205) 2021-04-01 10:04:21 -07:00
Jason Cobb
c62e4c30f4 Make buffer_appender default-constructible when back_insert_iterator is 2021-04-01 09:52:44 -07:00
Victor Zverovich
15c10b0c66 Add speech synthesis support 2021-04-01 09:19:36 -07:00
Billy Donahue
308510eb4f "Use" fwrite result (workaround for warn_unused_result)
Fixes #2185
2021-03-31 08:31:35 -07:00
Victor Zverovich
b49af043d7 Remove noexcept from file's move assignment 2021-03-30 09:51:25 -07:00
vtta
14848875bf
Fix: fmt::ostream cannot be moved while holding buffered data #2197 (#2198)
* Add a test case: move ostream while holding data

* Fix moving ostream while holding data

Co-authored-by: Junliang HU <jlhu@cse.cuhk.edu.hk>
2021-03-30 08:43:26 -07:00
Victor Zverovich
b966afcc7a Remove formattable 2021-03-28 14:21:12 -07:00
Victor Zverovich
ec5315a987 Use strlen when possible in fallback basic_string_view 2021-03-28 08:01:55 -07:00
Victor Zverovich
4f8778bab9 Inline basic_format_args's ctor 2021-03-28 07:32:17 -07:00
Yaser Afshar
e2d87548f8 user-defined constructor
user-defined constructor added to prevent Intel compilers
warnings. According to the standard, objects need to have a
user-defined constructor if instances are delcared const.
2021-03-28 06:56:14 -07:00
Yaser Afshar
f7151d384b Extra flag to prevent Intel compiler with Clang front-end warning of 'unknown attribute no_sanitize' 2021-03-28 06:56:14 -07:00
Victor Zverovich
0fb8ef8f79 Inline trivial argument handling functions 2021-03-27 19:05:39 -07:00
Victor Zverovich
1b23e25f95 Simplify formattability check 2021-03-27 18:57:18 -07:00
Victor Zverovich
35c71ff536 Only use -Og with optimizations disabled 2021-03-27 11:35:01 -07:00
Victor Zverovich
243d8bebd1 Enable minimal optimizations in debug mode 2021-03-27 08:40:07 -07:00
Chris White
9b34681d97
Work around xl compiler bug when nvcc preprocesses this file (#2190) 2021-03-27 06:05:49 -07:00
Victor Zverovich
9cb347b4b2 Simplify argument formatters 2021-03-21 09:31:46 -07:00
Ryan Sherlock
0f85a4683a
add default cases (#2186)
Adding default case for switch statements where the compilation
flag -Wswitch-default is present on the command line when spdlog
is included in external projects.

Signed-off-by: Ryan Sherlock <ryan.m.sherlock@gmail.com>
2021-03-19 16:56:52 -07:00
Victor Zverovich
417e1cee9e Stop using deprecated UDL templates 2021-03-19 08:34:55 -07:00
Victor Zverovich
f7e900e12e Simplify UDL definitions 2021-03-19 08:10:58 -07:00
Victor Zverovich
d9661c8f3b Mark grouping as deprecated 2021-03-19 07:54:57 -07:00
Victor Zverovich
14a2a64df4 Fix handling of formattable types with to_string_view (#2181) 2021-03-19 06:43:38 -07:00
Victor Zverovich
6ae402fd0b Fix handling of types with to_string_view and formatter specialization (#2180) 2021-03-18 11:25:43 -07:00
Victor Zverovich
1147782c79 Fix an ambiguous call to check caused by ADL (#2184) 2021-03-17 20:59:36 -07:00
VZ
2f3f3862fa
Fix harmless MSVS warning about using undefined _MANAGED symbol (#2183)
Since the changes of 1305cbeb (Fix MSVC2019 error C2049 when compiling
with /clr (#1897), 2020-09-23), compiling fmt with MSVS 2019 resulted in

fmt\include\fmt\core.h(180,32): warning C4668: '_MANAGED' is not defined
as a preprocessor macro, replacing with '0' for '#if/#elif'.

when the (disabled by default) warning C4668 was enabled.

Fix this simply by checking if _MANAGED is defined before testing it.
2021-03-17 11:21:50 -07:00
Brainy0207
d0bded5988
Fix MSVC /clr builds (#2179) 2021-03-15 08:17:28 -07:00
Victor Zverovich
8308f52c2a Fix dynamic_format_arg_store::push_back comment 2021-03-15 07:10:28 -07:00
Victor Zverovich
5a1127b726 Don't wrap named arg in cref and clarify docs 2021-03-14 09:08:08 -07:00
moiwi
b8ff3c1820
optimize append (#2164) 2021-03-13 07:21:23 -08:00
Alexey Ochapov
c8d8b88223
fix GCC 7,8,9 warning about unused but set parameter (#2177) 2021-03-13 06:36:53 -08:00
Victor Zverovich
bac14ef985 Simplify integer spec checking 2021-03-12 15:02:01 -08:00
Victor Zverovich
8f9db3fcb8 Make ubsan happy on empty format specs (#2175) 2021-03-12 09:13:47 -08:00
Victor Zverovich
af567538a0 Bitpack integral prefixes 2021-03-11 21:22:33 -08:00
Victor Zverovich
cdf877d4b1 Workaround missed optimization opportunity 2021-03-11 16:44:59 -08:00
Victor Zverovich
eef4ba9c02 Optimize integer formatting without padding 2021-03-11 15:47:58 -08:00
Victor Zverovich
a1ea8a82c3 Unbloat my heart 2021-03-11 08:27:53 -08:00
Victor Zverovich
a457e16360 Simplify integer formatter 2021-03-11 08:14:03 -08:00
Victor Zverovich
05bc87a66f Optimize padding 2021-03-10 17:59:36 -08:00