Commit Graph

549 Commits

Author SHA1 Message Date
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
Victor Zverovich
656a8378d1 Use ArgInfo instead of Arg where possible. 2014-04-22 08:58:54 -07:00
Victor Zverovich
5b8126f84d Factor POD part of Arg into ArgInfo to be able to store it in Array. 2014-04-22 08:19:10 -07:00
Victor Zverovich
03f68857e2 Replace BasicFormatter::Format with BasicWriter::FormatInt. 2014-04-20 08:46:09 -07:00
Victor Zverovich
265b40ec6e Disable GCC warning about "long long". 2014-04-16 09:19:31 -07:00
Victor Zverovich
5f9574c3c1 Add a test case for writing a double to a filled buffer. 2014-04-09 08:05:23 -07:00
jdale88
a9862fdb22 Fixed some level 4 warnings in VS2013 2014-03-11 18:56:24 +00:00
jdale88
17d621f86f Added variadic versions for Format that act as a proxy for providing an initialiser list to a BasicFormatter.
Updated the Variadic test to use these new functions and verified that the tests passed.

See https://github.com/vitaut/format/issues/25
2014-03-06 20:06:44 +00:00
jdale88
45b56c1c62 Fixed some places in BasicFormatter where non-templated string types were being used.
See https://github.com/vitaut/format/issues/24
2014-02-27 01:28:17 +00:00
Victor Zverovich
86574285cc Don't use CountDigits for 1-2 digit numbers. 2014-02-20 21:05:46 -08:00
Victor Zverovich
7abd6443ac Fix more warnings. 2014-02-20 08:02:32 -08:00
Victor Zverovich
8c4425a00f Fix warnings. 2014-02-20 07:53:50 -08:00
Victor Zverovich
04b3432238 Simplify IntTraits. 2014-02-20 07:43:37 -08:00
Victor Zverovich
90d0c50eb3 Fix formatting of integer types smaller than int in FormatDec. 2014-02-20 07:04:54 -08:00
Victor Zverovich
43fe100875 Move the implementation of ColorWriter::operator() to format.cc 2014-02-19 14:20:26 -08:00
Victor Zverovich
6968ef3bb3 Implement PrintColored.
Thanks https://github.com/jose55 for the idea.
2014-02-19 13:51:23 -08:00
Victor Zverovich
e9b2191689 Add a 32-bit version of CountDigits. 2014-02-19 12:43:55 -08:00
Victor Zverovich
3017fc6fb7 Improve 32-bit integer formatting performance by parameterizing FormatDecimal on integer type. 2014-02-17 09:12:24 -08:00
Victor Zverovich
fb2be485d7 Fix non-gcc builds. 2014-02-15 10:41:00 -08:00
Victor Zverovich
ff0d5d1771 Fix more warnings on older GCC. 2014-02-15 10:17:10 -08:00
Victor Zverovich
7561ff27e5 Fix warnings about unsigned long long as well. 2014-02-15 10:02:02 -08:00
Victor Zverovich
7325ebc965 Fix the warning about long long on older gcc. 2014-02-15 09:58:33 -08:00
Victor Zverovich
245faa745b ConvertWChar -> ConvertChar. 2014-02-15 09:39:49 -08:00
Victor Zverovich
eadd2ee421 Add FormatInt::data() and document members. 2014-02-15 09:39:06 -08:00
Victor Zverovich
f43de4a469 Only append terminating '\0' when necessary. 2014-02-15 09:24:31 -08:00
Victor Zverovich
430c45d618 Too much Python 🐍 2014-02-14 14:06:39 -08:00
Victor Zverovich
6f0387fc22 Expose in-place decimal integer formatting via FormatDec. Improve performance of CountDigits based on the results from https://github.com/localvoid/cxx-benchmark-count-digits. 2014-02-14 10:36:17 -08:00
Victor Zverovich
d473a79581 Add FormatInt::size, and support for long and long long. 2014-02-13 09:59:49 -08:00
Victor Zverovich
bfedba5a0a Add support for int64_t in FormatInt. 2014-01-30 08:02:06 -08:00
Victor Zverovich
c3f5dce8d5 Fixed bug https://github.com/vitaut/format/issues/16 . Thanks to https://github.com/fil222 ! 2014-01-28 12:49:36 -08:00
Victor Zverovich
ea5dce3957 Simplify format specs. 2014-01-28 12:47:37 -08:00
Victor Zverovich
a1bd3358bb Produce a compile error when using wide fill character on a narrow stream. 2014-01-08 08:17:38 -08:00
Victor Zverovich
1f17447fac Simplify pad. 2014-01-07 08:44:15 -08:00
Victor Zverovich
8efc8ac075 Fixed https://github.com/vitaut/format/issues/15 . Thanks! 2014-01-06 17:49:27 -08:00
Victor Zverovich
24fcd6e97f Fix compilation with clang. 2014-01-02 12:29:53 -08:00
Victor Zverovich
6038c85231 format_test -> format-test. Add support for wide char to BasicWriter. 2014-01-02 11:30:28 -08:00
Victor Zverovich
342b76d278 Implement pad for wide strings. 2014-01-01 10:00:55 -08:00
Victor Zverovich
09f98854bf StrFormatter -> StrFormatSpec. 2014-01-01 09:22:55 -08:00
Victor Zverovich
ba6c5fe522 IntFormatter -> IntFormatSpec. 2014-01-01 09:20:16 -08:00
Victor Zverovich
fec6bc04f5 Spec -> EmptySpec. Improve comments. 2014-01-01 09:06:25 -08:00
Victor Zverovich
59c5612e87 Add comments. 2013-12-31 10:15:16 -08:00
Victor Zverovich
641df95491 Implement string padding. 2013-12-31 09:43:32 -08:00
Victor Zverovich
fbed12ac58 Fix warnings. 2013-12-13 15:13:14 -08:00
Victor Zverovich
2d485d1916 Improve support for C++98 compilers that require a copy ctor when binding a reference to a temporary. 2013-12-10 08:08:41 -08:00
Victor Zverovich
21f3a700c5 Fix a typo. 2013-12-09 17:51:11 -08:00
Victor Zverovich
8ca31c8473 Fix compilation on GCC when -std=c++11 is not specified. 2013-12-09 17:45:27 -08:00
Victor Zverovich
3d7faaf0bd Detect the availability of initialize lists. 2013-12-09 08:31:08 -08:00
Victor Zverovich
bd5fe67eef Conditionally compile C++11 parts. 2013-12-09 08:12:33 -08:00
Victor Zverovich
185ec1d91e Fix a typo. 2013-12-09 08:12:21 -08:00
Victor Zverovich
e3b4a3f166 Disallow formatting of wchar_t when using a char formatter. 2013-12-07 08:12:03 -08:00
Victor Zverovich
206c846e12 Replace BasicFormatter.Add with args_.push_back. 2013-12-07 08:03:23 -08:00
Victor Zverovich
2d620be6ff Pre-allocate space for arguments. 2013-12-06 09:16:50 -08:00
Victor Zverovich
5789930096 Variadic version of BasicFormatter's ctor. 2013-12-06 09:08:37 -08:00
Victor Zverovich
f406a42baa Fix a warning about long long. 2013-12-06 07:12:38 -08:00
Victor Zverovich
39cc99e2c2 Disable MSVC warning about multiple copy ctors. 2013-12-06 07:00:06 -08:00
Victor Zverovich
383a8423ef Forbid copying from a temporary (Basic)Formatter object. 2013-12-04 22:22:25 -08:00
Victor Zverovich
e8a2bdf2d1 Add comments. 2013-12-01 06:59:14 -08:00
Victor Zverovich
56f12b737c Add support for long long and more tests for unsigned long long. https://github.com/vitaut/format/issues/9 2013-11-22 07:45:43 -08:00
Victor Zverovich
a4e72b4db2 Remove IntTraits<uint32_t> because uint32_t is a typedef, not a built-in type. Rename ULLONG to ULONG_LONG for consistency with ulong_long_value. Remove extra whitespace. 2013-11-21 09:11:58 -08:00
Gregory Czajkowski
a65542bdaf add support for unsigned long long
Want to be able to format the following without any casting

