Commit Graph
105 Commits
Author SHA1 Message Date
Howard Hinnant c110f40e76 Expose a list<tzdb>
* Existing API always accesses the front of the list.
* Add locate_zone and current_zone member functions to tzdb.
* reload_tzdb() pushes a new database to the front of the list.
* get_tzdb_list() exposes the list<tzdb>&.
2017-07-17 23:05:16 -04:00
Howard Hinnant 0f7fd4a04e Remove errant -> from zoned_time(const time_zone* z) spec 2017-07-07 10:10:05 -04:00
Howard Hinnant 4477981840 Update revision history 2017-07-06 21:08:31 -04:00
Howard Hinnant 161cc2b7fe Add deduction guides to zoned_time
* Encourage seconds precision or finer.
2017-07-06 21:05:19 -04:00
Howard Hinnant 9264a21e1e Update Windows build instructions:
*  DATE_BUILD_LIB
*  NOMINMAX
2017-07-03 16:58:33 -04:00
Howard Hinnant d5951c5476 Pass string_view by value 2017-06-30 12:02:30 -04:00
Howard Hinnant 2b100280c0 Improve spec for year_month - year_month 2017-06-29 21:33:43 -04:00
Howard Hinnant 2b55bdb2e4 Rewrite in terms of string_view 2017-06-29 21:19:50 -04:00
Howard Hinnant cd888b2928 Tighten up year_month_weekday and year_month_weekday_last:
* conversions to sys_days.
2017-06-29 21:06:53 -04:00
Howard Hinnant 609dd49934 Add zoned_time default constructor and,
refine conversion from calendar types to sys_days and local_days.
2017-06-27 22:15:45 -04:00
Howard Hinnant 241551dd6c Allow day overflow in year_month_day to sys_days conversion 2017-06-27 14:08:02 -04:00
Howard Hinnant 8591ae062c Tighten up year spec:
* Define exactly how leap years are computed to avoid ambiguity.

* Define precise values for year::min and year::max which correspond
  to the C minimal limits for short.

* Rewrite year::ok() in terms of min and max.
2017-06-27 13:40:38 -04:00
Howard Hinnant 9a7b301507 Give zoned_time a default constructor 2017-06-26 21:19:09 -04:00
Howard Hinnant b8c749227a Added issue concerning zoned_time default constructor. 2017-06-19 20:36:41 -04:00
Howard Hinnant 0f4737aeaa Initial commit of d0355r4.html 2017-06-19 20:32:31 -04:00
Howard Hinnant 047da3548e Change constraint on format functions
* For the two format functions dependent upon Alloc, constrain against
  basic_ostringstream<charT, traits, Alloc> instead of
  basic_ostream<charT, traits>.
2017-06-18 12:16:27 -04:00
Howard Hinnant ddfaabea00 Reordered template parameter list in several places
* Make consistent with function argument list order.
2017-06-18 12:10:12 -04:00
Howard Hinnant f8f2c9db10 Add paragraph to [time.parse] concerning failbit
*  The entire format string must be parsed, else failbit gets set.
2017-06-18 11:55:34 -04:00
Howard Hinnant ed91190978 Refer to ios_base::failbit, not failbit 2017-06-18 11:49:25 -04:00
Howard Hinnant f62ab2a2e0 Make constexpr literals inline
* Consistent with P0607R0.
2017-06-18 11:43:53 -04:00
Howard Hinnant 6fcb43311f Remove spurious 'class' from operator<< in many places. 2017-06-18 11:32:42 -04:00
Howard Hinnant 5d53bd2244 Fix missing template parameters in zoned_time operator<< 2017-06-18 11:28:09 -04:00
Howard Hinnant 60127222cd Remove spurious Duration template parameter
* From to_stream and from_stream.
* This was just a copy/paste error.
2017-06-18 11:16:48 -04:00
Howard Hinnant 59d8931136 Correct the return type of to_file_time(const sys_time<Duration>& t)
* The mapping between sys_time and file_time can occur at precisions
  coarser than a second because the only anticipated difference
  between these clocks is the epoch, and not the inclusion of leap
  seconds.
