Commit Graph

252 Commits

Author SHA1 Message Date
Mike Crowe e6ef927e6b fmt::ptr: Support function pointers (#2131)
Passing a function pointer to fmt::ptr results in:

 In file included from /home/mac/git/fmt/test/gmock/gmock.h:238,
                  from /home/mac/git/fmt/test/format-test.cc:31:
 .../fmt/test/format-test.cc: In member function ‘virtual void FormatterTest_FormatPointer_Test::TestBody()’:
 .../fmt/test/format-test.cc:1486:56: error: no matching function for call to ‘ptr(void (&)(int, double, std::__cxx11::string))’
              format("{}", fmt::ptr(function_pointer_test)));

with GCC and Clang. Let's add an overload to support that usage.

Unfortunately, MSVC would
consider the overload to be ambiguous for unknown reasons:

 D:\a\fmt\fmt\test\format-test.cc(1485,1): error C2668: 'fmt::v7::ptr': ambiguous call to overloaded function [D:\a\fmt\build\test\format-test.vcxproj]
 D:\a\fmt\fmt\include\fmt/format.h(3742,60): message : could be 'const void *fmt::v7::ptr<void,int,double,std::string>(T (__cdecl *)(int,double,std::string))' [D:\a\fmt\build\test\format-test.vcxproj]
           with
           [
               T=void
           ]
 D:\a\fmt\fmt\include\fmt/format.h(3735,42): message : or       'const void *fmt::v7::ptr<void(int,double,std::string)>(T (__cdecl *))' [D:\a\fmt\build\test\format-test.vcxproj]
           with
           [
               T=void (int,double,std::string)
           ]
 D:\a\fmt\fmt\test\format-test.cc(1486,1): message : while trying to match the argument list '(overloaded-function)' [D:\a\fmt\build\test\format-test.vcxproj]

but luckily this means that the overload is unnecessary in that case
anyway, so we can just make it conditional.
2021-02-09 07:35:16 -08:00
Victor Zverovich 373262f9fb Update docs 2021-01-24 09:11:44 -08:00
Victor Zverovich 061e364b25 Document output_file 2021-01-09 07:18:56 -08:00
Victor Zverovich a750bf3ac6 Update api.rst 2020-12-24 07:09:49 -08:00
Walter Gray 4fa4c9248f Add tests for FMT_ENFORCE_COMPILE_STRING, fix several errors (#2038) 2020-12-24 06:40:46 -08:00
谭九鼎 a6fafe2f01 docs: use https for some links (#2051) 2020-12-05 06:41:38 -08:00
Victor Zverovich 4881677268 Update signatures 2020-11-08 12:29:26 -08:00
Victor Zverovich 4c2d637203 Update signatures 2020-11-08 10:10:44 -08:00
Victor Zverovich beaff39618 Update signatures 2020-11-08 10:00:08 -08:00
Victor Zverovich ffa0a0834a Use newer versions of Sphinx and Breathe 2020-11-08 09:46:27 -08:00
Victor Zverovich 038057eb3e Document contexts 2020-11-08 08:16:23 -08:00
Victor Zverovich 10ebe6cb48 Document color 2020-11-08 07:18:01 -08:00
Victor Zverovich 8cf0afaf1c Improve docs 2020-11-08 06:48:34 -08:00
Victor Zverovich 4f7df299ea Improve docs 2020-11-08 05:40:39 -08:00
Victor Zverovich 8f2131cf2d Document chrono 2020-11-07 10:51:08 -08:00
Victor Zverovich 295a60ec8d Document chrono 2020-11-07 10:30:23 -08:00
Victor Zverovich a4fae96c96 Document chrono 2020-11-07 10:24:27 -08:00
Victor Zverovich 263bb0e68d Document chrono 2020-11-07 10:19:40 -08:00
Victor Zverovich 0506b328b5 Document chrono 2020-11-07 09:59:57 -08:00
Victor Zverovich 4e426c19d0 Document chrono 2020-11-07 09:47:56 -08:00
Victor Zverovich d16d585e64 Update signatures 2020-08-26 09:35:19 -07:00
Victor Zverovich a0dcfbc57b Add ptr to docs 2020-08-21 06:54:05 -07:00
Victor Zverovich 810357c014 Document color 2020-07-26 08:22:56 -07:00
Victor Zverovich 95d3abf95c Make format_to_n part of the core API 2020-07-24 09:25:26 -07:00
Malcolm Parsons 98626093d2 Correct the locale format specifier in api.rst (#1792) 2020-07-23 21:01:54 -07:00
Victor Zverovich 47f8d7a345 Make formatted_size part of the core API 2020-07-23 08:51:38 -07:00
Victor Zverovich 46a63b7087 Update docs 2020-07-23 07:12:19 -07:00
Victor Zverovich ce73ea37fb Reorder functions 2020-07-20 09:42:14 -07:00
Victor Zverovich c228bfe882 Improve docs 2020-07-20 07:56:20 -07:00
Victor Zverovich c08518a25b Move make_args_checked to the public API 2020-07-19 10:23:46 -07:00
Victor Zverovich e2837084ee Add a color section 2020-07-19 09:51:52 -07:00
Léonard Gérard f5d4215b7c Trying to clear ambiguous compile time claims (#1775)
* Trying to clear ambiguous compile time claims

Documentation was a bit misleading.
Many people assume that fmt does compile time checks by default, while it requires the use of `FMT_STRING`.
It was also unclear that FMT_COMPILE does the same checks.

https://github.com/fmtlib/fmt/issues/1772

* Update api.rst
2020-07-16 06:19:49 -07:00
Victor Zverovich f4b11ef6e2 Add a short anchor 2020-07-14 09:39:22 -07:00
Victor Zverovich bd903f96ac Clarify precedence 2020-07-12 09:02:31 -07:00
Victor Zverovich 86b2f99f8c Fix the docs 2020-07-06 07:53:07 -07:00
Victor Zverovich 4e7e3c65a3 Update docs 2020-07-05 07:32:43 -07:00
Victor Zverovich 0f7a6bfa12 Add a section on std::format compatibility 2020-07-05 07:07:29 -07:00
Victor Zverovich 01309a34ab Deprecate arg_formatter 2020-07-04 07:29:11 -07:00
Victor Zverovich 8630a8f5ff Tweak the docs 2020-06-25 11:29:49 -07:00
Victor Zverovich d130ee070f Document format string compilation 2020-06-25 08:12:10 -07:00
Victor Zverovich d259fcfb05 Tweak comments 2020-06-12 06:22:05 -07:00
文佳鹏 f904e8a1b4 c++11 use formatting user-defined types (#1721) 2020-06-11 10:10:39 -07:00
Victor Zverovich 297c3b2ed5 Fix an example (thanks Alexey Kuzmenko) 2020-05-20 15:52:19 -07:00
Victor Zverovich eee2023c2a Update signatures 2020-05-15 15:25:02 -07:00
Victor Zverovich c5ed73aab2 Add fmt::detail::buffer to the docs (#704) 2020-05-15 14:35:55 -07:00
Victor Zverovich d18c6723a2 Update docs 2020-05-15 09:43:35 -07:00
Lindsay Roberts d59751f0f0 Update date formatting example to use threadsafe localtime 2020-05-02 09:04:31 -07:00
Victor Zverovich 450e8eed97 Fix markup 2020-04-22 09:30:09 -07:00
Victor Zverovich b8fbcec1be Clarify formatter reuse 2020-04-22 09:15:52 -07:00
Victor Zverovich 5944fcad37 Remove remaining wchar_t instantiation 2020-04-19 16:48:15 -07:00