Commit Graph

431 Commits

Author SHA1 Message Date
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
Victor Zverovich
b498ba0bc5 FormatFloat -> format_float (https://github.com/cppformat/cppformat/issues/50) 2014-07-26 08:03:03 -07:00
Victor Zverovich
37356c3f5e Comment. 2014-07-26 07:26:04 -07:00
Victor Zverovich
2a747b19e0 CheckPtr -> make_ptr (https://github.com/cppformat/cppformat/issues/50) 2014-07-25 08:41:22 -07:00
Victor Zverovich
d142e3b55f Simplify handling of flags. 2014-07-25 08:29:06 -07:00
Victor Zverovich
d699c2a0d9 Don't duplicate integer format specifiers when formatting char as integer. 2014-07-25 08:24:27 -07:00
Victor Zverovich
ca0dcce2a6 CountDigits -> count_digits 2014-07-24 08:59:52 -07:00
Victor Zverovich
c1db293518 Don't use Writer's buffer directly in formatters. Unfriend BasicFormatter. 2014-07-24 08:53:27 -07:00
Victor Zverovich
a7d94f0c61 Fix https://github.com/cppformat/cppformat/issues/55. 2014-07-22 12:37:10 -07:00
Victor Zverovich
f1dfd59a41 HandleArgIndex -> handle_arg_index. Use error_ instead of a local. 2014-07-16 08:49:23 -07:00
Victor Zverovich
f86c812e1a Remove unused SimpleErrorReporter. 2014-07-16 08:48:27 -07:00
Victor Zverovich
4edc88f609 Add FormatterBase. 2014-07-16 08:38:15 -07:00
Victor Zverovich
9144a8fbbe PrintfParser -> PrintfFormatter. 2014-07-16 07:59:45 -07:00
Victor Zverovich
e2a66c58e5 Simplify and test ArgVisitor. 2014-07-16 07:55:31 -07:00
Victor Zverovich
9d74f9542b IsNegative -> is_negative. Simplify WidthHandler and ArgFormatter. 2014-07-16 07:27:54 -07:00
Victor Zverovich
512e2ced93 Rewrite argument formatting using ArgVisitor. 2014-07-14 08:47:03 -07:00
Victor Zverovich
e3a2ac8725 Move StringValue to Arg & simplify StringTraits. 2014-07-14 08:04:17 -07:00
Victor Zverovich
591ad0a64a Add ArgVisitor. 2014-07-14 06:55:29 -07:00
Victor Zverovich
e3a44c11f6 Add an overload of print that accepts std::ostream. 2014-07-09 06:56:36 -07:00
Victor Zverovich
1d7bd5d073 Add c_str functions. 2014-07-08 16:44:24 -07:00
Victor Zverovich
b9a06bafd8 internal::FormatParser -> BasicFormatter. 2014-07-08 16:38:50 -07:00
Victor Zverovich
e825156add Move FormatParser to the internal namespace. 2014-07-08 16:20:33 -07:00
Victor Zverovich
f711266244 Test MakeArg. Clean the API. 2014-07-04 07:18:44 -07:00
Victor Zverovich
144e1fbb7c Disallow formatting of wide strings when using a narrow string formatter. 2014-07-04 06:56:19 -07:00
Victor Zverovich
4e260e8599 Test MakeArg and fix formatting. 2014-07-03 08:50:57 -07:00
Victor Zverovich
9fbdc32adc Test MakeArg and handle bool, signed char and unsigned char. 2014-07-02 08:38:31 -07:00
Victor Zverovich
6e5551e77a ArgInfo -> Arg 2014-07-02 06:33:25 -07:00
Victor Zverovich
c494c980b6 Clean. 2014-07-01 21:01:15 -07:00
Victor Zverovich
5d15bdd5a5 Clean. 2014-07-01 16:23:50 -07:00
Victor Zverovich
39166f9aa9 Remove more deprecated code. 2014-07-01 09:15:20 -07:00
Victor Zverovich
2dc108b31f Remove deprecated code 🎆 🎆 🎆 2014-07-01 09:10:43 -07:00
Victor Zverovich
537c6c4e18 Fix a warning. 2014-07-01 06:21:51 -07:00
Victor Zverovich
536fedfe0f Fix build. 2014-06-30 18:26:46 -07:00
Victor Zverovich
35866bb2c2 Fix warnings. 2014-06-30 18:12:57 -07:00
Victor Zverovich
cea08c7abc Suppress more warnings. 2014-06-30 17:46:14 -07:00
Victor Zverovich
eb034a0589 Suppress warnings. 2014-06-30 17:40:53 -07:00
Victor Zverovich
c6eb12d1d4 Fix one more Windows issue. 2014-06-30 17:17:48 -07:00
Victor Zverovich
a2205739b1 Fix build. 2014-06-30 16:31:43 -07:00
Victor Zverovich
b939860d6e write -> write_str 2014-06-30 15:44:08 -07:00
Victor Zverovich
53201033f2 Refactor error reporting API. 2014-06-30 14:26:29 -07:00
Victor Zverovich
d29e505568 Move PrintfParser from BasicWriter to the internal namespace. 2014-06-30 07:12:09 -07:00
Victor Zverovich
e63a0ff125 Deprecate c_str() and str(). 2014-06-30 06:43:53 -07:00
Victor Zverovich
90e6faffa0 Document ArgList. 2014-06-30 06:27:26 -07:00
Victor Zverovich
ba70b30d7e Move BasicArg & make_arg from BasicWriter to the internal namespace. 2014-06-30 06:19:20 -07:00
Victor Zverovich
21111cc954 MakeArg -> make_arg. Move printf out of Writer. 2014-06-29 19:52:26 -07:00
Victor Zverovich
afc760263e Update example. 2014-06-29 12:04:28 -07:00
Victor Zverovich
a1264926a0 Writer::format -> Writer::write. Make fmt::format return string. 2014-06-29 11:51:10 -07:00
Victor Zverovich
d5b8196749 Update the API. 2014-06-28 21:56:40 -07:00
Victor Zverovich
0914c91284 Don't use deprecated API. 2014-06-28 19:53:15 -07:00
Victor Zverovich
2e03963e9e Add fmt::print. Undocument and deprecate old API. 2014-06-28 19:44:39 -07:00
Victor Zverovich
ddbd50de4a Fix build. 2014-06-28 17:44:52 -07:00
Victor Zverovich
4d5b1e8a13 Update the API and tests. 2014-06-28 17:35:57 -07:00
Victor Zverovich
e06e9f885c Deprecate Format and update tests. 2014-06-28 15:58:02 -07:00
Victor Zverovich
5edda531f6 Add fmt::format and deprecate fmt::Format. 2014-06-28 14:48:42 -07:00
Victor Zverovich
428d114766 Complete FMT_VARIADIC. 2014-06-28 13:31:44 -07:00
Victor Zverovich
4f4e6c965f Fix MSVC build. FormatError -> FormatMessage to avoid ambiguity. 2014-06-28 12:49:51 -07:00
Victor Zverovich
5aa36285b1 Try another MSVC workaround. 2014-06-28 12:14:43 -07:00
Victor Zverovich
ce09e7e348 Simplify FMT_FOR_EACH. 2014-06-28 11:43:07 -07:00
Victor Zverovich
e4c2475318 MSVC workaround. 2014-06-28 11:36:49 -07:00
Victor Zverovich
3b18ecb24a FMT_FOR_EACH_NARG -> FMT_NARG. 2014-06-28 11:30:15 -07:00
Victor Zverovich
be7473b401 Test FMT_VARIADIC. 2014-06-28 11:20:04 -07:00
Victor Zverovich
2f6dddd6fd Simplify FMT_VARIADIC. 2014-06-28 11:07:43 -07:00
Victor Zverovich
360bfbdd50 Use 0-based indices. Test FMT_FOR_EACH*. 2014-06-28 10:32:37 -07:00
Victor Zverovich
bf25ef6455 FMT_TEMPLATE -> FMT_WRAP 2014-06-28 09:15:51 -07:00
Victor Zverovich
ef34eb6ec2 Emulate variadic functions on older compilers. 2014-06-25 07:50:16 -07:00
Victor Zverovich
2f752abe97 Add FMT_VARIADIC_VOID to emulate variadic functions on old compilers. 2014-06-24 19:27:26 -07:00
Victor Zverovich
8198df84f0 Suppress warnings about variadic macros. 2014-06-24 13:01:44 -07:00
Victor Zverovich
a062f94ab0 Workaround a bug in VC++ variadic macro implementation. 2014-06-24 11:09:07 -07:00
Victor Zverovich
302b8f4406 Fix MSVC build, take 2. 2014-06-24 10:46:01 -07:00
Victor Zverovich
0195f543d9 Initial support for variadic functions without C++11. 2014-06-24 10:14:50 -07:00
Victor Zverovich
ea99bfb902 Move ArgInfo to internal namespace and add ArgList. 2014-06-24 07:54:26 -07:00
Victor Zverovich
8d4535e76c Avoid unnecessary include. 2014-06-23 09:49:59 -07:00
Victor Zverovich
9c995a6b58 Don't use undefined _MSC_VER. 2014-06-21 09:47:37 -07:00
Victor Zverovich
5be9a8de3f Reduce the number of integer types that need to be handled. 2014-06-21 09:40:04 -07:00
Victor Zverovich
b1bbc90919 Use precision from FormatSpec. 2014-06-21 08:32:00 -07:00
Victor Zverovich
6238f2daa1 Make precision and alignment work together. 2014-06-21 08:18:05 -07:00
Victor Zverovich
ca31c2b322 Fix handling of octal prefix. 2014-06-20 08:04:44 -07:00
Victor Zverovich
512ab9336b PrepareFilledBuffer -> PrepareBufferForInt 2014-06-20 08:01:58 -07:00
Victor Zverovich
c556926597 Implement precision + fill. 2014-06-20 07:59:23 -07:00
Victor Zverovich
879838a539 Implement integer precision. 2014-06-20 07:34:02 -07:00
Victor Zverovich
cb743c0249 Parse printf format specs. 2014-06-19 07:40:35 -07:00
Victor Zverovich
1275923a68 Implement dynamic width in printf. 2014-06-17 06:53:48 -07:00
Victor Zverovich
8666ea82f7 Merge branch 'master' of github.com:cppformat/cppformat 2014-06-16 07:49:37 -07:00
Victor Zverovich
1f19b986a0 Implement printf specifications. 2014-06-16 07:49:30 -07:00
Johan 't Hart
f4d47d7140 Fix grow size during Array<>::append
When the resulting array must grow during append, one must make sure
that the new elements _plus_ the current elements fit the new array
size.
2014-06-16 11:44:24 +02:00
Victor Zverovich
1aeac1b25a Unindent 2014-06-11 05:52:02 -07:00
Alexey Morozov
08d4e5040f GCC may have support for __has_feature but doesn't support __has_builtin
So perform these checks separately
2014-06-11 15:47:46 +07:00
Victor Zverovich
1b80148420 Implement '#' flag. 2014-06-07 08:57:55 -07:00
Victor Zverovich
bf790d2819 Ignore '0' flag for non-numeric types as printf does. 2014-06-07 07:31:25 -07:00
Victor Zverovich
b88d261282 Fix an issue with allocation of a zero-size array. 2014-06-06 08:01:10 -07:00
Victor Zverovich
d9f5089a18 Remove unnecessary qualification. 2014-06-06 08:00:20 -07:00
Victor Zverovich
bf8b29fbe7 Add initial support for printf format specifications. 2014-06-06 06:38:37 -07:00
Victor Zverovich
13a5b2511b Document Print. 2014-05-18 10:04:36 -07:00
Victor Zverovich
5415b2a43b Fix example. 2014-05-14 08:20:20 -07:00
Victor Zverovich
d2e7554f74 Write docs. 2014-05-14 07:29:47 -07:00
Victor Zverovich
3303708e94 Document ThrowSystemError and ThrowWinError. 2014-05-14 07:05:09 -07:00
Victor Zverovich
83920084f7 Update docs. 2014-05-13 08:55:13 -07:00
Victor Zverovich
891da2f474 Fix docs. 2014-05-13 07:39:18 -07:00
Victor Zverovich
089e54a09b Fix docs. 2014-05-13 07:35:46 -07:00
Victor Zverovich
734bb02904 More docs. 2014-05-13 06:43:43 -07:00
Victor Zverovich
5cf3b6dc7d Add a Print overload that writes to a file. 2014-05-06 08:05:51 -07:00
Victor Zverovich
1a2d7be3f5 Implement EXPECT_STDOUT and EXPECT_STDERR using pipes. 2014-05-03 09:48:54 -07:00
Victor Zverovich
53b4c31afb Move Format*ErrorMessage to internal namespace. 2014-04-30 15:00:41 -07:00
Victor Zverovich
400812a905 CError -> WinError 2014-04-30 12:38:17 -07:00
Victor Zverovich
99e6112fda Fix StrError, move Format*ErrorMessage to the implementation. 2014-04-30 11:20:41 -07:00
Victor Zverovich
f79398699b Add ThrowCError to throw an exception on C library errors. 2014-04-30 10:18:11 -07:00
Victor Zverovich
2c6372d790 Add a portable thread-safe version of strerror. 2014-04-30 09:42:48 -07:00
Victor Zverovich
c16217bf9b Test UTF8ToUTF16 and UTF16ToUTF8. 2014-04-30 07:38:43 -07:00
Victor Zverovich
da9aeab810 Add UTF8ToUTF16 and UTF16ToUTF8. 2014-04-30 07:23:43 -07:00
Victor Zverovich
859a4975f6 Throw SystemError if fwrite fails. 2014-04-30 06:55:21 -07:00
Victor Zverovich
4e33311597 Get rid of FormatterProxy. 2014-04-29 09:32:25 -07:00
Victor Zverovich
063d0077b3 Test FileSink. Simplify tests. 2014-04-29 08:39:37 -07:00
Victor Zverovich
c1f947f4fb Add comments. 2014-04-29 06:54:46 -07:00
Victor Zverovich
7e6dd376b1 Improve doc. 2014-04-28 19:27:29 -07:00
Victor Zverovich
46e26191f4 Remove unnecessary const refs. 2014-04-28 19:27:19 -07:00
Victor Zverovich
d9db89814f Refactor action classes, Action -> Sink, add comments. 2014-04-28 08:59:29 -07:00
Victor Zverovich
d2bf073334 Format. 2014-04-27 09:47:07 -07:00
Victor Zverovich
83a7b79c2d Add a macro to disallow the copy constructor and operator= functions. 2014-04-27 09:46:56 -07:00
Victor Zverovich
f153f6f4b5 Implement move assignment in BasicWriter. 2014-04-26 07:10:21 -07:00
Victor Zverovich
3bb9941e37 Fix warning. 2014-04-26 06:47:25 -07:00
Victor Zverovich
26277c8ab3 Implement move assignment operator for Array. 2014-04-25 08:18:07 -07:00
Victor Zverovich
08b0741fa7 Add move ctor to BasicWriter. 2014-04-25 07:40:37 -07:00
Victor Zverovich
259a307daf Fix version check, take 2. 2014-04-24 15:39:20 -07:00
Victor Zverovich
daaa314aac Fix version check. 2014-04-24 14:55:18 -07:00
Victor Zverovich
b61bb5d635 Don't use rvalue references when compiling with clang and an old libstdc++ as the latter doesn't provide std::move. 2014-04-24 14:18:37 -07:00
Victor Zverovich
f28645f900 Fix includes. 2014-04-24 12:37:06 -07:00
Victor Zverovich
71a5b7a126 Return Writer instead of std::string in variadic overloads of Format for performance & consistency with non-variadic versions. 2014-04-24 07:32:01 -07:00
Victor Zverovich
bc2cab2efe Format. 2014-04-24 07:30:47 -07:00
Victor Zverovich
b22493ce7e Add a move ctor to Array. 2014-04-24 07:30:39 -07:00
Victor Zverovich
81217a2cc0 Add a comment. 2014-04-24 07:30:06 -07:00
Victor Zverovich
f04cb531db Remove unused code. 2014-04-23 19:41:25 -07:00
Victor Zverovich
f2e0391800 Simplify. 2014-04-23 17:34:32 -07:00
Victor Zverovich
9bde82689f Use prefix FMT_ for all macros. 2014-04-23 17:33:50 -07:00
Victor Zverovich
01ab792f60 Decouple the action perform on argument's destruction from the argument. 2014-04-23 09:13:03 -07:00
Victor Zverovich
e78904b9b9 Move formatting functionality from BasicFormatter to BasicWriter & FormatPaser to simplify the implementation of standalone formatting methods. 2014-04-23 08:27:50 -07:00
Victor Zverovich
1104e73242 Don't use initializer lists. 2014-04-22 19:42:25 -07:00