Victor Zverovich
5f1ceebc7f
Make formatter<T> override ostream<< for templates ( #952 )
2019-01-21 09:42:55 -08:00
Victor Zverovich
83f052930a
Add code from p0645
2019-01-20 15:12:01 -08:00
Victor Zverovich
58b6f8db48
Format the code using clang-format
2019-01-13 06:58:20 -08:00
stryku
9a777b9e1c
Implemented fmt::prepare()
...
Implementation of fmt::prepare() function and features around it.
2019-01-12 10:53:31 -08:00
Sign Bit
0bbdca5b8b
Fix conversion warnings ( #989 )
...
* Fix sign conversion warnings
* Ignore unused local typedefs
* Remove cast reported as useless on GCC
* Remove warning on unused variable
* Enable conversion warning checking for pedantic build
* Fix sign-conversion warnings in headers
2018-12-20 06:24:19 -08:00
Victor Zverovich
77a7244804
Implement fill/align/width for strftime-like formatting
2018-12-19 07:03:02 -08:00
Victor Zverovich
3e01376e08
Implement fill/align/width parsing in chrono formatter
2018-12-16 09:08:11 -08:00
Victor Zverovich
8668639ae2
Get rid of null_terminating_iterator in format
2018-12-15 06:17:25 -08:00
Victor Zverovich
7f7504b3f5
Clean up docs
2018-12-12 18:21:13 -08:00
Victor Zverovich
37f599b1a1
Fix docs
2018-12-12 17:50:50 -08:00
Victor Zverovich
de71db6d42
Fix asan error ( #977 )
2018-12-12 11:29:39 -08:00
Victor Zverovich
2d624218bf
Fix another warning
2018-12-05 10:19:53 -08:00
Victor Zverovich
37dc495b9d
Simplify MSVC workaround
2018-12-05 06:22:18 -08:00
liuping
2ff4996d05
Fix ambiguous complier error C2666 in vs2017.The '+' opeator may cause ambiguity.Avoid implicit conversion.
2018-12-05 05:55:43 -08:00
Victor Zverovich
bcf3fcd673
Clean up bit fiddling for argument packing
2018-11-30 17:04:49 -08:00
Victor Zverovich
99744f8f8f
Suppress unfixable warning
2018-11-28 12:52:41 -08:00
Victor Zverovich
01640f44cf
Fully qualify dummy_int ( #941 )
2018-11-24 06:22:59 -08:00
christinaa
16b78ee629
fix incompatibilities with c++2a mode in clang
2018-11-17 08:38:04 -08:00
Victor Zverovich
19e008876b
More locale support
2018-11-14 16:25:49 -08:00
Victor Zverovich
f2ee988105
Improve locale support
2018-11-14 12:07:39 -08:00
Victor Zverovich
e01579231d
Disallow leading zeros in arg-id
2018-11-08 08:48:56 -08:00
Victor Zverovich
a23d592472
Fix check_format_string ( #925 )
2018-11-03 16:51:15 -07:00
Victor Zverovich
324eac1aa5
Make locales work with any character type
2018-10-28 09:03:27 -07:00
Victor Zverovich
bdda4d6030
Simplify compile-time strings
2018-10-28 09:02:03 -07:00
Daniela Engert
5ee1a4bc8a
check for property 'mutable iterator' and SFINAE on it
2018-10-28 08:57:43 -07:00
XZiar
2dea780fbd
change type naming and fix sfinae bug
2018-10-28 06:00:55 -07:00
XZiar
b98e8301d5
add non-char support for compile-time format check
2018-10-28 06:00:55 -07:00
Victor Zverovich
0a96c032b9
Parameterize v*printf on string type ( #920 )
2018-10-25 13:52:08 -07:00
Victor Zverovich
61e6d2e38c
Fix core version of vformat_to
2018-10-25 06:21:41 -07:00
Victor Zverovich
ea4010d704
Merge has_to_string_view into is_string
2018-10-24 18:16:00 -07:00
Daniela Engert
1e3dcbba81
fix: 'format_to_n' compiles 'std::back_inserter' arguments
...
std::back_insert_iterators model the OutputIterator concept but differ considerably in their traits and behavior. In particular the former made compilation to fail when format_to_n is given a back_inserter as first argument. The emulation of an OutputIterator is not perfect due to the behavioural differences of back_insert_iterators (e.g. assignment always implies increment) but good enough to be used within fmt's machinery.
2018-10-24 16:45:18 -07:00
Victor Zverovich
20c708bf6d
Fix build on gcc 4.4
2018-10-24 10:52:02 -07:00
Victor Zverovich
2d2326a76d
Fix compilation with older gcc
2018-10-23 07:31:24 -07:00
Victor Zverovich
1ec0272303
Get rid of FMT_UNION
2018-10-22 20:19:31 -07:00
Daniela Engert
2c81c851b2
Adapt any string-like type to be used by {fmt} just like the standard string types already supported. The adaption is totally non-intrusive.
...
Signed-off-by: Daniela Engert <dani@ngrt.de>
2018-10-22 18:25:52 -07:00
Victor Zverovich
b71d3fe7ab
Remove use_grisu
2018-10-17 17:01:45 -07:00
Victor Zverovich
847abb6f8f
Fix test
2018-10-17 11:57:06 -07:00
Victor Zverovich
2924622157
Fix naming of basic_format_specs members
2018-10-17 10:13:10 -07:00
Victor Zverovich
bda5f9a556
Replace grisu2_specs with core_format_specs
2018-10-17 08:55:45 -07:00
Victor Zverovich
b1ca608bac
Remove unused empty_spec
2018-10-17 08:39:58 -07:00
Victor Zverovich
e8efdef8de
Avoid extra copy
2018-10-17 08:19:46 -07:00
Victor Zverovich
98f1c1fe87
Remove unused code
2018-10-14 15:36:45 -07:00
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