Howard Hinnant
2515dfd1b5
Remove deleted weekday(int) constructor
...
* This was a failed experiment.
2017-08-15 13:44:16 -04:00
Howard Hinnant
c3ab69ee0d
Hard code year::min(), year::max() to [-32767, 32767]
...
* When year < 0, -year > 0 (always).
* These are the minimal limits C places on short.
* Reserving -32768 is useful in the implementation.
2017-08-15 12:42:27 -04:00
Howard Hinnant
be871e6c85
Add is_clock
2017-08-13 22:57:36 -04:00
Howard Hinnant
82de27d339
Fix bug in sys_time and local_time from_stream
...
* to handle microfortnights
2017-08-12 13:56:17 -04:00
Howard Hinnant
922abf1299
Protect from Oracle sun macro
2017-08-06 00:30:27 -04:00
Howard Hinnant
c4dcd5eb78
More Oracle fixes.
2017-08-05 20:27:15 -04:00
Howard Hinnant
e2a38e600c
Set constexpr rules to C++11 for Oracle 12.6 and earlier
2017-08-05 16:06:20 -04:00
Howard Hinnant
4ae416f06a
Add default constructor for weekday_indexed
...
* This enables the year_month_weekday default constructor.
2017-07-27 14:34:11 -04:00
Howard Hinnant
5726b70bb7
Turn off constexpr when using clang + VS-2013 std::lib
2017-07-24 08:26:37 -04:00
Howard Hinnant
e6b1e0fe58
Allow read_unsigned to read 0 digits
...
* Will allow reading "optional" integers.
2017-07-24 08:18:18 -04:00
Paul Thompson
a5b77bb0fe
add to copyright holder
2017-07-21 10:41:48 -04:00
Paul Thompson
5a53cb38a3
VS2013 doesn't accept exception specification for constructor default. Resolves #183
2017-07-21 10:41:48 -04:00
Paul Thompson
494fee4e1b
User defined literals are not supported by VS2013, use explicit year constructor instead
2017-07-21 10:41:48 -04:00
Howard Hinnant
a034eeed23
Have parse of %p set failbit if unsuccessful.
2017-07-19 15:26:29 -04:00
Howard Hinnant
a1b19a2ed6
Silence some warnings.
2017-07-19 15:25:57 -04:00
Howard Hinnant
6067371127
Don't pass ill-formed strings to stold
...
* Avoid exceptions coming out of stold.
* from_stream should always set failbit instead of throw.
2017-07-06 11:54:55 -04:00
Howard Hinnant
156bdf8bc6
Remove #ifdef in time_of_day
...
* Workaround for MSVC no longer needed.
2017-07-03 16:41:09 -04:00
Howard Hinnant
012f2c6135
Make to_stream and from_stream return a stream reference
2017-06-17 13:11:39 -04:00
Howard Hinnant
ccd857ff6d
Add Alloc parameter to basic_string in two places
2017-06-16 13:23:41 -04:00
Howard Hinnant
ec412a1de0
Set failbit instead of throw within to_stream
...
* This is for consistency with other std streaming operations.
2017-06-12 21:01:58 -04:00
Howard Hinnant
aa4dafcc46
Silence sign conversion warnings
2017-06-12 13:33:47 -04:00
Howard Hinnant
9c9ddeba37
Work around EDG 4.11 front end bug.
2017-05-21 13:41:31 -04:00
Howard Hinnant
0fb3921e5b
Fail if you need a valid year and don't parse one.
2017-05-20 23:04:49 -04:00
Tullio Menga
83c8b4d522
changes for compatibility with Clang with Microsoft CodeGen (v140_clang_c2):
...
- added date:: namespace to flloor() and abs() calls
- added IUnknown forward declaration before including Windows headers to prevent issue with objbase.h
- minor changes
2017-05-08 10:04:20 -04:00
Howard Hinnant
f493bd67f2
Tweak white space parsing rules (again):
...
* White space matches zero or more white space characters.
* %n matches one white space character.
* %t matches zero or one white space characters.
2017-05-07 15:25:07 -04:00
Howard Hinnant
cf0481b9af
Reset command, width and modified for %n and %t in from_stream.
2017-05-04 21:03:48 -04:00
Howard Hinnant
f57432d7b4
Don't skip white space by default in from_stream.
...
* Put a space at the beginning of your
format string to recover this behavior.
2017-05-04 14:47:28 -04:00
Howard Hinnant
e8f0dca452
Fix type-o in to_stream duration overload.
2017-05-04 10:04:17 -04:00
Howard Hinnant
2f8997d3ed
Make parse fail if fmt string is not completely consumed.
2017-04-18 12:02:21 -04:00
Howard Hinnant
d15491103b
Move chrono_io.h functionality into date.h.
2017-04-13 21:01:47 -04:00
Howard Hinnant
2c094f5559
Restrict parse of %Z to valid timezone names and abbrev.
2017-04-13 14:09:14 -04:00
Howard Hinnant
096bad2622
Parse should fail if fmt string is not consumed.
2017-04-13 12:45:28 -04:00
Howard Hinnant
4f27361378
Add range checking for the time-of-day fields during parse.
...
* Also refactor the leap-second logic used in utc_time.
2017-04-07 18:52:09 -04:00
Howard Hinnant
3daf8c1ffe
Minor tweaks.
2017-04-01 21:53:29 -04:00
Florian Dang
c4c2550b29
Ignore GCC warnings.
...
* 4.9 missing initializer warnings
* pedantic for __int128 case
* Wrap diagnostic push and pop in tz.cpp and date.h.
2017-04-01 12:36:54 -04:00
Howard Hinnant
d29cd4e343
Fix formatting bug for utc_time.
2017-03-30 14:44:42 -04:00
Howard Hinnant
3495c513a1
Enable parse and format for more types:
...
* year
* month
* day
* weekday
* year_month
* month_day
2017-03-25 17:46:17 -04:00
Howard Hinnant
dbee0e7da4
Allow parsing %Ez to parse only 1 hour digit.
2017-03-17 20:18:06 -04:00
Howard Hinnant
9e1120c676
Make time_of_day default constructor non-explicit.
...
Add zoned_time const char* overloaded constructor.
2017-03-12 15:18:53 -04:00
gaspardpetit
f4292e6aca
Added Alloc argument to template parameters to support custom allocators in from_stream
2017-03-11 20:13:06 -05:00
Gaspard Petit
a811a20748
Fixes minor typos in comments - no actual change to code
2017-03-08 11:28:35 -05:00
Howard Hinnant
3df43424ac
Add from_stream
2017-03-02 13:16:22 -10:00
Howard Hinnant
1e7e7a214d
Simplify the implementation of format and parse:
...
* For format, all a type must do is implement to_stream.
* For parse, each type X must specialize parse_manip<X,CharT,Traits>.
Each specialization must include a public typedef to itself named
type.
* Each parse_manip specialization must have a stream extraction
operator.
* This commit depends on expression-SFINAE. If this commit breaks
your build, it is likely that your compiler/version does not
support expression-SFINAE. To fix this NO_EXPRESSION_SFINAE
needs to be defined in the configuration area of date.h for
that compiler/version.
2017-02-26 14:10:10 -05:00
Howard Hinnant
ffc8cd0a3b
Add format and parse to tai_time, gps_time, year_month_day
2017-02-26 09:28:15 -05:00
Howard Hinnant
e9d36c6200
Rewrite format and parse in terms of detail::fields<Duration>
...
* Add format and parse to utc_time<Duration>.
* Added more tests.
2017-02-25 20:44:59 -05:00
Howard Hinnant
5c09ae73f2
Work around {} bug for older compilers
2017-02-08 11:32:33 -05:00
Howard Hinnant
800ae143aa
Correct the return type on two format overloads
2017-02-06 10:18:08 -05:00
Howard Hinnant
3a9880999d
Add format and parse overloads for durations
2017-01-28 16:21:21 -05:00
Howard Hinnant
2b8e6562ae
Work around VS-2015 bug
2017-01-24 15:35:28 -05:00
James Beach
186dbb2891
Enable CONSTCD14 for VS2017
2017-01-19 12:46:11 -05:00