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 4c650057a0
.
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
d179ec5f8b
Simplify Grisu
2019-05-15 08:40:21 -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
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
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
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 4a059914a9
.
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