gm
07d9e8a0fe
Enable the c++14 CONSTDATA code path for VS2017 and fix const const warning.
2017-01-01 18:01:20 +13:00
Howard Hinnant
6889dc69fb
Add missing #include
2016-12-26 18:34:40 -05:00
Howard Hinnant
628404b87c
Re-implement parse.
...
* Work with const CharT* format at the lowest level.
* Avoid dependence on std::lib except for locale-sensitive parsing.
* Add tests for parse.
2016-12-26 16:27:56 -05:00
Howard Hinnant
2216bfbe44
Work around VS-2015 bug
2016-12-07 10:47:50 -05:00
Jiangang (Jeff) Zhuang
64ea0a5bc3
move file scope static variables into functions to deal with static initialization order problem
2016-12-02 20:57:21 -05:00
Howard Hinnant
8a3aeb566b
Fix and test format %y
2016-11-27 15:30:01 -05:00
Howard Hinnant
a5450e9d02
Fix and test format %C
2016-11-27 13:41:24 -05:00
Howard Hinnant
2310435582
Add a format test stressing range
2016-11-26 16:15:08 -05:00
Howard Hinnant
6b3ea4516a
Fix bugs with formatting fractional seconds
2016-11-26 13:37:38 -05:00
Howard Hinnant
298e9aff2d
Add to_stream which avoids temporary streams and strings.
...
* This is a low-level formatting facility which other functions
such as format call into.
2016-11-25 20:37:51 -05:00
Howard Hinnant
0cfa783b14
Unify and simplify fractional decimal seconds formatting
...
* Many of the ideas and some of the code herein is credited to
Adrian Colomitchi
* Decouple fractional decimal seconds formatting from time_of_day
formatting so that it can be more easily used elsewhere in the
future.
* Include super-second durations such as nanocenturies and
microfortnights in the class of durations that will get formatted
with fractional decimal seconds.
* If a duration is exactly representable with fractional decimal
seconds not exceeding 18 decimal fractional digits, format it
exactly. Otherwise format it to 6 fractional decimal digits
(microseconds precision). The number 18 is chosen as this is the
limit of std::ratio using 64 bits (i.e. atto).
* The above bullet implies that durations with ratio<1, 4> will now
be formatted with 2 fractional decimal digits instead of 1.
ratio<1, 8> will be formatted with 3, and ratio<1, 3> with 6.
* Unify the implementation into one C++11 implementation that works
equally well with C++14.
* Drive-by fix a couple formatting bugs dealing with negative
durations.
* Deprecate the make_time functions taking unsigned md by removing
their documentation. Also deprecate the corresponding time_of_day
constructors taking unsigned md.
* This change paves the way for future formatting improvements.
2016-11-24 19:53:39 -05:00
Howard Hinnant
44e0480087
Fix formatting bug with %Ez
2016-11-12 18:21:21 -08:00
Paul Dreik
63e33bdf49
silence warnings in gcc 6.2
2016-11-12 15:19:46 +01:00
Howard Hinnant
33f7cc6de4
Fix overflow bug in parse
2016-11-08 12:59:00 -08:00
Howard Hinnant
27964fa642
Fix C++11 constexpr bug in year_lastweek_weekday::weeknum()
2016-11-02 14:21:26 -04:00
Howard Hinnant
887d7574b1
Default USE_SHELL_API to 1
2016-10-23 18:58:00 -04:00
Howard Hinnant
bae66f2bff
Update README.md
2016-10-22 13:42:36 -04:00
Howard Hinnant
1f7325ef7f
Update README.md
2016-10-20 17:14:15 -04:00
Howard Hinnant
9f7a438f7d
Add unary operators + and - to year
2016-10-19 12:01:26 -04:00
Howard Hinnant
9e25c2d74f
Supply missing imbues in format
2016-10-18 11:52:07 -04:00
Howard Hinnant
806c29fddc
Lots of minor changes motivated by reviews of the draft proposal
2016-10-15 17:31:08 -04:00
Howard Hinnant
501609bacf
Make those time_point conversions which can be noexcept, noexcept
2016-10-12 19:48:45 -04:00
Howard Hinnant
cfa55850c7
Fix dangling reference bug in parse
2016-10-11 10:34:59 -04:00
Howard Hinnant
ff929570f9
Update readme with R1 draft proposal
2016-10-09 20:19:18 -04:00
Howard Hinnant
fab89b205b
Minor cleanups in the clocks
2016-10-09 20:11:11 -04:00
Howard Hinnant
2ba541b684
Merge branch 'master' of github.com:HowardHinnant/date
2016-10-08 16:07:01 -04:00
Howard Hinnant
81b5cc65f0
Remove static conversion functions from clocks
...
The free function converters are sufficient API.
2016-10-08 16:05:10 -04:00
Howard Hinnant
381cbf9a7b
Fix type-o in parse
2016-10-08 15:04:27 -04:00
Howard Hinnant
f66af06870
Simplify implementation details of "chrono_io.h"
2016-10-08 15:03:33 -04:00
Howard Hinnant
d02f762e32
Update README.md
2016-10-05 17:22:42 -04:00
Howard Hinnant
3f0540cefd
Update README concerning new IANA versioning
2016-09-28 18:17:26 -04:00
Howard Hinnant
19c83e47ed
Get local version from NEWS instead of Makefile
2016-09-28 18:08:50 -04:00
Howard Hinnant
cedbe3c445
Update README.md
2016-09-23 18:44:23 -07:00
Howard Hinnant
cb820f9090
Merge pull request #86 from saschazelzer/clang-fedora-support
...
Clang on Fedora needs <climits> for the CHAR_BIT definition.
2016-09-16 09:23:34 -04:00
Sascha Zelzer
69ec0bb134
Clang on Fedora needs <climits> for the CHAR_BIT definition.
2016-09-16 07:31:04 +02:00
Howard Hinnant
3fb4d32922
Update tests for default constructible calendar types
2016-09-15 20:21:56 -04:00
Sascha Zelzer
641cd739c3
VS2013's std::vector does not support incomplete template types.
...
This commit works around this by exposing the zonelet class declaration
to the public tz.h header.
2016-09-15 20:10:04 -04:00
Sascha Zelzer
553affefa4
Work around a compiler bug in VS2013 with explicit conversion constructors.
2016-09-15 20:10:04 -04:00
Sascha Zelzer
570a1e699c
Do not use user defined literals for VS2013 compatibility.
2016-09-15 20:10:04 -04:00
Sascha Zelzer
e107bcdef2
Use NOEXCEPT macro for VS2013 compatibility.
2016-09-15 20:10:04 -04:00
Howard Hinnant
765d0e8f7a
Add parse manipulators
2016-09-15 20:10:04 -04:00
Howard Hinnant
86446a9fac
format passes time_point by const&
2016-09-13 20:28:00 -04:00
Howard Hinnant
b2df8cade5
Add trivial default constructors to most calendar types
2016-09-13 20:14:43 -04:00
Howard Hinnant
845ce25bb7
Refine decision to use the std::chrono rounding modes
2016-09-10 11:57:52 -04:00
Howard Hinnant
6cb8d59886
Update Try it out link
2016-09-09 21:23:28 -04:00
Howard Hinnant
59d9cfa96d
Update the availability of floor, ceil, round
2016-09-09 21:21:22 -04:00
Howard Hinnant
a7b6adae62
Add %F to parse
2016-09-09 21:01:21 -04:00
acolomitchi
3b3a27efe1
Fix for issue #79 .
...
parse was not checking failbit aggressively enough.
2016-09-09 21:00:11 -04:00
Howard Hinnant
ea9f664a06
Update README.md
2016-09-07 20:40:45 -04:00
Howard Hinnant
32ca148d5c
Work around uniform initialization bug for clang-3.6
2016-08-29 12:24:07 -04:00