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

Time Zone Database Parser

@@ -1995,6 +1995,15 @@ make_zoned(const std::string& name, const sys_time<Duration>& st)

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 a sys_time<Duration>, +local_time<Duration>, or a duration<Rep, Period>. +Optionally, one can also pass in a reference to a std::string in order to capture the time zone abbreviation, or one can pass in a reference to a std::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 potential time_zone

-

Furthermore, for every signature -parse(std::basic_istream<CharT, Traits>& is, Args...) there exists -an input manipulator parse(Args...) that can be used like this: -

-
-istream >> parse("%F %T", tp);
-

utc_clock