std::cout << fmt::str(fmt::Format("{:x}") << 0xAEull) << std::endl;
std::cout << fmt::str(fmt::Format("{:x}") << 0xAEul) << std::endl;
std::cout << fmt::str(fmt::Format("{:x}") << uint64_t(0xae)) <<
std::endl;
2013-11-21 08:47:55 -08:00
Victor Zverovich
f184ad0a2c Restore the 'B' type by https://github.com/gcflymoto and add tests. 2013-11-16 21:25:48 -08:00
Victor Zverovich
2aa4cd9827 Fix gcc version check for noexcept. 2013-11-16 07:19:59 -08:00
Victor Zverovich
d49845510e Check gcc version for diagnostic once. 2013-11-16 07:19:41 -08:00
vitaut
16cb991fd8 Merge pull request #6 from gcflymoto/master
add support for older GCC versions
2013-11-16 07:15:18 -08:00
Gregory Czajkowski
7b22272fbf add support for older GCC versions 2013-11-15 16:00:09 -08:00
Victor Zverovich
52b55e1791 Always use noexcept for gcc >= 4.8 because dtors are implicitly noexcept there. Remove binu and 'B' specifier. 2013-11-14 08:45:20 -08:00
vitaut
e0afc418b3 Merge pull request #4 from gcflymoto/master
Added support for binary modifier
2013-11-14 07:57:16 -08:00
Gregory Czajkowski
9cc24166b5 revert back changes and to create a single pull request for bin mode 2013-11-12 14:12:17 -08:00
Gregory Czajkowski
631f407f99 add better support for different GCC and 64bit longs 2013-11-08 17:06:54 -08:00
Victor Zverovich
d3ec9a1316 Add support for StringRef in BasicFormatter. 2013-11-08 09:53:50 -07:00
Gregory Czajkowski
e4ffc06875 add support for binary type and test long longs more 2013-10-23 20:04:32 -07:00
Victor Zverovich
eded10cf31 Fix FormatInt. 2013-09-10 09:28:04 -07:00
Victor Zverovich
2951f8b3d8 API docs. 2013-09-10 09:26:11 -07:00
Victor Zverovich
b605b3980c Disallow writing a wide string to a char stream and vice versa, because there is no good way to implement these function without knowing the encodings and what std::ostream doesn't make any sense. 2013-09-09 22:21:40 -07:00
Victor Zverovich
1733198bf5 Guard gcc pragmas from -dumb compilers- MSVC. 2013-09-09 15:47:09 -07:00
Victor Zverovich
4523ed7887 Disable -Wlong-long on gcc. 2013-09-09 15:38:43 -07:00
Victor Zverovich
e1a02c5141 Fix formatting of long long. 2013-09-09 15:23:05 -07:00
Victor Zverovich
aefb3bb918 Simplify tests. Add support for long long in Writer. 2013-09-09 15:12:51 -07:00
Victor Zverovich
ad1be3c17a Add a missing header. 2013-09-09 10:42:33 -07:00
Victor Zverovich
65d47e5e09 Add FormatInt for fast stand-alone integer formatting. 2013-09-09 06:51:03 -07:00
Victor Zverovich
bcef11c0d1 Add support for long double in Writer. 2013-09-08 16:27:12 -07:00
Victor Zverovich
1e724a9d33 Write docs. 2013-09-08 15:37:14 -07:00
Victor Zverovich
2a9f358d7e Add support for long and unsigned long in Writer. 2013-09-08 14:18:08 -07:00
Victor Zverovich
563a575c0c Fix more warnings. 2013-09-08 13:47:06 -07:00
Victor Zverovich
93e4125248 Move DIGITS to the implementation. Widen fill_ to support both char and wchar_t. 2013-09-08 13:07:04 -07:00
Victor Zverovich
9ff3b97779 Move more code from header to source. 2013-09-07 10:15:08 -07:00
Victor Zverovich
7cae763c91 Move code from header to source. 2013-09-06 20:23:42 -07:00
Victor Zverovich
c2e65d1371 Test and fix writing wide chars. 2013-09-06 19:34:55 -07:00
Victor Zverovich
525de51320 Test and fix writing wide strings. 2013-09-06 19:32:19 -07:00
Victor Zverovich
9b619782a0 Fix the build. 2013-09-04 22:10:58 -07:00
Victor Zverovich
bc6c1c17cc Add support for wide strings. 2013-09-04 22:03:37 -07:00
Victor Zverovich
3a7962fc1b Update the docs. 2013-09-04 20:44:13 -07:00
Victor Zverovich
ca171307f3 TempFormatter -> Formatter. Complete refactoring. 2013-09-04 19:23:55 -07:00
Victor Zverovich
50cf5e17a7 Merge ArgInserter into TempFormatter and replace BasicFormatter::operator() with BasicWriter::Format. 2013-09-03 18:58:13 -07:00
Victor Zverovich
6829819b8d Fix MSVC build. 2013-09-03 15:59:46 -07:00
Victor Zverovich
82475e4874 Use checked iterators if _SECURE_SCL is defined. 2013-09-03 08:16:53 -07:00
Victor Zverovich
62a00e333a Fix more "secure" warnings. 2013-09-02 20:31:00 -07:00
Victor Zverovich
f211e313e2 Fix MSVC "secure" warnings instead of (unsuccessfully) trying to disable them. 2013-09-02 20:24:09 -07:00
Victor Zverovich
0802941d4f Disable MSVC "secure" warnings in format.h only. 2013-09-02 19:25:14 -07:00
Victor Zverovich
8b4a466716 Correct a miselading comment. 2013-08-31 11:14:43 -07:00
Victor Zverovich
c31eaef1b0 Fix an example. 2013-08-28 10:54:18 -07:00
Victor Zverovich
6323d30247 Implement compatibility with compilers other than clang 2013-05-15 10:04:11 -07:00
Victor Zverovich
5adb9f7a39 Add support for noexcept 2013-05-15 08:59:44 -07:00
Victor Zverovich
1cad3fadd6 Remove warning pragmas since there is no effect on "security" warnings 2013-04-22 08:37:01 -07:00
Victor Zverovich
ca7e689e08 Add missing include, try disable warnings on MSVC. 2013-04-22 08:11:57 -07:00
Victor Zverovich
6da2c53099 Fix compilation when windows.h is included (issue 2) 2013-04-22 07:39:36 -07:00
Victor Zverovich
d3be932534 Handle short and float arguments 2013-03-31 07:01:09 -07:00
Victor Zverovich
aa9a94c8df Fix MSVC build 2013-02-28 11:13:43 -08:00
Victor Zverovich
6afa2994d5 Allocate large enough buffer to make _ecvt_s happy. Swap the order of template parameters in TempFormatter for convenience. 2013-02-28 10:47:20 -08:00
Victor Zverovich
478d004c1d Get rid of secure warnings. 2013-02-27 14:45:04 -08:00
Victor Zverovich
6cc758b6e2 Workaround MSCRT brain damage, take 2. 2013-02-27 14:17:07 -08:00
Victor Zverovich
ab05af06f2 Workaround MSCRT brain damage. 2013-02-27 13:44:00 -08:00
Victor Zverovich
1e58ebf1b7 Fix a crash when exception is throws in nested Format. Check automatically assigned argument index. Add double output method to BasicWriter. 2013-02-27 13:17:09 -08:00
Victor Zverovich
dcb82310eb Fix the build when isinf is a macro. 2013-02-21 17:44:29 -08:00
Victor Zverovich
695bb2f3d4 Fix a compilation issue when math.h is included before format.h 2013-02-21 16:53:58 -08:00
Victor Zverovich
60d51406ef Look for isinf in std namespace too. 2013-02-05 08:11:04 -08:00
Victor Zverovich
b09f371306 Implement a workaround for older GCC. 2013-02-05 08:05:01 -08:00
Victor Zverovich
74494c29cb Fix the build. 2013-02-05 07:49:43 -08:00
Victor Zverovich
9d49321115 Fix MSVC build. 2013-02-05 07:43:15 -08:00
Victor Zverovich
688de77b36 Parameterize Formatter on character type and rename it to BasicFormatter. 2013-02-05 07:28:54 -08:00
Victor Zverovich
03dccc3c91 Rename BasicFormatter to BasicWriter. 2013-02-02 20:29:02 -08:00
Victor Zverovich
687301c516 Parameterize BasicFormatter on char type. 2013-01-26 16:07:28 -08:00
Victor Zverovich
dbfd021ae2 Document the write API. 2013-01-22 11:06:56 -08:00
Victor Zverovich
a1dccea9ba Use one namespace (fmt) instead of two (format and fmt). 2013-01-21 11:42:25 -08:00
Victor Zverovich
f87c6ba358 Fix warnings. 2013-01-13 09:47:01 -08:00
Victor Zverovich
07ad14efdb Simplify traits. 2013-01-13 09:41:14 -08:00
Victor Zverovich
2ca696d4df Fix the build. 2013-01-13 09:29:37 -08:00
Victor Zverovich
41d898e1e4 Use (u)int64_t instead of long. 2013-01-13 08:45:02 -08:00
Victor Zverovich
9fc0574715 Fix the build on MSVC. 2013-01-13 08:37:47 -08:00
Victor Zverovich
de580f6930 Move str and c_str to the fmt namespace and document the API. 2013-01-13 07:50:28 -08:00
Victor Zverovich
aba9e15021 Add support for types other than int in oct, hex, hexu & pad. Document the API. 2013-01-13 07:14:54 -08:00
Victor Zverovich
d53cc2bc12 Fix the build on MSVC. 2013-01-12 10:17:56 -08:00
Victor Zverovich
9e81263cf5 Document the API. 2013-01-12 10:08:39 -08:00
Victor Zverovich
877abaf301 Parameterize integer formatting method on format spec type. Add Sprint/iomanip style formatting methods (oct, hex, hexu, pad). 2013-01-08 09:56:05 -08:00
Victor Zverovich
de17baae2d Move formatting methods to BasicFormat. 2013-01-04 09:14:34 -08:00
Victor Zverovich
8e158d74cd Document the API. 2013-01-04 07:04:35 -08:00
Victor Zverovich
00830b99b3 Document the API using breathe. 2013-01-03 08:57:34 -08:00
Victor Zverovich
5ec28a4914 Use breathe + doxygen for API documentation. 2012-12-29 09:27:26 -08:00
Victor Zverovich
ce60483833 Format NaN. 2012-12-28 08:27:54 -08:00
Victor Zverovich
8412ad6aeb Implement automatic argument indexing. 2012-12-27 06:56:55 -08:00
Victor Zverovich
3f73987a62 Move single argument formatting to BasicFormatter. 2012-12-25 17:55:41 -08:00
Victor Zverovich
17ca809135 Implement space sign. 2012-12-25 13:45:12 -08:00
Victor Zverovich
0a138ad865 Implement minus flag. 2012-12-25 13:25:14 -08:00
Victor Zverovich
d96337914f Make integer formatting faster. 2012-12-25 09:00:11 -08:00
Victor Zverovich
ccbe94189c Implement numeric alignment. Make integer formatting faster. 2012-12-24 08:34:44 -08:00
Victor Zverovich
1b9c22c161 Implement right alignment. 2012-12-22 17:53:13 -08:00
Victor Zverovich
be6e54de36 Implement left alignment. 2012-12-22 14:05:56 -08:00
Victor Zverovich
75343c7e12 Add format to int_generator tests. 2012-12-21 22:50:42 -08:00
Victor Zverovich
64236894ce Parse alignment. 2012-12-21 09:12:04 -08:00
Victor Zverovich
a0d685c710 Implement fill. 2012-12-20 20:10:55 -08:00
Victor Zverovich
30ab349173 Refactor StringRef. 2012-12-19 10:47:00 -08:00
Victor Zverovich
77a5ffa9df Remove extra '>' 2012-12-18 15:50:14 -08:00
Victor Zverovich
2baf6d3030 Implement StringRef. 2012-12-18 15:39:42 -08:00
Victor Zverovich
2ba1573ac3 Introduce str and c_str into the format namespace. 2012-12-18 14:38:03 -08:00
Victor Zverovich
3d9b0f0757 Add ArgInserter::str(). 2012-12-17 21:13:54 -08:00
Victor Zverovich
ade5381f9a Preliminary support for custom formatting. 2012-12-17 14:56:44 -08:00
Victor Zverovich
059934fd10 Rename Active Formatter to TempFormatter. 2012-12-16 20:57:35 -08:00
Victor Zverovich
93a970945e Improve API and make it work on older GCC. 2012-12-16 10:03:19 -08:00
Victor Zverovich
cbaddefddd Forbid copying of ActiveFormat other that from a temporary object. 2012-12-15 20:17:03 -08:00
Victor Zverovich
6861ac4718 Fix the build on GCC 4.2.1 from MacOS X. 2012-12-14 19:01:48 -08:00
Victor Zverovich
363352754c Implement runtime precision. 2012-12-12 15:21:11 -08:00
Victor Zverovich
d6bf6d2708 Workaround a bug in Visual C++. 2012-12-12 09:14:00 -08:00
Victor Zverovich
faccb4c765 Add a license. 2012-12-12 07:44:41 -08:00
Victor Zverovich
33bb6eef5a Enable and fix warnings. 2012-12-11 21:47:05 -08:00
Victor Zverovich
1c8a849229 Fix double action call issue. 2012-12-11 20:49:01 -08:00
Victor Zverovich
e2725eeeb1 ArgFormatter -> Formatter::ArgInserter. Test ArgInserter and ActiveFormatter. 2012-12-11 16:26:04 -08:00
Victor Zverovich
87b5ebfc4a BasicArgFormatter -> ArgFormatter. FullFormat -> ActiveFormatter. Use ActiveFormatter to implement Format and Print. 2012-12-11 13:54:53 -08:00
Victor Zverovich
57dbd2c3fe Rename Buffer to Array and test it. 2012-12-11 12:23:52 -08:00
Victor Zverovich
4db5a66455 Fix a lifetime issue. 2012-12-11 10:27:13 -08:00
Victor Zverovich
b1e4cbb023 Rename ArgFormatter to BasicArgFormatter and ArgFormatterWithCallback to ArgFormatter. 2012-12-11 08:41:06 -08:00
Victor Zverovich
0996e98727 Add comments. 2012-12-10 20:37:35 -08:00
Victor Zverovich
14e0f87d50 Remove back() and Take(); add GrowBuffer(). 2012-12-10 18:08:04 -08:00
Victor Zverovich
198ebe9cf6 Add a Buffer that stores initial data on stack. 2012-12-10 17:16:08 -08:00
Victor Zverovich
31a507034e Implement an escape mechanism. 2012-12-10 15:04:55 -08:00
Victor Zverovich
b98b2e9842 Implement formatting of integers. 2012-12-10 11:08:16 -08:00
Victor Zverovich
bbd13a492b Test precision. 2012-12-09 14:13:23 -08:00
Victor Zverovich
095b43a8f0 Test and correct handling of the width specifier. 2012-12-09 11:32:39 -08:00
Victor Zverovich
280ea8b5c5 Add support for user-defined types. 2012-12-09 09:03:47 -08:00
Victor Zverovich
8b1c7098ec More tests. 2012-12-08 18:45:35 -08:00
Victor Zverovich
63539c03b0 Check for overflow when parsing argument index. Improve error handling. Fix overload issues. More tests. 2012-12-08 08:17:12 -08:00
Victor Zverovich
5f3ed207da Add more tests. Check if argument index is in range. 2012-12-07 17:48:10 -08:00
Victor Zverovich
b076df4f80 Initial import 2012-12-07 08:31:09 -08:00