778 Commits

Author SHA1 Message Date
Erik Rigtorp
718cbe3f9b Add gcc 8 build for bionic 2019-09-11 14:00:11 -04:00
Erik Rigtorp
961bf06c32 Add nice names to build matrix 2019-09-11 14:00:11 -04:00
Michael Tsukerman
fe491eff1c Add travis ci configuration file 2019-09-10 09:36:13 -04:00
Alexej Harm
c56f915cc3 fixed shared library support 2019-09-09 11:47:47 -04:00
Alexej Harm
5e57a19abe renamed targets to date and tz 2019-09-09 11:47:47 -04:00
Michael Tsukerman
9454aeda2b set library version to 2.4.1
Update CMakeLists.txt to set library version to 2.4.1
2019-09-06 17:32:15 -04:00
Michael Tsukerman
3a343adf6a Improve main CMake file
Rename target date_interface to interface and tz to timezone.
Export targets date::interface and date::timezone from cmake.
2019-09-06 10:29:30 -04:00
KerryJ
d21333f636 Fixes #484 2019-09-03 23:17:43 -04:00
maximilianriemensberger
cb4bf26fc7 Fix compilation error with GCC 5
GCC 5 complains that `operator-=` and `operator+=` are not constexpr.  The `-` and `+` operator appear seem to be fine.
2019-09-03 22:59:04 -04:00
Tomasz Kamiński
b87eb970c1 Implemented test for checking addition with classes converible to years/months
To work this specific test require current implementation
strategy (template with unspecified argument).
2019-09-03 22:52:31 -04:00
Tomasz Kamiński
5a0057587d Correct behavior for classes for which only lvalue is convertible to string_view.
Added OnlyLValueString test case that shows the problem with
current impl. Implemented the change, that accept TimeZonePtrOrName
by forwarding reference (to preserve value category), and
merged time_zone selection into one trait.
2019-09-01 14:43:50 -04:00
Tomasz Kamiński
5345d135b7 Implemented custom time zone deduction test.
Implemented test for deduction from the custom time zone ptr.
Used OffsetZone extracted for that purpose.
2019-09-01 14:43:50 -04:00
Tomasz Kamiński
7c020642fb Fixed deduction guides for GCC 8.
The GCC 8 was correctly preffering the deduction guide
syntezied from the std::string_view constructor which is more
specialized than deduction guide. Changed the constructor
so the Duration cannot be deduced from it.
2019-09-01 14:43:50 -04:00
Tomasz Kamiński
1d721d9afd Implemented set of basic deduction test.
Implemented test for deduction from string, string_view,
time_zone ptr and other zoned_time.
2019-09-01 14:43:50 -04:00
Howard Hinnant
141ba85614 Fix space-matches 0 spaces at end of format string 2019-08-23 15:51:18 -04:00
Robert Campion
dca8ddc659 Replace computed value with standard macro 2019-07-21 23:43:29 -04:00
James Beach
1f5c192f4a Resolve GCC 9.1.0 noexcept warning 2019-07-21 23:31:29 -04:00
James Beach
46ccd69c9c Resolve GCC 9.1.0 unused-function warning 2019-07-21 23:18:54 -04:00
Si Wei How
c0e7b4e2f7 Make date.h compatible with g++-4.7 2019-07-21 21:48:51 -04:00
AdrienBellanger
09d90a8b5e Fix operator<< for years with non C locale
Fix the issue https://github.com/HowardHinnant/date/issues/392
2019-07-21 21:20:49 -04:00
Paul Dreik
6f0b645df1 #388 add comment on unit test failure (#442) 2019-07-21 20:47:33 -04:00
Matt Kline
7ef1a55143 tz.cpp: Cast conversions to/from size_t
These cause warnings with -Wsign-conversion.
2019-07-21 20:46:01 -04:00
tomaszkam
27d1e1e54e Removed undefined behavioir from year_mont_day_last::day (#456)
This is done to make the result of calling day() on
year_month_day_last object that is !ok() unspecified.
Checked only months, are there are needed to avoid UB.
2019-05-28 09:01:14 -04:00
Jonathan Chapple
7817ebf45a Update date.h (#451)
endf -> endif
2019-05-20 09:44:20 -04:00
Howard Hinnant
a029f1105d Conditionally set _SILENCE_CXX17_UNCAUGHT_EXCEPTION_DEPRECATION_WARNING 2019-05-19 22:46:35 -04:00
Howard Hinnant
44215f6781 Eschew using directives in headers, even at function scope.
* There is still an impact on user code, though I'm not sure
  if by specification or compiler bug.
* Prefer using declarations instead.
2019-05-19 21:53:29 -04:00
muriukip
ed0368fc75 The URL for windowsZones.xml changed to (#447)
https://raw.githubusercontent.com/unicode-org/cldr/master/common/supplemental/windowsZones.xml
2019-05-15 12:08:24 -04:00
Elvis Oric
429d9ba739 Add User-Agent curl option in download_to_string function. [#438] 2019-04-19 09:07:03 -04:00
Howard Hinnant
081e9af55b Migrate ptz.h from jan to January 2019-04-05 22:36:21 -04:00
Howard Hinnant
8a563041fa Adjust HAS_STRING_VIEW for VS
Fixes #330
2019-04-05 09:19:54 -04:00
Howard Hinnant
9dc96fd9b5 Silence warning
Fixes #337
2019-03-26 18:13:39 -04:00
Howard Hinnant
8b69087d35 Fix up constexpr of changed weekday_from_days 2019-03-21 12:23:38 -04:00
Howard Hinnant
d5e96f0991 Suppress VS-15 warning about concerning conditional expression is constant
Thanks to https://github.com/ujos for the report.
2019-03-20 21:24:01 -04:00
Evgen Bodunov
5ba1c1ad85 HAS_UNCAUGHT_EXCEPTIONS definition.
Added some flexibility for usage of std::uncaught_exceptions().
Xcode 10 uses clang and perfectly compiles C++17, but
std::uncaught_exceptions() is available only on iOS 10+ devices. When
application supports iOS 9 devices and uses C++17 there is no way to
build it, except drop iOS 9 support or remove C++17 code. Using this
define we could configure should date.h use std::uncaught_exceptions()
or not.
2019-03-20 20:43:43 -04:00
Daniela Engert
10ab6ae9e5 Fix warnings from Clang (#421)
Clang 9 (in Visual Studio) complains about a mixed signed-unsigned comparison and an unused function.
Replace the naked `int` constant -1 by `std::size_t(-1)` with the same codegen as before (no curlies to avoid narrowing).
Guard the definition of `get_download_folder()` by the same condition as its call-site.

Signed-off-by: Daniela Engert <dani@ngrt.de>
2019-03-19 20:25:59 -04:00
tomaszkam
e31daf8093 Unit tests for !year_month::ok() arithmetic. (#425) 2019-03-19 20:22:23 -04:00
Howard Hinnant
cb7ca96f68 Protect weekday_from_days from signed overflow
Found by static analyzer.
This change makes weekday_from_days slightly more efficient.
2019-03-19 19:51:32 -04:00
Howard Hinnant
b5d025ea2f Align time_of_day with hh_mm_ss
Per committee review
2019-03-19 19:50:30 -04:00
Howard Hinnant
f782ae98f0 Fix type-o again 2019-02-20 15:27:44 -10:00
Howard Hinnant
d6c5d02068 Fix type-o in get_leap_second_info_t 2019-02-20 15:25:50 -10:00
Howard Hinnant
16077472af Rename is_leap_second to get_leap_second_info 2019-02-20 15:19:54 -10:00
Howard Hinnant
5a62c405e0 Remove unneeded make_precision 2019-02-03 23:21:36 -05:00
Howard Hinnant
09a19a09f4 Further consolidate time_of_day logic
Adjust how it works for floating point durations.
2019-02-03 16:14:56 -05:00
Howard Hinnant
9cb0013aef Update time_of_day to be more consistent ...
the needs of formatting.
2019-02-02 14:06:12 -05:00
Howard Hinnant
f1326968af Make compatible with const-only string.data() spec 2019-01-31 19:23:17 -05:00
Daniela Engert
61c3d35634 Fix problem with wchar_t* to std::string conversion. (#419)
VS2019 correctly points out that a conversion from a wide NTCS to std::string requires narrowing. This may result in an undesired string value. Implement the string conversion properly.

Signed-off-by: Daniela Engert <dani@ngrt.de>
2019-01-27 17:08:01 -05:00
NeroBurner
4e7e76b981 add c_encoding and iso_encoding weekday functions (#380)
- c_encoding satisfies ctime wday encoding: days since Sunday, range
  [0,6]
- iso_encoding satisfies ISO 8601 weekday:
  a digit d from 1 through 7, beginning with Monday and ending with Sunday
2019-01-19 14:46:21 -05:00
Howard Hinnant
90d0440884 Introduce %q and %Q to_stream formatting flags
* These flags format a duration.
* %Q specifies the duration's numeric value.
* %q specifies the duration's SI abbreviation.
* Example: format("%Q %q", 45ms) == "45 ms"
2019-01-19 14:30:19 -05:00
apretori-tic
2cb4c34009 Ignore tzdata.zi and leapseconds tzdb files on Linux when loading time zones (#411) 2018-12-18 12:15:00 -05:00
Daniela Engert
7231a182a4 Revert 5f34c40 and 23b1f00 in preparation of a better solution.
Signed-off-by: Daniela Engert <dani@ngrt.de>
2018-12-16 15:29:17 -05:00