denchat
c3d87c5a66
replace misspelled if !define() with ifndef
2019-05-02 14:17:15 +07:00
denchat
7d0dd76603
Replace extern on basic_data<void> with the FMT_EXTERN condition in core.h
2019-05-02 14:11:06 +07:00
denchat
b4a4dcd788
Add #define FMT_EXTERN extern only when not FMT_HEADER_ONLY
2019-05-02 14:09:11 +07:00
denchat
c6e6bfee4e
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>`
2019-05-02 13:43:14 +07:00
denchat
4f919b83c2
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.
2019-05-02 13:32:00 +07:00
denchat
e4bd8c1ef2
Eliminate __declspec(dllexport) designation on extern template internal::basic_data<> when extern affected during exporting phase.
2019-04-30 15:09:02 +07:00
denchat
3944deb5da
Mirror visibility of explicit instantiation declaration
...
explicit instantiation declaration of internal::basic_data<void> should mirror visibility of FMT_API
2019-04-29 17:04:52 +07:00
denchat
01bb881ff2
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.
2019-04-29 00:55:43 +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
cb46397dfb
Fix typo
2019-04-27 07:13:35 -07:00
Victor Zverovich
134904c886
Re-enabled constexpr tests
2019-04-26 17:07:37 -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
544b927933
Don't detect C compiler
2019-04-17 06:18:53 -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
8bc0adb9ba
Get rid of obsolete cmake stuff
2019-04-13 11:37:52 -07:00
Billy Donahue
1763d0e7a2
Add MongoDB to "Projects using this library"
2019-04-12 15:52:04 -07:00
Billy Donahue
f569c1ba28
doc fix: time -> chrono
...
Change refs to fmt/time.h -> fmt/chrono.h
RST label rename time-api -> chrono-api
2019-04-12 14:51:32 -07:00
Victor Zverovich
ccd70f59ee
Workaround bogus unreachable warnings in MSVC
2019-04-11 17:59:35 -07:00
Victor Zverovich
a4969ebe06
Link to fmt(...) docs from index
2019-04-10 19:22:10 -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
Lectem
6e37c20030
Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11
2019-04-07 08:47:17 -07:00
Lectem
3de3d76a36
Add compile features for cmake 3.8+
2019-04-07 08:47:17 -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
918ab77baa
Try fixing doc build
2019-04-06 10:04:56 -07:00
Victor Zverovich
735b1fadc3
Only update key on Linux
2019-04-06 09:49:35 -07:00
Victor Zverovich
3c531b735b
Fix expired key error when installing with apt
...
Error:
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://packagecloud.io/github/git-lfs/ubuntu trusty InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6B05F25D762E3157
W: http://ppa.launchpad.net/couchdb/stable/ubuntu/dists/trusty/Release.gpg : Signature by key 15866BAFD9BCC4F3C1E0DFC7D69548E1C17EAB57 uses weak digest algorithm (SHA1)
W: Failed to fetch https://packagecloud.io/github/git-lfs/ubuntu/dists/trusty/InRelease The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6B05F25D762E3157
W: Some index files failed to download. They have been ignored, or old ones used instead.
2019-04-06 09:32:38 -07:00
Victor Zverovich
f10a7e2e46
Test exotic pointer formatting
2019-04-06 09:04:44 -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
Tommy Nguyen
b588d7f35f
Fix a couple of deprecated things.
2019-04-04 16:26:22 -07:00