Michael Winterberg
7185e96da1
Fixed issues with MSVC emulations of clz and clzll.
...
Both clang-cl and Clang/C2 #define _MSC_VER but also have support for __builtin_clz and __builtin_clzll, leading to duplicate macro definition warnings. Emulation of clz using _BitScanReverse is suppressed if the builtins are already available.
Additionally, the value of the output parameter of _BitScanReverse is undefined if the input value is 0, which is avoided by construction, so the code analysis warning for using uninitialized data is now suppressed.
2016-01-05 16:03:06 -08:00
Michael Winterberg
251a0869be
Fixed macro redefinition warnings when compiling with clang-cl.
...
Both clang-cl and Clang/C2 #define _MSC_VER but also have support for __builtin_clz and __builtin_clzll, leading to duplicate macro definition warnings. This change suppresses emulation of clz using _BitScanReverse if the __clang__ macro is defined.
2016-01-01 18:07:06 -08:00
Nicholas Hutchinson
1a5a1708b7
Add fprintf overload that writes to a std::ostream
...
For completeness, add an overload for printf that takes a std::ostream.
2015-12-23 15:59:13 +13:00
vitaut
4797ca025e
POD -> trivially copyable/constructible
2015-12-20 07:29:59 -08:00
Dean Moldovan
b098306839
Replace template recursion with array initialization
2015-12-19 18:19:18 +01:00
Dean Moldovan
a721319e3a
Add MakeArg constructor for Arg
2015-12-19 18:19:18 +01:00
vitaut
29726cefb8
Remove extra '*'s
2015-12-18 07:30:03 -08:00
vitaut
0629d76bb0
Fallback to sized integer types on MSVC if stdint.h is not available
2015-12-18 07:20:05 -08:00
vitaut
1042ddda0f
Document BasicFormatter
2015-12-18 07:07:41 -08:00
vitaut
1cba0aea27
Simplify CMake config and do minor adjustments
...
for consistency with used coding conventions.
2015-12-10 07:24:23 -08:00
Maciej Dems
c47318afa8
Declarations for shared library in Windows.
...
Added __declspec(dllimport) and __declspec(dllexport) declarations
when compiled in Windows.
2015-12-10 13:36:18 +01:00
vitaut
ecd52bc610
Fix for a bogus MSVC warning ( #244 )
2015-12-09 08:57:29 -08:00
vitaut
5c76d107cb
Fix MSVC build
2015-12-06 14:17:34 -08:00
vitaut
98c1f76f24
Replace uninitialized_copy with memmove ( #242 )
...
because the memory areas may overlap.
2015-12-06 07:44:07 -08:00
vitaut
e7f4566dd4
Replace <algorithm> with <memory>
...
~20% faster compile time on bloat-test
2015-12-04 22:57:36 -08:00
vitaut
e0179ee190
Fix a warning and remove extra newline
2015-12-04 17:52:36 -08:00
vitaut
e567fe6960
Replace "!!" with "!= 0" for readability
2015-12-04 17:52:06 -08:00
vitaut
7c60db1e24
Fix a warning
2015-12-04 14:12:42 -08:00
vitaut
535dbdd1c8
Move formatter methods to the header
...
and improve naming consistency
2015-12-03 09:38:06 -08:00
vitaut
6ced4230f4
Initial support for custom formatters
2015-12-02 08:41:05 -08:00
Johan 't Hart
328c8888ec
Make compilable under Visual Studio 2008
...
Older Visual Studio versions are not shipped with stdint.h
2015-12-01 09:34:13 +01:00
Johan 't Hart
df2dfd9612
Silence some performance warnings in Visual Studio
2015-12-01 08:59:59 +01:00
vitaut
7cbb29f61e
Make FormatBuf::size() const
2015-11-25 08:27:46 -08:00
vitaut
053df632f8
Minor simplification and adjustment of coding style for consistency
...
in custom stream buffer implementation:
* basic_formatbuf -> internal::FormatBuf
* remove unused Traits template argument
2015-11-25 08:00:57 -08:00
vitaut
222f2d28f5
Fix MSVC warnings
2015-11-25 07:47:43 -08:00
vitaut
f60c4b9947
Fix an MSVC warning ( #234 )
2015-11-25 07:17:05 -08:00
vitaut
0519737b95
Don't use _ecvt ( #233 )
2015-11-25 07:11:28 -08:00
vitaut
9a08fb52bf
Fix compilation with clang and old libstdc++
2015-11-24 09:13:48 -08:00
Michael Kasperovich
8265263c5d
Remove unnecessary stuff.
2015-11-24 09:09:09 -08:00
Michael Kasperovich
d266adf805
Implement custom stream buffer ( #92 )
2015-11-24 09:06:33 -08:00
vitaut
6cff6d8137
Use overloaded operator<< for enums if available ( #232 )
2015-11-24 08:18:19 -08:00
vitaut
646829e34d
Fix MSVC warnings
2015-11-21 07:31:00 -08:00
vitaut
8beadace37
Improve detection of isinf, isnan and getsign
2015-11-21 07:20:18 -08:00
vitaut
223575b567
Tyop
2015-11-20 08:28:29 -08:00
vitaut
ee3e68dc16
Improve compatibility with bcc32
2015-11-20 08:14:10 -08:00
vitaut
e5d599875c
Improve compatibility with bcc32
2015-11-20 07:56:16 -08:00
vitaut
b53994fd0d
Suppress a warning
2015-11-20 07:49:29 -08:00
vitaut
fd1753484e
Fix example
2015-11-19 07:23:43 -08:00
vitaut
6606971aae
Improve compatibility with bcc32
2015-11-18 08:42:09 -08:00
vitaut
31aced8b59
Improve compatibility with bcc32
2015-11-18 08:04:04 -08:00
vitaut
1dd5e035eb
Simplify signbit
2015-11-18 07:38:05 -08:00
vitaut
0219d5591b
Improve compatibility with bcc32
2015-11-17 08:53:15 -08:00
vitaut
3a2f91bd58
Fallback to ecvt if _ecvt_s is not available.
2015-11-17 08:35:30 -08:00
vitaut
c1a8dfe555
Improve detection of signbit
2015-11-17 07:40:22 -08:00
Victor Zverovich
d9e0f5c04e
Merge pull request #229 from LogicalKnight/fix_intel_warning
...
Fix warning when using Intel C++ on OS X
2015-11-13 16:48:34 -08:00
vitaut
7dcf05108e
Move cstddef include to format.cc and refactor Buffer::append
2015-11-13 06:52:13 -08:00
Sean L
32f0295460
Fix warning when using Intel C++ on OS X
...
Unfortunately, Intel's C++ compiler defines `__clang__` which means that
some of the pragmas in use that Intel C++ doesn't use will cause
warnings to be generated.
2015-11-13 08:01:59 -05:00
vitaut
0550f1217c
Store unsigned char value in uint_value instead of int_value
2015-11-11 06:45:27 -08:00
vitaut
8b86a74ad5
Allow formatting C strings as pointers ( #223 )
2015-11-09 07:17:36 -08:00
vitaut
7c24973637
Format (un)signed char as integer by default ( #217 )
2015-11-05 20:46:22 -05:00