From 82c6d6a3a48e5d5f9f6104602b4487a6bb77b235 Mon Sep 17 00:00:00 2001 From: Howard Hinnant Date: Sat, 25 Mar 2017 17:45:39 -0400 Subject: [PATCH] Enable parse and format for more types: * year * month * day * weekday * year_month * month_day --- tz.html | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 80 insertions(+), 1 deletion(-) diff --git a/tz.html b/tz.html index 2c745ba..e5b1a17 100644 --- a/tz.html +++ b/tz.html @@ -26,7 +26,7 @@

Howard E. Hinnant
-2017-03-22
+2017-03-25

Time Zone Database Parser

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

to_stream

+
+template <class CharT, class Traits>
+void
+to_stream(std::basic_ostream<CharT, Traits>& os, const CharT* fmt,
+          const year& y);
+
+ +
+template <class CharT, class Traits>
+void
+to_stream(std::basic_ostream<CharT, Traits>& os, const CharT* fmt,
+          const month& m);
+
+ +
+template <class CharT, class Traits>
+void
+to_stream(std::basic_ostream<CharT, Traits>& os, const CharT* fmt,
+          const day& d);
+
+ +
+template <class CharT, class Traits>
+void
+to_stream(std::basic_ostream<CharT, Traits>& os, const CharT* fmt,
+          const weekday& wd);
+
+ +
+template <class CharT, class Traits>
+void
+to_stream(std::basic_ostream<CharT, Traits>& os, const CharT* fmt,
+          const year_month& ym);
+
+ +
+template <class CharT, class Traits>
+void
+to_stream(std::basic_ostream<CharT, Traits>& os, const CharT* fmt,
+          const month_day& md);
+
+ +
 template <class CharT, class Traits, , class Rep, class Period>
 void
@@ -2208,6 +2251,42 @@ For the overloads taking a zoned_time it is the value returned by
 
+template <class CharT, class Traits, class Alloc = std::allocator<CharT>>
+void
+from_stream(std::basic_istream<CharT, Traits>& is, const CharT* fmt, year& y,
+            std::basic_string<CharT, Traits, Alloc>* abbrev = nullptr,
+            std::chrono::minutes* offset = nullptr);
+
+template <class CharT, class Traits, class Alloc = std::allocator<CharT>>
+void
+from_stream(std::basic_istream<CharT, Traits>& is, const CharT* fmt, month& m,
+            std::basic_string<CharT, Traits, Alloc>* abbrev = nullptr,
+            std::chrono::minutes* offset = nullptr);
+
+template <class CharT, class Traits, class Alloc = std::allocator<CharT>>
+void
+from_stream(std::basic_istream<CharT, Traits>& is, const CharT* fmt, day& d,
+            std::basic_string<CharT, Traits, Alloc>* abbrev = nullptr,
+            std::chrono::minutes* offset = nullptr);
+
+template <class CharT, class Traits, class Alloc = std::allocator<CharT>>
+void
+from_stream(std::basic_istream<CharT, Traits>& is, const CharT* fmt, weekday& wd,
+            std::basic_string<CharT, Traits, Alloc>* abbrev = nullptr,
+            std::chrono::minutes* offset = nullptr);
+
+template <class CharT, class Traits, class Alloc = std::allocator<CharT>>
+void
+from_stream(std::basic_istream<CharT, Traits>& is, const CharT* fmt, year_month& ym,
+            std::basic_string<CharT, Traits, Alloc>* abbrev = nullptr,
+            std::chrono::minutes* offset = nullptr);
+
+template <class CharT, class Traits, class Alloc = std::allocator<CharT>>
+void
+from_stream(std::basic_istream<CharT, Traits>& is, const CharT* fmt, month_day& md,
+            std::basic_string<CharT, Traits, Alloc>* abbrev = nullptr,
+            std::chrono::minutes* offset = nullptr);
+
 template <class CharT, class Traits>
 void
 from_stream(std::basic_istream<CharT, Traits>& is, const CharT* fmt,