Commit Graph

154 Commits

Author SHA1 Message Date
Ivan Shynkarenka
82bb4f4e89 Fix Visual Studio 2017 new warning (C4244: 'argument': conversion from 'int' to 'const char', possible loss of data) 2017-04-15 08:38:43 -07: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
fbc8ea8c3e False -> FalseType (#483) 2017-03-08 07:17:08 -08:00
Pierre Kestener
6c3aa28c94 fix for nvcc_wrapper compiler 2017-03-08 06:20:52 -08:00
Sean LK
e3b5d806a8 Don't bring Arg struct into global namespace
This fixes compiling fmtlib in header-only mode when user code also has
something called 'Arg' defined. Now qualifying Arg struct with internal
namespace.
2017-03-08 06:19:11 -08:00
Victor Zverovich
cc736e7611 Remove redundant include (#479) 2017-03-03 06:06:34 -08:00
Victor Zverovich
789ebea863 Merge branch 'printf' of github.com:fmtlib/fmt 2017-02-26 07:17:38 -08:00
Victor Zverovich
6f8006c2ce Add printf overloads that takes a writer (#476) 2017-02-25 09:58:42 -08:00
Dominik Schmidt
589b93de45 Add default copy constructor to SystemError (#475)
* Add default copy constructor to SystemError
* Add FMT_DEFAULTED_COPY_CTOR macro
2017-02-25 09:37:06 -08:00
Alexey Gorishny
20089c23ca Added missing FMT_OVERRIDE specifier to FormatBuf::overflow (#473) 2017-02-22 20:55:15 +01:00
Rich E
ad6d78f2a8 added FMT_API declarations where needed when using FMT_EXPORT from a separate dll 2017-02-12 12:14:58 -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
Magnus Bjerke Vik
bc6af7548b Fix Android not being detected with latest NDK toolchain (#458)
When using the NDK 13b toolchain standalone or with CMake, ANDROID is not defined,
but __ANDROID__ is defined instead.
2017-01-20 11:20:43 +01: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
Victor Zverovich
9e9ad57f58 Workaround an nvcc bug 2017-01-19 06:24:15 -08:00
Calum Robinson
a2596d685d Fix missing intrinsic when included from C++/CLI
Managed C++ code doesn't have the _BitScanReverse* intrinsics, we must use the fallback code for count_digits etc.
2017-01-18 06:23:25 -08: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
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
Eric Fiselier
b9aaa507fc Don't export the -std=c++11 flag from the fmt target 2016-12-29 16:04:16 -08:00
Andrey Glebov
db780cb119 Add std::basic_string allocator support to StringRef, StringBuffer and relatives (#441)
* - added basic_string allocator support to BasicStringRef, BasicCStringRef, BasicWriter::str, StringBuffer and BasicStringWriter

* - removed templated str() and to_string() function
- code style fixes
2016-12-26 08:36:56 -08:00
Victor Zverovich
796beaaddb Fix collision with global convert function (#425) 2016-11-19 12:05:49 -08:00
Victor Zverovich
def687462c Fix signbit detection (#423) 2016-11-14 20:14:52 -08:00
alabuzhev
25f8ad13dd Correction of 418 (#420) 2016-11-11 18:27:39 +01:00
alabuzhev
1d2049b53e Issue #418 - Minimal supported library subset (#419) 2016-11-10 20:29:12 +01:00
Victor Zverovich
f5b1c16e2c Add version macro FMT_VERSION (#411) 2016-11-07 19:04:44 -08:00
Victor Zverovich
cfd00af37a Fix warnings on C++98 2016-11-06 12:58:49 -08:00
Victor Zverovich
6274401919 Fix warnings 2016-11-06 12:37:31 -08:00
Victor Zverovich
2fa4655af6 Fix warning in FMT_STATIC_ASSERT on older GCC (#414) 2016-11-06 11:48:01 -08:00
Chen Hayat
05ba3e7888 Fix Klockwork compilation warning 2016-11-06 10:01:55 -08:00
Victor Zverovich
1daddec151 FMT_NULLPTR -> FMT_NULL and improve formatting 2016-11-06 09:05:58 -08:00
Jonathan Müller
d8867a2b07 Fix missing '>' 2016-11-05 21:09:31 +01:00
Jonathan Müller
6c0125785b Add extern templates for format_float
Fixes #413.
2016-11-05 21:03:40 +01:00
alabuzhev
49ccb2e449 Using FMT_NULLPTR instead of literal 0 2016-11-03 06:39:40 -07:00
Lectem
8f455c10b0 fix newer clang warnings 2016-11-01 07:05:34 -07:00
Jan Hellwig
15d0f32773 Fix Windows compilation with -fno-exceptions (#405) 2016-10-31 21:55:52 +01:00
Jan Hellwig
8c63ea432c Fix Linux compilation with -fno-exceptions (#402) 2016-10-29 16:16:40 -07:00
Victor Zverovich
abbefd7166 CHAR_WIDTH -> CHAR_SIZE to avoid collision with ISO/IEC TS 18661-1:2014 macro 2016-10-19 06:52:55 -07:00
Victor Zverovich
ed874df293 Merge branch 'master' of github.com:fmtlib/fmt 2016-10-17 07:00:58 -07:00
codicodi
1e018e65cb Thread-safe time formatting
This adds thread-safe (at least on platforms that provide necessary extensions) replacement functions for std::localtime and std::gmtime. Alternatively they could be placed in a new source file time.cc, but time.h seems so empty right now...
2016-10-17 07:00:04 -07:00
chronoxor
1500f00525 Remove unnecessary "fmt/" prefix which should be maintained with additional include_directories() in each project. (#397) 2016-10-11 06:45:04 -07:00
Victor Zverovich
cee50b7572 Fix compilation on Cygwin (#388) 2016-10-01 21:32:16 -07:00
Victor Zverovich
f66d37fb1c Merge pull request #390 from chronoxor/master
Introduced NamedArgWithType<Char, T> : NamedArg<Char>
2016-09-29 08:11:46 -07:00
Ivan Shynkarenka
1546b9e336 Introduced NamedArgWithType<Char, T> : NamedArg<Char> 2016-09-28 00:18:09 +03:00
Victor Zverovich
17c17d1585 Merge pull request #389 from chronoxor/master
Extend ArgLists to support serialization/deserialization in third-party components
2016-09-27 08:11:36 -07:00
Ivan Shynkarenka
d09dd1a81a Extend ArgLists to support serialization/deserialization in third-party components 2016-09-27 17:40:05 +03:00
Jean-Michaël Celerier
9ec3bea2d6 Add FMT_OVERRIDE macro to allow specifying overriding functions in c++11 compilers 2016-09-24 21:10:11 +02:00
Hugh Wang
5f26b5da28 Fix compilation on Android. 2016-09-13 10:34:54 +08:00
Victor Zverovich
a79c7b4e8f Fix handling of unsigned char strings (#373) 2016-08-23 08:42:25 -07:00
Victor Zverovich
f19d8f9655 Improve error reporting (#357) 2016-08-16 07:08:53 -07:00
Victor Zverovich
a5d0adf395 Use a heuristic to detect empty strftime result (#367) 2016-08-05 07:27:56 -07:00
Victor Zverovich
1a23f9c274 Correct buffer growth when formatting time (#367) 2016-08-04 08:47:59 -07:00
Victor Zverovich
9dbb60c4c8 Move fmt::fprintf to printf.h 2016-08-03 08:52:05 -07:00
Victor Zverovich
6ee9f2ed09 Make printf argument formatters public (#335, #360) 2016-07-21 06:59:28 -07:00
Victor Zverovich
631ffef438 Merge pull request #361 from nmoehrle/fix-unreachable-code
Remove unreachable code below FMT_THROW
2016-07-21 06:35:38 -07:00
Victor Zverovich
355861f1ff Document PrintfFormatter::format 2016-07-20 08:26:14 -07:00
Victor Zverovich
ab054532ce Move writer to PrintfFormatter object for consistency with BasicFormatter 2016-07-20 08:21:13 -07:00
Victor Zverovich
d4ddaaf2b1 Make PrintfFormatter public (#335, #360) 2016-07-20 08:09:14 -07:00
Nils Moehrle
c8c9973669 Remove unreachable code below FMT_THROW 2016-07-19 20:33:55 +02:00
Victor Zverovich
65cd664195 Fix handling of wide strings in StringWriter 2016-07-18 08:47:11 -07:00
Victor Zverovich
d4885cea62 Document BasicStringWriter 2016-07-16 08:00:53 -07:00
Victor Zverovich
903357c853 Break a long line 2016-07-16 08:00:53 -07:00
Tilman Keskinöz
d7c4e1cb1f Fix compile on freebsd 2016-07-15 14:28:18 +02:00
Victor Zverovich
0d5ef5c2a6 Fix inclusion of printf.h in the header-only config (#354) 2016-07-12 06:59:35 -07:00
Victor Zverovich
8631694021 check -> const_check to avoid a conflict with AssertMacros.h (#350) 2016-07-12 06:40:23 -07:00
Victor Zverovich
4133e501f3 Merge branch 'locale' 2016-07-11 06:48:38 -07:00
Victor Zverovich
0e6df7e511 Fix handling of thousands separator (#353) 2016-07-11 06:31:23 -07:00
Sean LK
75f862bf57 Fix building with clang in header-only mode
Building under a recent clang compiler causes the use of an extern
template for the BasicData struct. However, the only instantiation of
that structure in format.cc is only done if FMT_HEADER_ONLY is not
defined. This causes the build to fail in C++11 or C++14 mode.
Therefore, only declare the BasicData template as extern if
FMT_HEADER_ONLY is not defined.
2016-06-25 05:22:07 +00:00
Victor Zverovich
5c876088d3 Reduce noise 2016-06-22 06:33:56 -07:00
Victor Zverovich
e9a0d3141b Merge branch 'locale' 2016-06-15 15:04:24 -07:00
Victor Zverovich
e0d6f630f8 Fix MSVC warnings 2016-06-15 06:29:47 -07:00
Victor Zverovich
a201c61977 Suppress -Wpadded warnings 2016-06-14 22:17:34 -07:00
Victor Zverovich
c9bb5468b6 Fix clang warning 2016-06-14 15:42:32 -07:00
Victor Zverovich
b26e76efe9 Fix a -Wweak-vtables warning in clang 2016-06-14 08:54:08 -07:00
Victor Zverovich
c7739536e8 Don't use strtod_l on Android (#345) 2016-06-14 06:57:12 -07:00
Victor Zverovich
18e3f16576 Suppress clang's documentation warnings 2016-06-12 09:09:36 -07:00
Glen Stark
72d51e0b1e Implemented #335: custom printf support 2016-06-09 08:41:56 -07:00
Victor Zverovich
231c16df25 Break long lines 2016-05-26 06:48:12 -07:00
Victor Zverovich
96c28f748d Detect if lconv contains thousands_sep 2016-05-23 07:41:22 -07:00
Victor Zverovich
e160c2b79a Add fmt prefix to includes (#332)
Technically it is not necessary, but prevents errors when people add the
fmt directory itself rather than its parent to includes.
2016-05-22 16:42:44 -07:00
Victor Zverovich
ebff26f8f1 Improve formatting consistency 2016-05-19 13:36:00 -07:00
Dmitry Panteleev
45a1509455 Workaround for missing lconv support in android (#327) 2016-05-19 13:29:21 -04:00
Victor Zverovich
2d8a7ed086 Add include to example 2016-05-19 06:39:03 -07:00
Victor Zverovich
b6c0cf9683 Add fmt::to_string (#326) 2016-05-18 19:54:52 -07:00
Victor Zverovich
cc9b051d12 Move format_system_error to the public API (#323) 2016-05-13 07:19:39 -06:00
Victor Zverovich
3400e0d609 Fix clang -Weverything warnings (#250) 2016-05-10 08:50:42 -07:00
Victor Zverovich
744c2824c5 Fix a clang warning about an undefined template (#318) 2016-05-08 09:45:32 -07:00
Victor Zverovich
9c865560fd Fix a warning 2016-05-07 07:10:40 -07:00
Victor Zverovich
1788883262 Fix warnings 2016-05-07 07:03:21 -07:00
Victor Zverovich
90730e706b Move ostream support to ostream.{h,cc} 2016-05-06 07:37:20 -07:00
Victor Zverovich
c5fe3eb87e Fix code bloat regression on gcc 5.3.1 with -std=c++11 (#315) 2016-05-05 07:48:06 -07:00
Victor Zverovich
408c84cd42 Update copyright (#314) 2016-05-04 06:27:03 -07:00
Dean Moldovan
729491eab7 Use FMT_ICC_VERSION everywhere internally 2016-05-03 14:26:01 +02:00
Dean Moldovan
3a04ebf14f Fix user-defined literal detection for Intel C++ compiler 2016-05-03 13:43:51 +02:00
Jakub Wilk
e0ac51cbd9 Fix typos 2016-05-01 12:29:21 +02:00
Victor Zverovich
a3929b719a Document date/time formatting and move example to the docs 2016-04-29 06:40:31 -07:00
Victor Zverovich
c33f3e281b cppformat -> fmt 2016-04-28 07:00:22 -07:00
Victor Zverovich
59d0efd6d6 Update links 2016-04-28 06:54:37 -07:00
Victor Zverovich
90accff030 Fix a warning 2016-04-26 07:23:03 -07:00