Victor Zverovich
0e72c98043
Make undocumented output_range internal
2019-06-19 20:08:11 -07:00
Victor Zverovich
f13906f408
back_insert_range<internal::buffer> -> buffer_range
2019-06-19 14:12:29 -07:00
Victor Zverovich
22ddd4b989
Simplify feature checks
2019-06-19 07:46:09 -07:00
Victor Zverovich
bb827341ed
Add FMT_FUNC where necessary
2019-06-18 09:48:23 -07:00
Victor Zverovich
64c54703d4
Cleanup
2019-06-17 11:02:18 -07:00
Victor Zverovich
1c3197b8d8
Fix warnings
2019-06-17 09:21:29 -07:00
Victor Zverovich
fd2292f13a
Cleanup checked iterators
2019-06-17 08:30:37 -07:00
Victor Zverovich
4912cff65d
Fix handling of mapped types in compile checks ( #1200 )
2019-06-16 16:06:06 -07:00
Victor Zverovich
4639843839
Cleanup
2019-06-15 09:44:51 -07:00
Victor Zverovich
e29708ee57
uintptr -> fallback_uintptr to avoid confusion with uintptr_t
2019-06-14 18:47:36 -07:00
Victor Zverovich
f03a6c5325
Cleanup
2019-06-14 13:38:44 -07:00
Victor Zverovich
6c3d584e67
Simplify warning suppression
2019-06-14 13:03:34 -07:00
Victor Zverovich
12f4683883
Make iterator_t an alias template
2019-06-13 21:32:58 -07:00
Victor Zverovich
874d6727e4
Remove workarounds for pre-C++11 compilers
2019-06-13 20:56:08 -07:00
Victor Zverovich
a9940192fb
Fix warnings
2019-06-13 08:56:35 -07:00
Victor Zverovich
34b5418359
Fix warnings
2019-06-13 07:29:10 -07:00
Victor Zverovich
cbbee1b385
Fix handling of hexfloat
2019-06-12 20:53:01 -07:00
Victor Zverovich
92a44db11c
Fix warnings
2019-06-12 19:44:08 -07:00
Victor Zverovich
d05d42751c
Remove old msvc workaround from arg_formatter_base and fix warning
2019-06-12 19:27:23 -07:00
Victor Zverovich
d32fe0f3f6
Fix hadling of nullptr
2019-06-12 09:22:36 -07:00
Victor Zverovich
e5422db4b2
Fix handling of uintptr_t
2019-06-12 08:16:41 -07:00
Victor Zverovich
9d7b64a259
More cleanup
2019-06-11 22:11:47 -07:00
Victor Zverovich
5e293bd97a
Remove unnecessary qualification
2019-06-11 20:36:39 -07:00
Victor Zverovich
4a502d9802
Add remove_reference_t
2019-06-11 20:28:05 -07:00
Victor Zverovich
d384cdd397
Make is_contiguous_back_insert_iterator internal
2019-06-11 20:16:57 -07:00
Victor Zverovich
32544b6108
More cleanup
2019-06-11 19:22:19 -07:00
Victor Zverovich
39f522a13a
get_types -> encode_types
2019-06-11 18:50:14 -07:00
Victor Zverovich
d7d2bebf99
Remove redundant typename
2019-06-11 18:29:47 -07:00
stryku
9427f15bef
Fixed issue with formatting to an array of chars
2019-06-11 18:09:18 -07:00
Victor Zverovich
87fbc6f756
get_type -> mapped_type_constant
2019-06-11 07:23:39 -07:00
Victor Zverovich
a48daa60e5
Remove remove_volatile
2019-06-10 20:25:04 -07:00
Victor Zverovich
afdbbac75c
Cleanup
2019-06-10 18:10:26 -07:00
Victor Zverovich
e33fe14f5b
Simplify visit
2019-06-10 08:28:39 -07:00
Victor Zverovich
e895da2ec3
Clean up value
2019-06-10 07:58:00 -07:00
Victor Zverovich
e1a67b5285
Remove TODO
2019-06-10 06:54:09 -07:00
Victor Zverovich
a291f07e1a
Clean up argument mapping
2019-06-09 22:27:40 -07:00
Victor Zverovich
5d9100fa2f
Move char8_t to fmt/core.h
2019-06-08 09:42:11 -07:00
Victor Zverovich
5d48733596
Clean up value construction
2019-06-07 19:27:20 -07:00
Victor Zverovich
0f0b42861b
Cleanup
2019-06-07 17:53:25 -07:00
Victor Zverovich
209db68b28
Get rid of FMT_CONSTEXPR11
2019-06-07 14:00:57 -07:00
Victor Zverovich
cb4c59495e
Deprecate convert_to_int
2019-06-07 13:38:08 -07:00
Victor Zverovich
40779749ac
is_formattable -> has_formatter
2019-06-07 06:51:21 -07:00
Victor Zverovich
b3cf8613b1
Make formatter specializations override implicit conversions
2019-06-07 06:25:46 -07:00
Victor Zverovich
3fdba04924
Reduce the number of nontrivial formatter instantiations
2019-06-06 22:02:53 -07:00
Victor Zverovich
f5f3ffac59
Merge string make_value overloads
2019-06-06 08:29:16 -07:00
Victor Zverovich
a38b99a188
Fix a regression in named argument handling introduced by prepare
2019-06-05 16:50:04 -07:00
Victor Zverovich
aa31028b2c
char_t_impl -> char_t
2019-06-05 10:13:34 -07:00
Victor Zverovich
0787d69747
Simplify SFINAE
2019-06-05 09:02:33 -07:00
Victor Zverovich
bae00aa8d7
Simplify is_string
2019-06-05 08:41:00 -07:00
Victor Zverovich
388bb389e6
integral_constant -> bool_constant
2019-06-05 08:14:47 -07:00
Victor Zverovich
7e39c7e6f4
Put stringy stuff together
2019-06-05 07:43:20 -07:00
Victor Zverovich
469a4bbd35
Use enable_if_t
2019-06-04 21:38:18 -07:00
Victor Zverovich
c264e641ea
Add conditional_t for pre-C++14
2019-06-04 18:50:30 -07:00
Victor Zverovich
064ce6b6c0
Specialize is_char for character types
2019-06-04 17:08:58 -07:00
Victor Zverovich
7893d85394
Clarify why we cannot have nice things
2019-06-04 08:47:25 -07:00
Victor Zverovich
5bafcb437b
Add comments about things broken in MSVC
2019-06-03 19:14:16 -07:00
Victor Zverovich
eddb84cfc0
Fix formatting of exotic characters
2019-06-03 17:08:00 -07:00
Victor Zverovich
7e42c65bb6
Document a more useful to_string_view overload
2019-06-03 11:57:33 -07:00
Victor Zverovich
0c6a6e0250
Get rid of the FILE* hack and reword apidocs
2019-06-03 10:27:00 -07:00
mocabe
1653244c69
Fix compilation issue on VS2019 ( #1186 ) ( #1191 )
2019-06-03 08:34:27 -07:00
Victor Zverovich
d54e64b3c8
Make buffer_context an alias template
2019-06-02 18:28:49 -07:00
Victor Zverovich
ec6651087d
Remove old is_constructible workarounds and replace typedefs with using
2019-06-02 16:46:45 -07:00
Victor Zverovich
4d4b8c238d
FMT_CHAR -> char_t
2019-06-02 15:03:37 -07:00
Victor Zverovich
5b7bbf8853
Revert "FMT_CHAR -> char_t"
...
This reverts commit 4c650057a06bf9565014269bd74a1635fdd57226.
2019-06-01 15:01:04 -07:00
Victor Zverovich
4c650057a0
FMT_CHAR -> char_t
2019-06-01 12:32:24 -07:00
Victor Zverovich
2833c76f22
Move char_t to template param to reduce symbol size
2019-06-01 12:14:27 -07:00
Victor Zverovich
67feef5589
Make enable_if_t more std-like and move to fmt namespace
2019-06-01 10:05:16 -07:00
Victor Zverovich
78daa50ffc
Fix handling of chrono durations with minimal signed rep
2019-06-01 09:36:37 -07:00
Christopher Di Bella
c929684e33
inlines count_code_points(basic_string_view<char8_t)
...
count_code_points(basic_string_view<char8_t>) was defined in
fmt/format-inl.h, and only declared in fmt/format.h, but not defined
in src/format.cc. This commit moves the overload to fmt/format.h and
inlines it.
2019-06-01 07:17:22 -07:00
Victor Zverovich
f57227a148
FMT_ENABLE_IF -> enable_if_t
2019-05-31 20:09:19 -07:00
Victor Zverovich
634f707f2b
Simplify char_t and remove msvc2013 from CI
2019-05-31 19:28:37 -07:00
Victor Zverovich
406e632bd1
result_of -> invoke_result_t
2019-05-31 08:54:32 -07:00
Victor Zverovich
49f78a427b
Demacrify
2019-05-30 21:30:29 -07:00
Victor Zverovich
637bf3c6d9
Workaround a bug in clang-format
2019-05-30 11:46:31 -07:00
Victor Zverovich
8302c2f33b
fmt::internal::declval -> std::declval
2019-05-30 09:46:10 -07:00
Victor Zverovich
d07cc2026b
FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr
2019-05-30 07:42:36 -07:00
Victor Zverovich
30bce6c14c
Fix a few chrono formatting corner cases ( #1178 )
2019-05-29 18:02:26 -07:00
Victor Zverovich
e5512c5d57
Use static_assert instead of SFINAE in arg(...)
2019-05-29 13:21:24 -07:00
Victor Zverovich
afc571aedc
Document join and relax its compiler requirements
2019-05-29 11:21:05 -07:00
Victor Zverovich
291ba837f2
Remove wrong compile-time checks from printf ( #1173 )
2019-05-24 07:50:13 -07:00
Victor Zverovich
e3e470bb69
Remove deprecated format_decimal
2019-05-15 10:34:45 -07:00
Victor Zverovich
25b72fc4cd
Move <format> to tests not to confuse users
2019-05-15 09:08:42 -07:00
Victor Zverovich
d179ec5f8b
Simplify Grisu
2019-05-15 08:40:21 -07:00
denchat
2a9e8b52de
Fix advance_to() and begin() using iterator ( #1159 )
2019-05-14 08:41:11 -07:00
Victor Zverovich
2c77562b13
Fix ambiguous formatter specialization in fmt/ranges.h ( #1123 )
2019-05-12 13:03:20 -07:00
Victor Zverovich
98b3775297
Add support for exotic string_view iterators ( #1156 )
2019-05-12 11:07:49 -07:00
Victor Zverovich
b488df6cfe
Fix Grisu3 stopping conditions
2019-05-12 08:56:50 -07:00
denchat
f4dfd6e30f
Suppress all clang-target-msvc test warning in CMake and other misc fixes ( #1151 )
...
* Fix conditional `char8_t` from `format.h` and fix `-Wunused-result` of [[no_discard]] begin() when in c++17
* Suppress `-Winconsistent-dllimport` when in clang-target-msvc
* Suppress warning _CRT_SECURE_NO_WARNINGS in MSVC and -Wdeprecated-declarations
Suppress warning _CRT_SECURE_NO_WARNINGS in MSVC and -Wdeprecated-declarations of POSIX functions in Clang target MSVC.
Those functions are used by gtest.
* Remove FMT_FUNC, mark FMT_API to export
2019-05-11 11:48:27 -07:00
Victor Zverovich
a6e8ed15c4
Disable UDL templates on GCC 9 by default ( #1148 )
2019-05-11 08:58:39 -07:00
Victor Zverovich
de5da50910
Fix formatting of extreme durations ( #1154 )
2019-05-11 08:42:02 -07:00
Alex Alabuzhev
77d6036cd5
Fix unexpected trailing decimal point ( #1153 )
2019-05-11 06:34:47 -07:00
Victor Zverovich
e9bab6d028
Improve handling of large durations
2019-05-08 12:40:33 -07:00
mocabe
118d8bccc2
Fix compilation error under MSVC 19.21 ( #1140 )
2019-05-08 11:20:55 -07:00
mocabe
6828d549e8
Add FMT_ENABLE_IF_T
...
for definitions of functions which declared using FMT_ENABLE_IF
2019-05-08 11:20:55 -07:00
Ronny Krüger
ca7c1f89dc
Fixed a compile error under MSVC.
...
The #warning directive is not supported by MSVC.
To still get a message to the user we use #pragma message() under MSVC now.
2019-05-05 14:04:04 -07:00
Victor Zverovich
ca978b3d21
Fix handling of nan durations
2019-05-05 08:53:23 -07:00
Victor Zverovich
c1d430e61a
Improve handling of negative durations
2019-05-04 17:52:20 -07:00
Victor Zverovich
38a85502ed
Use the same rep type for seconds to prevent overflow
2019-05-04 09:22:09 -07:00
Greg Sjaardema
241414028d
Eliminate shadowed variable warnings from gcc-7.2
...
The gcc-7.2.0 compiler (and others) were giving shadowed variable warnings for this include file. A simple renaming of a couple local variables eliminates the warnings.
2019-05-04 08:00:31 -07:00
denchat
29c10fbf6e
Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc ( #1134 )
...
* Update format.cc
As the explicit instantiation *declaration* of `internal::basic_data<void>` in format.h, this explicit instantiation *definition* should mirror FMT_API also.
* Mirror visibility of explicit instantiation declaration
explicit instantiation declaration of internal::basic_data<void> should mirror visibility of FMT_API
* Eliminate `__declspec(dllexport)` designation on extern template internal::basic_data<> when `extern` affected during exporting phase.
* Add `FMT_EXTERN_TEMPLATE_API` for designate DLL export `extern template`
When exporting DLL, do not designate `__declspec(dllexport)` any template that has any explicit class template declaration a.k.a. `extern template`. Instead, designate `__declspec(dllexport)` at single point where we have explicit class template definition a.k.a. normal instantiation without `extern`
Note: this is a c++11 feature.
* Delete whole `FMT_USE_EXTERN_TEMPLATES` block and its condition
1. Remove whole `FMT_USE_EXTERN_TEMPLATES` block
(trailing `FMT_UDL_TEMPLATE` block)
````
#ifndef FMT_USE_EXTERN_TEMPLATES
# ifndef FMT_HEADER_ONLY
# define FMT_USE_EXTERN_TEMPLATES \
((FMT_CLANG_VERSION >= 209 && __cplusplus >= 201103L) || \
(FMT_GCC_VERSION >= 303 && FMT_HAS_GXX_CXX11))
# else
# define FMT_USE_EXTERN_TEMPLATES 0
# endif
#endif
````
2. Delete `FMT_USE_EXTERN_TEMPLATES` condition, only condition, that trailing basic_data class template definition.
````
#if FMT_USE_EXTERN_TEMPLATES
extern template struct basic_data<void>;
#endif
````
3. Replace `FMT_API` with new `FMT_EXTERN_TEMPLATE_API` added in `core.h` for sake of extern template of `basic_data<void>`
* Add `#define FMT_EXTERN extern` only when not `FMT_HEADER_ONLY`
* Replace `extern` on basic_data<void> with the `FMT_EXTERN` condition in core.h
* replace misspelled if !define() with ifndef
2019-05-02 07:49:01 -07:00
Victor Zverovich
4a4d72f917
Fix handling of invalid string in chrono formatting
2019-05-01 10:06:42 -07:00
Victor Zverovich
4c721e3a2f
Fix chrono formatting with invalid argument id ( #1132 )
2019-04-28 07:08:41 -07:00
Victor Zverovich
8d8ea21c69
Partially implement Grisu3
2019-04-27 12:17:21 -07:00
Victor Zverovich
40a7975640
Remove trailing zeros
2019-04-27 07:42:27 -07:00
Victor Zverovich
bd516e3429
Convert negative precision to zero in printf ( #1127 )
...
and remove redundant check in grisu2_prettify.
2019-04-21 07:44:04 -07:00
Victor Zverovich
5efb24dd2b
Add specialization test
2019-04-19 17:15:46 -07:00
Victor Zverovich
946498cfbc
Fix handling of zero precision
2019-04-19 15:10:12 -07:00
HE, Tao
6b20863918
fmt::ptr: support unique_ptr and shared_ptr.
2019-04-18 10:12:11 -07:00
Victor Zverovich
d306585a3f
Don't inject internal names into std ( #1120 )
2019-04-17 13:25:31 -07:00
Victor Zverovich
dc94010fa5
Remove char_traits ( #1117 )
2019-04-16 17:08:24 -07:00
Victor Zverovich
397e8dd9d5
clang-format
2019-04-15 11:39:19 -07:00
ToolsDevler
2b415b7af7
Restructure printf_arg_formatter to make it customizable
2019-04-15 11:10:31 -07:00
Victor Zverovich
5d755d0a4e
Fix handling of volatile char ( #1115 )
2019-04-14 12:34:56 -07:00
Victor Zverovich
bade46aae5
Optimize grisu using uint128_t
2019-04-13 13:44:41 -07:00
Victor Zverovich
41fbaeb3b1
Add <format> test
2019-04-13 11:37:52 -07:00
Victor Zverovich
ccd70f59ee
Workaround bogus unreachable warnings in MSVC
2019-04-11 17:59:35 -07:00
Victor Zverovich
a6ad29aa34
Update <format>
2019-04-10 09:09:34 -07:00
Victor Zverovich
52eb3fe274
Update <format>
2019-04-10 08:29:07 -07:00
Victor Zverovich
09e2ac5e46
Update <format>
2019-04-10 07:56:50 -07:00
Victor Zverovich
df4ea0c76c
Update <format>
2019-04-10 06:25:42 -07:00
Victor Zverovich
718f60accb
Fix shadowing warning ( #1105 ) and clang format
2019-04-08 19:14:32 -07:00
Bruce Mitchener
aeb5ad3ce1
Enable [[noreturn]] some.
2019-04-08 07:53:59 -07:00
Victor Zverovich
2808395481
basic_buffer -> buffer
...
This reduces symbol sizes and gets rid of shadowing warnings.
2019-04-07 20:32:28 -07:00
Victor Zverovich
07d5a86a7c
Fix warnings
2019-04-06 22:10:10 -07:00
Victor Zverovich
ab1474ef66
Workaround segfault in doxygen and apply clang-format
2019-04-06 15:55:14 -07:00
Victor Zverovich
bd8177177a
Add support for platforms without uintptr_t
2019-04-06 08:11:03 -07:00
Victor Zverovich
0302927f56
Optimize pointer formatting
2019-04-05 20:36:37 -07:00
Victor Zverovich
bb6842ba35
Simplify to_string
2019-04-05 19:15:22 -07:00
Victor Zverovich
b23c8633fa
Detect presence of uintptr_t
2019-04-05 07:43:00 -07:00
Victor Zverovich
018d8b57f6
Remove broken snprintf
2019-03-30 20:27:52 -07:00
Billy Donahue
1987db663b
clang-format
2019-03-30 07:48:53 -07:00
Billy Donahue
a6d1ad741d
handle fwrite results #1098
2019-03-30 07:48:53 -07:00
Ivan Shynkarenka
e979c782d3
Extend basic_writer with write() method for doubles with optional format_specs argument
2019-03-25 19:16:41 -07:00
Victor Zverovich
91acfe6852
Fix UBSAN warning
2019-03-22 07:56:02 -07:00
Victor Zverovich
b7e6bf9671
clang format
2019-03-21 20:51:37 -07:00
Victor Zverovich
da0ea4161a
Make compile-time checks work with fallback formatter ( #1088 )
2019-03-21 19:26:53 -07:00
mwinterb
7ad3015f5b
Added missing typename to FMT_STRING. ( #1089 )
...
* Added missing typename to FMT_STRING.
This is so that FMT_STRING can be used in a template.
2019-03-20 20:37:00 -07:00
Victor Zverovich
f0b572da05
Update wording test
2019-03-20 06:53:31 -07:00
ricco19
6d416cf674
Forward declare is_string<FILE*> specializations
2019-03-19 05:20:18 -07:00
Victor Zverovich
294fd7df96
Remove isinf workaround
2019-03-17 14:49:19 -07:00
Victor Zverovich
0faa968cc3
Make floating-point formatting locale-independent
2019-03-17 13:26:56 -07:00
Victor Zverovich
bc784d3625
Remove isnan workaround
2019-03-17 12:23:36 -07:00
Victor Zverovich
76d326a2a2
Enable grisu for general format
2019-03-17 09:48:50 -07:00
Victor Zverovich
c21c6b8c4b
Move enable_if to template params
2019-03-16 15:15:38 -07:00
Victor Zverovich
ae0b0dab9f
Remove obsolete TODO
2019-03-16 10:04:16 -07:00
Victor Zverovich
97619e27a2
More fixed precision tests
2019-03-15 10:20:20 -07:00
Victor Zverovich
a939c75956
Merge fmt/time.h into fmt/chrono.h
2019-03-14 18:07:42 -07:00
Victor Zverovich
17e4b53926
Make chrono formatting work without exceptions ( #1062 )
2019-03-14 18:01:03 -07:00
Victor Zverovich
a82b3680dc
More tests and fixed precision fixes
2019-03-13 19:47:07 -07:00
Victor Zverovich
e28429ee73
Prevent overflow with zero precision
2019-03-13 10:46:25 -07:00
Victor Zverovich
49bbf3c876
Simplify shadowing warning fix
2019-03-13 08:29:37 -07:00
Ivan Shynkarenka
e06523361d
Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration
2019-03-11 14:15:23 -07:00
Victor Zverovich
4c66dad8c1
Refactor digit generation
2019-03-10 15:45:06 -07:00
Victor Zverovich
b1f7cca89e
stop -> handler and swap args
2019-03-10 14:43:26 -07:00
Victor Zverovich
f90d33ca12
error_ulp -> error
2019-03-10 14:29:28 -07:00
Victor Zverovich
1632f72cbe
Test get_round_direction
2019-03-10 11:14:50 -07:00
Bruce Mitchener
4523053e6f
Fix typos.
2019-03-10 07:49:33 -07:00
Victor Zverovich
8407f4cb24
Round close to zero fixed precision
2019-03-09 15:18:34 -08:00
Victor Zverovich
49d244c065
Don't emit more than precision digits ( #1072 )
2019-03-09 13:53:23 -08:00
Victor Zverovich
3466d9c845
Don't override fixed formatting depending on exponent ( #1072 )
2019-03-09 13:22:07 -08:00
Victor Zverovich
93d22dec35
Implement rounding up and clean up FP formatting
2019-03-09 10:40:36 -08:00
Victor Zverovich
d560ddac25
Temporarily disable Grisu for fixed formatting
2019-03-08 19:09:05 -08:00
Michael Winterberg
d8434baa03
Declare the size of RESET_COLOR.
...
This is so that the format with a text_tyle will compile even if
header-only mode isn't enabled. Addresses #1063 .
2019-03-06 09:41:45 -10:00
Victor Zverovich
8f7780a4f6
Correct comment
2019-03-06 09:23:16 -08:00
Victor Zverovich
2e526a664a
Fix handling of output iterator in ranges
2019-03-06 08:10:46 -08:00
gawain
79b79f329e
Add support for '%' type to output floating point values as a
...
percentage.
This helps with compatibility with Python's format strings.
2019-03-05 17:36:20 -08:00
Alexander Bolz
287eaab3b2
Increment output iterator in basic_writer::write for character types ( #1056 )
2019-02-26 12:16:34 -10:00
Victor Zverovich
a97757736b
Use grisu for fixed precision
2019-02-23 15:50:50 -10:00
Brian
327d4b6e9e
Fixes for some pedantic warnings ( #1054 )
...
* Fix order of initializers
* Remove unused parameter
* Disable warning "-Wswitch-enum"
2019-02-23 09:40:08 -10:00
Victor Zverovich
8af651be39
Implement fixed precision
2019-02-22 10:47:27 -10:00
Michael Lui
187bd1b8b2
Clarify lifetimes of named_arg parameters ( #1051 )
...
* Clarify usage of fmt::arg
Document that fmt::arg takes a non-owning
reference, even if that reference is to
a temporary. As such, users should make sure
the lifetime of the reference lasts as long
as the named argument.
* Clean up language
Remove mentions of `std::reference_wrapper` and rvalues
in favor of more common terminology like dangling references.
2019-02-22 06:37:19 -10:00
Victor Zverovich
82c24edcf6
Workaround a bogus Qt Creator warning
2019-02-19 06:33:55 -10:00
Victor Zverovich
c5aad69f2a
Restore deprecated begin()
2019-02-15 15:00:02 -08:00
Victor Zverovich
5b0006476a
Make stopping condition configurable in grisu
2019-02-14 18:25:13 -08:00
Victor Zverovich
a44238f2ef
Improve grisu
2019-02-13 20:03:27 -08:00
Victor Zverovich
83808076e3
Minor cleanup
2019-02-13 19:28:02 -08:00
Victor Zverovich
9660ea1bff
Simplify format string checks
2019-02-10 18:00:19 -08:00
Victor Zverovich
f041f128f5
Minor cleanup
2019-02-10 15:20:40 -08:00
Victor Zverovich
e4572e5def
Update std implementation
2019-02-10 07:56:33 -08:00
Victor Zverovich
442fa1bd46
Decouple format and parse contexts
2019-02-09 20:39:37 -08:00
Victor Zverovich
744e66bb08
Deprecate format_context::parse_context()
2019-02-09 16:15:20 -08:00
Victor Zverovich
d231d68a8b
Fix handling of custom context
2019-02-09 07:36:09 -08:00
morinmorin
430e6ac9b6
Protect against overloaded comma operators in decltype
2019-02-06 15:44:59 -08:00
Victor Zverovich
467520e7a4
Remove unused macro
2019-02-06 11:34:59 -08:00
Victor Zverovich
5a314a5288
Eliminate extra copy on floating-point formatting
2019-02-06 10:17:50 -08:00
Daniela Engert
31510cb437
Fix warnings from Visual Studio
...
Name hiding.
Signed-off-by: Daniela Engert <dani@ngrt.de>
2019-02-04 11:58:56 -08:00
Daniela Engert
61c9b563c2
Replace 'std::result_of' by 'std::invoke_result' where possible ( #1025 )
...
C++17 deprecated 'std::result_of' in favour of 'std::invoke_result' and will ban it outright in C++20. Therefore
- implement 'internal::result_of' in terms of 'std::invoke_result' when compiling C++17 mode.
- implement 'internal::result_of' in terms of 'std::result_of' when compiling in modes C++11 or C++14.
Signed-off-by: Daniela Engert <dani@ngrt.de>
2019-02-04 11:25:22 -08:00
Victor Zverovich
864b9a2202
Correct the comment
2019-02-04 08:29:39 -08:00
Victor Zverovich
1538336836
Remove unnecessary checks
2019-02-04 08:25:41 -08:00
Elias Kosunen
22de5a755f
Fix warnings from Travis
2019-02-03 15:25:09 -08:00
Victor Zverovich
355eb6d29a
Enable grisu for shortest roundtrip (default) formatting
2019-02-03 10:38:28 -08:00
Victor Zverovich
b8d34e0db3
Fix rounding
2019-02-02 09:19:46 -08:00
Victor Zverovich
e61cac687d
Minor grisu improvements
2019-02-02 07:41:52 -08:00
Elias Kosunen
7fbbfed8c6
Fix warnings caused by usage of deprecated functionality
2019-02-02 05:48:39 -08:00
Elias Kosunen
c3268f4e50
Remove use cases of deprecated functionality
2019-02-02 05:48:39 -08:00
Elias Kosunen
34951f1999
Replace comments regarding deprecation with attributes
2019-02-02 05:48:39 -08:00
Victor Zverovich
3f52336e6c
Simplify formatter selection
2019-01-30 19:39:42 -08:00
Victor Zverovich
7ca8fc3b17
Fix a bogus warning
2019-01-30 07:06:40 -08:00
Daniela Engert
0700612249
Implement 'chrono' formatting specifiers '%Q' and '%q'
...
Howard Hinnant's 'date' library recently gained these two new formatting specifiers. This implementation in {fmt} includes support for 'std::chrono::duration' specializations with floating-point representation types and user-definable precision.
Signed-off-by: Daniela Engert <dani@ngrt.de>
2019-01-27 11:10:08 -08:00
Victor Zverovich
06c005b7b0
Clarify that compile-time checks don't support named arguments
2019-01-27 10:10:13 -08:00
Daniela Engert
9f70b034e1
Implement precision for floating-point durations.
...
The formatting syntax follows p1361r0, augmented by a precision field as proposed in #1004 .
Signed-off-by: Daniela Engert <dani@ngrt.de>
2019-01-23 07:17:00 -08:00
Victor Zverovich
7cdb1e5e40
Workaround broken is_default_constructible in MSVC
2019-01-21 10:54:49 -08:00
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
dad1eec842
Workaround unimplemented T... on gcc 4.6.x ( #1008 )
2019-01-16 11:41:20 -08:00
Daniela Engert
b0cde860ae
Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' ( #917 )
...
Mostly equivalent to 'sprintf(const S &format, const Args & ... args)' but generates at most 'n' characters through output iterator 'it'. The output type is the same as with 'format_to_n'.
Signed-off-by: Daniela Engert <dani@ngrt.de>
2019-01-13 13:08:01 -05:00
Daniela Engert
e05dfb0887
Fix compile errors due to name-hiding and an unused function argument.
...
These problems are pointed out by clang-tidy and fail compilation on msvc at /W4 /WX.
Signed-off-by: Daniela Engert <dani@ngrt.de>
2019-01-13 12:18:05 -05:00
Victor Zverovich
dde095fab8
Revert "Reorder defines"
...
This reverts commit 4a059914a965485cfac89145d7f5ba70612f60f0.
2019-01-13 08:13:38 -08:00
Victor Zverovich
4a059914a9
Reorder defines
2019-01-13 07:40:37 -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
Victor Zverovich
dc8f8ce4c0
Fix handling of dynamic width in chrono formatter
...
Thanks to Howard Hinnant.
2019-01-09 15:23:21 -08:00
Daniela Engert
f5cc77cea0
Get rid of 'null_terminating_iterator' in printf.h ( #980 )
...
The iterator class itself and its helpers 'to_pointer' are removed after reformulating the formatting loop in terms of a 'basic_string_view<Char>::iterator'.
Signed-off-by: Daniela Engert <dani@ngrt.de>
2019-01-04 12:18:14 -05:00
Denis Blank
ae1de3a8d3
Add support for using text_style in format and vformat directly ( #993 )
...
* Closes #993
2019-01-01 09:26:54 -05:00
Victor Zverovich
b3ad759a0a
Bump version and correct changelog
2018-12-28 13:09:31 -08:00
Victor Zverovich
b34d92b051
Bump version
2018-12-28 12:23:29 -08:00
Victor Zverovich
84e5170c9c
Update changelog and deprecate visit
2018-12-24 10:02:41 -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
1f92f8a9d8
Remove noexcept
2018-12-15 06:41:32 -08:00
Victor Zverovich
8668639ae2
Get rid of null_terminating_iterator in format
2018-12-15 06:17:25 -08:00
Nicolas
93fd473b8f
Add support for builtin terminal colors. ( #974 )
2018-12-15 06:16:00 -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
8c2e15aed5
Make printf work in search ( #164 )
2018-12-12 16:07:54 -08:00
Victor Zverovich
de71db6d42
Fix asan error ( #977 )
2018-12-12 11:29:39 -08:00
Victor Zverovich
b180b39152
Fix default formatting
2018-12-12 06:39:47 -08:00
Nicolas
24594c747e
Disable printing the reset escape code when no style modifiers where applied. ( #973 )
2018-12-09 15:57:20 -08:00
Victor Zverovich
b0f2224719
Implement default chrono formatting
2018-12-09 15:56:15 -08:00
Nicolas
749276072f
Add file stream support for stylized text printing. ( #967 )
2018-12-09 09:28:48 -08:00
Victor Zverovich
f54f3d0fb7
Move chrono-specific code to a separate header
2018-12-09 06:45:20 -08:00
Victor Zverovich
b6bc6ec246
Add default ctor and fix use of constexpr macros in text_style
2018-12-07 07:22:18 -08:00
Victor Zverovich
acfa95d4a8
Workaround a bug in MSVC's strftime ( #965 )
2018-12-07 07:07:21 -08:00
Victor Zverovich
628f830583
More chrono formatting
2018-12-07 06:36:08 -08:00
Victor Zverovich
aa3b5aba41
Implement locale-specific minute formatting
2018-12-06 16:12:10 -08:00
Victor Zverovich
3242ddf7b5
Fix warnings
2018-12-06 08:16:12 -08:00
Nicolas
81b5c4a5fd
Add experimental emphasis support ( #961 )
2018-12-06 07:56:01 -08:00
Victor Zverovich
7c4eb0fbeb
Fix warnings in time.h
2018-12-05 14:38:08 -08:00
Victor Zverovich
2d624218bf
Fix another warning
2018-12-05 10:19:53 -08:00
Victor Zverovich
0497875ff3
Stop the orgy of casts
2018-12-05 06:27:31 -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
Florin Iucha
77656c672c
Fix sign-conversion warnings reported by Clang7
2018-12-03 16:22:59 -08:00
Victor Zverovich
ea5e4790bd
Fix formatting
2018-12-03 08:58:48 -08:00
Johan J
e867768ee6
Do not override user provided compile flag
2018-12-03 07:31:19 -08:00
Daniela Engert
e7e2ab1070
Make return type of basic_format_args::max_size() consistent.
...
This squashes nasty narrowing conversion warnings.
2018-12-01 17:07:21 -08:00
Victor Zverovich
68214bd904
More time formatting
2018-11-30 20:12:01 -08:00
Victor Zverovich
bcf3fcd673
Clean up bit fiddling for argument packing
2018-11-30 17:04:49 -08:00
Victor Zverovich
9dcf127fa5
Workaround a bogus MSVC warning
2018-11-30 13:47:04 -08:00
Victor Zverovich
b8b06e3e10
Fix conversion warnings in Grisu
2018-11-30 10:37:40 -08:00
Victor Zverovich
322b2594e0
Implement more time specifiers
2018-11-30 09:25:18 -08:00
Victor Zverovich
fa1d4dbcfd
Fix warnings
2018-11-28 16:15:15 -08:00
Victor Zverovich
99744f8f8f
Suppress unfixable warning
2018-11-28 12:52:41 -08:00
Victor Zverovich
f5fe849238
Specialize formatter for chrono durations
2018-11-28 11:39:21 -08:00
Victor Zverovich
a5a9805a91
First stub at the datetime format parser
2018-11-25 17:25:22 -08:00
Victor Zverovich
645c76a9a5
Fix dummy warnings
2018-11-25 15:33:28 -08:00
Daniela Engert
fecb2d6f0d
Eliminate msvc compiler warnings ( #931 )
...
The sheer presence of 'std::gmtime' or 'std::localtime' gives rise to C4996 warnings in Microsofts compilers. Alas, the 'fallback(internal::null<>)'functions containing these library calls are never ADL-picked in the respective 'handle(internal::null<>)' selectors. Therefore hiding the fallbacks from msvc is perfectly fine.
2018-11-25 13:48:52 -08:00
Victor Zverovich
64690d3a97
Add context_base::arg()
2018-11-24 10:49:48 -08:00
Victor Zverovich
01640f44cf
Fully qualify dummy_int ( #941 )
2018-11-24 06:22:59 -08:00
tnovotny
e37d6a9840
add make_printf_args and make_wprintf_args functions ( #934 )
...
* add make_printf_args and make_wprintf_args to printf.h
add minimal test for make_printf_args and make_wprintf_args to printf-test.cc
renamed the old printf_context template to basic_printf_context_t. the original wish was to rename it basic_printf_context, but that clashed with the name of the inner typedef. this style matches the format_context_t struct.
2018-11-22 13:57:07 -08:00
Victor Zverovich
982ee5c699
parse_context -> format_parse_context
2018-11-21 07:10:22 -08:00
Victor Zverovich
b7b8548559
thousands_sep -> thousands_sep_impl ( #939 )
2018-11-20 15:43:17 -08:00
Victor Zverovich
6c95fb3562
Default Context to format_context
2018-11-18 07:19:25 -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
ccd3e8bbf3
Make is_constructible public ( #918 )
2018-10-27 17:10:19 -07:00
Victor Zverovich
73cfd8f325
Fix colored print
2018-10-25 17:18:46 -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
Victor Zverovich
486fff597c
Add sprintf_format instantiations and remove syntactic noise
2018-10-24 16:46:32 -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
f0328f8e36
Use char_traits::length in string_view ctor ( #914 )
2018-10-24 15:21:21 -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
13d472bd8c
Compute output size for grisu
2018-10-18 17:16:50 -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
dda47c9466
Merge min_digits and max_digits
2018-10-17 10:49:30 -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
699297520a
Implement Grisu rounding
2018-10-13 11:18:54 -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
Daniela Engert
f27defc639
Parameterize printf functions on the type of the format string.
...
Signed-off-by: Daniela Engert <dani@ngrt.de>
2018-10-08 06:22:04 -07:00
Daniela Engert
6a685571df
Make 'std::*::basic_string_view' a valid argument type for 'format_str' parameters.
...
Signed-off-by: Daniela Engert <dani@ngrt.de>
2018-10-08 06:12:02 -07:00
Victor Zverovich
87a0408c64
Fix ostream.h build
2018-10-07 12:58:20 -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
Daniela Engert
fea712abb1
Parameterize ostream functions on the type of the format string.
...
Signed-off-by: Daniela Engert <dani@ngrt.de>
2018-10-07 09:21:14 -07:00
Daniela Engert
f16a118e88
Fix non-matching char types.
...
Signed-off-by: Daniela Engert <dani@ngrt.de>
2018-10-07 05:56:21 -07:00
Victor Zverovich
041bf83d9b
Improve fmt::format readability
2018-10-05 18:42:02 -07:00
Victor Zverovich
f5480635c0
visit -> visit_format_arg
2018-10-05 07:15:41 -07:00
Victor Zverovich
cdf3fa08dc
Put related code together in fmt/core.h
2018-10-04 19:44:09 -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
0f98de3011
Update docs
2018-10-03 12:07:55 -07:00
Victor Zverovich
c797708fcc
Workaround strlen being non-constexpr in ARM toolchain
2018-10-03 09:23:49 -07:00
Victor Zverovich
63a87beba4
Add to_string_view
2018-10-01 18:48:18 -07:00
Victor Zverovich
4e0c314654
checked_format_args -> checked_args
2018-10-01 07:14:59 -07:00
Victor Zverovich
c3538a1eee
Simplify variadic functions further
2018-09-30 22:19:32 -07:00
Victor Zverovich
2d7d0835d7
Simplify variadic functions
2018-09-30 21:52:47 -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
Daniela Engert
267fdc7a1b
Parameterize core functions on the type of the format string.
...
Take #1 of n
Signed-off-by: Daniela Engert <dani@ngrt.de>
2018-09-30 08:40:58 -07:00
Victor Zverovich
5bced12421
Parameterize more functions on string type
2018-09-30 08:02:19 -07:00
Steven Hoving
674999c527
fix vs2017 warning fmt::v5::localtime 'not all control paths return a value'.
2018-09-30 07:23:35 -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
Victor Zverovich
48e6dcd0f2
Implement workarounds for gcc 4.4
2018-09-23 12:29:48 -07:00
Victor Zverovich
0ea3221d34
Remove is_named_arg and add FMT_CHAR
2018-09-23 09:44:01 -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
d41be23acd
Simplify string_view detection
2018-09-23 07:29:35 -07:00
Victor Zverovich
2def9e4c82
Remove FMT_DTOR_NOEXCEPT
2018-09-22 18:51:32 -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
4f043f8e00
Bump version
2018-09-21 10:07:56 -07:00
Victor Zverovich
cc02cbc455
Fix formatting
2018-09-21 09:48:21 -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
Jonathan Müller
9d2221b954
Improve error message when formatting unknown types
2018-09-20 07:01:39 -07:00
hhggit
70a6a4bb01
prevent ""fmt/range.h"" from specializing fmt::basic_string_view ( #865 )
2018-09-19 20:13:05 -07:00
Victor Zverovich
3f4984fb36
Clean core-test and fix linkage errors on older gcc
2018-09-19 12:24:38 -07:00
medithe
d43665056d
Workaround visit lookup issues in printf.h on gcc
2018-09-19 09:16:26 -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
c8a8464f7d
Optimize buffer construction
2018-09-12 08:45:14 -07:00
medithe
8cbfb6e727
Get rid of conversion warning in gcc-4.8 ( #854 )
...
Get rid of conversion warning in gcc-4.8
Get rid of the following warning:
conversion to ‘int’ from ‘long unsigned int’ may alter its value [-Werror=conversion]
2018-09-11 06:14:39 -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
10c7f89351
Optimize format string processing on dumb compilers
2018-09-09 08:13:06 -07:00
Victor Zverovich
59c268a5f8
Use strlen when possible since it's constexpr on gcc
2018-09-08 16:17:22 -07:00
Victor Zverovich
918bb1ce8f
Optimize argument capture
2018-09-08 15:29:32 -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
cc10b4607f
Make format_to faster on older gcc
2018-09-08 07:22:29 -07:00
medithe
981797f059
Get rid of implicit-fallthrough warn. in GCC 7 and 8
...
This change enables FMT_FALLLTHROUGH also for GCC-Compilers in the versions 7 and 8.
2018-09-07 12:43:32 -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
8dc69b9da9
Workaround a bug in Intellisense
2018-08-29 20:40:54 -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
802ff8866e
Fix compilation of time.h when localtime_t is a macro ( #843 )
2018-08-29 06:40:54 -07:00
medithe
95a718992c
Remove conversion compiler warnings ( #844 )
...
* Remove conversion compiler warning
When compiling with g++8, I get the following two errors:
include/fmt/format-inl.h:400:29: error: conversion from ‘int’ to ‘char’ may change value [-Werror=conversion]
buffer[size++] = zero + static_cast<char>(digit);
~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
include/fmt/format-inl.h:416:28: error: conversion from ‘int’ to ‘char’ may change value [-Werror=conversion]
buffer[size++] = '0' + digit;
~~~~^~~~~~~
With this change, the errors are gone.
2018-08-29 06:38:56 -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 2a952dd0b2de035f5bace42022c4879f527d174e.
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
a11eb3a090
Workaround various icc bugs ( #822 )
2018-08-22 09:07:17 -07:00
Victor Zverovich
62010520ed
Disable gnu-string-literal-operator-template warning
2018-08-22 08:12:59 -07:00
Victor Zverovich
987514761e
Make convert_to_int public ( #818 )
2018-08-22 07:40:06 -07:00
Thomas Bernard
abde38b4fb
Add compilation support with Newlib nano for embedded targets
...
Remove the dependency on std::locale to reduce executable sizes
For embedded target the usage of locale bring a huge amount of code to the executable, just to get hold of the thousands separator. Using a static defined thousands separator makes libfmt embedded target friendly.
2018-08-19 07:40:34 -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
Victor Zverovich
8b9fb9fb7e
Fix ambiguous instantiation with formatter in fmt/ostream.h ( #830 )
2018-08-11 09:13:54 -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
ce19309d09
Workaround a bug in icc 15
2018-07-26 07:59:41 -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
8db14efa84
util-test -> core-test and minor cleanup
2018-07-22 17:05:23 -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
5befe6584d
Remove fmt/folly.h and clean up core API
2018-07-22 14:42:25 -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
MikePopoloski
7b4f170c94
Fix warning about using old-style cast
2018-07-20 17:07:23 -07:00
MikePopoloski
b1d10a2884
Add support for dynamic arg sets
...
This allows construction of basic_format_args from a dynamic set of arguments. The syntax is a little clunky and could probably be improved but this at least enables the functionality.
2018-07-20 17:07:23 -07:00
Victor Zverovich
cf2719bd12
Add support for types explicitly convertible to wstring_view
2018-07-18 19:12:10 -07:00
Victor Zverovich
73bed45b7a
Add support for types explicitly convertible to fmt::string_view
2018-07-18 14:42:26 -07:00
Victor Zverovich
6eaa507473
Fix global initialization issue ( #807 )
2018-07-18 09:49:21 -07:00
Victor Zverovich
48dff9f3c5
Update docs
2018-07-18 06:44:46 -07:00
Victor Zverovich
a9e261599b
Minor cleanup
2018-07-17 08:54:22 -07:00
Victor Zverovich
8615ff2acc
Micro-optimize argument retrieval
2018-07-15 07:28:31 -07:00
Victor Zverovich
916ed99dab
Micro-optimize argument retrieval
2018-07-14 15:28:55 -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
Victor Zverovich
e0f6a2f8be
Add a formatter for folly::StringPiece
2018-07-14 07:31:47 -07:00
Alexej Harm
a317448bd4
Keep noexcept specifier when exceptions are disabled.
2018-07-13 12:46:15 -07:00
Marek Kurdej
2a4cd6d05e
Fix the returned value of format_to_n with user-defined types having operator<<.
2018-07-10 14:01:12 -07:00
Henry Schreiner
9c32e73abf
Fixing return unreachable warning on NVCC
2018-07-09 21:33:10 -07:00
gabime
e5c93108e6
Added clear() to basic_buffer
2018-07-09 20:25:49 -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 f9e9bf02310e38e70bbe40508f0286792e68aa32.
2018-07-08 08:08:50 -07:00
Victor Zverovich
f9e9bf0231
Optimize format string parsing
2018-07-07 16:50:22 -07:00
Florin Iucha
e6362642cf
Fix pedantic conversion warning
2018-07-04 17:45:28 -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
Remotion
ce500635c7
Renamed enum color to colors.
...
Added enum colors conversion to rgb struct.
Added colors_test.cpp.
Removed print_colored.
Renamed enum colors back to color.
Removed unnecessary inline keyword.
Removed print_rgb.
2018-06-23 06:14:44 -07:00
Victor Zverovich
0508bbc7ae
Add wchar_t overload of format_to_n ( #764 )
2018-06-13 08:24:32 +02:00
gabime
c2fbadb9cf
Fixed issue #779
2018-06-12 07:39:44 +02:00
Remotion
47268ecd80
Fixed GCC version test
2018-06-10 20:35:38 +02:00
Victor Zverovich
9ff3b6af2e
Fix handling of compile-time strings when including ostream.h ( #768 )
2018-06-10 19:05:27 +02:00
Victor Zverovich
e3707ef14b
Document that file should be in wide-oriented mode for wide print
2018-06-09 09:12:49 +02:00
Victor Zverovich
45fa4ee949
Merge branch 'master' of github.com:fmtlib/fmt
2018-06-08 21:43:56 +02:00
Remotion
9c07b37fff
Using enum class now.
...
Renamed from hex to color.
Changed colr names to snake case.
2018-06-08 21:40:35 +02:00
Remotion
5b5886a993
Fixed line length.
2018-06-08 19:48:41 +02:00
Remotion
d2bfee13e2
Added quotes for strings in ranges and tuple likes.
2018-06-08 19:48:41 +02:00
Remotion
aff6e45e14
Added support for rgb color output.
2018-06-07 22:49:16 +02:00
Victor Zverovich
1b8a7f8fa0
Fix postincrement in truncating and counting iterators
2018-06-07 20:20:36 +02:00
Victor Zverovich
4bc26f0a7b
Merge branch 'master' of github.com:fmtlib/fmt
2018-06-07 18:42:30 +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
Dror Levin
cd5b5670ba
Make is_range and is_tuple_like public API, fix #751
2018-06-06 21:49:14 +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
47d147b65d
Simplify the nvcc warning fix
2018-06-04 21:27:20 +02:00
Victor Zverovich
911a75114b
Fix nvcc warnings ( #752 )
2018-06-04 21:00: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
e282d963fe
Bump version
2018-05-26 09:46:59 -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
147807c911
Detect integer_sequence support on MSVC
2018-05-21 20:30:58 -07:00
Victor Zverovich
5ad54256c5
Fix a conflict between fmt::join and fmt/ostream.h ( #744 )
2018-05-21 20:21:06 -07:00
Victor Zverovich
6ebc1a967d
Merge locale.h into format-inl.h
2018-05-20 17:16:34 -07:00
Victor Zverovich
edd5f1445d
Fix compilation errors on gcc 4.4
2018-05-20 09:09:03 -07:00
Victor Zverovich
936aba5f90
Fix compilation errors on gcc 4.4
2018-05-20 07:42:09 -07:00
Victor Zverovich
b76bb79613
Improve naming consistency
2018-05-19 10:32:53 -07:00
Victor Zverovich
69823bf852
Improve naming consistency
2018-05-19 08:59:37 -07:00
Victor Zverovich
d940fa679c
Disable unsafe implicit conversion to std::string ( #729 )
2018-05-19 07:14:27 -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
Remotion
e3f7f3a2e9
Add support for ranges, containers and tuple-like types in fmt/ranges.h
2018-05-13 13:28:11 -07:00
Victor Zverovich
ad23270ec7
Document to_wstring
2018-05-13 09:11:29 -07:00
Victor Zverovich
989378930a
Detect inline namespaces on gcc
2018-05-13 08:53:04 -07:00
Victor Zverovich
6a1df3bd05
Fix docs
2018-05-12 12:57:16 -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
Elias Kosunen
0adccaefb6
Fix a -Wundef of _LIBCPP_VERSION
2018-05-05 07:43:22 -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
b1f68c43b5
Merge branch 'master' of github.com:fmtlib/fmt
2018-04-21 19:21:41 -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
Daniela Engert
2ae41242a5
allow time formatting with wchar_t contexts
...
change total specialization of 'struct formatter<std::tm>' into partial specialization 'template <typename Char> struct formatter<std::tm, Char>', backed by matching 'strftime'-like overloads
2018-04-18 18:55:49 -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
44cc034651
Relax string_view requirements
2018-04-07 16:18:01 -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
e8e006f4e7
Fix compile checks for mixing narrow and wide strings ( #690 )
2018-03-30 09:29:47 -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
Germán Méndez Bravo
7a41d61d79
Add make_printf_args
...
Fixes #687
2018-03-27 07:15:51 -10:00
Victor Zverovich
4fea018b2d
Fix string_view detection
2018-03-26 07:00:41 -10:00
Victor Zverovich
6957d28cfb
Detect string_view on libc++ ( #686 )
2018-03-26 06:50:22 -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
c3d05245fe
Fix a shadowing warning
2018-03-16 16:26:11 -04:00
Victor Zverovich
505b3ae66f
Workaround GCC bug 67371 ( #682 )
2018-03-16 12:02:19 -04:00
Victor Zverovich
70dffc639a
Remove unnecessary check
2018-03-15 09:58:26 -04:00
Victor Zverovich
df828f88da
Don't define FMT_GCC_VERSION on clang
2018-03-15 09:55:31 -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
Elias Kosunen
3adfaae20c
Remove extra semicolon in format_args constructor
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
Vasili Galka
acb469ae2e
Fixed UTF8/16 converters to support empty string input
...
Previously an exception was thrown since Win32 WideCharToMultiByte API
returns error on zero-length input.
2018-03-13 21:33:21 -04: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
daf650c49a
Disallow formatting of multibyte strings into a wide buffer ( #606 )
2018-03-10 06:46:41 -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
585512fc7c
Remove unnecessary instantiations
2018-03-04 15:14:02 -08:00
Victor Zverovich
7755cdc199
Make symbols readable
2018-03-04 15:00:22 -08:00
Victor Zverovich
f867d08239
Update docs
2018-03-04 12:09:34 -08:00
Victor Zverovich
a103b9bc46
Workaround missed optimization in gcc ( #668 )
2018-03-04 11:45:20 -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
4d35f94133
Always use fallback string_view to pass format string ( #664 )
2018-02-24 18:19:30 +00: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
Lars Gullik Bjønnes
55f5c9f21b
Use FMT_NULL instead of 0 is a few more places.
...
Found with GCC and -Wzero-as-null-pointer-constant
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
24d249b0b4
Fix formatting of objects convertible to string_view
2018-02-19 20:25:56 +00:00
hubslave
e508e30800
Don't define FMT_LOCALE on OpenBSD
...
OpenBSD doesn't have strtod_l() (at least under the default
headers), so the class Locale that the macro gates won't compile.
2018-02-19 19:24:33 +00:00
Victor Zverovich
0ee4273b04
Put is_enum check first not to instantiate convert_to_int unnecessarily
2018-02-18 05:47:29 +00:00
Victor Zverovich
8ca3ab2c4c
Revert problematic pragma
2018-02-18 05:38:32 +00:00
Victor Zverovich
18ac98700e
Fix formatting of objects convertible to std::string
2018-02-17 12:57:18 +00:00
Victor Zverovich
ce4a65ffea
Add pointer support to basic_writer
2018-02-17 09:38:46 +00:00
Victor Zverovich
91721caa42
Add detection of wostream operator<< ( #650 )
2018-02-17 09:03:43 +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
Andrew Gunnerson
7d2723d57c
posix.cc: Fix compilation with -fno-exceptions
...
Signed-off-by: Andrew Gunnerson <andrewgunnerson@gmail.com>
2018-02-15 18:39:36 -08:00
Alex Alabuzhev
24d66c5d65
compilation fix & warnings
2018-02-15 18:37:45 -08:00
Victor Zverovich
229887bd40
Make constexpr remove_prefix gcc version check tighter ( #648 )
2018-02-14 05:46:41 -08:00
Victor Zverovich
f3f19e762f
Update docs
2018-02-11 13:43:16 -08:00
Victor Zverovich
e9fa42acb8
Fix docs and build issues on gcc-4.6
2018-02-11 09:43:54 -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
d8ef8a9e9b
Cleanup
2018-02-11 06:24:22 -08:00
Victor Zverovich
61065e1a5c
Fix unreachable code warning when signbit returns bool
2018-02-10 07:21:17 -08:00
Victor Zverovich
5096c0fe97
Fix string_view detection
2018-02-10 07:17:29 -08:00
Victor Zverovich
5013c15737
Silence MSVC 2017 constant if expression warning
2018-02-10 06:52:46 -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
0b635c9dc5
Fix handling of fixed enums in clang ( #580 )
2018-02-10 06:17:42 -08:00
Victor Zverovich
66afd9b33a
Fix compilation on gcc 6
2018-02-10 05:16:16 -08:00
Victor Zverovich
67e070fe5a
Make format work with C++17 std::string_view ( #571 )
2018-02-07 08:14:54 -08:00
Victor Zverovich
64599973e9
Enable stream exceptions ( #581 )
2018-02-07 07:36:15 -08:00
Victor Zverovich
92a250fdb6
Suppress Clang's warning on zero as a null pointer
2018-02-07 07:16:00 -08:00
Victor Zverovich
2f13d41e30
Add to_wstring
2018-02-07 07:08:14 -08:00
Victor Zverovich
1e19ae8348
Workaround a bug in MSVC
2018-02-07 06:31:42 -08:00
Victor Zverovich
3810d7e4d4
Workaround a bug in MSVC
2018-02-04 09:29:50 -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
2582f41e12
Fix ifdefs
2018-02-02 19:16:13 -08:00
Victor Zverovich
bfce29ffef
Improve conversion
2018-02-02 18:40:36 -08:00
Victor Zverovich
f164e4c72f
Remove old bcc-related comments
2018-02-01 16:49:47 -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
1c7b751d70
Fix handling of implicit conversion to integral types larger than int
2018-02-01 16:42:15 -08:00
Victor Zverovich
08dff3774c
Allow compiling and using as DLL in windows #502
2018-01-28 20:50:43 -08:00
Victor Zverovich
c753a2af39
Don't include the world with WIN32_LEAN_AND_MEAN ( #503 )
2018-01-28 20:26:25 -08:00
Victor Zverovich
768061c85e
Fix FormatBuf implementation ( #491 )
2018-01-28 20:08:51 -08:00
Victor Zverovich
0c136381e3
Move back_insert_range to format.h
2018-01-27 18:56:50 -08:00
Victor Zverovich
5060568f72
%.f should have zero precision, not default precision
2018-01-27 17:56:19 -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
a93270fd60
Replace a bunch of craft with type_traits, take 2
2018-01-22 18:56:53 -08:00
Victor Zverovich
21429c8646
Revert "Replace a bunch of craft with type_traits"
...
This reverts commit e79588d6c1e654cb2833d496042b14807c8cd818.
2018-01-21 18:53:38 -08:00
Victor Zverovich
0473c48f88
Add std::basic_string allocator support ( #441 )
2018-01-21 18:21:16 -08:00
Victor Zverovich
e79588d6c1
Replace a bunch of craft with type_traits
2018-01-21 18:11:57 -08:00
Victor Zverovich
3a6c7d0cbd
Fix signbit detection ( #423 )
2018-01-21 16:41:55 -08:00
Victor Zverovich
5e4c34b25a
Add version macro FMT_VERSION ( #411 )
2018-01-21 16:36:22 -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
a1e7e4a768
Fix compilation with -fno-exceptions ( #402 , #405 )
2018-01-20 17:10:14 -08:00
codicodi
3f24a38840
Thread-safe time formatting ( #396 )
2018-01-20 11:35:23 -08:00
Victor Zverovich
f853d94a15
Remove unnecessary fmt/ prefix ( #397 )
2018-01-20 10:28:10 -08:00
Victor Zverovich
da80005f11
Fix compilation on Cygwin ( #388 )
2018-01-20 09:52:03 -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
cea3c20747
Give a better error message for function pointers ( #633 )
2018-01-13 07:02:45 -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 3aaa25fa70286dceb800b71c120be54dabbbcfa2 for
reasons discussed in #622 .
2017-12-23 08:00:51 -08:00
Victor Zverovich
5f1c73db7d
Shorten a comment in locale.h
2017-12-23 08:00:38 -08:00