diff --git a/tz.html b/tz.html
index f4963c0..5f99326 100644
--- a/tz.html
+++ b/tz.html
@@ -26,7 +26,7 @@
Howard E. Hinnant
-2016-11-25
+2017-01-28
to_stream
++template <class CharT, class Traits, , class Rep, class Period> +void +to_stream(std::basic_ostream<CharT, Traits>& os, const CharT* fmt, + const std::chrono::duration<Rep, Period>& d); ++++template <class CharT, class Traits, class Duration> void @@ -2062,6 +2071,10 @@ template <class CharT, class Traits, class Duration> std::basic_string<class CharT, class Traits> format(const std::basic_string<class CharT, class Traits>& format, const sys_time<Duration>& tp); +template <class CharT, class Traits, class Rep, class Period> +std::basic_string<CharT> +format(const std::basic_string<CharT, Traits>& fmt, const std::chrono::duration<Rep, Period>& d); + // const CharT* formats template <class CharT, class Duration> @@ -2087,6 +2100,10 @@ format(const std::locale& loc, const CharT* format, const sys_time<Durati template <class CharT, class Duration> std::basic_string<class CharT> format(const CharT* format, const sys_time<Duration>& tp); + +template <class CharT, class Rep, class Period> +std::basic_string<CharT> +format(const CharT* fmt, const std::chrono::duration<Rep, Period>& d)@@ -2175,124 +2192,124 @@ For the overloads taking a
zoned_time
it is the value returned by
parse
-One can parse in a
+sys_time<Duration>
or a -local_time<Duration>
. Optionally, one can also pass in a reference +One can parse in asys_time<Duration>
, +local_time<Duration>
, or aduration<Rep, Period>
. +Optionally, one can also pass in a reference to astd::string
in order to capture the time zone abbreviation, or one can pass in a reference to astd::chrono::minutes
to capture a time zone UTC offset (formatted as+0000
), or one can pass in both in either order.+Each of the functions below return an unspecified manipulator which can be used +to extract the desired information from a stream. +
+-template <class CharT, class Traits, class Duration> -void -parse(std::basic_istream<CharT, Traits>& is, - const std::basic_string<CharT, Traits>& format, sys_time<Duration>& tp); +template <class Duration, class CharT, class Traits> +unspecified istream manipulator +parse(const std::basic_string<CharT, Traits>& format, sys_time<Duration>& tp); -template <class CharT, class Traits, class Duration> -void -parse(std::basic_istream<CharT, Traits>& is, - const std::basic_string<CharT, Traits>& format, sys_time<Duration>& tp, +template <class Duration, class CharT, class Traits> +unspecified istream manipulator +parse(const std::basic_string<CharT, Traits>& format, sys_time<Duration>& tp, std::basic_string<CharT, Traits>& abbrev); -template <class CharT, class Traits, class Duration> -void -parse(std::basic_istream<CharT, Traits>& is, - const std::basic_string<CharT, Traits>& format, sys_time<Duration>& tp, +template <class Duration, class CharT, class Traits> +unspecified istream manipulator +parse(const std::basic_string<CharT, Traits>& format, sys_time<Duration>& tp, std::chrono::minutes& offset); -template <class CharT, class Traits, class Duration> -void -parse(std::basic_istream<CharT, Traits>& is, - const std::basic_string<CharT, Traits>& format, sys_time<Duration>& tp, +template <class Duration, class CharT, class Traits> +unspecified istream manipulator +parse(const std::basic_string<CharT, Traits>& format, sys_time<Duration>& tp, std::basic_string<CharT, Traits>& abbrev, std::chrono::minutes& offset); -template <class CharT, class Traits, class Duration> -void -parse(std::basic_istream<CharT, Traits>& is, - const std::basic_string<CharT, Traits>& format, sys_time<Duration>& tp, +template <class Duration, class CharT, class Traits> +unspecified istream manipulator +parse(const std::basic_string<CharT, Traits>& format, sys_time<Duration>& tp, std::chrono::minutes& offset, std::basic_string<CharT, Traits>& abbrev); -template <class CharT, class Traits, class Duration> -void -parse(std::basic_istream<CharT, Traits>& is, - const std::basic_string<CharT, Traits>& format, local_time<Duration>& tp); +template <class Duration, class CharT, class Traits> +unspecified istream manipulator +parse(const std::basic_string<CharT, Traits>& format, local_time<Duration>& tp); -template <class CharT, class Traits, class Duration> -void -parse(std::basic_istream<CharT, Traits>& is, - const std::basic_string<CharT, Traits>& format, local_time<Duration>& tp, +template <class Duration, class CharT, class Traits> +unspecified istream manipulator +parse(const std::basic_string<CharT, Traits>& format, local_time<Duration>& tp, std::basic_string<CharT, Traits>& abbrev); -template <class CharT, class Traits, class Duration> -void -parse(std::basic_istream<CharT, Traits>& is, - const std::basic_string<CharT, Traits>& format, local_time<Duration>& tp, +template <class Duration, class CharT, class Traits> +unspecified istream manipulator +parse(const std::basic_string<CharT, Traits>& format, local_time<Duration>& tp, std::chrono::minutes& offset); -template <class CharT, class Traits, class Duration> -void -parse(std::basic_istream<CharT, Traits>& is, - const std::basic_string<CharT, Traits>& format, local_time<Duration>& tp, +template <class Duration, class CharT, class Traits> +unspecified istream manipulator +parse(const std::basic_string<CharT, Traits>& format, local_time<Duration>& tp, std::basic_string<CharT, Traits>& abbrev, std::chrono::minutes& offset); -template <class CharT, class Traits, class Duration> -void -parse(std::basic_istream<CharT, Traits>& is, - const std::basic_string<CharT, Traits>& format, local_time<Duration>& tp, +template <class Duration, class CharT, class Traits> +unspecified istream manipulator +parse(const std::basic_string<CharT, Traits>& format, local_time<Duration>& tp, std::chrono::minutes& offset, std::basic_string<CharT, Traits>& abbrev); +template <class Rep, class Period, class CharT, class Traits> +unspecified istream manipulator +parse(const std::basic_string<CharT, Traits>& format, + std::chrono::duration<Rep, Period>& d); + // const CharT* formats -template <class CharT, class Traits, class Duration> -void -parse(std::basic_istream<CharT, Traits>& is, const CharT* format, sys_time<Duration>& tp); +template <class Duration, class CharT> +unspecified istream manipulator +parse(const CharT* format, sys_time<Duration>& tp); -template <class CharT, class Traits, class Duration> -void -parse(std::basic_istream<CharT, Traits>& is, const CharT* format, sys_time<Duration>& tp, +template <class Duration, class CharT, class Traits> +unspecified istream manipulator +parse(const CharT* format, sys_time<Duration>& tp, std::basic_string<CharT, Traits>& abbrev); -template <class CharT, class Traits, class Duration> -void -parse(std::basic_istream<CharT, Traits>& is, const CharT* format, sys_time<Duration>& tp, - std::chrono::minutes& offset); +template <class Duration, class CharT> +unspecified istream manipulator +parse(const CharT* format, sys_time<Duration>& tp, std::chrono::minutes& offset); -template <class CharT, class Traits, class Duration> -void -parse(std::basic_istream<CharT, Traits>& is, const CharT* format, sys_time<Duration>& tp, +template <class Duration, class CharT, class Traits> +unspecified istream manipulator +parse(const CharT* format, sys_time<Duration>& tp, std::basic_string<CharT, Traits>& abbrev, std::chrono::minutes& offset); -template <class CharT, class Traits, class Duration> -void -parse(std::basic_istream<CharT, Traits>& is, const CharT* format, sys_time<Duration>& tp, +template <class Duration, class CharT, class Traits> +unspecified istream manipulator +parse(const CharT* format, sys_time<Duration>& tp, std::chrono::minutes& offset, std::basic_string<CharT, Traits>& abbrev); -template <class CharT, class Traits, class Duration> -void -parse(std::basic_istream<CharT, Traits>& is, const CharT* format, - local_time<Duration>& tp); +template <class Duration, class CharT> +unspecified istream manipulator +parse(const CharT* format, local_time<Duration>& tp); -template <class CharT, class Traits, class Duration> -void -parse(std::basic_istream<CharT, Traits>& is, const CharT* format, - local_time<Duration>& tp, std::basic_string<CharT, Traits>& abbrev); - -template <class CharT, class Traits, class Duration> -void -parse(std::basic_istream<CharT, Traits>& is, const CharT* format, - local_time<Duration>& tp, std::chrono::minutes& offset); - -template <class CharT, class Traits, class Duration> -void -parse(std::basic_istream<CharT, Traits>& is, const CharT* format, - local_time<Duration>& tp, std::basic_string<CharT, Traits>& abbrev, - std::chrono::minutes& offset); - -template <class CharT, class Traits, class Duration> -void -parse(std::basic_istream<CharT, Traits>& is, const CharT* format, - local_time<Duration>& tp, std::chrono::minutes& offset, +template <class Duration, class CharT, class Traits> +unspecified istream manipulator +parse(const CharT* format, local_time<Duration>& tp, std::basic_string<CharT, Traits>& abbrev); + +template <class Duration, class CharT> +unspecified istream manipulator +parse(const CharT* format, local_time<Duration>& tp, std::chrono::minutes& offset); + +template <class Duration, class CharT, class Traits> +unspecified istream manipulator +parse(const CharT* format, local_time<Duration>& tp, + std::basic_string<CharT, Traits>& abbrev, std::chrono::minutes& offset); + +template <class Duration, class CharT, class Traits> +unspecified istream manipulator +parse(const CharT* format, local_time<Duration>& tp, std::chrono::minutes& offset, + std::basic_string<CharT, Traits>& abbrev); + +template <class Rep, class Period, class CharT> +unspecified istream manipulator +parse(const CharT* format, std::chrono::duration<Rep, Period>& d);-@@ -2363,13 +2380,6 @@ or
local_time
, one could make a list of potentialtime_zone Given a UTC offset, one might even narrow that list down further.
Furthermore, for every signature -
-parse(std::basic_istream<CharT, Traits>& is, Args...)
there exists -an input manipulatorparse(Args...)
that can be used like this: --istream >> parse("%F %T", tp); -
utc_clock