444 Commits

Author SHA1 Message Date
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
eced00fc1c Make tzdb_list::push_front private 2017-08-12 17:42:48 -04:00
Howard Hinnant
859a50a70e Replace list<TZ_DB> with tzdb_list
* tzdb_list is a singly linked list with an atomic head
* push_front() and front() are thread safe.
2017-08-12 17:41:55 -04:00
Howard Hinnant
80a142407a Add zoned_traits
* zoned_traits is SFINEA-friendly.

* zoned_traits is specialized on const time_zone*
  to call locate_zone.

* zoned_time accesses the database via zoned_traits<TimeZonePtr>.

* Clients with custom time zone databases can specialize zoned_traits.
2017-08-12 17:41:55 -04:00
Howard Hinnant
d4d6eda861 Template zoned_time on TimeZonePtr
* TimeZonePtr defaults to const time_zone*.
* Adjust template deduction guides and make_zoned.
* Add HAS_STRING_VIEW
2017-08-12 17:41:55 -04:00
Howard Hinnant
07ada69385 Expose a list<TZ_DB>
* Existing API always accesses the front of the list.
* Add locate_zone and current_zone member functions to TZ_DB.
* reload_tzdb() pushes a new database to the front of the list.
* get_tzdb_list() exposes the list<TZ_DB>&.
2017-08-12 17:41:55 -04:00
Jan Kratochvil
e7c3ca0e90 Fix compilation warnings for -DUSE_OS_TZDB.
tz.cpp:1617:24: error: unused parameter 't' [-Werror,-Wunused-parameter]
maybe_reverse_bytes(T& t, std::false_type)
                       ^
tz.cpp:2470:1: error: unused function 'get_version' [-Werror,-Wunused-function]
get_version()
^
tz.cpp: In lambda function:
tz.cpp:1922:84: error: declaration of ‘t’ shadows a previous local [-Werror=shadow]
                                        [](const sys_seconds& x, const transition& t)
                                                                                    ^
tz.cpp:1921:19: note: shadowed declaration is here
         for (auto t = std::upper_bound(transitions_.begin(), transitions_.end(), l,
                   ^
2017-08-12 16:59:23 -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
9c181a1440 Update tests for default constructible:
* weekday_indexed
* year_month_weekday
2017-08-05 16:31:18 -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
schmidt9
170ebfd354 Another memory leaks fix 2017-07-22 12:00:52 -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
schmidt9
496497d16e Fix memory leaks 2017-07-17 12:25:27 -04:00
Semir Puskarevic
a828109809 Suppress -Wunused-function warning 2017-07-13 09:49:38 -04:00
Howard Hinnant
2129b813c9 Add www.safe.com to list of projects using date 2017-07-10 20:42:29 -04:00
Howard Hinnant
c8d3cc14da Add zoned_time deduction guides 2017-07-06 20:49:53 -04:00
Howard Hinnant
893cf51fd8 Add test for zoned_time 2017-07-06 20:49:28 -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
0c8b1f5967 Put expand_path back in when INSTALL is defined 2017-07-05 10:30:23 -04:00
Howard Hinnant
16dd16e64e Silence warning on VS 2017-07-03 16:48:48 -04:00
Howard Hinnant
ea0158c779 Move get_program_folder closer to where it is used 2017-07-03 16:45:11 -04:00
Howard Hinnant
a0b8883763 Remove unused variables in load_timezone_mappings_from_xml_file 2017-07-03 16:43:01 -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
2d1d8f2255 Put %Z back into default streaming for zoned_time
* It was removed by accident.
2017-07-01 23:00:34 -04:00
Howard Hinnant
e0c962a8ce Silence unused variable warnings 2017-07-01 20:37:14 -04:00
Roel Standaert
7cbc4d8013 Also ignore leap-seconds.list
The tzdata package on Ubuntu includes /usr/share/zoneinfo/leap-
seconds.list. This is not a TZif file, so it should be ignored.
2017-06-29 10:07:35 -04:00
Howard Hinnant
090b66beb8 Update README.md 2017-06-27 22:22:58 -04:00
Howard Hinnant
791de2d9fc Update README.md 2017-06-27 22:22:09 -04:00
Howard Hinnant
77a703afe2 Update to point to current standards proposal and R4 draft 2017-06-27 22:19:58 -04:00
Howard Hinnant
bee4f27d4a Correct problems with load_timezone_mappings_from_xml_file
*  Move outside of HAS_REMOTE_API.

*  Ignore non-empty lines full of white space.
2017-06-26 22:03:01 -04:00
Howard Hinnant
56cec17500 Add gratuitous zoned_time:: qualifier to operators
*  VS-2017 compatibility.
2017-06-26 21:33:34 -04:00
Howard Hinnant
d359399090 Give zoned_time a default constructor 2017-06-26 21:19:29 -04:00
Howard Hinnant
a003ad28fa Make wide string literals in to_stream v2.2 2017-06-17 13:18:40 -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
edcd9bd9c1 define MISSING_LEAP_SECONDS 0 when !USE_OS_TZDB 2017-06-16 15:55:43 -04:00
Howard Hinnant
9f0d511be6 Put up draft of D0355R3 2017-06-16 13:26:40 -04:00
Howard Hinnant
ccd857ff6d Add Alloc parameter to basic_string in two places 2017-06-16 13:23:41 -04:00
Howard Hinnant
88890939d5 Add zone1970.tab to the list of files
that should be ignored by init_tzdb() under USE_OS_TZDB.
2017-06-14 20:48:19 -04:00
Howard Hinnant
1139c9b64f Allow zoned_time with coarser precision than seconds
*  This gives greater interoperability with the deduction for class
   templates language feature.

*  time_points output from zoned_time still have at least seconds
   precision.
2017-06-13 23:00:54 -04:00