vitaut
ed2dfe5124
Implement writing narrow strings into a wide writer
2015-06-09 08:20:44 -07:00
vitaut
d311927c64
Update Breathe and document BasicArrayWriter(Char (&array)[SIZE])
...
Fixes #125
2015-06-03 18:21:01 -07:00
vitaut
4d521064cf
Give an error if fill is not convertible to Char in StrFormatSpec
2015-06-03 08:39:43 -07:00
vitaut
63572da4e7
Fix formatting
2015-05-22 07:22:55 -07:00
vitaut
78936ad6d7
Fix formatting
2015-05-22 07:08:16 -07:00
vitaut
c150722945
Fix compiler warnings about unused parameter ( #158 )
...
Thanks to @fmatthew5876
2015-05-08 11:20:56 -07:00
vitaut
11464343a9
Fix handling of exactly MAX_PACKED_ARGS arguments
2015-05-05 10:00:11 -07:00
vitaut
3c388185c0
Remove old TODO
2015-05-05 07:25:42 -07:00
vitaut
f5b3c9cbec
Simplify construction of ArgList objects
2015-05-05 07:23:32 -07:00
vitaut
de994a27a7
Remove internal::NonZero
2015-05-01 07:58:32 -07:00
vitaut
e515e5f14e
Simplify construction of argument lists
2015-05-01 07:35:28 -07:00
vitaut
87cb2935f8
Test and fix handling of exactly MAX_PACKED_ARGS arguments
2015-05-01 06:55:26 -07:00
vitaut
969d1cdbdc
Break long line
2015-04-30 08:41:17 -07:00
vitaut
f44666aac6
Remove extra parentheses
2015-04-30 07:35:04 -07:00
vitaut
926b7680ea
Cleanup
2015-04-21 07:17:00 -07:00
vitaut
8d2559bd96
Reduce compiled code size
...
If the number of arguments is less than MAX_PACKED_ARGS, pass
the arguments as a Value array rather than Arg array.
2015-04-20 10:02:41 -07:00
vitaut
fd53bb6fb8
Fix bogus "conditional expression is constant" MSVC warnings
2015-04-05 11:27:07 -07:00
vitaut
d2387999ec
Try fixing a bogus MSVC warning about buffer overrun ( #145 )
2015-03-28 17:52:17 -07:00
vitaut
3a5573ac6e
Revert commit 3c3ae4e319
2015-03-27 07:36:26 -07:00
vitaut
d4ea2d7fcb
Add ArgVisitor::report_unhandled_arg
...
and get rid of FMT_RETURN_AFTER_THROW.
2015-03-26 08:55:20 -07:00
vitaut
d618f8baac
Fix NonZero
2015-03-25 09:29:40 -07:00
vitaut
885d1a1c64
Simplify NonZero
2015-03-25 08:50:48 -07:00
vitaut
2ba3988da3
Reduce compiled code size when using variadic templates
2015-03-25 08:29:55 -07:00
vitaut
3c3ae4e319
MakeValue -> MakeArg
2015-03-25 07:04:16 -07:00
vitaut
00df5c91f3
Merge Value into Arg
2015-03-25 06:48:21 -07:00
vitaut
cf04d98d06
Pass as many types as possible in a single integer to reduce code bloat
2015-03-24 08:55:40 -07:00
Shauren
a445e727c2
Added support to format more than 16 arguments with printf API when using variadic templates
2015-03-20 21:31:10 +01:00
vitaut
906432161b
Make Buffer part of the public API
2015-03-20 06:31:24 -07:00
vitaut
b9f4668855
Add missing pragma diagnostic push for clang
...
Thanks to @ido
2015-03-19 08:04:31 -07:00
vitaut
0e8fcd47a0
Silence warnings about convering float to int
2015-03-18 18:59:09 -07:00
vitaut
bf8636c959
Fix compile error on clang when formatting a C++11-style enum
...
Thanks to @Naios.
2015-03-18 11:08:34 -07:00
vitaut
33ec5b16d8
Don't match bool because it causes undesirable conversions
2015-03-17 20:51:29 -07:00
vitaut
275d1ab423
Fix warnings on lesser compilers
2015-03-17 20:43:55 -07:00
vitaut
3d4af9cd65
Use `long double
instead of
int
` to avoid warnings
2015-03-17 20:12:36 -07:00
vitaut
357950e06b
Fix warnings on braindamaged compilers (aka MSVC)
2015-03-16 19:02:25 -07:00
vitaut
4825fb4a0d
Add default value for None's template argument
2015-03-16 08:43:33 -07:00
Victor Zverovich
5821aec7b9
Implement printing of values that are convertible to int such as enums
2015-03-10 07:53:46 -07:00
Victor Zverovich
7c0a23329e
Update copyright notices
2015-03-03 21:04:45 -08:00
Victor Zverovich
103530d407
Fix formatting
2015-03-01 20:58:45 -08:00
Victor Zverovich
efc42fbd4e
Temporary exclude fancy ctor from the docs
2015-03-01 18:25:40 -08:00
Victor Zverovich
7c0d5756ff
Fix clang build
2015-03-01 18:19:56 -08:00
Victor Zverovich
beaf6f7436
Add a fixed-size array writer
2015-03-01 18:08:24 -08:00
Victor Zverovich
a8a7534f78
Reorder function declarations
...
Obey your inner OCD
2015-02-26 06:54:12 -08:00
Victor Zverovich
110d4c0ab0
Replace CharTraits::UnsupportedStrType with WCharHelper::Unsupported
2015-02-26 06:32:00 -08:00
Victor Zverovich
17b9e4db8c
Improve error reporting when trying to write wchar_t with a char writer
2015-02-26 06:21:54 -08:00
Victor Zverovich
52f44bf114
Fix clang warning
...
warning: unknown warning group '-Wdocumentation-unknown-command',
ignored [-Wunknown-pragmas]
2015-02-25 17:32:32 -08:00
Victor Zverovich
ed490145d8
Improve error reporting when trying to format wide char into narrow string
2015-02-25 16:03:00 -08:00
Victor Zverovich
d5602d9fb6
Remove unnecessary call to convert
2015-02-25 09:50:39 -08:00
Victor Zverovich
e70af5b99e
Merge branch 'better-errors'
2015-02-25 08:00:46 -08:00
Victor Zverovich
f014d32147
Improve error reporting when formatting wide into narrow strings
2015-02-25 07:58:49 -08:00
Victor Zverovich
bf14b2c41b
Try improving error reporting
...
when formatting wide strings into narrow.
2015-02-25 07:43:47 -08:00
Victor Zverovich
f6cffb5eeb
Indent
2015-02-25 06:17:12 -08:00
Victor Zverovich
c634a5bf2b
Merge branch 'master' of github.com:cppformat/cppformat
2015-02-25 06:16:08 -08:00
Victor Zverovich
f8fd34ac30
Merge pull request #121 from objectx/VC2013
...
Avoid error C2156 under VC++2013
2015-02-25 06:15:09 -08:00
Masashi Fujita
c2bcb31354
Avoid error C2156 under VC++2013
2015-02-25 20:40:28 +09:00
Victor Zverovich
7215c3446b
Break long lines
2015-02-24 16:44:01 -08:00
Victor Zverovich
28fd7fb159
Fix formatting (-Gangnam- Google style)
2015-02-24 08:31:56 -08:00
Victor Zverovich
d06ff7a7e8
Fix internal::clzll on Win64
2015-02-22 06:31:55 -08:00
Carter Li
524222f094
Win32 doesn't have _BitScanForward64 so emulate it with two 32 bit calls.
...
Implementation used: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/support/win32/support.h?view=markup#l135
2015-02-22 17:48:19 +08:00
Victor Zverovich
cbc46d9e78
Use __builtin_clz whenever it is available
2015-02-21 06:21:29 -08:00
Victor Zverovich
e87a24633b
Don't use builtin_ in function names as they are not builtins
2015-02-21 06:16:49 -08:00
Victor Zverovich
14eae59c6a
Correct FMT_BUILTIN_CLZ definition
2015-02-20 08:58:16 -08:00
Victor Zverovich
2418a84f02
Cleanup
2015-02-20 08:51:01 -08:00
Victor Zverovich
27e0bf72c0
Use correct intrinsics for count_digits
2015-02-20 08:49:06 -08:00
Carter Li
00e3ae508e
Use MSVC intrinsics for better performance
2015-02-20 11:19:01 +08:00
Victor Zverovich
8d07db0e0e
Break long line
2015-02-16 14:33:04 -08:00
Victor Zverovich
bd133382f0
Fix BasicWriter::write without formatting arguments on C++11 ( #109 )
2015-02-16 14:32:38 -08:00
root
9fd566412d
Refine
2015-02-15 15:25:56 +08:00
carterl
9331533309
Use __GXX_EXPERIMENTAL_CXX0X__ for better C++11 detection
2015-02-15 04:16:23 +01:00
Carter Li
2eef573656
Use explicitly deleted functions to make types non-copyable
2015-02-14 23:22:14 +08:00
Carter Li
e2583ab5f3
Use throw() when noexcept is not supported
2015-02-14 09:58:29 +08:00
Victor Zverovich
dd2e8b98de
Fix RST markup
2015-02-12 12:46:28 -08:00
Victor Zverovich
618dd9d6af
Remove the fallthrough attribute detection
2015-02-09 07:54:03 -08:00
Victor Zverovich
a92c179a6d
Fix warnings on clang
2015-02-09 07:37:26 -08:00
viz
26c151c5e4
Detect [[clang::fallthrough]] even __has_cpp_attribute is not supported
2015-02-08 07:57:05 -08:00
Victor Zverovich
326ade7698
Document what happens if you pass an invalid error code
...
to SystemError or WindowsError
2015-02-07 09:46:42 -08:00
Victor Zverovich
fe2b5351be
Merge pull request #101 from cppformat/fallthrough
...
Try detecting clang::fallthrough using __has_cpp_attribute
2015-02-07 06:57:20 -08:00
Victor Zverovich
d7fea1ba0c
Try detecting clang::fallthrough using __has_cpp_attribute
...
and use it to silence one of the warnings in #96 .
2015-02-07 06:51:47 -08:00
Victor Zverovich
45d70b71ec
Fix by @dixlorenz for clang warning about unknown Doxygen tags
2015-02-06 21:25:30 -08:00
Victor Zverovich
554abb12f1
Fix formatting
2015-02-06 08:45:43 -08:00
Victor Zverovich
f2c16957f7
Provide examples of using SystemError and WindowsError ( #54 )
2015-02-06 08:43:02 -08:00
aruhan
e8febf7f4b
Fix format using wostream produces wrong results
2015-01-05 22:33:18 +09:00
Victor Zverovich
8d89e56d2c
Set primary domain to cpp
2014-12-18 08:36:53 -08:00
Victor Zverovich
2523f3b939
Fix more -Wshadow warnings
2014-12-10 07:24:05 -08:00
Victor Zverovich
f9fc8fd09d
Fix -Wshadow warnings
2014-12-09 07:45:54 -08:00
Victor Zverovich
f9c3ff244d
Merge branch 'header-only' of github.com:cppformat/cppformat
2014-12-09 06:14:04 -08:00
Victor Zverovich
54f19ff7b2
Simplify append_float_length
2014-12-03 06:33:31 -08:00
Victor Zverovich
f3bd9d4241
Remove extra space
2014-12-03 06:20:12 -08:00
Victor Zverovich
6f3c095ed6
Use FMT_DISALLOW_COPY_AND_ASSIGN instead of undefined assignment operators
2014-12-03 06:16:52 -08:00
Daniel.Perry
838dc1e189
move append_float_length specialization to the header
2014-12-02 10:20:27 -05:00
Victor Zverovich
311251eb91
Complete header-only configuration support
2014-11-29 06:58:00 -08:00
Victor Zverovich
d9c605c61f
Initial support for header-only configuration
2014-11-28 06:40:57 -08:00
Daniel.Perry
334fc54b5d
removed unused code
2014-11-25 18:03:54 -05:00
Daniel.Perry
bd0067ee76
made code compile under windows with level 4 warnings
2014-11-25 18:01:09 -05:00
Victor Zverovich
5a5870d3ca
n -> size
2014-10-30 07:10:43 -07:00
Victor Zverovich
5c4b6678e4
Compute StringRef size in ctor
2014-10-30 07:05:42 -07:00
Victor Zverovich
709465197a
Switch to bootstrap theme
2014-10-10 08:40:35 -07:00
Victor Zverovich
1e63fc7ca0
Comment
2014-10-05 09:34:46 -07:00
Victor Zverovich
04d38a8b14
Update docs
2014-10-01 08:32:01 -07:00
Victor Zverovich
8b9a6e03f6
Test buffer
2014-10-01 08:12:10 -07:00
Victor Zverovich
74dc571ba0
Support signed char and unsigned char strings
2014-09-30 08:15:56 -07:00
Victor Zverovich
d1ded569ff
Separate memory management and formatting
...
Array is split into an abstract Buffer class and a concrete MemoryBuffer class. BasicWriter now does all memory allocation through a Buffer object. Subclasses of BasicWriter may use different buffer types. The new BasicMemoryBuffer class uses the default MemoryBuffer.
2014-09-29 08:48:16 -07:00
Victor Zverovich
5ca3d00e26
Mind the lifetime
2014-09-25 12:15:16 -07:00
Victor Zverovich
a9da3d3852
Fix ArgList::operator[]
2014-09-25 09:31:36 -07:00
Victor Zverovich
65cb43a484
Store type info in uint64_t instead of ULongLong
2014-09-25 07:42:29 -07:00
Victor Zverovich
098a8fdef8
Simplify make_type
2014-09-25 07:14:08 -07:00
Victor Zverovich
75a2ea03a7
Reduce code bloat
...
Special case C strings because there is no need to handle size for them. Add support for pre-C++11 compilers to make_type.
2014-09-25 07:10:44 -07:00
Victor Zverovich
163178eee1
Make print non-inline
2014-09-25 07:08:25 -07:00
Victor Zverovich
ae8bc36e57
MakeArg -> MakeValue
2014-09-24 08:07:50 -07:00
Victor Zverovich
93b314d3ab
Comments
2014-09-24 07:59:23 -07:00
Victor Zverovich
ec1aea34e6
Refactor type processing
2014-09-24 07:48:45 -07:00
Victor Zverovich
ab6e759291
pointer_value -> pointer
2014-09-23 08:21:58 -07:00
Victor Zverovich
d2973766ea
ArgBase -> Value
2014-09-23 08:11:03 -07:00
Victor Zverovich
beb00edf73
Store types in ArgList instead of Arg
2014-09-23 07:59:43 -07:00
Victor Zverovich
1d4640415d
Pass ArgList by value
...
This improve bloat test results:
Old stripped size: 67680 (optimized)
New stripped size: 59488 (optimized)
2014-09-21 08:08:52 -07:00
Victor Zverovich
b9a568b1dd
Add support for custom memory allocator to BasicWriter
2014-09-19 07:51:42 -07:00
Victor Zverovich
6a98f42336
Add support for custom allocators
2014-09-18 09:07:40 -07:00
Victor Zverovich
886ad20a9d
Remove unused size argument from Array's ctor.
2014-09-12 17:20:36 -07:00
Victor Zverovich
1e9ca17b9d
Workaround Windows crap.
2014-09-12 13:42:22 -07:00
Victor Zverovich
d59fbdcd4a
Increase the maximum number of formatting arguments on compilers without variadic templates to 15.
2014-09-11 21:18:36 -07:00
Victor Zverovich
f2c9df8e9f
Move safe_strerror to anonymous namespace.
2014-09-05 08:44:41 -07:00
Victor Zverovich
88e0db8486
Test format_error_code.
2014-09-05 08:04:26 -07:00
Victor Zverovich
22f75d8b6d
Don't throw exceptions from error formatting functions. Gracefully fallback to a less descriptive message instead.
2014-09-03 08:03:05 -07:00
Victor Zverovich
5debb2aa86
Refactor error reporting to reduce duplication.
2014-08-29 08:16:10 -07:00
Victor Zverovich
605d2600f8
Improve error reporting.
2014-08-29 07:45:55 -07:00
Victor Zverovich
271fa8c908
Improve handling of format strings in custom arguments.
2014-08-29 07:23:54 -07:00
Victor Zverovich
3947a7a98c
Move check_sign to anonymous namespace.
2014-08-29 06:57:53 -07:00
Victor Zverovich
c57d7a506f
Factor out argument processing logic common between format and printf to FormatterBase::{next_arg,get_arg}.
2014-08-28 08:05:47 -07:00
Victor Zverovich
56fc525e98
Get rid of FormatterBase::error_.
2014-08-28 07:48:55 -07:00
Victor Zverovich
526b7fc91d
Throw exception in parse_nonnegative_int if the number is too big.
2014-08-28 06:42:59 -07:00
Victor Zverovich
9646e38c3b
Don't use error_ in parse_arg_index.
2014-08-27 09:13:42 -07:00
Victor Zverovich
42de4f1f7d
Get rid of FormatErrorReporter.
2014-08-27 08:24:31 -07:00
Victor Zverovich
dd4323f31c
Add fprintf and write docs.
2014-08-21 08:49:13 -07:00
Victor Zverovich
f9561671cf
Write docs.
2014-08-21 07:30:00 -07:00
Victor Zverovich
406c6123fb
Cleanup
2014-08-19 08:47:38 -07:00
Victor Zverovich
fb32161fa4
Move implementation specific stuff from format.h to format.cc.
2014-08-15 08:40:03 -07:00
Victor Zverovich
431b556951
Add FMT_ prefix to SPECIALIZE_MAKE_UNSIGNED.
2014-08-07 07:42:55 -07:00
Victor Zverovich
6cd1563eac
Add a size argument to Array ctor.
2014-08-06 07:17:03 -07:00
Victor Zverovich
58dfe5c9f7
Make format_decimal inline.
2014-08-01 08:49:16 -07:00
Victor Zverovich
be9356b651
Specialize MakeUnsigned for all signed integer types.
2014-07-31 21:23:49 -07:00
Victor Zverovich
d81fafc295
Fix tests on MSVC, take 2.
2014-07-31 07:43:14 -07:00
Victor Zverovich
f4156b57f0
Implement 'hh' length specifier in printf.
2014-07-30 08:39:07 -07:00
Victor Zverovich
d346a4120d
FormatDec -> format_decimal
2014-07-29 08:45:29 -07:00
Victor Zverovich
ad9c830282
format -> format_str to avoid confusion with function name.
2014-07-29 06:26:44 -07:00
Victor Zverovich
4d049cf598
More fixes for https://github.com/cppformat/cppformat/issues/50 .
2014-07-28 08:41:50 -07:00
Victor Zverovich
75b5eb4b9d
More fixes for https://github.com/cppformat/cppformat/issues/50 .
2014-07-27 15:09:05 -07:00
Victor Zverovich
5d4803a567
More fixes for https://github.com/cppformat/cppformat/issues/50 .
2014-07-27 12:53:42 -07:00
Victor Zverovich
a8cef1d987
FormatDecimal -> format_decimal ( https://github.com/cppformat/cppformat/issues/50 )
2014-07-26 21:31:40 -07:00
Victor Zverovich
2a1c0c9969
Obey line length limit.
2014-07-26 09:45:03 -07:00
Victor Zverovich
f634ccb344
ReportUnknownType -> report_unknown_type ( https://github.com/cppformat/cppformat/issues/50 )
2014-07-26 08:42:19 -07:00