Victor Zverovich
7b478f9dec
Simplify example
2020-01-02 07:31:45 -10:00
Victor Zverovich
c85efef312
More showpoint fixes and tests ( #1498 )
2019-12-30 13:08:35 -10:00
Victor Zverovich
455a7c0787
Clarify lifetime of basic_format_args
2019-12-30 08:51:47 -10:00
Ivan Shynkarenka
d2d1c9c560
warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data
2019-12-26 08:07:24 -08:00
Victor Zverovich
b6e19e5953
Update apidoc
2019-12-24 12:08:37 -08:00
Victor Zverovich
f219dcd59b
Add fmt::bytes
2019-12-24 10:45:15 -08:00
Victor Zverovich
dea7fde8b7
Deprecate u8string_view
2019-12-24 09:44:57 -08:00
Victor Zverovich
5390e29d42
Enable mojibake
2019-12-24 08:42:29 -08:00
Victor Zverovich
9f6434dcde
Improve UTF-8 handling on Windows
2019-12-23 16:19:11 -08:00
Victor Zverovich
dac9a7f99d
Improve UTF-8 handling on Windows
2019-12-22 12:05:28 -08:00
Victor Zverovich
3ca9533f38
Flatten forward
2019-12-22 08:23:54 -08:00
Victor Zverovich
7eec036d9a
Improve UTF-8 support
2019-12-21 19:53:52 -08:00
Victor Zverovich
e6b37b4aff
Handle block boundaries in utf8_to_utf16
2019-12-21 16:33:34 -08:00
Victor Zverovich
8cf4c52068
Apply clang-format
2019-12-21 13:10:45 -08:00
Victor Zverovich
74532c23a3
Make type a scoped enum
2019-12-21 12:22:17 -08:00
Victor Zverovich
b308159be5
Make round_direction a scoped enum
2019-12-21 09:24:42 -08:00
Victor Zverovich
8b41362a0a
Add trailing decimal point if # is specified ( #1476 )
2019-12-18 12:41:56 -08:00
Victor Zverovich
1b1c70108a
trailing_zeros -> showpoint
2019-12-18 12:12:09 -08:00
Victor Zverovich
d7e72a09e0
Simplify FMT_STRING_IMPL
2019-12-18 11:50:47 -08:00
Victor Zverovich
2201890d7a
Apply clang-format and update inclusion guards
2019-12-18 11:17:36 -08:00
Greg Sjaardema
6100ed4bb3
Eliminate NVCC NVidia compiler emits unreachable code warnings
...
Similar to the MSC Compiler, the NVidia NVCC compiler also
emits unreachable code warnings when there is a return
statement following an exception. These changes eliminate
those warnings.
2019-12-18 10:39:40 -08:00
Victor Zverovich
1afe201ae8
Handle block boundaries in utf8_to_utf16
2019-12-18 10:35:51 -08:00
parkertomatoes
9acf89fef6
Mitigate MSVC issue with min/max macros ( #1480 )
2019-12-16 08:24:00 -08:00
Victor Zverovich
9ea42fb26e
Rename posix-test to os-test
2019-12-15 16:43:40 -08:00
Victor Zverovich
da2569827e
posix.cc -> os.cc
2019-12-15 12:36:15 -08:00
Victor Zverovich
35959a31d7
Move OS-specific APIs to a separate header
2019-12-15 11:46:45 -08:00
Victor Zverovich
ec2463c905
Implement utf8_to_utf16 using utf8_decode
2019-12-15 09:35:26 -08:00
Victor Zverovich
0012917f69
Add a UTF-8 decoder
2019-12-15 07:28:19 -08:00
Victor Zverovich
9e450911fa
Give an error on precision overflow
2019-12-14 07:45:27 -08:00
Victor Zverovich
068d20bc31
Avoid shadowing warnings in FMT_STRING
2019-12-14 07:00:08 -08:00
iPherian
8ab1c5c6e8
Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433 ) ( #1470 )
...
* Squelch MSVC warning exporting subclasses of runtime_error
When compiling {fmt} as a DLL, MSVC complains that we are exporting
classes that inherit from "std::runtime_error", which we are not
exporting.
In this case, it's not really a problem because that symbol is already
exported via the C++ stdlib. So we just add a pragma to silence the
warning.
* Fix compilation with MinGW
Commit 3bc28fcc6b
("Squelch MSVC warning exporting subclasses of
runtime_error", 2019-11-29) silenced a MSVC warning under. The MinGW
compiler also defines _WIN32, but does not support the "warning" pragma.
Introduce a helper macro to squelch the MSVC warning only when using the
Microsoft compiler.
Signed-off-by: Beat Bolli <dev@drbeat.li>
* Fix compilation with VS2015 (#1450 )
VS2015 does not support the __pragma(...) syntax in the midst of a
class declaration, so move it to just before the declaration.
2019-12-13 12:16:36 -08:00
Victor Zverovich
a770009fcc
Improve error reporting
2019-12-13 11:34:03 -08:00
Ivan Shynkarenka
598e6042d1
warning C4468: 'fallthrough': attribute must be followed by a case label or a default label
2019-12-12 06:25:33 -08:00
Federico
b272fb3605
Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 ( #1469 )
2019-12-11 14:28:20 -08:00
Victor Zverovich
b7eb8c8921
Prepare for the next release
2019-12-10 21:50:14 -08:00
Victor Zverovich
9f2e7edaeb
Fix handling of types convertible to std::string_view
2019-12-09 13:25:08 -08:00
Victor Zverovich
f675cb887e
Remove redundant cast
2019-12-08 18:01:59 -08:00
Florin Iucha
72879db40e
Clean-up sign-conversion warnings in public headers
2019-12-08 16:07:55 -08:00
Deniz Evrenci
1ab80aa92c
Fix handling of types with custom formatters that are convertible to std::string_view
2019-12-06 11:40:21 -08:00
Victor Zverovich
f443bd3baf
Ditch decimal_formatter ( #1363 )
2019-12-05 19:07:45 -08:00
Victor Zverovich
1219b65f21
Relax fallthrough attribute detection
2019-12-05 10:40:15 -08:00
Victor Zverovich
02af5beb8a
Bump version and update changelog
2019-12-04 10:22:07 -08:00
Victor Zverovich
123e7f7fc3
Revert #1433 because of build failures ( #1450 )
2019-12-03 09:24:15 -08:00
Victor Zverovich
168460f02c
Remove TYPES
2019-12-03 06:45:00 -08:00
Egor Pugin
a64f60c849
Remove unneeded FMT_API.
2019-12-03 05:55:04 -08:00
Egor Pugin
1a599117d8
Export assert_fail with FMT_API. This fixes dll build.
2019-12-03 05:55:04 -08:00
Beat Bolli
5981588565
Fix compilation with MinGW
...
Commit 3bc28fcc6b
("Squelch MSVC warning exporting subclasses of
runtime_error", 2019-11-29) silenced a MSVC warning under. The MinGW
compiler also defines _WIN32, but does not support the "warning" pragma.
Introduce a helper macro to squelch the MSVC warning only when using the
Microsoft compiler.
Signed-off-by: Beat Bolli <dev@drbeat.li>
2019-12-02 12:56:46 -08:00
Victor Zverovich
8bbe76af3a
Add a missing decimal point in exponent notation with trailing zeros
2019-12-02 11:36:33 -08:00
Victor Zverovich
7111a1eb9f
Bump version
2019-12-01 16:50:07 -08:00
Victor Zverovich
1cbae6e9ba
Put vprint declarations in one place
2019-12-01 14:43:51 -08:00
Victor Zverovich
4b120b68ae
Clean up includes
2019-12-01 10:19:07 -08:00
Victor Zverovich
62da1db62a
Avoid wchar_t instantiations
2019-12-01 07:34:09 -08:00
Chris Martin
3bc28fcc6b
Squelch MSVC warning exporting subclasses of runtime_error
...
When compiling {fmt} as a DLL, MSVC complains that we are exporting
classes that inherit from "std::runtime_error", which we are not
exporting.
In this case, it's not really a problem because that symbol is already
exported via the C++ stdlib. So we just add a pragma to silence the
warning.
2019-11-30 12:00:25 -08:00
Victor Zverovich
ba6e330fd3
digits -> num_bits
2019-11-30 08:41:07 -08:00
Victor Zverovich
6037b3cae9
Fix dangling else problem in FMT_ASSERT
2019-11-30 07:52:33 -08:00
Victor Zverovich
fafb03fa6d
Fix handling of fallback_uintptr
2019-11-30 07:31:38 -08:00
Victor Zverovich
2f9acd1838
Remove dependency on <cassert>
2019-11-29 09:37:18 -08:00
Victor Zverovich
aaf829bfb1
Fix fallback pointer formatting on big endian, take 2
2019-11-29 07:07:08 -08:00
Victor Zverovich
b994a0ab13
Fix handling of missing fraction in snprintf_float
2019-11-29 06:17:29 -08:00
Victor Zverovich
bb205d940d
Fix fallback pointer formatting on big endian
2019-11-29 05:15:59 -08:00
Florin Iucha
ea54b21e78
Remove invalid noexcept annotation
...
buffered_file& operator=(buffered_file&& other) calls close which can
throw.
2019-11-28 06:43:08 -08:00
Florin Iucha
9cbf4b087c
Fix -Wconversion warnings
2019-11-28 06:43:08 -08:00
Victor Zverovich
c3be0f593d
Refactor floating-point formatting
2019-11-27 08:08:22 -08:00
Victor Zverovich
c68703c9f4
float_spec -> float_specs
2019-11-26 15:53:24 -08:00
Victor Zverovich
9a21728b0a
Remove gen_digits_params
2019-11-26 11:27:53 -08:00
Victor Zverovich
7ffa62db18
Fix precision handling in snprintf_float
2019-11-25 20:00:10 -08:00
Victor Zverovich
0d07db1234
Fix handling of streamable and convertible to string types
2019-11-25 16:46:33 -08:00
Victor Zverovich
d19ed6716d
Fix hexfloat buffer reallocation
2019-11-25 15:54:04 -08:00
Victor Zverovich
99b6e928d4
Fix handling of types with deleted rvalue conversion to string ( #1421 )
2019-11-25 08:30:47 -08:00
Victor Zverovich
57cd3f72e9
Update comment
2019-11-24 15:34:33 -08:00
Victor Zverovich
111fc127fe
Remove fp::operator-
2019-11-24 13:28:15 -08:00
Victor Zverovich
6003ec3f25
Simplify Grisu implementation
2019-11-24 13:24:28 -08:00
Victor Zverovich
75fff1db64
Minor cleanup
2019-11-24 08:43:56 -08:00
Victor Zverovich
28d7191c27
Don't print trailing zero with fixed, precision=0, and showpoint ( #1417 )
2019-11-24 08:23:10 -08:00
Victor Zverovich
43271ba8e8
Handle null terminator at the end of the buffer
2019-11-24 07:15:25 -08:00
Victor Zverovich
4cf59ce734
Integrate Grisu and sprintf digit generators
2019-11-23 06:56:29 -08:00
Victor Zverovich
7395472dde
Refactor floating-point formatting
2019-11-22 18:49:19 -08:00
Victor Zverovich
ded1e7679e
Refactor floating point formatting
2019-11-22 08:22:22 -08:00
Victor Zverovich
c7edd8e570
Cleanup FP formatting
2019-11-20 13:17:03 -08:00
Victor Zverovich
75108a56f6
Don't print % for nan and inf
2019-11-20 12:26:48 -08:00
Victor Zverovich
3e1f70fe02
Merge write_fp into write
2019-11-20 12:20:17 -08:00
Victor Zverovich
125fc5e520
Update comment
2019-11-20 11:45:25 -08:00
Victor Zverovich
4de41aa655
Move basic_writer::write_fp to where it belongs
2019-11-20 08:22:34 -08:00
Victor Zverovich
404a880bd4
Make parse_arg_id more readable
2019-11-20 08:12:23 -08:00
Victor Zverovich
092d2dc7b2
Merge safe-duration-cast.h into chrono.h
2019-11-20 08:05:18 -08:00
Victor Zverovich
093e554211
Remove redundant qualification
2019-11-20 07:44:34 -08:00
Ivan Shynkarenka
d0696b0aa6
warning C4456: declaration of 'num_digits' hides previous local declaration
2019-11-20 06:43:46 -08:00
Victor Zverovich
66d7746bb3
Use grisu for exponent notation
2019-11-19 16:55:11 -08:00
Victor Zverovich
e9bff78814
Don't parse % unless FMT_DEPRECATED_PERCENT is set
2019-11-19 11:54:18 -08:00
Victor Zverovich
57b6f2966d
Deprecate the fmt macro
2019-11-19 11:28:17 -08:00
Victor Zverovich
d79493e5ee
Remove Grisu2
2019-11-19 09:50:59 -08:00
Victor Zverovich
5420bcce2d
Make % an opt-in to improve compatibility with std::format
2019-11-18 08:04:43 -08:00
Victor Zverovich
56a2e2075c
Refactor float spec parsing
2019-11-18 07:37:36 -08:00
Victor Zverovich
ed117baa4f
Replace bool with float_format and add exponential
2019-11-17 15:52:13 -08:00
Victor Zverovich
f26446290b
Move float_spec_handler to internal namespace and update asserts
2019-11-17 13:47:00 -08:00
Victor Zverovich
f67783d7e6
Clarify that numeric alignment is deprecated
2019-11-17 10:24:55 -08:00
Victor Zverovich
c01ec54fde
Document and clean basic_format_parse_context
2019-11-17 09:28:26 -08:00
Victor Zverovich
b0c2ab93fa
Bump version
2019-11-17 08:35:26 -08:00
Victor Zverovich
9b7fe2a4a1
Don't use POSIX API on UWP
2019-11-17 08:29:08 -08:00
Daniel Laügt
c58b7d9c2f
Use overridden locale in ostream
2019-11-17 06:22:22 -08:00
Victor Zverovich
dcde089b4e
Improve POSIX API detection
2019-11-15 07:28:02 -08:00
David P. Sicilia
2145a7bdcc
Move has_formatter into the public fmt namespace. ( #1407 )
...
* Move has_formatter into the public fmt namespace.
This will allow users to do SFINAE-friendly checks for
the formattability of a type.
Fixes #1369
2019-11-14 07:08:24 -08:00
Victor Zverovich
0d6dd0cc6a
Correct basic_string_view from string ctor
2019-11-14 05:57:23 -08:00
Rosen Penev
1f918159ed
[clang-tidy] Replace deprecated C headers
...
Found with modernize-deprecated-headers
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-08 09:35:26 +00:00
Rosen Penev
6868f888b2
[clang-tidy] Add missing override
...
Found with hicpp-use-override
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-08 09:35:26 +00:00
Rosen Penev
87cd545a1e
[clang-tidy] Replace {} with = default
...
Found with hicpp-use-equals-default
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-08 09:35:26 +00:00
Rosen Penev
12f9437e22
[clang-tidy] Use auto
...
Found with hicpp-use-auto
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-08 09:35:26 +00:00
Rosen Penev
bb0c8bfea8
[clang-tidy] Add noexcept where move is used
...
Found with performance-noexcept-move-constructor
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-08 09:35:26 +00:00
Rosen Penev
e6e8298904
[clang-tidy] Add parentheses to macro arguments
...
Found with bugprone-macro-parentheses
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-08 09:35:26 +00:00
Rosen Penev
0f0848e4f4
[clang-tidy] Use braced init list
...
Found with modernize-return-braced-init-list
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-08 09:35:26 +00:00
Rosen Penev
a1fb5c7337
[clang-tidy] Changes suffixes to uppercase
...
Found with hicpp-uppercase-literal-suffix
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-08 09:35:26 +00:00
Rosen Penev
8a411c2bca
[clang-tidy] Turn deleted function to public
...
Found with modernize-use-equals-delete
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-08 09:35:26 +00:00
Victor Zverovich
0047dc10a2
Mark apidoc as rst
2019-11-06 15:16:02 +00:00
daniel
f1559e1d56
Use grouping() from locale for specifier 'n'
2019-11-05 07:22:12 +00:00
Victor Zverovich
ffd05e65ed
basic_parse_context -> basic_format_parse_context per standard and document
2019-11-05 07:13:58 +00:00
Attila Tajti
0889856d61
Fix UTF-8 truncation
2019-11-03 11:53:15 +00:00
Victor Zverovich
d6eede9e08
Remove redundant ctor
2019-11-01 12:09:04 -07:00
Victor Zverovich
213e09644f
Workaround X11 madness ( #1388 )
2019-11-01 08:47:11 -07:00
Victor Zverovich
6bfc9af8c9
Add double support to compile
2019-10-30 20:45:29 -07:00
Victor Zverovich
3487f1b9cd
Always inline grisu_gen_digits and disable grisu2 by default
2019-10-30 16:52:00 -07:00
Victor Zverovich
791294d17b
Apply get_cached_power optimization by jk-jeon
2019-10-30 08:07:01 -07:00
Victor Zverovich
8e700619b7
Simplify format_handler
2019-10-30 07:02:38 -07:00
Victor Zverovich
58c6f8c7f5
Make unsigned-integer-overflow sanitizer happy ( #1377 )
2019-10-28 14:41:09 -07:00
Victor Zverovich
40414b3446
Don't emit trailing zeros in exponential notation ( #1376 )
2019-10-28 12:31:00 -07:00
Victor Zverovich
b7a157401e
Simplify grisu_writer
2019-10-23 13:52:09 -07:00
Victor Zverovich
7aa58c30bf
Simplify NVCC checks
2019-10-23 11:32:35 -07:00
Victor Zverovich
8e9bffa986
clang-format
2019-10-23 11:20:21 -07:00
Victor Zverovich
ce4d87acd4
Remove obsolete comment and clang-format
2019-10-23 11:15:43 -07:00
Ivan Shynkarenka
21acc2af43
Fix more Visual Studio 2019 pedantic warnings ( #1371 )
...
* format-inl.h(444,1): warning C4804: '>>': unsafe use of type 'bool' in operation
format.h(2808,1): warning C4127: conditional expression is constant
* More fixes for VS2019 pedantic warnings
* Fix "conditional expression is constant" VS2019 warning in more specific way
* Use const_check to silence constexpr warning
2019-10-22 17:13:03 -07:00
kent-tri
00669427df
Patch compiler error when building using nvcc
...
If you compile using `nvcc` and pass the option `--expt-relaxed-constexpr` it will crash with an internal compiler error. This modification prevents using `constexpr` in `fmtlib` when compiling using `nvcc` and prevents the crash.
2019-10-22 08:34:52 -07:00
Victor Zverovich
d39ebf3ff2
Optimize counting
2019-10-21 06:57:42 -07:00
Victor Zverovich
6498bc6d31
Simplify grisu_writer
2019-10-20 19:29:24 -07:00
Victor Zverovich
a967dcbe20
Improve handling of signs
2019-10-20 19:05:38 -07:00
Victor Zverovich
8498bc97dd
Initialize all the things
2019-10-20 17:53:18 -07:00
Victor Zverovich
e2ea940673
Handle assymetric boundaries
2019-10-20 07:55:05 -07:00
Victor Zverovich
2bc5585ff0
Fix computing lower boundaries for smallest normalized double
2019-10-18 17:56:52 -07:00
Victor Zverovich
bb728a572a
packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask
2019-10-18 10:06:57 -07:00
Victor Zverovich
36d1390e67
Implement round half to even
2019-10-18 07:21:12 -07:00
Orivej Desh
599e0aef45
Support single precision floats in grisu formatting
...
Fixes #1336
2019-10-18 07:08:41 -07:00
Ivan Shynkarenka
91f7619cc9
Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)
2019-10-14 08:55:18 -07:00
Victor Zverovich
c4dc6bef24
Apply clang-format
2019-10-13 18:31:09 -07:00
Victor Zverovich
646966e973
Reduce bigint capacity
2019-10-13 14:06:38 -07:00
Victor Zverovich
a5abe5d95c
Handle negative exponent and nonnegative power
2019-10-13 13:16:09 -07:00
Victor Zverovich
1cbc5fa6cb
Handle negative exponent and rename value/pow10 to numerator/denominator
2019-10-13 12:50:48 -07:00
Victor Zverovich
f7a5748fd3
Partially implement (FPP)^2
2019-10-13 09:28:35 -07:00
Victor Zverovich
0e94b931a2
Fix a linkage error introduced by #1360 ( #1362 )
2019-10-13 08:23:47 -07:00
Victor Zverovich
5e58eb97b1
Implement add_compare
2019-10-13 08:05:06 -07:00
Orivej Desh
3a15ea3ea5
Rename write_double to write_fp
...
It handles all floating point types, not just doubles.
2019-10-12 11:41:24 -07:00
Orivej Desh
b87ac4d840
Distinguish float from double
2019-10-12 11:41:24 -07:00
Orivej Desh
a927dda9bb
Use words for packed constants
2019-10-12 11:41:24 -07:00
Orivej Desh
dd11d45847
Encode types using 5 bits
...
This is needed to support more than the current 16 types.
2019-10-12 11:41:24 -07:00
Victor Zverovich
b55551f900
Implement more comparison operators
2019-10-12 09:22:24 -07:00
Deniz Evrenci
96f91428c6
Add defaulted copy and move operations to format_error and system_error ( #1347 )
...
* Avoid weak vtables by providing a private virtual member function
* Add warning Wweak-vtables to clang when FMT_PEDANTIC is on
* Add defaulted copy and move operations to format_error and system_error
Compiler generated copy operations are deprecated and move operations
are not generated altogether.
* Add warning Wdeprecated to clang when FMT_PEDANTIC is on
2019-10-11 10:44:20 -07:00
Orivej Desh
b732f28c00
Deduplicate color vformat and vprint
...
After #1351 they became essentially the same.
2019-10-11 10:42:11 -07:00
Tanki Zhang
a82c1dc6d9
use memory_buffer to make color print behave atomic #1348 ( #1351 )
2019-10-10 08:28:56 -07:00
Victor Zverovich
2730e90186
Fix compile error in printf with gcc9 ( #1354 )
2019-10-09 18:58:40 -07:00
Victor Zverovich
e4d6d9d7c8
Implement divmod
2019-10-09 13:40:50 -07:00
Orivej Desh
b66bb6b71f
Fix undefined in core-test and printf-test ( #1345 )
...
* Fix undefined in core-test
Fixes "reference binding to null pointer" in BufferTest.Ctor
buffer.operator[] attempts to return a reference to `buffer.ptr_[0]` when `ptr_`
in `mock_buffer<int> buffer` is null.
* Fix undefined in printf-test
Fixes "signed integer overflow" in PrintfTest.Length
This occurs in `TestLength<long long>("ll")`, since its minimum value minus one
does not fit in long long.
* Fix undefined in printf %0$
Printf counts arguments from 1.
Fixes "shift exponent -4 is negative" in PrintfTest.InvalidArgIndex.
`do_get` is called with index -1 when `basic_printf_context.arg` is called with
id 4294967295 when basic_printf_context::get_arg subtracts 1 from arg_index 0 in
the format string "%0$d".
2019-10-08 06:28:39 -07:00
Victor Zverovich
b60114533f
Implement more bigint operations
2019-10-06 12:49:23 -07:00
Victor Zverovich
c41cea8b18
Initial implementation of square
2019-10-05 16:37:52 -07:00
Victor Zverovich
0c7650373c
Fix handling of types convertible to std::string_view
2019-10-05 06:58:37 -07:00
Victor Zverovich
0fc7bd1573
Fix ambiguity for types with dodgy conversions
2019-09-28 11:35:20 -07:00
Jeremy Ong
b4f1988c4b
Provide overload for fmt::join
that handles std::tuple
s
...
Address enhancement request #1322 .
The overload is provided in `ranges` (original `fmt::join` exists
currently in `format.h` for historical reasons.
Tests for prvalue and lvalue tuple arguments as well as the empty
tuple are provided in `ranges-test.cc`.
2019-09-27 14:05:35 -07:00
mwinterb
ac59d9f3a4
workaround VS2019 Update 3 compiler bug. ( #1328 )
2019-09-24 11:29:29 -07:00
Daumantas Kavolis
89b0c71fa9
fix name clash in header-only mode
2019-09-24 06:25:21 -07:00
Daumantas Kavolis
f6a783ad2e
fix get
2019-09-24 06:25:21 -07:00
Victor Zverovich
ccc8f5db02
Disable integral operator<< ( #1316 )
2019-09-23 20:34:08 -07:00
Victor Zverovich
f29901097f
Don't use const char* overload of operator<< ( #1309 )
2019-09-23 12:35:08 -07:00
Victor Zverovich
758446c80d
Fix a warning ( #1319 ) and simplify code
2019-09-19 16:00:40 -07:00
Victor Zverovich
c6d1a94a9f
Fix fallback_format ( #1306 )
2019-09-09 17:28:53 -07:00
Victor Zverovich
0656045d02
Fix format overload that takes text_style ( #1305 )
2019-09-08 18:41:02 -07:00
Victor Zverovich
c85ae23c73
Add max_value
2019-09-08 09:21:30 -07:00
Victor Zverovich
b3bf665764
Implement multiplication and part of assignment from pow of 10
2019-09-08 08:27:00 -07:00
Victor Zverovich
0887887e23
Implement left shift
2019-09-07 18:10:36 -07:00
Victor Zverovich
ac71d853be
Refactor normalize and clean up
2019-09-07 17:28:59 -07:00
Victor Zverovich
6649b8e0ca
value -> bigit
2019-09-07 14:23:19 -07:00
Victor Zverovich
56b5c192a0
Add a bigint stub and reenable grisu
2019-09-07 13:50:22 -07:00
Victor Zverovich
b2f0b6e44e
Tweak comment
2019-09-07 08:43:35 -07:00
Victor Zverovich
3d9f3c163b
Integrate new format string compilation
2019-09-07 07:01:51 -07:00
gabime
df4dcf2ece
Fixed vs 2015 warning about unused variable when grisu is off
2019-09-06 11:29:56 -07:00
Victor Zverovich
f7a4b4ab91
Make numeric alignment optional
2019-09-06 09:43:53 -07:00
Victor Zverovich
611cf0b3c6
Format octal 0 as 0
2019-09-06 07:03:47 -07:00
Victor Zverovich
1882b9687b
Reduce the numer of ifdefs with an empty (u)int128_t fallback
2019-09-05 18:03:47 -07:00
Deniz Evrenci
6de0454b42
Add support for built-in __int128 when available
2019-09-04 07:05:08 -07:00
Deniz Evrenci
16e3c48bb0
Move definition of FMT_USE_INT128 to core.h
2019-09-04 07:05:08 -07:00
Deniz Evrenci
8ce5f680f2
Rename internal::is_integral and internal::is_arithmetic
...
To reserve space for the type traits sharing the same name as the ones
from standard library.
2019-09-04 07:05:08 -07:00
Victor Zverovich
2fd8f9ec8a
Initial implementation of optimal compile-time formatter generation
2019-09-02 19:50:30 -07:00
Victor Zverovich
a128b5b2cb
Simplify format string compilation
2019-09-02 06:48:19 -07:00
Victor Zverovich
466128de00
Remove unused code and refactor
2019-09-01 13:08:53 -07:00
Victor Zverovich
22e98a5b6a
Make compile work with user-defined types
2019-09-01 11:49:27 -07:00
Victor Zverovich
f18a3f36a7
Remove string_view_metadata
...
string_view_metadata was introduced to make compiled format relocatable.
However, format string compilation is an optimization and therefore
adding overhead and extra complexity for relocation is undesirable.
In most cases the string will be either static or outlive compilation
and formatting and if it doesn't, it's possible to make compiled
representation relocatale by other means.
2019-09-01 11:10:49 -07:00
Victor Zverovich
7cad33563c
Refactor format string compilation
2019-09-01 10:28:41 -07:00
Victor Zverovich
e1ab6bc006
Simplify format string compilation
2019-09-01 08:31:32 -07:00
Victor Zverovich
422e7b9d70
Fix compile-time checks for user-defined types ( #1292 )
2019-08-31 08:35:38 -07:00
Victor Zverovich
9a56a608ee
Fix warnings ( #1288 )
2019-08-31 08:16:47 -07:00
Victor Zverovich
c76957565c
FixedEnum -> StrongEnum and make it a regression test
2019-08-31 08:16:47 -07:00
Rosen Penev
200ee6f108
Fix minor clang-tidy warnings
...
using instead of typedef.
climits instead of limits.h
Added missing cast to size_t.
2019-08-31 07:02:21 -07:00
Egor Seredin
bcd9b9331a
Map not int enum to correct underlying_type ( #1286 )
...
* Map not int enum to correct underlying_type
* Use non-zero constant in TestFixedEnum
2019-08-31 06:25:38 -07:00
luncliff
345ba07f1d
Add a CUDA test
...
test cuda: import fmt in CUDA source code
Current test is only for Windows(cl.exe).
Need to test more with the other host compilers...
* Activate the test when `find_package(CUDA)` worked
* The test runs with C++14
Detailed comments in 'test/cuda-test'
test cuda: add more comment / macro check
* checks both `__NVCC__` and `__CUDACC__`
More comments for CMake and CUDA source file.
test cuda: <fmt/core.h> checks NVCC and CUDA
The header file checks 2 things.
* __NVCC__: if the compiler is from NVIDIA
* __CUDACC__: if the source code is CUDA(.cu) file
Since we can't sure all users prefer latest, Version for
`find_pacakge(CUDA)` is downgraded to 9.0.
This is the minimum version for C++14 in CUDA
2019-08-30 17:45:50 -07:00
hhb
9e2490be4c
Rename precision parameter
...
To avoid clang warning:
fmtlib/include/fmt/chrono.h:753:32: error: declaration shadows a field of 'formatter<duration<type-parameter-0-0, type-parameter-0-1>, type-parameter-0-2, void>' [-Werror,-Wshadow]
2019-08-28 07:29:04 -07:00
Victor Zverovich
3f75e2b69e
Make buffer_range public and update custom formatting docs ( #1281 )
2019-08-28 06:50:20 -07:00
Victor Zverovich
744302add0
Workaround broken [[deprecated]] in Intel compiler ( #1273 )
2019-08-28 05:58:09 -07:00
Greg Sjaardema
f5556225a4
Eliminate shadow variable warning
...
gcc-9 gives the following shadow warning:
```
In file included from /Users/libraries/ioss/src/fmt/ostream.h:12,
from /Users/libraries/ioss/src/Ioss_DatabaseIO.C:59:
/Users/libraries/ioss/src/fmt/format.h: In function 'void fmt::v6::internal::parse_format_string(fmt::v6::basic_string_view<Char>, Handler&&)':
/Users/libraries/ioss/src/fmt/format.h:2442:10: warning: declaration of 'struct fmt::v6::internal::parse_format_string(fmt::v6::basic_string_view<Char>, Handler&&)::writer' shadows a global declaration [-Wshadow]
2442 | struct writer {
| ^~~~~~
/Users/libraries/ioss/src/fmt/format.h:1703:7: note: shadowed declaration is here
1703 | using writer = basic_writer<buffer_range<char>>;
| ^~~~~~
```
Since the `writer` struct is only used internally in the `parse_format_string` function, its name can be changed somewhat aribtrarily to avoid conflicts with names in an outer scope.
Note that this warning is also present in the 6.0.0 release.
2019-08-27 14:29:39 -07:00
Bruce Mitchener
ad3c7855e2
Fix typos.
2019-08-27 06:26:17 -07:00
Victor Zverovich
9bd2f1f9af
Temporarily disable Grisu
2019-08-26 06:11:44 -07:00
Victor Zverovich
b9815cf048
Simplify part_counter
2019-08-25 08:30:59 -07:00
Victor Zverovich
fe00cddde2
Move part counter to the namespace scope
...
to reduce the number of instantiations
2019-08-25 08:22:43 -07:00
Victor Zverovich
1a7d172dc7
which_value -> kind
2019-08-25 08:08:46 -07:00
Victor Zverovich
006c2546f2
Get rid of basic_prepared_format
2019-08-25 07:57:56 -07:00
Victor Zverovich
4ce006fb6e
Simplify format string compilation
2019-08-25 07:48:09 -07:00
Victor Zverovich
e2e557e273
Remove preparator
2019-08-25 06:47:15 -07:00
Victor Zverovich
a5f470eb10
Test and fix compiled format_to_n and formatted_size
2019-08-25 06:38:41 -07:00
Victor Zverovich
f8b59251c4
Remove unused preparator
2019-08-24 12:48:24 -07:00
Victor Zverovich
643aa4c8c4
Simplify format string compilation
2019-08-24 09:39:40 -07:00
Victor Zverovich
ffe29a92f4
Get rid of internal::compile
2019-08-24 09:04:03 -07:00
Victor Zverovich
e94d723667
Fix compiled format string version of format_to_n
2019-08-24 09:00:30 -07:00
Victor Zverovich
a9337395a2
Remove unused variable
2019-08-24 08:46:15 -07:00
Victor Zverovich
562a9f4991
Remove parts_container_concept_check
2019-08-24 08:41:43 -07:00
Victor Zverovich
b257c56e51
Fix size types
2019-08-24 08:36:14 -07:00
Victor Zverovich
1488df3395
Bump version
2019-08-24 07:31:25 -07:00
Victor Zverovich
45dc3486fe
Update license
2019-08-22 08:37:36 -07:00
Victor Zverovich
b2d4ca1546
Workaround an issue with std::filesystem::path being an infinitely deep range ( #1268 )
2019-08-21 11:22:59 -07:00
Victor Zverovich
c1e97392be
Fix warnings
2019-08-11 08:44:12 -07:00
Victor Zverovich
e8219952c6
Restrict fmt::compile to literal strings
...
to make sure we don't break the API too much when making all of this
compile-time only.
2019-08-10 13:18:11 -07:00
Victor Zverovich
5360ab0b59
Fix iteration over named arguments ( #1168 )
2019-08-09 11:53:07 -07:00
Victor Zverovich
22a42c0b01
Cleanup compile implementation
2019-08-04 11:15:43 -07:00
Victor Zverovich
211d312406
Don't terminate on I/O errors in report_error
2019-08-04 09:38:47 -07:00
Victor Zverovich
ba63ac8c18
Make format_to a non-member
2019-08-04 06:47:49 -07:00
Victor Zverovich
3fe49163bd
Revert "Make format_to a non-member"
...
This reverts commit a5bd3ddb28
.
2019-08-03 16:12:34 -07:00
Victor Zverovich
a5bd3ddb28
Make format_to a non-member
2019-08-03 08:36:53 -07:00
Victor Zverovich
3df0ea34e5
Remove unnecessary overloads
2019-08-03 08:26:51 -07:00
Victor Zverovich
436acf3489
Make formatted_size & format_to_n non-members
2019-08-03 07:54:49 -07:00
Victor Zverovich
823128049b
Make format a non-member
2019-08-03 06:31:24 -07:00
Charles Milette
1dfa2591b3
Make operator _a constexpr
2019-08-01 16:56:49 -07:00
Charles Milette
6f2dd30e38
Simplify udl_formatter return type
2019-08-01 16:56:49 -07:00
Charles Milette
431d0f85cf
Use basic_string_view in non-template UDL
2019-08-01 16:56:49 -07:00
Charles Milette
ad71f5a706
Use forwarding references in UDL template
2019-08-01 16:56:49 -07:00
Victor Zverovich
eac2796ce3
Fix locale detection
2019-07-26 12:13:05 +03:00
Victor Zverovich
ee36257469
Internalize format_part
2019-07-26 09:02:45 +03:00
Victor Zverovich
bbf0bada33
Simplify compile
2019-07-26 07:58:19 +03:00
Victor Zverovich
3730b4f039
Cleanup compile implementation
2019-07-25 21:26:22 +03:00
Victor Zverovich
9393fe26f6
prepare -> compile
2019-07-25 19:39:41 +03:00
Victor Zverovich
3268531bc9
Workaround a broken C locale on Windows
2019-07-25 12:55:23 +03:00
Jack Andersen
8bd59ec936
Use fputws for outputting wide strings
...
Also adds fwide byte/wide orientation checking to verify streams are
able to receive the character type in question.
On Windows, the fwide calls are no-ops that pass through the second
arg and optimize out the if statement entirely.
2019-07-25 10:29:32 +03:00
Victor Zverovich
6bcc3fd216
Fix warnings
2019-07-19 13:27:41 +02:00
Victor Zverovich
6a497e1d06
Fix warnings
2019-07-19 06:18:46 +02:00
Victor Zverovich
e9b9b0aefa
clang-format
2019-07-18 06:28:53 +02:00
Victor Zverovich
ec24342b2b
Fix more warnings
2019-07-18 06:28:17 +02:00
Victor Zverovich
230b24944c
Fix sign conversion warnings
2019-07-17 21:18:55 +02:00
Daan De Meyer
cadd92d69f
Fix #1232 .
2019-07-17 11:52:10 +02:00