2017-06-18 10:53:45 -04:00
Howard Hinnant e7dd17e572 Remove noexcept from to_file_time 2017-06-17 14:44:28 -04:00
Howard Hinnant a83b047ef9 Make file_clock::now() noexcept 2017-06-17 13:30:36 -04:00
Howard Hinnant a6c4c17e9a Remove noexcept from to_XXX_time conversion functions
* The Duration copy might throw.
2017-06-17 13:28:43 -04:00
Howard Hinnant 4f24af489c Make wide string literals in to_stream 2017-06-17 13:22:49 -04:00
Howard Hinnant 87620f4d1f Make to_stream and from_stream return a stream reference 2017-06-17 13:12:27 -04:00
Howard Hinnant 8b51803d7b Minor cleanup in is_clock 2017-06-17 10:34:54 -04:00
Howard Hinnant 7ffdc2450a Reword is_clock and add is_clock_v 2017-06-17 10:28:00 -04:00
Howard Hinnant 8c34cf1e8f Add link to reference 1 2017-06-17 00:00:03 -04:00
Howard Hinnant 5bc5a7f0bb Fill out link specification 2017-06-16 21:58:58 -04:00
Howard Hinnant 34e83bcf84 Fill out leaps specification 2017-06-16 21:47:54 -04:00
Howard Hinnant 09f16d53a2 Remove note in [thread.req.paramname] 2017-06-16 15:06:45 -04:00
Howard Hinnant 50c0111980 Improve wording in [thread.req.paramname] 2017-06-16 14:53:32 -04:00
Howard Hinnant ff07f87b5b Run through spell checker 2017-06-16 13:35:13 -04:00
Howard Hinnant 27410b5095 Initial draft of D0355R3 2017-06-16 13:22:30 -04:00
Howard Hinnant acf922d4ba Set failbit instead of throw within to_stream
* This is for consistency with other std streaming operations.
2017-06-12 21:03:01 -04:00
Howard Hinnant e29fdf3374 Document USE_OS_TZDB. 2017-06-04 21:44:45 -04:00
Howard Hinnant 81b6367e98 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:19 -04:00
Howard Hinnant 6618a2d3a7 Clarify how from_stream handles whitespace. 2017-05-04 16:32:22 -04:00
Howard Hinnant b83f3412d0 Move chrono_io.h functionality into date.h. 2017-04-13 21:02:00 -04:00
Howard Hinnant 0dd1d499ae Restrict parse of %Z to valid timezone names and abbrev. 2017-04-13 14:23:42 -04:00
Howard Hinnant ea8a24504d Do not change time_point of an invalid date is parsed. 2017-04-13 14:17:04 -04:00
Howard Hinnant c036ef54bd Update %y documentation to specify implicit century. 2017-04-03 12:16:10 -04:00
Howard Hinnant c10b729273 Rewrite of the to_stream/format/from_stream/parse docs:
* The bulk of the description is moved from tz.html to date.html.

* The format and parse flags are now described in detail, instead of
  implicitly relying on the C and POSIX specs.  This gives me room
  to specify a few corner cases that are either under-specified in
  the official specs, or to add extensions.

* The from_stream / to_stream specifications are now located with
  each specific type that implements them.  This allows more detailed
  documentation as to how each type interacts with the from_stream /
  to_stream system.

* The format and parse functions are now more clearly separated from
  to_stream and from_stream, and are documented to be nothing more
  than syntax sugar on top of any type that choses to implement
  to_stream or from_stream.
2017-04-01 22:48:54 -04:00
Howard Hinnant 82c6d6a3a4 Enable parse and format for more types:
* year
    * month
    * day
    * weekday
    * year_month
    * month_day
2017-03-25 17:45:39 -04:00
Howard Hinnant f3b61aab48 Document set_install. 2017-03-22 22:52:07 -04:00
Howard Hinnant c12319552a Add from_stream 2017-03-02 13:17:01 -10:00