From a22227a1c38c9142cf4319ed90f4c649a7d51d38 Mon Sep 17 00:00:00 2001 From: Howard Hinnant Date: Fri, 16 Mar 2018 08:17:29 -0400 Subject: [PATCH] Address reviewer comments --- d0355r7.html | 48 +++++++++++++++++++++++++++++++----------------- 1 file changed, 31 insertions(+), 17 deletions(-) diff --git a/d0355r7.html b/d0355r7.html index 8fb36e9..fd8edfd 100644 --- a/d0355r7.html +++ b/d0355r7.html @@ -202,7 +202,7 @@ calendar, and with time zones, all with a minimal coupling. For example: int main() { - using namespace std::chrono_literals; + using namespace std::chrono; auto date = 2016y/May/29; cout << date << " is " << coptic::year_month_day{date} << " in the Coptic calendar\n"; // 2016-05-29 is 1732-09-21 in the Coptic calendar @@ -1546,8 +1546,16 @@ operator<<(basic_ostream<charT, traits>& os, const duration<R

+Requires: Rep is an integral type with rank int or +greater, or a floating point type. charT is char or +wchar_t. +

+

Effects: Forms a basic_string<charT, traits> from -d.count() appended with +d.count() using to_string if charT is +char, or to_wstring if charT is +wchar_t. This basic_string<charT, traits> is +appended with get_units<charT, traits>(typename Period::type{}) (described below) and inserts that basic_string into os. [Note: this specification assures that the result of this streaming operation will obey the @@ -3569,7 +3577,10 @@ is a valid expression.

-All from_stream overloads behave as an unformatted input function. Each +All from_stream overloads behave as an unformatted input function, +except that they have an unspecified affect on the value returned by subsequent +calls to basic_istream<>::gcount(). +Each overload takes a format string containing ordinary characters and flags which have special meaning. Each flag begins with a %. Some flags can be modified by E or O. During parsing each flag interprets characters as parts @@ -4268,7 +4279,7 @@ participates in basic arithmetic with months representing the quantity between any two month objects. One can stream out a month. month has explicit conversions to and from unsigned. There are 12 month constants, one for each -month of the year in the chrono_literals namespace. +month of the year.

@@ -4784,7 +4795,7 @@ constexpr year& year::operator-=(const years& y) noexcept;
 
 
 
-constexpr year& year::operator+() const noexcept;
+constexpr year year::operator+() const noexcept;
 
@@ -4794,7 +4805,7 @@ constexpr year& year::operator+() const noexcept;
-constexpr year& year::operator-() const noexcept;
+constexpr year year::operator-() const noexcept;
 
@@ -5043,8 +5054,7 @@ practice. However weekday object's arithmetic operations treat the days of the week as a circular range, with no beginning and no end. One can stream out a weekday. weekday has explicit conversions to and from unsigned. There are 7 weekday -constants, one for each day of the week in the chrono_literals -namespace. +constants, one for each day of the week.

@@ -8896,7 +8906,7 @@ operator<<(basic_ostream<charT, traits>& os, const time_of_day&l Effects: If t is a 24-hour time, outputs to os according to the format: "%T" ([time.format]). Otherwise outputs to os -according to the format: "%I:%M%:S%p" ([time.format]). +according to the format: "%I:%M:%S%p" ([time.format]).

Returns: os. @@ -9060,7 +9070,7 @@ operator<<(basic_ostream<charT, traits>& os, const time_of_day&l Effects: If t is a 24-hour time, outputs to os according to the format: "%T" ([time.format]). Otherwise outputs to os -according to the format: "%I:%M:%S" ([time.format]). +according to the format: "%I:%M:%S%p" ([time.format]).

Returns: os. @@ -9263,7 +9273,7 @@ of this container. — end note]

-tzdb::const_iterator tzdb::erase_after(const_iterator p);
+tzdb_list::const_iterator tzdb_list::erase_after(const_iterator p);
 

@@ -9289,14 +9299,14 @@ to the erased tzdb.

-tzdb::const_iterator tzdb::begin() const noexcept;
+tzdb_list::const_iterator tzdb_list::begin() const noexcept;
 
Returns: An iterator referring to the first tzdb in the container.
-tzdb::const_iterator tzdb::end() const noexcept;
+tzdb_list::const_iterator tzdb_list::end() const noexcept;
 
Returns: An iterator referring to the position one past the @@ -9304,14 +9314,14 @@ last tzdb in the container.
-tzdb::const_iterator tzdb::cbegin() const noexcept;
+tzdb_list::const_iterator tzdb_list::cbegin() const noexcept;
 
Returns: begin().
-tzdb::const_iterator tzdb::cend() const noexcept;
+tzdb_list::const_iterator tzdb_list::cend() const noexcept;
 
Returns: end(). @@ -9643,8 +9653,8 @@ the database initialization. One can gain const access to a class time_zone { public: - time_zone(const time_zone&) = delete; - time_zone& operator=(const time_zone&) = delete; + time_zone(time_zone&&) = default; + time_zone& operator=(time_zone&&) = default; string_view name() const noexcept; @@ -9975,6 +9985,10 @@ to a valid time_zone, and represents a point in time that exists and is not ambiguous.

+

+If Duration is not an instance of duration, the program is ill-formed. +

+
 zoned_time<Duration, TimeZonePtr>::zoned_time();