Commit Graph

525 Commits

Author SHA1 Message Date
Victor Zverovich
50b18a3c10 Integrate Grisu 2018-10-14 14:33:25 -07:00
Victor Zverovich
4bb76ef0c7 Remove redundant definition of print 2018-10-13 11:15:46 -07:00
Victor Zverovich
ddd7caf38e Fix locale-dependent formatting (#905) 2018-10-13 11:15:41 -07:00
Victor Zverovich
08a65c2282 Workaround broken constexpr in MSVC2017 2018-10-11 06:38:25 -07:00
Victor Zverovich
57983423c3 Remove signbit workaround 2018-10-10 09:41:46 -07:00
superfunc
939fbe5567 Remove basic_fixed_buffer.
Issue #873 indicates that this class is no longer required,
as it has been superseded by a new API.

Fixes #873
2018-10-09 06:51:01 -07:00
Victor Zverovich
2b5acad4a9 Remove redundant size argument to write_padded 2018-10-07 12:45:34 -07:00
Victor Zverovich
655ce53383 is_format_string -> is_string 2018-10-07 12:45:22 -07:00
Victor Zverovich
f5480635c0 visit -> visit_format_arg 2018-10-05 07:15:41 -07:00
Victor Zverovich
38325248e5 Count width in code points (#628) 2018-10-03 20:09:46 -07:00
Daniela Engert
deb901b9e4 Parameterize core functions on the type of the format string.
Take #2 of n

Signed-off-by: Daniela Engert <dani@ngrt.de>
2018-10-03 14:19:08 -07:00
Victor Zverovich
3f4cfa6c60 Implement UTF-8 string support 2018-09-30 15:45:58 -07:00
Victor Zverovich
f8027414f5 Impelement char8_t support 2018-09-30 12:31:25 -07:00
Victor Zverovich
76a47d41c8 Cleanup the use of FMT_CHAR 2018-09-30 08:45:57 -07:00
Victor Zverovich
5bced12421 Parameterize more functions on string type 2018-09-30 08:02:19 -07:00
Victor Zverovich
e4fea22d15 Make char8_t a strongly-typed enum 2018-09-30 07:11:37 -07:00
Victor Zverovich
66992e90d2 Clarify that writing to memory_buffer appends (#877) 2018-09-28 06:22:12 -07:00
Guillaume Fraux
e864acfdbd Fix compilation with intel compilers (ICC/ICPC) v14.0 2018-09-27 07:11:23 -07:00
Daniela Engert
4cf21f58b2 constrain templated format_to on proper format string type.
Signed-off-by: Daniela Engert <dani@ngrt.de>
2018-09-26 21:05:47 -07:00
Victor Zverovich
d7f17613f5 Fix compilation on platforms with exotic double (#878) 2018-09-26 08:45:34 -07:00
Victor Zverovich
e4ca37ccf6 Parameterize format_to on string type (#880) 2018-09-25 07:47:15 -07:00
Victor Zverovich
d66fa2216e Reduce syntactic noise 2018-09-23 14:31:14 -07:00
Daniela Engert
73c53d7833 Parameterize 'printf(rgb color, ...)' and 'vprint_rgb(rgb color, ...)' on the type of the format string.
Signed-off-by: Daniela Engert <dani@ngrt.de>
2018-09-23 09:15:27 -07:00
Victor Zverovich
ff6e46ed97 More cleanup 2018-09-22 16:00:34 -07:00
Victor Zverovich
715f2b4c00 Remove require_wchar and internalize no_formatter_error 2018-09-21 18:25:24 -07:00
Victor Zverovich
cb122a4d03 Fix format_to formatting to wmemory_buffer 2018-09-21 09:48:21 -07:00
Candy Gumdrop
9d8021f0d6 Add checks for NVIDIA's CUDA compiler
- Disable templated user-defined literals when compiled under nvcc

Similarly to Intel's C++ compiler, nvcc fails to compile templated UDLs
as they both share the same parsing engine (EDG C++ Front End).  This
fixes building CUDA programs which make use of fmt.
2018-09-21 06:55:45 -07:00
Victor Zverovich
3f4984fb36 Clean core-test and fix linkage errors on older gcc 2018-09-19 12:24:38 -07:00
Victor Zverovich
59f555ad8f Workaround more visit lookup issues on gcc 2018-09-15 08:46:12 -07:00
Victor Zverovich
66381e308d Minor cleanup 2018-09-13 07:37:50 -07:00
Victor Zverovich
1fb1c4c912 Update docs 2018-09-13 07:20:43 -07:00
Victor Zverovich
fbca830dd1 Update changelog, readme and improve compat 2018-09-12 12:44:04 -07:00
Victor Zverovich
bc26fbf1b0 Move experimental color API to fmt/color.h 2018-09-12 09:04:26 -07:00
Victor Zverovich
97cc889374 Workaround a visit lookup issue in gcc 8 (#851) 2018-09-12 08:45:14 -07:00
Victor Zverovich
7110b46076 Optimize default formatting 2018-09-12 08:45:14 -07:00
Victor Zverovich
6ffc828a79 Phasing out null_terminating_iterator 2018-09-10 06:51:38 -07:00
Victor Zverovich
aeb6add336 Skip strchr for the common case 2018-09-09 09:08:41 -07:00
Victor Zverovich
5614289dd8 Optimize and simplify format string parsing 2018-09-09 08:41:27 -07:00
Victor Zverovich
a3ba6b4f62 Disable the fmt(...) macro by default (#853) 2018-09-08 09:55:41 -07:00
Victor Zverovich
8671689449 Update docs and formatting 2018-09-08 09:06:54 -07:00
Victor Zverovich
2117775747 Micro-optimize parsing 2018-09-05 07:10:50 -07:00
Victor Zverovich
be0e268468 Optimize processing of trailing '}' 2018-08-31 15:34:31 -07:00
Victor Zverovich
fbc38b9083 Pass heavy arguments by ref 2018-08-31 15:17:18 -07:00
Victor Zverovich
1489d3b7fa Implement exponential notation 2018-08-29 18:55:57 -07:00
Victor Zverovich
dd8c5ce442 Implement more FP formatting options 2018-08-29 09:34:57 -07:00
Victor Zverovich
e483a01a0f Implement some formatting options in Grisu 2018-08-27 17:51:49 -07:00
Victor Zverovich
f51080916e Revert "Implement some formatting options in Grisu"
This reverts commit 2a952dd0b2.
2018-08-27 17:51:27 -07:00
Victor Zverovich
2a952dd0b2 Implement some formatting options in Grisu 2018-08-26 09:51:49 -07:00
Victor Zverovich
0de44a469a Implement exponent formatting 2018-08-26 08:12:35 -07:00
Victor Zverovich
f0d0a1ebd7 Implement Grisu2 digit generation 2018-08-25 20:45:50 -07:00
Victor Zverovich
569ac91e0b Implement Grisu boundary computation 2018-08-25 11:39:38 -07:00
Victor Zverovich
62010520ed Disable gnu-string-literal-operator-template warning 2018-08-22 08:12:59 -07:00
Elias Daler
18400503da Fix C4127 warning in basic_writer<Range>::write_double 2018-08-17 07:36:38 -07:00
Victor Zverovich
9de312112a Reformat and add a comment 2018-08-15 06:54:43 -07:00
medithe
4b868b8922 Re-enable compile-time format-string checking
Since the commit 691a7a9 compile-time string checking was accidently not possible anymore.
With this change, it should be possible again.
2018-08-07 07:43:47 -07:00
Victor Zverovich
4061a0d35d Parameterize vformat to support custom char types 2018-08-05 10:44:59 -07:00
Victor Zverovich
c68bab7014 Remove broken fmt::internal::format_enum (#818) 2018-08-01 07:11:53 -07:00
Victor Zverovich
c684349195 Move contiguous version of format_to to fmt/core.h 2018-07-22 18:09:22 -07:00
Victor Zverovich
ffe414cad1 Add compile-time format string checks to format_to (#783) 2018-07-22 15:30:51 -07:00
Victor Zverovich
c178ab440f Remove FMT_USE_RVALUE_REFERENCES 2018-07-22 15:07:53 -07:00
Victor Zverovich
35538ca66c Merge more format overloads 2018-07-22 12:24:47 -07:00
Victor Zverovich
4f16409730 Merge format overloads using SFINAE 2018-07-22 08:06:42 -07:00
Victor Zverovich
2a4e948864 Add UTF-8 types 2018-07-22 06:36:21 -07:00
Victor Zverovich
48dff9f3c5 Update docs 2018-07-18 06:44:46 -07:00
Victor Zverovich
8615ff2acc Micro-optimize argument retrieval 2018-07-15 07:28:31 -07:00
Victor Zverovich
e7e9578ed4 Optimize format string parsing 2018-07-14 14:27:56 -07:00
Victor Zverovich
c99a259739 Mark new functions with FMT_API (#808) 2018-07-14 07:43:16 -07:00
Henry Schreiner
9c32e73abf Fixing return unreachable warning on NVCC 2018-07-09 21:33:10 -07:00
Victor Zverovich
f66ba6508a Optimize format string parsing 2018-07-08 10:15:24 -07:00
Victor Zverovich
f21268aa72 Revert "Optimize format string parsing" because of a bug in MSVC
https://godbolt.org/g/rpiDgh

This reverts commit f9e9bf0231.
2018-07-08 08:08:50 -07:00
Victor Zverovich
f9e9bf0231 Optimize format string parsing 2018-07-07 16:50:22 -07:00
Victor Zverovich
479ee2a8c6 Fix MSVC build, take 2 2018-07-04 14:24:07 -07:00
Victor Zverovich
e928b6724c Fix MSVC 2013 build 2018-07-04 12:33:15 -07:00
Dhruv Paranjape
ec218a3ad1 Fix redefinition warning for RESET_COLOR 2018-07-04 07:52:19 -07:00
Victor Zverovich
c04fb91b03 Fix handling of user-defined types in format_to (#793) 2018-07-04 07:40:56 -07:00
Jonathan Müller
c6d9730ddb
Fix sign conversion warnings (#790) 2018-06-27 14:31:20 +02:00
Victor Zverovich
2e95823ef7 Move new color support to format.h and mark old as deprecated 2018-06-24 06:39:22 -07:00
Victor Zverovich
ab2d88ca8e Make format_to work with basic_memory_buffer (#776) 2018-06-23 08:29:26 -07:00
Victor Zverovich
3abd036c47 Fix compilation on gcc 4 2018-06-23 07:18:59 -07:00
Victor Zverovich
c2f3805488 Add vformat_to_n (#769) 2018-06-23 07:03:00 -07:00
Victor Zverovich
0508bbc7ae Add wchar_t overload of format_to_n (#764) 2018-06-13 08:24:32 +02:00
Remotion
47268ecd80 Fixed GCC version test 2018-06-10 20:35:38 +02:00
Victor Zverovich
1b8a7f8fa0 Fix postincrement in truncating and counting iterators 2018-06-07 20:20:36 +02:00
Victor Zverovich
fc6e0fe992 Fix FP formatting to a non-back_insert_iterator with sign & numeric alignment (#756) 2018-06-07 18:41:40 +02:00
Victor Zverovich
6322b47e60 Minor cleanup 2018-06-06 16:51:35 +02:00
Elias Kosunen
691a7a91a1 Add more compilers to CI and increase FMT_PEDANTIC warning levels (#736)
* Add a _lot_ more warnings to FMT_PEDANTIC
Fix these warnings

* Add more compilers to CI
Fix (some) of the compiler errors with them

* Enable -Werror on CI
Increase warning level on MSVC when compiling with FMT_PEDANTIC

* Add VS 2013 and 2015 to Appveyor

* Fix Appveyor tests
Formatting

* Implement requested changes
Fix some of the MSVC warnings
Implement C++11 integer_sequence

* Reintroduce appveyor-build.py

* Remove ranges-test from tests

* Remove (some) explicit warning suppressions
Fix C++ standard setting in CI

* Remove (some) explicit warning suppressions
Fix C++ standard setting in CI

* Fix test builds with C++11

* Enable pedantic warnings on tests

* Fix warnings from edits to master

* Cleanups

* Add C++11 support to ranges.h
Re-enable ranges-test
Fix a Visual Studio error about function not returning a value in printf.h
Fix a bug in .travis.yml
2018-06-06 15:57:59 +02:00
Victor Zverovich
d5c462596b Fix formatting of more than 15 named arguments (#754) 2018-06-05 08:32:28 +02:00
Victor Zverovich
252f11f85d Fix a bogus MSVC warning about unreachable code, take 2 2018-06-04 18:17:55 +02:00
Victor Zverovich
81d5663825 Fix more bogus MSVC warnings about unreachable code (#748) 2018-06-04 06:10:52 +02:00
Victor Zverovich
68f0ac8271 Fix a bogus MSVC warning about unreachable code 2018-06-03 08:03:56 +02:00
Victor Zverovich
b60a5c5d49 Improve floating-point formatting 2018-05-28 20:16:30 -07:00
Victor Zverovich
8dc2360b11 Fix a comment 2018-05-28 17:21:39 -07:00
Victor Zverovich
4e4b8570e5 Implement simple version of Grisu 2018-05-28 11:25:07 -07:00
Victor Zverovich
5c32aa411c Workaround a bug in MSVC 2018-05-27 11:18:27 -07:00
Victor Zverovich
468c243ca8 Add a function to get cached power of 10 2018-05-27 10:57:26 -07:00
Victor Zverovich
2f257b7291 Implement normalization and simplify power table 2018-05-27 08:04:30 -07:00
Victor Zverovich
e2cd521b8f Fix incorrect call to on_align in '{:}=' (#750) 2018-05-26 09:23:09 -07:00
Victor Zverovich
fba352a92a Don't use UDL templates on Intel C++ compiler (#742) 2018-05-26 08:07:45 -07:00
Victor Zverovich
936aba5f90 Fix compilation errors on gcc 4.4 2018-05-20 07:42:09 -07:00
Victor Zverovich
69823bf852 Improve naming consistency 2018-05-19 08:59:37 -07:00
Michael Winterberg
550ef1d29d MSVC improvements and data truncation cleanup.
MSVC is timid about evaluating constexpr functions unless it has to, so the "TYPES" variables end up in read-write memory even though the optimizer removes the initializer. Making TYPES constexpr causes MSVC to try harder to initialize these variables at compile time, which also ends up completely removing the (named) variable from the final compiled binary.
Fixed a data truncation warning being reported in ostream-test.
2018-05-17 18:46:31 -07:00
Victor Zverovich
728e4f5a8d Fix docs 2018-05-16 08:26:55 -07:00
Victor Zverovich
8c2557710d Update docs and changelog 2018-05-16 07:58:53 -07:00
Victor Zverovich
ad23270ec7 Document to_wstring 2018-05-13 09:11:29 -07:00
Victor Zverovich
838400d29b Add inline namespace fmt::v5 2018-05-12 11:02:15 -07:00
Victor Zverovich
46c374a8a9 Fix compilation with new gcc and -std=c++11 (#734) 2018-05-09 20:58:05 -07:00
Elias Kosunen
a4e4f74530 Fix a -Wundef when FMT_GCC_VERSION < 600 2018-05-09 06:09:25 -07:00
Victor Zverovich
7d3de49715 Implement double to fp conversion 2018-05-06 13:37:49 -07:00
Victor Zverovich
a4c7d99f70 Add bit_cast 2018-05-06 11:52:51 -07:00
Daniela Engert
2570f1afdc Provide more overloads for the wide string flavour
Signed-off-by: Daniela Engert <dani@ngrt.de>
2018-05-05 07:31:44 -07:00
Michael Winterberg
ca31ca13f1 Fixed arg_formatter_base::write_pointer to not mutate the format specs.
This fixes cases where arg_formatters are reused, like with arg_join.
2018-05-01 07:12:27 -07:00
Daniela Engert
6cd666100f remove trailing spaces.
Signed-off-by: Daniela Engert <dani@ngrt.de>
2018-05-01 07:10:05 -07:00
Victor Zverovich
fe19c266ce Move format_string to fmt namespace for ADL 2018-04-29 08:35:20 -07:00
Victor Zverovich
2768af2388 Add cached powers of 10 2018-04-29 06:33:05 -07:00
DanielaE
0efc8a1808 Fix compiler warning about narrowing
Signed-off-by: Daniela Engert <dani@ngrt.de>
2018-04-27 06:41:43 -07:00
Victor Zverovich
221b08fd8f Merge branch 'master' of github.com:fmtlib/fmt 2018-04-22 09:16:34 -07:00
Victor Zverovich
fa9066fe3e context_base::begin -> out 2018-04-22 09:16:32 -07:00
Elias Kosunen
90ff31b38e Fix a -Wundef warning on clang
Resolves #715
2018-04-22 09:13:55 -07:00
Victor Zverovich
cd90097ca4 Implement handmade FP 2018-04-21 17:26:24 -07:00
Victor Zverovich
822eccc3b8 Sync API with standards proposal 2018-04-21 14:29:24 -07:00
Victor Zverovich
e80aba1c2b Remove format_float stub 2018-04-14 12:40:53 -07:00
Victor Zverovich
7b8cb3135a Make context_base::args() public 2018-04-14 12:40:26 -07:00
Christian Parpart
48ae0506de fixes MSVC compiler warning bloat (Visual Studio 2017, latest updates) 2018-04-11 06:53:27 -07:00
Victor Zverovich
096c4051b2 Simplify char_traits 2018-04-08 13:38:12 -07:00
Victor Zverovich
7610c5362a Remove unused macro 2018-04-08 11:54:22 -07:00
Victor Zverovich
7d28674d3a make_args -> make_format_args 2018-04-08 07:21:26 -07:00
Victor Zverovich
9382b76f2a context_t -> format_context_t 2018-04-08 07:09:34 -07:00
Victor Zverovich
fd0b07a75a (w)context -> (w)format_context 2018-04-08 07:03:44 -07:00
Victor Zverovich
26aa34f319 basic_context -> basic_format_context 2018-04-08 06:45:21 -07:00
Victor Zverovich
0829cab8f2 Remove from_checked 2018-04-07 15:21:48 -07:00
Victor Zverovich
cb7bbc6224 Improve checked iterator support 2018-04-07 15:11:34 -07:00
Victor Zverovich
5079f924d6 Fix a narrowing warning 2018-04-07 14:42:09 -07:00
Victor Zverovich
5859e58ba1 Fix msvc warnings 2018-04-04 21:11:31 -07:00
Victor Zverovich
9d4efd7aa2 Iterator Wars VI: Return of the checked iterator 2018-04-04 20:15:02 -07:00
Victor Zverovich
23759b2688 basic_arg -> basic_format_arg, arg_store -> format_arg_store 2018-04-04 07:38:21 -07:00
Victor Zverovich
4975297eb0 Simplify counting iterators 2018-03-31 07:47:30 -10:00
Victor Zverovich
c5ebecf7c6 Document format_to_n 2018-03-30 08:31:41 -10:00
Victor Zverovich
3cf0526316 Return output iterator to the end from format_to_n 2018-03-30 08:20:12 -10:00
Victor Zverovich
174087bfdb Implement format_to_n 2018-03-29 15:13:10 -10:00
Victor Zverovich
050f3f1f0e Remove parts of obsolete write API 2018-03-29 07:36:37 -10:00
Sebastian König
e90b1da367 Fix linker errors using fmt as shared library in MSVC 2018-03-28 07:14:56 -10:00
Victor Zverovich
8c29459eda Fix handling of empty string_view (#689) 2018-03-21 09:01:51 -07:00
Victor Zverovich
a24005d5fd Fix a narrowing warning 2018-03-21 08:29:06 -07:00
Victor Zverovich
3651b7fca6 Fix a narrowing warning 2018-03-21 07:59:42 -07:00
Victor Zverovich
3da71d51e0 Move source files to the src directory 2018-03-21 07:50:59 -07:00
Victor Zverovich
17258e9c63 Update docs 2018-03-19 19:47:14 -07:00
Victor Zverovich
6d339e32a0 Improve comment 2018-03-16 16:26:31 -04:00
Victor Zverovich
70dffc639a Remove unnecessary check 2018-03-15 09:58:26 -04:00
Victor Zverovich
42f70c8b4f Avoid narrowing casts 2018-03-15 09:45:31 -04:00
Elias Kosunen
10b939b096 Remove unneeded usage of anonymous struct on clang 2018-03-15 09:28:50 -04:00
Jonathan Müller
4006678577
Fix warnings under MSVC (#679)
Closes #678.
2018-03-14 20:17:15 +01:00
Victor Zverovich
7db0e94b9e Fix handling of numeric alignment with no width (#675) 2018-03-11 21:04:42 -04:00
Victor Zverovich
9facc119a6 Update docs 2018-03-10 09:44:37 -08:00
Victor Zverovich
ca93be130a Use fmt(s) as an alias for FMT_STRING(s) 2018-03-09 15:40:40 -08:00
Victor Zverovich
80e57c7a3d Update to new naming conventions 2018-03-07 07:36:13 -08:00
Victor Zverovich
ae3cc844e7 Check format string at compile time in print 2018-03-07 05:41:45 -08:00
Victor Zverovich
bb47109a78 Cleanup 2018-03-04 11:25:40 -08:00
Victor Zverovich
f1ede6380b Make inline_buffer_size public and update docs 2018-03-04 10:33:42 -08:00
Victor Zverovich
4023291759 Update docs 2018-03-04 09:55:17 -08:00
Victor Zverovich
b7632e9641 Make format_to return iterator and update docs 2018-03-04 08:13:08 -08:00
Victor Zverovich
5281ea6ad2 do_vformat_to -> vformat_to and update docs 2018-03-04 06:40:43 -08:00
Victor Zverovich
418659adbe Fix compilation errors on gcc 4.4 2018-03-03 14:04:59 -08:00
Victor Zverovich
1d2adef28d Fix compilation errors on gcc 4.4 2018-03-01 03:45:25 -08:00
Victor Zverovich
45518c3fe1 Fix compilation errors on gcc 4.4 2018-02-28 07:47:24 -08:00
Victor Zverovich
698d909706 Workaround a bug in gcc 5.1 2018-02-28 06:14:56 -08:00
Victor Zverovich
1b4525384b Fix more compilation errors on gcc 4.6 2018-02-28 05:09:24 -08:00
Victor Zverovich
6090e51b65 Fix compilation errors on gcc 4.6 2018-02-28 04:49:20 -08:00
Victor Zverovich
0827ec5aa9 Fix compilation errors on gcc 4.6 2018-02-28 04:33:43 -08:00
Victor Zverovich
0565d65461 Fix gcc 7.2 issue 2018-02-24 09:29:15 +00:00
Victor Zverovich
f5dc0ed342 Break long lines 2018-02-24 08:39:17 +00:00
Lars Gullik Bjønnes
f45f70af09 Use trailing return type instead of deduction
C++11 does not support deduction of return type.
2018-02-24 08:20:20 +00:00
Lars Gullik Bjønnes
db86e8d5d3 Remove a couple of unused argument names 2018-02-24 08:20:20 +00:00
Victor Zverovich
a7ae5666a0 Enable join on msvc 2018-02-19 21:03:51 +00:00
Victor Zverovich
8ca3ab2c4c Revert problematic pragma 2018-02-18 05:38:32 +00:00
Victor Zverovich
ce4a65ffea Add pointer support to basic_writer 2018-02-17 09:38:46 +00:00
Victor Zverovich
1efc15c177 Fix MSVC build 2018-02-16 18:13:54 +00:00
Victor Zverovich
8ed264fcd4 Rename type enum constants to prevent collision with poorly written C libs (#644) 2018-02-16 17:20:33 +00:00
Alex Alabuzhev
24d66c5d65 compilation fix & warnings 2018-02-15 18:37:45 -08:00
Victor Zverovich
f3f19e762f Update docs 2018-02-11 13:43:16 -08:00
Victor Zverovich
affb35cfb9 Replace using with typedef for compatibility with gcc-4.6 2018-02-11 09:23:47 -08:00
Victor Zverovich
1a4e892765 Move output_range to format.h 2018-02-11 08:36:44 -08:00
Victor Zverovich
522de7b55d Replace using with typedef for compatibility with gcc-4.6 2018-02-11 08:32:02 -08:00
Victor Zverovich
3239c51814 Get rid of generic lambdas 2018-02-11 07:05:14 -08:00
Victor Zverovich
78166ccd36 Get rid of generic lambdas 2018-02-11 06:50:56 -08:00
Victor Zverovich
61065e1a5c Fix unreachable code warning when signbit returns bool 2018-02-10 07:21:17 -08:00
Victor Zverovich
cdfcee27fb Use allocator_traits if available 2018-02-10 06:51:13 -08:00
Victor Zverovich
6cb68f9496 Fix warnings 2018-02-10 06:28:43 -08:00
Victor Zverovich
2f13d41e30 Add to_wstring 2018-02-07 07:08:14 -08:00
Victor Zverovich
5c7474e1fb Relax constexpr requirements 2018-02-04 08:58:21 -08:00
Victor Zverovich
1f57243b49 Relax constexpr requirements 2018-02-04 08:52:43 -08:00
Victor Zverovich
dc5403612e Conditionally compile constexpr 2018-02-04 08:21:31 -08:00
Victor Zverovich
8fa9acb8e5 Workaround broken __builtin_clz in clang with MS codegen (#519) 2018-02-01 16:43:16 -08:00
Victor Zverovich
0c136381e3 Move back_insert_range to format.h 2018-01-27 18:56:50 -08:00
Victor Zverovich
f9fa7c405f Add FMT_API and FMT_OVERRIDE where needed 2018-01-27 17:15:14 -08:00
Victor Zverovich
a980d3b46b Add fmt::join to format ranges (#466) 2018-01-27 16:04:45 -08:00
Victor Zverovich
87eab90ea8 Fix missing intrinsic when included from C++/CLI (#457) 2018-01-27 09:25:15 -08:00
Victor Zverovich
bca9de9e68 Return iterator from format_to 2018-01-27 07:03:26 -08:00
Victor Zverovich
3a6c7d0cbd Fix signbit detection (#423) 2018-01-21 16:41:55 -08:00
Victor Zverovich
bd8a7e7ea1 More iteratification 2018-01-21 14:30:38 -08:00
Victor Zverovich
e35d41fff5 Add extern templates for format_float (#413) 2018-01-20 19:17:59 -08:00
Victor Zverovich
d8c25a175a Use nullptr if available 2018-01-20 19:11:19 -08:00
Victor Zverovich
229ee34eea Fix compiler warnings 2018-01-20 17:54:06 -08:00
Victor Zverovich
f853d94a15 Remove unnecessary fmt/ prefix (#397) 2018-01-20 10:28:10 -08:00
Victor Zverovich
72606f2391 Add missing types to counting_iterator 2018-01-20 08:20:18 -08:00
Victor Zverovich
64b349aee2 More iterator support & fmt::count 2018-01-17 22:04:24 -08:00
Victor Zverovich
322736d3bb Add support for arbitrary output iterators 2018-01-15 12:46:44 -08:00
Victor Zverovich
1029119497 Cleanup 2018-01-15 11:37:39 -08:00
Victor Zverovich
c1d137ed5f Add support for nonconiguous iterators 2018-01-15 11:30:53 -08:00
Victor Zverovich
f6fd38bb3a More iterator support 2018-01-15 08:48:37 -08:00
Victor Zverovich
c2fecb9b2a Clean API 2018-01-14 14:15:59 -08:00
Victor Zverovich
9a53a706fc Add support for back_insert_iterator 2018-01-14 13:12:26 -08:00
Victor Zverovich
91ee9c9acd Return iterator from the format method 2018-01-14 11:00:27 -08:00
Victor Zverovich
67928eae28 Don't inherit context from parse_context 2018-01-14 09:27:40 -08:00
Victor Zverovich
217e7c76f1 Pass ranges by value 2018-01-14 08:13:48 -08:00
Victor Zverovich
22994c62f7 Decouple arg_formatter_base from buffer 2018-01-13 15:34:48 -08:00
Victor Zverovich
3a2e89e134 Reduce dependency on buffer 2018-01-13 12:57:27 -08:00
Victor Zverovich
232ceabbc3 Workaround an internal compiler error in MSVC 2018-01-13 06:43:03 -08:00
Victor Zverovich
c095445394 Replace buffer with range 2018-01-10 22:41:23 -08:00
Victor Zverovich
c3d6c5fc4c Replace buffer with range 2017-12-30 07:42:56 -08:00
Victor Zverovich
d165d9c483 Decouple locale and buffer 2017-12-26 17:22:07 -08:00
Victor Zverovich
3663414053 Parameterize basic_writer on buffer type 2017-12-26 09:00:22 -08:00
Victor Zverovich
6f2769d0b4 Revert "Added support for format string containing '\0' in _format udl (#619) (#620)"
This reverts commit 3aaa25fa70 for
reasons discussed in #622.
2017-12-23 08:00:51 -08:00
Victor Zverovich
ccaae0c019 Refer to jeaiii project 2017-12-10 16:09:35 -08:00
Victor Zverovich
e37151021e Add a integer formatter based on jeaiii 2017-12-10 16:05:51 -08:00
Victor Zverovich
61f296e30c Move FMT_HAS_BUILTIN to format.h 2017-12-09 08:56:44 -08:00
Victor Zverovich
ce801c9095 Remove dependency on <vector> and <array> 2017-12-09 08:48:30 -08:00
Victor Zverovich
971fb584c3 Allow mixing named and automatic arguments 2017-12-09 08:15:13 -08:00
Victor Zverovich
7cea163809 numeric -> arithmetic 2017-12-09 06:19:15 -08:00
Victor Zverovich
faaafc7e12 Remove <utility> dependency and replace typedefs with using 2017-12-06 09:13:23 -08:00
Victor Zverovich
94edb1a71c Add a lightweight header for the core API 2017-12-06 07:42:42 -08:00
Artem Golubikhin
3aaa25fa70 Added support for format string containing '\0' in _format udl (#619) (#620)
Added support for strings containing '\0' in udl (#619)
2017-12-06 06:21:34 -08:00
Victor Zverovich
7f351dec27 Decouple <locale> for better compile times 2017-12-03 09:51:59 -08:00
Victor Zverovich
81bd9e8ea3 args -> format_args 2017-12-03 08:00:22 -08:00
Victor Zverovich
10e70a06c9 Improve handling of custom arguments 2017-12-02 09:44:48 -08:00
Victor Zverovich
e0243000de arg_index -> arg_id 2017-11-26 10:05:49 -08:00
Abdo Roig-Maranges
0e914372fb Avoid conflict with the macro CHAR_WIDTH
It looks like CHAR_WIDTH is a macro in glibc. See
https://sourceware.org/ml/libc-alpha/2016-09/msg00225.html
2017-11-25 07:25:06 -08:00
Victor Zverovich
f03a35a679 Check string specs at compile time 2017-11-24 09:54:28 -08:00
Victor Zverovich
e9da574147 Check char specs at compile time 2017-11-24 07:54:22 -08:00
Victor Zverovich
b25a029284 Check pointer type specs are compile time 2017-11-23 10:12:23 -08:00
Victor Zverovich
c8a9d902dd Check floating-point type specifiers 2017-11-23 09:14:37 -08:00
Victor Zverovich
6570dc3122 Disallow formatting of multibyte strings into a wide buffer (#606) 2017-11-23 07:23:07 -08:00
Victor Zverovich
44e186512b Refactor parse context and fix warnings 2017-11-19 08:49:58 -08:00
Victor Zverovich
e7e270f511 Test error on invalid type spec and remove unused alias 2017-11-19 08:25:34 -08:00
Victor Zverovich
692b82d32c UdlArg -> udl_arg 2017-11-19 08:02:07 -08:00
Victor Zverovich
c523dd584f Use error handler to report errors 2017-11-19 07:36:01 -08:00
Victor Zverovich
5a32e64b05 More tests 2017-11-19 07:03:12 -08:00
Victor Zverovich
093e2a4780 Improve error handling 2017-11-18 09:16:35 -08:00
Victor Zverovich
39411504a5 More tests 2017-11-18 08:16:59 -08:00
Victor Zverovich
e3eb5ea074 Add parse_context::error_handler() 2017-11-18 06:58:14 -08:00
Victor Zverovich
62af25dca8 Workaround yet another MSVC internal error 2017-11-18 06:31:47 -08:00
Victor Zverovich
594bd8feba More tests 2017-11-16 06:55:49 -08:00
Victor Zverovich
f2b52bba05 More tests 2017-11-15 07:06:03 -08:00
Victor Zverovich
7967c2f874 Disable test that triggers an MSVC bug 2017-11-12 09:47:15 -08:00
Victor Zverovich
18a0b94b0e Fix overflow check 2017-11-12 09:25:28 -08:00
Victor Zverovich
686ff942af Fix compile-time parsing and add more tests 2017-11-11 11:40:56 -08:00
Victor Zverovich
5b95b5d77c Test compile-time errors 2017-11-11 10:28:05 -08:00
Victor Zverovich
246bdafc74 Add FMT_STRING macro for compile-time strings 2017-11-11 07:39:12 -08:00
Victor Zverovich
9fda7a36fd Check integral type specs at compile time 2017-11-08 07:58:09 -08:00
Victor Zverovich
92847a0d11 Add integral type handler 2017-11-08 05:56:52 -08:00
Victor Zverovich
a03842b0d5 More compile-time checks 2017-11-05 13:26:19 -08:00
Victor Zverovich
1c855a4762 Integrate constexpr format specs parsing 2017-11-05 09:28:50 -08:00
Victor Zverovich
780b44bf82 Add compile-time format string check 2017-11-04 09:02:47 -07:00
Victor Zverovich
8ca6e76dbc Detect user-defined literal templates 2017-11-04 08:23:24 -07:00
Victor Zverovich
a7e986166a Workaround another MSVC madness 2017-10-29 08:19:55 -07:00
Victor Zverovich
db9ffa1405 Make parse_format_string constexpr 2017-10-29 07:32:14 -07:00
Victor Zverovich
e926ae78ac Add parse_format_string 2017-10-29 07:00:47 -07:00
Victor Zverovich
57e266ab1d Rename handlers 2017-10-27 06:44:00 -07:00
Victor Zverovich
aadb38a5e6 Make specs_checker constexpr 2017-10-24 07:46:30 -07:00
Victor Zverovich
dd0b72e1ee Remove refactoring artefacts 2017-10-22 14:44:52 -07:00
Victor Zverovich
529d88ce95 Make dynamic_format_specs construction constexpr 2017-10-22 10:19:09 -07:00
Victor Zverovich
d2f2a8b0ca constexpr support of dynamic width and precision 2017-10-22 09:32:46 -07:00
Victor Zverovich
6b3840b73c Make format_specs construction constexpr 2017-10-22 08:18:26 -07:00
Victor Zverovich
a38bd9ca24 Fix formatting and naming 2017-10-22 07:19:45 -07:00
Victor Zverovich
932ab2bfca Report error from parse_nonnegative_int via handler 2017-10-21 08:37:52 -07:00
Victor Zverovich
170f5c671f Move headers to include/fmt 2017-10-21 07:38:49 -07:00