Commit Graph
165 Commits
Author SHA1 Message Date
Aaron Franke 417402ad35 Remove trailing whitespace and add gitattributes (#672) 2021-05-24 08:22:43 -04:00
Howard Hinnant 38267fa1ef Template basic_string_view on Traits in parse overloads 2021-05-20 08:46:42 -04:00
Howard Hinnant 2f4411312b Add extra parse_manip constructor to avoid ambiguity 2021-05-19 14:36:09 -04:00
Howard Hinnant e23c15bb36 Add string_view overloads to parse functions 2021-05-19 14:13:33 -04:00
Howard Hinnant 2ef74cb41a If %I is used without %p, mark the ambiguity with failbit 2021-04-16 15:15:45 -04:00
Howard Hinnant ac6ca2a095 Add is_clock_v 2021-04-15 11:41:20 -04:00
Howard Hinnant ae017078c9 Fix Posix::time_zone for southern hemisphere
* The get_info functions were not prepared for the case where the start
  and end times of a rule are chronologically reversed for a year.  I.e.
  the daylight saving start comes later in the year than the daylight
  saving end.  When save is positive, this happens in the southern
  hemisphere (e.g. "Australia/Sydney" -> "AEST-10AEDT,M10.1.0,M4.1.0/3").
  It also happens in the nothern hemisphere when the save is negative
  (e.g. "Europe/Dublin" -> "IST-1GMT0,M10.5.0,M3.5.0/1").

* Added tests for Posix::time_zone.
2021-04-09 11:08:12 -04:00
Howard Hinnant 156e0a786e Fix up namespace error in Posix::time_zone::to_sys 2021-04-07 20:33:01 -04:00
Howard Hinnant 9a9a42db74 Enable streaming output operator for floating-point-based time_points 2021-04-06 17:22:22 -04:00
Howard Hinnant b5b765f928 Clean up calendrical streaming operators for invalid values 2021-03-31 16:15:53 -04:00
Howard Hinnant 654b97091f Change default on C++17 to uncaught_exceptions
* By popular demand.
* If you need to undo this change, compile with
  -DHAS_UNCAUGHT_EXCEPTIONS=0.
2021-03-21 22:41:22 -04:00
Howard Hinnant 0e08b942c8 Correct the streaming output of year_month_day
* Invalid dates were printing out "invalid"
  too many times.
2021-03-11 19:50:14 -05:00
Davis Vaughan 1c285d6545 Cast to unsigned char before calling toupper() (#648) 2021-02-24 12:49:46 -05:00
Howard Hinnant 26fc2bd372 Fix read_long_double with respect to decimal_point:
*  Respect locale settings when ONLY_C_LOCALE=0
*  Do not respect locale settings when ONLY_C_LOCALE=1
Fixes #637
2021-01-05 21:14:41 -05:00
Howard Hinnant 97246a638a Silence lossy conversion warning
Fixes #620
2020-11-10 08:41:30 -05:00
Howard Hinnant 215cacff56 Change all uses of round to detail::round_i
Fixes #613

detail::round_i is the same as round when the To::rep
is integral, and is just an implicit conversion when
To::rep is floating point.
2020-10-25 20:16:07 -04:00
Howard Hinnant 7848566815 Fix a parse error for Visual Studio 2020-10-02 12:53:16 -04:00
Howard Hinnant ba99134b8a For USE_OS_TZDB, look for leap seconds in the files
leapseconds and leap-seconds.list
2020-09-11 15:53:07 -04:00
Howard Hinnant 5e18488899 Fix subtle bug in fractional_width 2020-09-05 16:34:04 -04:00
Andre Nguyen 057b441ceb Use LLONG_MAX instead of std::numeric_limits<long long>::max() when constexpr is absent 2020-08-21 17:09:51 -04:00
Andre Nguyen d7a0bf1fa7 replace noexcept with NOEXCEPT macro 2020-08-21 17:09:51 -04:00
Andre Nguyen 8140d979cd fix brace value initialization for msvc 18 2020-08-21 17:09:51 -04:00
Andre Nguyen 7990eae740 fix user defined literals for compatibility with msvc 18 2020-08-21 17:09:47 -04:00
Howard Hinnant 569b2d6785 Improve error message while parsing posix timezone string 2020-08-02 10:56:37 -04:00
Howard Hinnant 6952fb50a6 Correct the value for not_a_year 2020-07-08 14:20:31 -04:00
Howard Hinnant fe2f9c7eac Change constexpr to CONSTDATA 2020-07-07 15:01:45 -04:00
Howard Hinnant d544e5af25 Throw exception if zoned_time is constructed with nullptr 2020-06-14 19:30:23 -04:00
Howard Hinnant cac99da8dc For traits in constexpr context use ::value
* Fixes #542
2020-06-02 21:08:57 -04:00
Howard Hinnant 9343e31599 Give Posix::time_zone equality comparison 2020-05-24 21:31:18 -04:00
Howard Hinnant f43c39fcf1 Add member function name() const to Posix::time_zone
* Returns the minimal string that uniquely identifies this
  time_zone.  That is, it takes advantage of all defaults.
2020-05-06 22:12:15 -04:00
Howard Hinnant e12095f26f Revert change for floating point reps in decimal_format_seconds 2020-04-18 09:24:53 -04:00
Howard Hinnant 7d811743e0 Fix parse of second offset in posix time zone 2020-04-18 09:24:22 -04:00
Howard Hinnant a2fdba1adc __GNUC_MINOR -> __GNUC_MINOR__
* Fixes #560
2020-03-30 12:50:37 -04:00
Howard Hinnant 4c1968b8f0 Fix constexpr overflow problems on gcc-7-9 2020-03-08 21:58:56 -04:00
Asad. Gharighi 9cc3a7bca1 Adding Persian/Jalali/Solar-Hijri calendar 2020-03-08 20:18:45 -04:00
Nexus Web Development 9502bc27a3 Update Date.h (#529)
* Remove arithmetic overflow: 

Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Casting the value to the wider type before calling operator '-' to avoid overflow.
2020-01-11 15:24:10 -05:00
nanoric 66a5aa482e Add constexpr for clock_cast. 2020-01-11 14:44:06 -05:00
Howard Hinnant a184309786 Fix unwanted localization of integral grouping
* Fixes #525
2020-01-01 11:12:14 -05:00
johnmph 48433b9892 Update date.h (#518)
using decltype in day constructor to be consistent with month and year
2019-12-05 14:00:16 -05:00
Nehal J Wani 4c95165298 Constrain make_zoned for icc16
Build fails with Intel Compiler v16:

<source>(1698): error: expression must have a constant value
  std::is_class<typename std::decay<decltype(*std::declval<TimeZonePtr&>())>::type>{}
                                                                                    ^
2019-11-29 19:45:59 -05:00
Ten10 940f4a5ceb Support Curl Error Buffer
Allow user to get error message when download fails
2019-11-29 19:38:40 -05:00
Lakshay Garg 018a50bcd0 Work around for a NVCC compiler bug
The NVCC compiler fails to compile the date library due
to a compiler bug which causes it to emit an error when
directly using std::ratio_{multiply,divide} in the template
instantiations for std::duration. This PR works around the
issue by introducing custom ratio_{multiply,divide} which
delegate to the standard library templates
2019-11-29 19:27:36 -05:00
Howard Hinnant 3e376be2e9 Rename link to time_zone_link
* At the request of LEWG
2019-11-08 19:36:09 +00:00
Howard Hinnant 224c71a899 Rename leap to leap_second and leaps to leap_seconds
* At the request of LEWG
2019-11-08 19:24:03 +00:00
jgzhuang 67e272a54e change the order in hh_mm_ss::to_duration() to have correct result on Windows for cases when h is 2147483647 hours and m and s are all 0 (#501) 2019-10-24 09:57:36 -04:00
Howard Hinnant d399e10cba Bump zoned_time fixes for MSVC from 1900 to 1916 2019-10-22 13:28:48 -04:00
Howard Hinnant 96ffe23f72 Replace INTMAX_MAX with numeric_limits 2019-10-21 22:22:50 -04:00
Howard Hinnant a5c4b4ebf8 Protect is_am and make12 from ADL 2019-09-17 15:48:15 -04:00
Alexej Harm 44344000f0 Fix MSVC C++ version detection 2019-09-12 19:58:05 -04:00
KerryJ d21333f636 Fixes #484 2019-09-03 23:17:43 -04:00