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
6037b3cae9
Fix dangling else problem in FMT_ASSERT
2019-11-30 07:52:33 -08:00
Victor Zverovich
2f9acd1838
Remove dependency on <cassert>
2019-11-29 09:37:18 -08:00
Florin Iucha
9cbf4b087c
Fix -Wconversion warnings
2019-11-28 06:43:08 -08:00
Victor Zverovich
0d07db1234
Fix handling of streamable and convertible to string types
2019-11-25 16:46:33 -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
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
Daniel Laügt
c58b7d9c2f
Use overridden locale in ostream
2019-11-17 06:22:22 -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
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
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
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
Victor Zverovich
ffd05e65ed
basic_parse_context -> basic_format_parse_context per standard and document
2019-11-05 07:13:58 +00:00
Victor Zverovich
7aa58c30bf
Simplify NVCC checks
2019-10-23 11:32:35 -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
bb728a572a
packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask
2019-10-18 10:06:57 -07:00
Victor Zverovich
c4dc6bef24
Apply clang-format
2019-10-13 18:31:09 -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
0c7650373c
Fix handling of types convertible to std::string_view
2019-10-05 06:58:37 -07:00
Victor Zverovich
ac71d853be
Refactor normalize and clean up
2019-09-07 17:28:59 -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
422e7b9d70
Fix compile-time checks for user-defined types ( #1292 )
2019-08-31 08:35:38 -07:00
Victor Zverovich
c76957565c
FixedEnum -> StrongEnum and make it a regression test
2019-08-31 08:16:47 -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
Victor Zverovich
744302add0
Workaround broken [[deprecated]] in Intel compiler ( #1273 )
2019-08-28 05:58:09 -07:00
Victor Zverovich
1488df3395
Bump version
2019-08-24 07:31:25 -07:00
Victor Zverovich
5360ab0b59
Fix iteration over named arguments ( #1168 )
2019-08-09 11:53:07 -07: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
Jack Andersen
d561cb47a7
Opt-in macro to enforce use of compile-time format strings
2019-07-16 07:08:59 +02:00
Jack Andersen
699fe8e711
Remove const qualification in compile-time checks
2019-07-15 09:20:16 +02:00
Victor Zverovich
dd8cc8b0ba
Disallow passing views as lvalues
2019-07-09 12:18:48 -07:00
Victor Zverovich
b438812324
Clean up is_output_iterator
2019-07-07 12:59:55 -07:00
Victor Zverovich
8e0dcd20b3
Remove old deprecated functions
2019-07-06 07:55:52 -07:00
Victor Zverovich
6a031347e5
Remove unnecessary qualification
2019-07-03 21:14:45 -07:00
Victor Zverovich
e76446958c
Cleanup and remove deprecated visit
2019-07-03 14:31:01 -07:00
Björn Schäpers
e3488fcae2
Fix Warning
...
QtCreator (4.9) Clang Code Model (Clang 7) gives the
warning:core.h:404:11: error: an attribute list cannot appear here
core.h:116:24: note: expanded from macro 'FMT_NORETURN'
2019-06-24 08:53:35 -07:00
Victor Zverovich
1c3197b8d8
Fix warnings
2019-06-17 09:21:29 -07:00
Victor Zverovich
d32fe0f3f6
Fix hadling of nullptr
2019-06-12 09:22:36 -07:00
Victor Zverovich
9d7b64a259
More cleanup
2019-06-11 22:11:47 -07:00
Victor Zverovich
5e293bd97a
Remove unnecessary qualification
2019-06-11 20:36:39 -07:00
Victor Zverovich
4a502d9802
Add remove_reference_t
2019-06-11 20:28:05 -07:00
Victor Zverovich
d384cdd397
Make is_contiguous_back_insert_iterator internal
2019-06-11 20:16:57 -07:00
Victor Zverovich
32544b6108
More cleanup
2019-06-11 19:22:19 -07:00
Victor Zverovich
39f522a13a
get_types -> encode_types
2019-06-11 18:50:14 -07:00
Victor Zverovich
d7d2bebf99
Remove redundant typename
2019-06-11 18:29:47 -07:00
Victor Zverovich
87fbc6f756
get_type -> mapped_type_constant
2019-06-11 07:23:39 -07:00
Victor Zverovich
a48daa60e5
Remove remove_volatile
2019-06-10 20:25:04 -07:00
Victor Zverovich
afdbbac75c
Cleanup
2019-06-10 18:10:26 -07:00
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
ricco19
6d416cf674
Forward declare is_string<FILE*> specializations
2019-03-19 05:20:18 -07:00
Victor Zverovich
c21c6b8c4b
Move enable_if to template params
2019-03-16 15:15:38 -07:00
Michael Lui
187bd1b8b2
Clarify lifetimes of named_arg parameters ( #1051 )
...
* Clarify usage of fmt::arg
Document that fmt::arg takes a non-owning
reference, even if that reference is to
a temporary. As such, users should make sure
the lifetime of the reference lasts as long
as the named argument.
* Clean up language
Remove mentions of `std::reference_wrapper` and rvalues
in favor of more common terminology like dangling references.
2019-02-22 06:37:19 -10:00
Victor Zverovich
c5aad69f2a
Restore deprecated begin()
2019-02-15 15:00:02 -08:00
Victor Zverovich
83808076e3
Minor cleanup
2019-02-13 19:28:02 -08:00
Victor Zverovich
9660ea1bff
Simplify format string checks
2019-02-10 18:00:19 -08:00
Victor Zverovich
f041f128f5
Minor cleanup
2019-02-10 15:20:40 -08:00
Victor Zverovich
e4572e5def
Update std implementation
2019-02-10 07:56:33 -08:00
Victor Zverovich
442fa1bd46
Decouple format and parse contexts
2019-02-09 20:39:37 -08:00
Victor Zverovich
744e66bb08
Deprecate format_context::parse_context()
2019-02-09 16:15:20 -08:00
Daniela Engert
61c9b563c2
Replace 'std::result_of' by 'std::invoke_result' where possible ( #1025 )
...
C++17 deprecated 'std::result_of' in favour of 'std::invoke_result' and will ban it outright in C++20. Therefore
- implement 'internal::result_of' in terms of 'std::invoke_result' when compiling C++17 mode.
- implement 'internal::result_of' in terms of 'std::result_of' when compiling in modes C++11 or C++14.
Signed-off-by: Daniela Engert <dani@ngrt.de>
2019-02-04 11:25:22 -08:00
Elias Kosunen
7fbbfed8c6
Fix warnings caused by usage of deprecated functionality
2019-02-02 05:48:39 -08:00
Elias Kosunen
34951f1999
Replace comments regarding deprecation with attributes
2019-02-02 05:48:39 -08:00
Victor Zverovich
3f52336e6c
Simplify formatter selection
2019-01-30 19:39:42 -08:00
Victor Zverovich
7cdb1e5e40
Workaround broken is_default_constructible in MSVC
2019-01-21 10:54:49 -08:00
Victor Zverovich
5f1ceebc7f
Make formatter<T> override ostream<< for templates ( #952 )
2019-01-21 09:42:55 -08:00
Victor Zverovich
83f052930a
Add code from p0645
2019-01-20 15:12:01 -08:00
Victor Zverovich
dad1eec842
Workaround unimplemented T... on gcc 4.6.x ( #1008 )
2019-01-16 11:41:20 -08:00
Victor Zverovich
dde095fab8
Revert "Reorder defines"
...
This reverts commit 4a059914a9
.
2019-01-13 08:13:38 -08:00
Victor Zverovich
4a059914a9
Reorder defines
2019-01-13 07:40:37 -08:00
Victor Zverovich
58b6f8db48
Format the code using clang-format
2019-01-13 06:58:20 -08:00
stryku
9a777b9e1c
Implemented fmt::prepare()
...
Implementation of fmt::prepare() function and features around it.
2019-01-12 10:53:31 -08:00
Victor Zverovich
b3ad759a0a
Bump version and correct changelog
2018-12-28 13:09:31 -08:00
Victor Zverovich
b34d92b051
Bump version
2018-12-28 12:23:29 -08:00
Victor Zverovich
84e5170c9c
Update changelog and deprecate visit
2018-12-24 10:02:41 -08:00
Victor Zverovich
7f7504b3f5
Clean up docs
2018-12-12 18:21:13 -08:00
Victor Zverovich
ea5e4790bd
Fix formatting
2018-12-03 08:58:48 -08:00
Johan J
e867768ee6
Do not override user provided compile flag
2018-12-03 07:31:19 -08:00
Daniela Engert
e7e2ab1070
Make return type of basic_format_args::max_size() consistent.
...
This squashes nasty narrowing conversion warnings.
2018-12-01 17:07:21 -08:00
Victor Zverovich
bcf3fcd673
Clean up bit fiddling for argument packing
2018-11-30 17:04:49 -08:00
Victor Zverovich
64690d3a97
Add context_base::arg()
2018-11-24 10:49:48 -08:00
Victor Zverovich
982ee5c699
parse_context -> format_parse_context
2018-11-21 07:10:22 -08:00
Victor Zverovich
6c95fb3562
Default Context to format_context
2018-11-18 07:19:25 -08:00
Victor Zverovich
f2ee988105
Improve locale support
2018-11-14 12:07:39 -08:00
Victor Zverovich
bdda4d6030
Simplify compile-time strings
2018-10-28 09:02:03 -07:00
XZiar
2dea780fbd
change type naming and fix sfinae bug
2018-10-28 06:00:55 -07:00
XZiar
b98e8301d5
add non-char support for compile-time format check
2018-10-28 06:00:55 -07:00
Victor Zverovich
ccd3e8bbf3
Make is_constructible public ( #918 )
2018-10-27 17:10:19 -07:00
Victor Zverovich
0a96c032b9
Parameterize v*printf on string type ( #920 )
2018-10-25 13:52:08 -07:00
Victor Zverovich
61e6d2e38c
Fix core version of vformat_to
2018-10-25 06:21:41 -07:00
Victor Zverovich
ea4010d704
Merge has_to_string_view into is_string
2018-10-24 18:16:00 -07:00
Victor Zverovich
486fff597c
Add sprintf_format instantiations and remove syntactic noise
2018-10-24 16:46:32 -07:00
Victor Zverovich
f0328f8e36
Use char_traits::length in string_view ctor ( #914 )
2018-10-24 15:21:21 -07:00
Victor Zverovich
20c708bf6d
Fix build on gcc 4.4
2018-10-24 10:52:02 -07:00
Daniela Engert
2c81c851b2
Adapt any string-like type to be used by {fmt} just like the standard string types already supported. The adaption is totally non-intrusive.
...
Signed-off-by: Daniela Engert <dani@ngrt.de>
2018-10-22 18:25:52 -07:00
Daniela Engert
6a685571df
Make 'std::*::basic_string_view' a valid argument type for 'format_str' parameters.
...
Signed-off-by: Daniela Engert <dani@ngrt.de>
2018-10-08 06:12:02 -07:00
Victor Zverovich
655ce53383
is_format_string -> is_string
2018-10-07 12:45:22 -07:00
Daniela Engert
f16a118e88
Fix non-matching char types.
...
Signed-off-by: Daniela Engert <dani@ngrt.de>
2018-10-07 05:56:21 -07:00
Victor Zverovich
041bf83d9b
Improve fmt::format readability
2018-10-05 18:42:02 -07:00
Victor Zverovich
f5480635c0
visit -> visit_format_arg
2018-10-05 07:15:41 -07:00
Victor Zverovich
cdf3fa08dc
Put related code together in fmt/core.h
2018-10-04 19:44:09 -07:00
Victor Zverovich
38325248e5
Count width in code points ( #628 )
2018-10-03 20:09:46 -07:00
Daniela Engert
deb901b9e4
Parameterize core functions on the type of the format string.
...
Take #2 of n
Signed-off-by: Daniela Engert <dani@ngrt.de>
2018-10-03 14:19:08 -07:00
Victor Zverovich
0f98de3011
Update docs
2018-10-03 12:07:55 -07:00
Victor Zverovich
c797708fcc
Workaround strlen being non-constexpr in ARM toolchain
2018-10-03 09:23:49 -07:00
Victor Zverovich
63a87beba4
Add to_string_view
2018-10-01 18:48:18 -07:00
Victor Zverovich
4e0c314654
checked_format_args -> checked_args
2018-10-01 07:14:59 -07:00
Victor Zverovich
c3538a1eee
Simplify variadic functions further
2018-09-30 22:19:32 -07:00
Victor Zverovich
2d7d0835d7
Simplify variadic functions
2018-09-30 21:52:47 -07:00
Victor Zverovich
76a47d41c8
Cleanup the use of FMT_CHAR
2018-09-30 08:45:57 -07:00
Daniela Engert
267fdc7a1b
Parameterize core functions on the type of the format string.
...
Take #1 of n
Signed-off-by: Daniela Engert <dani@ngrt.de>
2018-09-30 08:40:58 -07:00
Victor Zverovich
5bced12421
Parameterize more functions on string type
2018-09-30 08:02:19 -07:00
Guillaume Fraux
e864acfdbd
Fix compilation with intel compilers (ICC/ICPC) v14.0
2018-09-27 07:11:23 -07:00
Daniela Engert
4cf21f58b2
constrain templated format_to on proper format string type.
...
Signed-off-by: Daniela Engert <dani@ngrt.de>
2018-09-26 21:05:47 -07:00
Victor Zverovich
d66fa2216e
Reduce syntactic noise
2018-09-23 14:31:14 -07:00
Victor Zverovich
48e6dcd0f2
Implement workarounds for gcc 4.4
2018-09-23 12:29:48 -07:00
Victor Zverovich
0ea3221d34
Remove is_named_arg and add FMT_CHAR
2018-09-23 09:44:01 -07:00
Victor Zverovich
d41be23acd
Simplify string_view detection
2018-09-23 07:29:35 -07:00
Victor Zverovich
2def9e4c82
Remove FMT_DTOR_NOEXCEPT
2018-09-22 18:51:32 -07:00
Victor Zverovich
ff6e46ed97
More cleanup
2018-09-22 16:00:34 -07:00
Victor Zverovich
715f2b4c00
Remove require_wchar and internalize no_formatter_error
2018-09-21 18:25:24 -07:00
Victor Zverovich
4f043f8e00
Bump version
2018-09-21 10:07:56 -07:00
Victor Zverovich
cc02cbc455
Fix formatting
2018-09-21 09:48:21 -07:00
Jonathan Müller
9d2221b954
Improve error message when formatting unknown types
2018-09-20 07:01:39 -07:00
Victor Zverovich
3f4984fb36
Clean core-test and fix linkage errors on older gcc
2018-09-19 12:24:38 -07:00
Victor Zverovich
bc26fbf1b0
Move experimental color API to fmt/color.h
2018-09-12 09:04:26 -07:00
Victor Zverovich
c8a8464f7d
Optimize buffer construction
2018-09-12 08:45:14 -07:00
Victor Zverovich
10c7f89351
Optimize format string processing on dumb compilers
2018-09-09 08:13:06 -07:00
Victor Zverovich
59c268a5f8
Use strlen when possible since it's constexpr on gcc
2018-09-08 16:17:22 -07:00
Victor Zverovich
918bb1ce8f
Optimize argument capture
2018-09-08 15:29:32 -07:00
Victor Zverovich
cc10b4607f
Make format_to faster on older gcc
2018-09-08 07:22:29 -07:00
Victor Zverovich
fbc38b9083
Pass heavy arguments by ref
2018-08-31 15:17:18 -07:00
Victor Zverovich
8dc69b9da9
Workaround a bug in Intellisense
2018-08-29 20:40:54 -07:00
Victor Zverovich
987514761e
Make convert_to_int public ( #818 )
2018-08-22 07:40:06 -07:00
Victor Zverovich
4061a0d35d
Parameterize vformat to support custom char types
2018-08-05 10:44:59 -07:00
Victor Zverovich
ce19309d09
Workaround a bug in icc 15
2018-07-26 07:59:41 -07:00
Victor Zverovich
c684349195
Move contiguous version of format_to to fmt/core.h
2018-07-22 18:09:22 -07:00
Victor Zverovich
8db14efa84
util-test -> core-test and minor cleanup
2018-07-22 17:05:23 -07:00
Victor Zverovich
5befe6584d
Remove fmt/folly.h and clean up core API
2018-07-22 14:42:25 -07:00
Victor Zverovich
35538ca66c
Merge more format overloads
2018-07-22 12:24:47 -07:00
Victor Zverovich
4f16409730
Merge format overloads using SFINAE
2018-07-22 08:06:42 -07:00
Victor Zverovich
2a4e948864
Add UTF-8 types
2018-07-22 06:36:21 -07:00
MikePopoloski
7b4f170c94
Fix warning about using old-style cast
2018-07-20 17:07:23 -07:00
MikePopoloski
b1d10a2884
Add support for dynamic arg sets
...
This allows construction of basic_format_args from a dynamic set of arguments. The syntax is a little clunky and could probably be improved but this at least enables the functionality.
2018-07-20 17:07:23 -07:00
Victor Zverovich
cf2719bd12
Add support for types explicitly convertible to wstring_view
2018-07-18 19:12:10 -07:00
Victor Zverovich
73bed45b7a
Add support for types explicitly convertible to fmt::string_view
2018-07-18 14:42:26 -07:00
Victor Zverovich
6eaa507473
Fix global initialization issue ( #807 )
2018-07-18 09:49:21 -07:00
Victor Zverovich
a9e261599b
Minor cleanup
2018-07-17 08:54:22 -07:00
Victor Zverovich
8615ff2acc
Micro-optimize argument retrieval
2018-07-15 07:28:31 -07:00
Victor Zverovich
916ed99dab
Micro-optimize argument retrieval
2018-07-14 15:28:55 -07:00
Alexej Harm
a317448bd4
Keep noexcept specifier when exceptions are disabled.
2018-07-13 12:46:15 -07:00
gabime
e5c93108e6
Added clear() to basic_buffer
2018-07-09 20:25:49 -07:00
Victor Zverovich
f66ba6508a
Optimize format string parsing
2018-07-08 10:15:24 -07:00
Victor Zverovich
f21268aa72
Revert "Optimize format string parsing" because of a bug in MSVC
...
https://godbolt.org/g/rpiDgh
This reverts commit f9e9bf0231
.
2018-07-08 08:08:50 -07:00
Victor Zverovich
f9e9bf0231
Optimize format string parsing
2018-07-07 16:50:22 -07:00
Florin Iucha
e6362642cf
Fix pedantic conversion warning
2018-07-04 17:45:28 -07:00
Victor Zverovich
479ee2a8c6
Fix MSVC build, take 2
2018-07-04 14:24:07 -07:00
Victor Zverovich
e928b6724c
Fix MSVC 2013 build
2018-07-04 12:33:15 -07:00
Jonathan Müller
c6d9730ddb
Fix sign conversion warnings ( #790 )
2018-06-27 14:31:20 +02:00
Victor Zverovich
2e95823ef7
Move new color support to format.h and mark old as deprecated
2018-06-24 06:39:22 -07:00
Remotion
ce500635c7
Renamed enum color to colors.
...
Added enum colors conversion to rgb struct.
Added colors_test.cpp.
Removed print_colored.
Renamed enum colors back to color.
Removed unnecessary inline keyword.
Removed print_rgb.
2018-06-23 06:14:44 -07:00
gabime
c2fbadb9cf
Fixed issue #779
2018-06-12 07:39:44 +02:00
Victor Zverovich
e3707ef14b
Document that file should be in wide-oriented mode for wide print
2018-06-09 09:12:49 +02:00
Victor Zverovich
6322b47e60
Minor cleanup
2018-06-06 16:51:35 +02:00
Elias Kosunen
691a7a91a1
Add more compilers to CI and increase FMT_PEDANTIC warning levels ( #736 )
...
* Add a _lot_ more warnings to FMT_PEDANTIC
Fix these warnings
* Add more compilers to CI
Fix (some) of the compiler errors with them
* Enable -Werror on CI
Increase warning level on MSVC when compiling with FMT_PEDANTIC
* Add VS 2013 and 2015 to Appveyor
* Fix Appveyor tests
Formatting
* Implement requested changes
Fix some of the MSVC warnings
Implement C++11 integer_sequence
* Reintroduce appveyor-build.py
* Remove ranges-test from tests
* Remove (some) explicit warning suppressions
Fix C++ standard setting in CI
* Remove (some) explicit warning suppressions
Fix C++ standard setting in CI
* Fix test builds with C++11
* Enable pedantic warnings on tests
* Fix warnings from edits to master
* Cleanups
* Add C++11 support to ranges.h
Re-enable ranges-test
Fix a Visual Studio error about function not returning a value in printf.h
Fix a bug in .travis.yml
2018-06-06 15:57:59 +02:00
Victor Zverovich
d5c462596b
Fix formatting of more than 15 named arguments ( #754 )
2018-06-05 08:32:28 +02:00
Victor Zverovich
47d147b65d
Simplify the nvcc warning fix
2018-06-04 21:27:20 +02:00
Victor Zverovich
911a75114b
Fix nvcc warnings ( #752 )
2018-06-04 21:00:28 +02:00
Victor Zverovich
252f11f85d
Fix a bogus MSVC warning about unreachable code, take 2
2018-06-04 18:17:55 +02:00
Victor Zverovich
81d5663825
Fix more bogus MSVC warnings about unreachable code ( #748 )
2018-06-04 06:10:52 +02:00
Victor Zverovich
e282d963fe
Bump version
2018-05-26 09:46:59 -07:00
Victor Zverovich
edd5f1445d
Fix compilation errors on gcc 4.4
2018-05-20 09:09:03 -07:00
Victor Zverovich
d940fa679c
Disable unsafe implicit conversion to std::string ( #729 )
2018-05-19 07:14:27 -07:00
Michael Winterberg
550ef1d29d
MSVC improvements and data truncation cleanup.
...
MSVC is timid about evaluating constexpr functions unless it has to, so the "TYPES" variables end up in read-write memory even though the optimizer removes the initializer. Making TYPES constexpr causes MSVC to try harder to initialize these variables at compile time, which also ends up completely removing the (named) variable from the final compiled binary.
Fixed a data truncation warning being reported in ostream-test.
2018-05-17 18:46:31 -07:00
Victor Zverovich
728e4f5a8d
Fix docs
2018-05-16 08:26:55 -07:00
Victor Zverovich
989378930a
Detect inline namespaces on gcc
2018-05-13 08:53:04 -07:00
Victor Zverovich
6a1df3bd05
Fix docs
2018-05-12 12:57:16 -07:00
Victor Zverovich
838400d29b
Add inline namespace fmt::v5
2018-05-12 11:02:15 -07:00
Victor Zverovich
46c374a8a9
Fix compilation with new gcc and -std=c++11 ( #734 )
2018-05-09 20:58:05 -07:00
Elias Kosunen
0adccaefb6
Fix a -Wundef of _LIBCPP_VERSION
2018-05-05 07:43:22 -07:00
Daniela Engert
2570f1afdc
Provide more overloads for the wide string flavour
...
Signed-off-by: Daniela Engert <dani@ngrt.de>
2018-05-05 07:31:44 -07:00
Daniela Engert
6cd666100f
remove trailing spaces.
...
Signed-off-by: Daniela Engert <dani@ngrt.de>
2018-05-01 07:10:05 -07:00
Victor Zverovich
fa9066fe3e
context_base::begin -> out
2018-04-22 09:16:32 -07:00
Victor Zverovich
822eccc3b8
Sync API with standards proposal
2018-04-21 14:29:24 -07:00
Victor Zverovich
7b8cb3135a
Make context_base::args() public
2018-04-14 12:40:26 -07:00
Victor Zverovich
7d28674d3a
make_args -> make_format_args
2018-04-08 07:21:26 -07:00
Victor Zverovich
fd0b07a75a
(w)context -> (w)format_context
2018-04-08 07:03:44 -07:00
Victor Zverovich
26aa34f319
basic_context -> basic_format_context
2018-04-08 06:45:21 -07:00
Victor Zverovich
44cc034651
Relax string_view requirements
2018-04-07 16:18:01 -07:00
Victor Zverovich
23759b2688
basic_arg -> basic_format_arg, arg_store -> format_arg_store
2018-04-04 07:38:21 -07:00
Victor Zverovich
e8e006f4e7
Fix compile checks for mixing narrow and wide strings ( #690 )
2018-03-30 09:29:47 -10:00
Sebastian König
e90b1da367
Fix linker errors using fmt as shared library in MSVC
2018-03-28 07:14:56 -10:00
Victor Zverovich
4fea018b2d
Fix string_view detection
2018-03-26 07:00:41 -10:00
Victor Zverovich
6957d28cfb
Detect string_view on libc++ ( #686 )
2018-03-26 06:50:22 -10:00
Victor Zverovich
17258e9c63
Update docs
2018-03-19 19:47:14 -07:00
Victor Zverovich
c3d05245fe
Fix a shadowing warning
2018-03-16 16:26:11 -04:00
Victor Zverovich
505b3ae66f
Workaround GCC bug 67371 ( #682 )
2018-03-16 12:02:19 -04:00
Victor Zverovich
df828f88da
Don't define FMT_GCC_VERSION on clang
2018-03-15 09:55:31 -04:00
Elias Kosunen
3adfaae20c
Remove extra semicolon in format_args constructor
2018-03-15 09:28:50 -04:00
Jonathan Müller
4006678577
Fix warnings under MSVC ( #679 )
...
Closes #678 .
2018-03-14 20:17:15 +01:00
Victor Zverovich
9facc119a6
Update docs
2018-03-10 09:44:37 -08:00
Victor Zverovich
daf650c49a
Disallow formatting of multibyte strings into a wide buffer ( #606 )
2018-03-10 06:46:41 -08:00
Victor Zverovich
80e57c7a3d
Update to new naming conventions
2018-03-07 07:36:13 -08:00
Victor Zverovich
585512fc7c
Remove unnecessary instantiations
2018-03-04 15:14:02 -08:00
Victor Zverovich
7755cdc199
Make symbols readable
2018-03-04 15:00:22 -08:00
Victor Zverovich
f867d08239
Update docs
2018-03-04 12:09:34 -08:00
Victor Zverovich
a103b9bc46
Workaround missed optimization in gcc ( #668 )
2018-03-04 11:45:20 -08:00
Victor Zverovich
bb47109a78
Cleanup
2018-03-04 11:25:40 -08:00
Victor Zverovich
4023291759
Update docs
2018-03-04 09:55:17 -08:00
Victor Zverovich
b7632e9641
Make format_to return iterator and update docs
2018-03-04 08:13:08 -08:00
Victor Zverovich
5281ea6ad2
do_vformat_to -> vformat_to and update docs
2018-03-04 06:40:43 -08:00
Victor Zverovich
418659adbe
Fix compilation errors on gcc 4.4
2018-03-03 14:04:59 -08:00
Victor Zverovich
1d2adef28d
Fix compilation errors on gcc 4.4
2018-03-01 03:45:25 -08:00
Victor Zverovich
45518c3fe1
Fix compilation errors on gcc 4.4
2018-02-28 07:47:24 -08:00
Victor Zverovich
4d35f94133
Always use fallback string_view to pass format string ( #664 )
2018-02-24 18:19:30 +00:00
Lars Gullik Bjønnes
db86e8d5d3
Remove a couple of unused argument names
2018-02-24 08:20:20 +00:00
Lars Gullik Bjønnes
55f5c9f21b
Use FMT_NULL instead of 0 is a few more places.
...
Found with GCC and -Wzero-as-null-pointer-constant
2018-02-24 08:20:20 +00:00
Victor Zverovich
24d249b0b4
Fix formatting of objects convertible to string_view
2018-02-19 20:25:56 +00:00
Victor Zverovich
0ee4273b04
Put is_enum check first not to instantiate convert_to_int unnecessarily
2018-02-18 05:47:29 +00:00
Victor Zverovich
8ca3ab2c4c
Revert problematic pragma
2018-02-18 05:38:32 +00:00
Victor Zverovich
18ac98700e
Fix formatting of objects convertible to std::string
2018-02-17 12:57:18 +00:00
Victor Zverovich
91721caa42
Add detection of wostream operator<< ( #650 )
2018-02-17 09:03:43 +00:00
Victor Zverovich
8ed264fcd4
Rename type enum constants to prevent collision with poorly written C libs ( #644 )
2018-02-16 17:20:33 +00:00
Alex Alabuzhev
24d66c5d65
compilation fix & warnings
2018-02-15 18:37:45 -08:00
Victor Zverovich
229887bd40
Make constexpr remove_prefix gcc version check tighter ( #648 )
2018-02-14 05:46:41 -08:00
Victor Zverovich
e9fa42acb8
Fix docs and build issues on gcc-4.6
2018-02-11 09:43:54 -08:00
Victor Zverovich
affb35cfb9
Replace using with typedef for compatibility with gcc-4.6
2018-02-11 09:23:47 -08:00
Victor Zverovich
1a4e892765
Move output_range to format.h
2018-02-11 08:36:44 -08:00
Victor Zverovich
522de7b55d
Replace using with typedef for compatibility with gcc-4.6
2018-02-11 08:32:02 -08:00
Victor Zverovich
d8ef8a9e9b
Cleanup
2018-02-11 06:24:22 -08:00
Victor Zverovich
5096c0fe97
Fix string_view detection
2018-02-10 07:17:29 -08:00
Victor Zverovich
0b635c9dc5
Fix handling of fixed enums in clang ( #580 )
2018-02-10 06:17:42 -08:00
Victor Zverovich
66afd9b33a
Fix compilation on gcc 6
2018-02-10 05:16:16 -08:00
Victor Zverovich
67e070fe5a
Make format work with C++17 std::string_view ( #571 )
2018-02-07 08:14:54 -08:00
Victor Zverovich
1e19ae8348
Workaround a bug in MSVC
2018-02-07 06:31:42 -08:00
Victor Zverovich
3810d7e4d4
Workaround a bug in MSVC
2018-02-04 09:29:50 -08:00
Victor Zverovich
5c7474e1fb
Relax constexpr requirements
2018-02-04 08:58:21 -08:00
Victor Zverovich
1f57243b49
Relax constexpr requirements
2018-02-04 08:52:43 -08:00