Victor Zverovich
5d8ba816de
Fix a segfault in test on glibc 2.26 #551
2018-02-02 19:34:08 -08:00
Victor Zverovich
8cf30aa2be
Fix segfault on complex pointer formatting ( #642 )
2018-02-01 21:49:03 -08:00
Victor Zverovich
1c7b751d70
Fix handling of implicit conversion to integral types larger than int
2018-02-01 16:42:15 -08:00
Victor Zverovich
08dff3774c
Allow compiling and using as DLL in windows #502
2018-01-28 20:50:43 -08:00
Victor Zverovich
5060568f72
%.f should have zero precision, not default precision
2018-01-27 17:56:19 -08:00
Victor Zverovich
a980d3b46b
Add fmt::join to format ranges ( #466 )
2018-01-27 16:04:45 -08:00
Victor Zverovich
a93270fd60
Replace a bunch of craft with type_traits, take 2
2018-01-22 18:56:53 -08:00
Victor Zverovich
21429c8646
Revert "Replace a bunch of craft with type_traits"
...
This reverts commit e79588d6c1
.
2018-01-21 18:53:38 -08:00
Victor Zverovich
72d9fffd78
Fix test compilation for FreeBSD ( #433 )
2018-01-21 18:18:05 -08:00
Victor Zverovich
e79588d6c1
Replace a bunch of craft with type_traits
2018-01-21 18:11:57 -08:00
Victor Zverovich
bd8a7e7ea1
More iteratification
2018-01-21 14:30:38 -08:00
codicodi
3f24a38840
Thread-safe time formatting ( #396 )
2018-01-20 11:35:23 -08:00
Victor Zverovich
6822466aa3
Handle nested braces in join ( #638 )
2018-01-20 06:26:22 -08:00
Victor Zverovich
64b349aee2
More iterator support & fmt::count
2018-01-17 22:04:24 -08:00
Victor Zverovich
e3b69efbe1
Suppress msvc warnings in gmock
2018-01-17 05:46:14 -08:00
Victor Zverovich
322736d3bb
Add support for arbitrary output iterators
2018-01-15 12:46:44 -08:00
Victor Zverovich
c1d137ed5f
Add support for nonconiguous iterators
2018-01-15 11:30:53 -08:00
Victor Zverovich
f6fd38bb3a
More iterator support
2018-01-15 08:48:37 -08:00
Victor Zverovich
c2fecb9b2a
Clean API
2018-01-14 14:15:59 -08:00
Victor Zverovich
9a53a706fc
Add support for back_insert_iterator
2018-01-14 13:12:26 -08:00
Victor Zverovich
91ee9c9acd
Return iterator from the format method
2018-01-14 11:00:27 -08:00
Victor Zverovich
67928eae28
Don't inherit context from parse_context
2018-01-14 09:27:40 -08:00
Victor Zverovich
217e7c76f1
Pass ranges by value
2018-01-14 08:13:48 -08:00
Victor Zverovich
22994c62f7
Decouple arg_formatter_base from buffer
2018-01-13 15:34:48 -08:00
Victor Zverovich
00f1450d9a
Update tesmplate parameter names
2018-01-13 14:57:43 -08:00
Victor Zverovich
3a2e89e134
Reduce dependency on buffer
2018-01-13 12:57:27 -08:00
Victor Zverovich
c095445394
Replace buffer with range
2018-01-10 22:41:23 -08:00
Victor Zverovich
3663414053
Parameterize basic_writer on buffer type
2017-12-26 09:00:22 -08: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
955062da2e
Merge printf.cc into printf.h
2017-12-17 08:36:19 -08:00
Virgilio Alexandre Fornazin
5705bf1c71
Added support for pre-c++17 experimental string_view ( #607 )
...
Added support for pre-c++17 experimental string_view
2017-12-16 09:03:11 -08:00
Victor Zverovich
971fb584c3
Allow mixing named and automatic arguments
2017-12-09 08:15:13 -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
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
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
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
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
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
Victor Zverovich
e805543341
Remove FMT_USE_VARIADIC_TEMPLATES
2017-11-11 07:02:58 -08:00
Victor Zverovich
a03842b0d5
More compile-time checks
2017-11-05 13:26:19 -08:00
Victor Zverovich
8ca6e76dbc
Detect user-defined literal templates
2017-11-04 08:23:24 -07:00
Victor Zverovich
db9ffa1405
Make parse_format_string constexpr
2017-10-29 07:32:14 -07:00
Victor Zverovich
d29c7c3aca
Workaround a bug in MSVC
2017-10-25 07:37:50 -07:00
Victor Zverovich
aadb38a5e6
Make specs_checker constexpr
2017-10-24 07:46:30 -07:00
Victor Zverovich
529d88ce95
Make dynamic_format_specs construction constexpr
2017-10-22 10:19:09 -07:00
Victor Zverovich
d2f2a8b0ca
constexpr support of dynamic width and precision
2017-10-22 09:32:46 -07:00
Ludek Vodicka
7a9c1ba190
FMT_VARIADIC_CONST - Support for const variadic methods ( #591 )
...
FMT_VARIADIC_CONST - Support for const variadic methods
2017-10-22 08:55:40 -07:00
Victor Zverovich
6b3840b73c
Make format_specs construction constexpr
2017-10-22 08:18:26 -07:00
Victor Zverovich
91014f0171
Naming conventions
2017-10-22 06:43:41 -07:00
Victor Zverovich
0ebdf41efa
Fix compile-test
2017-10-21 08:17:00 -07:00
Victor Zverovich
170f5c671f
Move headers to include/fmt
2017-10-21 07:38:49 -07:00
Victor Zverovich
b83241ff4d
Make format spec parsing constexpr
2017-10-19 07:36:46 -07:00
Michael Winterberg
324415c036
Use allocator_traits if available.
...
This is to avoid using functionality deprecated in C++17.
2017-10-18 06:11:15 -07:00
Victor Zverovich
1b5ccf6c13
Make parse_arg_id constexpr
2017-10-15 16:54:47 -07:00
Victor Zverovich
9328a074b1
Fix handling of fixed enums in clang ( #580 )
2017-10-14 08:47:08 -07:00
Victor Zverovich
d5e918b61f
Detect C++14 compiler support
2017-09-28 08:57:54 -07:00
Victor Zverovich
643fb0662e
Check for argument indexing switch
2017-09-27 21:18:37 -07:00
Victor Zverovich
d45544d14e
Fix width handling in dynamic formatting
2017-09-27 19:04:15 -07:00
Mário Feroldi
2a619d96dd
Make format work with C++17 std::string_view ( #571 )
...
Tests for C++17 std::string_view
2017-09-20 06:21:11 -07:00
Victor Zverovich
8cbf544733
Add parse context
2017-09-17 09:05:01 -07:00
Victor Zverovich
ec4f5175f1
Replace Range with ParseContext in parse()
2017-09-16 17:07:03 -07:00
Victor Zverovich
0cda806dcc
Fix compile tests
2017-09-08 11:25:49 -07:00
Victor Zverovich
fced79b0ee
Get rid of old compat macros
2017-09-08 08:26:05 -07:00
Victor Zverovich
c18a4041f9
Remove conditional and to_iterator
2017-09-04 13:56:14 -07:00
Victor Zverovich
af00e4f9c9
Remove printf_arg_formatter from format.h and cleanup
2017-09-04 12:28:53 -07:00
Victor Zverovich
0fbd846561
Replace fmt::internal::make_unsigned with std::make_unsigned
2017-09-04 11:41:15 -07:00
Victor Zverovich
8a2bc0ab1b
Add nullptr support
2017-09-04 11:10:08 -07:00
Victor Zverovich
80505995d0
Allow delayed type checking
2017-09-04 09:33:22 -07:00
Victor Zverovich
3e75d3e001
Fix handling of types convertible to int
2017-09-02 07:08:19 -07:00
Alex Alabuzhev
89654cd127
to_wstring added
2017-08-27 18:52:57 +02:00
Victor Zverovich
47c84d7974
Move part of write API (spec factories) to a separate header
2017-08-27 09:08:44 -07:00
Victor Zverovich
20168147dd
Add ptr, a helper function for pointer formatting
2017-08-27 08:41:28 -07:00
Victor Zverovich
27ad6cee82
Use standard enable_if
2017-08-26 10:41:58 -07:00
Victor Zverovich
64681739fd
Fix a warning
2017-08-26 09:32:37 -07:00
Victor Zverovich
016acebb56
Remove legacy code
2017-08-26 09:09:43 -07:00
Victor Zverovich
466386d5cd
Suppress a warning in gmock
2017-08-26 08:50:09 -07:00
Victor Zverovich
5e0562ab51
Separate parsing and formatting
2017-08-13 13:09:02 -07:00
Victor Zverovich
032c83807f
Fix a segfault in test on glibc 2.26 #551 , take 2
2017-08-10 09:27:06 -07:00
Victor Zverovich
6655e804c4
Fix a segfault in test on glibc 2.26 #551
2017-08-06 20:18:04 -07:00
Victor Zverovich
1102d46508
Make format spec parsing context-independent
2017-07-30 08:58:24 -07:00
Victor Zverovich
45911770c5
Separate parsing and formatting in extension API
2017-07-29 07:50:16 -07:00
Victor Zverovich
2f4f49fd60
Switch from cstring_view to string_view
2017-07-22 08:24:37 -07:00
Victor Zverovich
d16582a038
Move printf-related code to printf.cc
2017-07-15 09:46:18 -04:00
Mario Werner
ac5484c4e7
add alias targets with fmt namespace
...
For the consumer it should not matter if fmt has been added to the
project as subdirectory or via find_package. With the alias targets
the library can be always imported via fmt::fmt.
2017-05-25 14:36:16 +03:00
Mario Werner
746adc5e71
added new namespace to the header only target in the find package test
2017-05-25 14:36:16 +03:00
Bjoern Thiel
048d2aec27
CMake imported targets should be namespaced
2017-05-21 14:17:12 +03:00
Victor Zverovich
07ed421521
Fix handling of implicit conversion to integral types larger than int ( #507 )
2017-05-06 10:23:20 -07:00
Victor Zverovich
dcfd40a1b8
Revert #456
...
Revert #456 because it causes issues for known types (#495 ) and is not C++98-compatible.
2017-05-06 08:36:54 -07:00
Andreas Schönle
79f11dbaa7
Allow compiling and using as DLL in windows ( #502 )
...
* printf.h fixed to compile clean - need to check whether this is the right
thing to do
* fix warnings and errors in test compiles with BUILD_SHARED_LIBS
* did requested changes and added one change to allow all tests to succeed
in windows DLL
2017-05-05 14:58:09 +02:00
effzeh
73ca9948fe
Fix FormatBuf implementation ( #491 )
...
Fixes #491 (and probably #480 ) Before, the put-area of the custom streambuf
implementation was (sometimes) incorrectly extended beyond the writeable buffer.
The new implementation is in some cases not as efficient as the old, but avoids
to write into uninitialized memory.
2017-04-08 09:07:33 -07:00
Arthur Danskin
cbac016cce
%.f should have zero precision, not default precision
2017-04-08 07:18:10 -07:00
Victor Zverovich
12252152ac
CStringRef -> cstring_view
2017-03-26 15:13:10 -07:00
Victor Zverovich
32ec13f149
Switch to C++ locale
2017-03-25 08:20:06 -07:00
Victor Zverovich
b4f4b7e21a
Clean the buffer API ( #477 )
2017-03-12 09:48:21 -07:00
Victor Zverovich
f423e46835
Replace clear() with resize(0) and data_ -> store_
2017-03-11 08:30:15 -08:00
Victor Zverovich
7175bd8ae6
Fix error on MinGW
2017-03-09 06:09:43 -08:00
Victor Zverovich
7258d1b8f3
Fix tests
2017-03-08 08:08:08 -08:00
Victor Zverovich
3610f34c70
Fix windows build
2017-03-04 07:10:54 -08:00
Victor Zverovich
6f8006c2ce
Add printf overloads that takes a writer ( #476 )
2017-02-25 09:58:42 -08:00
Victor Zverovich
db0d54f855
Fix error on MinGW
2017-02-25 09:00:56 -08:00
Victor Zverovich
c333dca065
Follow standard naming conventions
2017-02-21 06:56:26 -08:00
Victor Zverovich
6a2ff287b2
Follow standard naming conventions
2017-02-19 08:05:41 -08:00
Victor Zverovich
eedfd07f8b
internal::MemoryBuffer -> basic_memory_buffer
2017-02-18 09:13:12 -08:00
Victor Zverovich
4ec8860783
ArgFormatter -> arg_formatter
2017-02-18 07:46:32 -08:00
Victor Zverovich
50e716737d
StringRef -> string_view, LongLong -> long_long
2017-02-18 07:34:52 -08:00
Victor Zverovich
e022c21ddc
Fix windows build
2017-02-18 06:29:33 -08:00
Victor Zverovich
87b691d80c
Merge StringWriter into StringBuffer
2017-02-17 06:23:16 -08:00
Victor Zverovich
c2f021692f
Merge ArrayWriter into FixedBuffer
2017-02-17 06:09:26 -08:00
Victor Zverovich
fefaf07b6f
Pass buffer instead of writer to format_value
2017-02-14 19:39:34 -05:00
Victor Zverovich
6e568f3a08
buffer -> basic_buffer
2017-02-14 12:08:37 -05:00
olivier80
a00006119f
Add join argument allowing formating list of values separated by a ( #466 )
...
Add join argument allowing formating list of values separated by a
string. Each value is formated according the format specifier.
2017-02-08 06:55:12 -08:00
Victor Zverovich
a13b96ed88
Simplify API
2017-02-05 06:54:03 -08:00
Victor Zverovich
624c58682d
Simplify API
2017-02-05 06:41:39 -08:00
Victor Zverovich
7ae8bd7073
basic_format_arg -> basic_arg, Buffer -> buffer
2017-02-05 06:09:06 -08:00
Victor Zverovich
296e9cada2
FrmatSpec -> format_spec
2017-01-28 12:51:35 +00:00
Victor Zverovich
984a102921
Remove IntFormatSpec and StrFormatSpec
2017-01-28 04:26:48 -08:00
Victor Zverovich
4863730eca
Remove pad
2017-01-22 19:11:47 -08:00
Victor Zverovich
aaa0fc396b
Improve compatibility with old compilers and fix test
2017-01-22 12:16:16 -08:00
Victor Zverovich
aea5d3ab00
Improve compatibility with older gcc and update tests
2017-01-22 11:50:52 -08:00
Victor Zverovich
ec15ef7b7b
Replace operator<< with write function
2017-01-22 10:00:34 -08:00
Andreone
67662702aa
allow to stream user defined types in a MemoryWriter ( #456 )
...
* allow to stream user defined types in a MemoryWriter
* fix indent
* follow Google C++ Style
* make code c++98 compatible
* fix macro usage
* disable ability to stream user defined types if not at least c++11
* fix for disable ability to stream user defined types if not at least c++11
* use FMT_STATIC_ASSERT
2017-01-19 20:47:43 +01:00
mojoBrendan
d8754af063
Allow %s as generic format specifier in printf ( #453 )
...
* Allow %s as generic format specifier in printf
Signed integers are formatted as %d
Unsigned integers are formatted as %u
Doubles are formatted as %f
Chars are formatted as %c
Void Pointers are formatted as %p
* Remove '%S' handling and use visitor for generic format strings
* Default for floating point is now "%g" rather than "%f"
2017-01-14 11:45:48 -08:00
Jean-Charles Lefebvre
e0251fdcef
BasicContainerWriter utility added
2017-01-05 20:44:35 -08:00
Victor Zverovich
8428621ddc
BasicWriter -> basic_writer
2016-12-30 12:26:12 -08:00
Jean-Charles Lefebvre
e1689cb985
Custom FormatSpec ( #439 ) ( #444 )
...
* A custom FormatSpec type can be passed as a template argument to the ArgFormatter chain (#439 )
* Corrected nested-name-specifier error
* Spec template argument defaulted to FormatSpec
* Forward declaration of FormatSpec
* Style
* Style (part 2)
* Style (part 3)
2016-12-30 11:29:40 -08:00
Victor Zverovich
939aff2936
Remove unnecessary template arg from basic_format_args
2016-12-30 10:19:38 -08:00
Victor Zverovich
b2a0d8914a
Merge value and MakeValue
2016-12-30 09:25:01 -08:00
Victor Zverovich
acd1811c50
Value -> value
2016-12-30 08:05:26 -08:00
Victor Zverovich
42a319074c
Parameterize Value on context
2016-12-29 18:07:05 -08:00