Mike Crowe
53cae289b7
core: Report useful error message if function pointer is passed
...
The value constructor generates a useful error message if the client code
passes a pointer to something that isn't void. Unfortunately, the compiler
doesn't get that far if a function pointer is passed because the
value(T *p) forwarding constructor ends up trying to call itself which
results in an error like:
.../fmt/core.h:485:34: error: constructor delegates to itself
value(T *p) : value(as_const(p)) {}
So, let's add an extra constructor that is a better match for function
pointers so that a similar useful error message can be emitted. We need to
force the compiler to decide whether to generate the message only when
something would actually cause the constructor to be called by making the
static_assert expression use the template parameter.
2017-12-31 15:12:53 +00:00
Victor Zverovich
6f2769d0b4
Revert "Added support for format string containing '\0' in _format udl ( #619 ) ( #620 )"
...
This reverts commit 3aaa25fa70 for
reasons discussed in #622 .
2017-12-23 08:00:51 -08:00
Victor Zverovich
5f1c73db7d
Shorten a comment in locale.h
2017-12-23 08:00:38 -08:00
Victor Zverovich
941663d038
Merge ostream.cc into ostream.h
2017-12-17 09:33:56 -08:00
Victor Zverovich
955062da2e
Merge printf.cc into printf.h
2017-12-17 08:36:19 -08:00
Victor Zverovich
ccaae0c019
Refer to jeaiii project
2017-12-10 16:09:35 -08:00
Victor Zverovich
e37151021e
Add a integer formatter based on jeaiii
2017-12-10 16:05:51 -08:00
Victor Zverovich
b3495f2e4b
Update README.rst
2017-12-10 06:54:51 -08:00
Victor Zverovich
61f296e30c
Move FMT_HAS_BUILTIN to format.h
2017-12-09 08:56:44 -08:00
Victor Zverovich
ce801c9095
Remove dependency on <vector> and <array>
2017-12-09 08:48:30 -08:00
Victor Zverovich
41fc29907a
Merge branch 'std' of github.com:fmtlib/fmt into std
2017-12-09 08:16:34 -08:00
Victor Zverovich
971fb584c3
Allow mixing named and automatic arguments
2017-12-09 08:15:13 -08:00
Abdó Roig-Maranges
af0f21da0f
add missing inline in header-only mode ( #626 )
2017-12-09 07:50:53 -08:00
Victor Zverovich
7cea163809
numeric -> arithmetic
2017-12-09 06:19:15 -08:00
Victor Zverovich
5328907f7f
Get rid of <limits> dependency
2017-12-06 09:18:17 -08:00
Victor Zverovich
faaafc7e12
Remove <utility> dependency and replace typedefs with using
2017-12-06 09:13:23 -08:00
Victor Zverovich
94edb1a71c
Add a lightweight header for the core API
2017-12-06 07:42:42 -08:00
Artem Golubikhin
3aaa25fa70
Added support for format string containing '\0' in _format udl ( #619 ) ( #620 )
...
Added support for strings containing '\0' in udl (#619 )
2017-12-06 06:21:34 -08:00
Victor Zverovich
84bd2f1962
Merge include/fmt/CMakeLists.txt into the main CMake file
2017-12-03 09:59:55 -08:00
Victor Zverovich
7f351dec27
Decouple <locale> for better compile times
2017-12-03 09:51:59 -08:00
Victor Zverovich
81bd9e8ea3
args -> format_args
2017-12-03 08:00:22 -08:00
Victor Zverovich
10e70a06c9
Improve handling of custom arguments
2017-12-02 09:44:48 -08:00
Victor Zverovich
e0243000de
arg_index -> arg_id
2017-11-26 10:05:49 -08:00
Victor Zverovich
ac5f95208c
Automatically add package to release
2017-11-25 08:23:13 -08:00
Abdo Roig-Maranges
0e914372fb
Avoid conflict with the macro CHAR_WIDTH
...
It looks like CHAR_WIDTH is a macro in glibc. See
https://sourceware.org/ml/libc-alpha/2016-09/msg00225.html
2017-11-25 07:25:06 -08:00
Victor Zverovich
f03a35a679
Check string specs at compile time
2017-11-24 09:54:28 -08:00
Victor Zverovich
e9da574147
Check char specs at compile time
2017-11-24 07:54:22 -08:00
Victor Zverovich
b25a029284
Check pointer type specs are compile time
2017-11-23 10:12:23 -08:00
Victor Zverovich
c8a9d902dd
Check floating-point type specifiers
2017-11-23 09:14:37 -08:00
Victor Zverovich
6570dc3122
Disallow formatting of multibyte strings into a wide buffer ( #606 )
2017-11-23 07:23:07 -08:00
Victor Zverovich
3851994ab0
Fix yet another internal compiler error in MSVC
2017-11-19 09:06:49 -08:00
Victor Zverovich
44e186512b
Refactor parse context and fix warnings
2017-11-19 08:49:58 -08:00
Victor Zverovich
e7e270f511
Test error on invalid type spec and remove unused alias
2017-11-19 08:25:34 -08:00
Victor Zverovich
692b82d32c
UdlArg -> udl_arg
2017-11-19 08:02:07 -08:00
Victor Zverovich
c523dd584f
Use error handler to report errors
2017-11-19 07:36:01 -08:00
Victor Zverovich
5a32e64b05
More tests
2017-11-19 07:03:12 -08:00
Victor Zverovich
093e2a4780
Improve error handling
2017-11-18 09:16:35 -08:00
Victor Zverovich
dc104cbaaa
Workaround internal compiler errors in MSVC
2017-11-18 09:05:05 -08:00
Victor Zverovich
39411504a5
More tests
2017-11-18 08:16:59 -08:00
Victor Zverovich
e3eb5ea074
Add parse_context::error_handler()
2017-11-18 06:58:14 -08:00
Victor Zverovich
734e722da4
Fix warnings
2017-11-18 06:56:29 -08:00
Victor Zverovich
62af25dca8
Workaround yet another MSVC internal error
2017-11-18 06:31:47 -08:00
Victor Zverovich
594bd8feba
More tests
2017-11-16 06:55:49 -08:00
Victor Zverovich
f2b52bba05
More tests
2017-11-15 07:06:03 -08:00
Victor Zverovich
dfdb1adea5
More tests
2017-11-12 10:03:39 -08:00
Victor Zverovich
7967c2f874
Disable test that triggers an MSVC bug
2017-11-12 09:47:15 -08:00
Victor Zverovich
18a0b94b0e
Fix overflow check
2017-11-12 09:25:28 -08:00
Victor Zverovich
686ff942af
Fix compile-time parsing and add more tests
2017-11-11 11:40:56 -08:00
Victor Zverovich
5b95b5d77c
Test compile-time errors
2017-11-11 10:28:05 -08:00
Victor Zverovich
246bdafc74
Add FMT_STRING macro for compile-time strings
2017-11-11 07:39:12 -08:00