Commit Graph

271 Commits

Author SHA1 Message Date
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
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
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
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
e5512c5d57 Use static_assert instead of SFINAE in arg(...) 2019-05-29 13:21:24 -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
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
5d755d0a4e Fix handling of volatile char (#1115) 2019-04-14 12:34:56 -07:00
Victor Zverovich
ccd70f59ee Workaround bogus unreachable warnings in MSVC 2019-04-11 17:59:35 -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
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