From Jason Turner

[time.syn]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpuytss7hi/{from.md → to.md} +47 -20
tmp/tmpuytss7hi/{from.md → to.md} RENAMED
@@ -25,32 +25,32 @@ namespace chrono {
25
  template <class Rep> struct treat_as_floating_point;
26
  template <class Rep> struct duration_values;
27
 
28
  // [time.duration.nonmember], duration arithmetic
29
  template <class Rep1, class Period1, class Rep2, class Period2>
30
- typename common_type<duration<Rep1, Period1>, duration<Rep2, Period2>>::type
31
  constexpr operator+(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
32
  template <class Rep1, class Period1, class Rep2, class Period2>
33
- typename common_type<duration<Rep1, Period1>, duration<Rep2, Period2>>::type
34
  constexpr operator-(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
35
  template <class Rep1, class Period, class Rep2>
36
- duration<typename common_type<Rep1, Rep2>::type, Period>
37
  constexpr operator*(const duration<Rep1, Period>& d, const Rep2& s);
38
  template <class Rep1, class Rep2, class Period>
39
- duration<typename common_type<Rep1, Rep2>::type, Period>
40
  constexpr operator*(const Rep1& s, const duration<Rep2, Period>& d);
41
  template <class Rep1, class Period, class Rep2>
42
- duration<typename common_type<Rep1, Rep2>::type, Period>
43
  constexpr operator/(const duration<Rep1, Period>& d, const Rep2& s);
44
  template <class Rep1, class Period1, class Rep2, class Period2>
45
- typename common_type<Rep1, Rep2>::type
46
  constexpr operator/(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
47
  template <class Rep1, class Period, class Rep2>
48
- duration<typename common_type<Rep1, Rep2>::type, Period>
49
  constexpr operator%(const duration<Rep1, Period>& d, const Rep2& s);
50
  template <class Rep1, class Period1, class Rep2, class Period2>
51
- typename common_type<duration<Rep1, Period1>, duration<Rep2, Period2>>::type
52
  constexpr operator%(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
53
 
54
  // [time.duration.comparisons], duration comparisons
55
  template <class Rep1, class Period1, class Rep2, class Period2>
56
  constexpr bool operator==(const duration<Rep1, Period1>& lhs,
@@ -83,51 +83,78 @@ typedef duration<signed integer type of at least 35 bits > seconds;
83
  typedef duration<signed integer type of at least 29 bits, ratio< 60>> minutes;
84
  typedef duration<signed integer type of at least 23 bits, ratio<3600>> hours;
85
 
86
  // [time.point.nonmember], time_point arithmetic
87
  template <class Clock, class Duration1, class Rep2, class Period2>
88
- time_point<Clock, typename common_type<Duration1, duration<Rep2, Period2>>::type>
89
  operator+(const time_point<Clock, Duration1>& lhs, const duration<Rep2, Period2>& rhs);
90
  template <class Rep1, class Period1, class Clock, class Duration2>
91
- time_point<Clock, typename common_type<duration<Rep1, Period1>, Duration2>::type>
92
  operator+(const duration<Rep1, Period1>& lhs, const time_point<Clock, Duration2>& rhs);
93
  template <class Clock, class Duration1, class Rep2, class Period2>
94
- time_point<Clock, typename common_type<Duration1, duration<Rep2, Period2>>::type>
95
  operator-(const time_point<Clock, Duration1>& lhs, const duration<Rep2, Period2>& rhs);
96
  template <class Clock, class Duration1, class Duration2>
97
- typename common_type<Duration1, Duration2>::type
98
  operator-(const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs);
99
 
100
  // [time.point.comparisons] time_point comparisons
101
  template <class Clock, class Duration1, class Duration2>
102
- bool operator==(const time_point<Clock, Duration1>& lhs,
103
  const time_point<Clock, Duration2>& rhs);
104
  template <class Clock, class Duration1, class Duration2>
105
- bool operator!=(const time_point<Clock, Duration1>& lhs,
106
  const time_point<Clock, Duration2>& rhs);
107
  template <class Clock, class Duration1, class Duration2>
108
- bool operator< (const time_point<Clock, Duration1>& lhs,
109
  const time_point<Clock, Duration2>& rhs);
110
  template <class Clock, class Duration1, class Duration2>
111
- bool operator<=(const time_point<Clock, Duration1>& lhs,
112
  const time_point<Clock, Duration2>& rhs);
113
  template <class Clock, class Duration1, class Duration2>
114
- bool operator> (const time_point<Clock, Duration1>& lhs,
115
  const time_point<Clock, Duration2>& rhs);
116
  template <class Clock, class Duration1, class Duration2>
117
- bool operator>=(const time_point<Clock, Duration1>& lhs,
118
  const time_point<Clock, Duration2>& rhs);
119
 
120
  // [time.point.cast], time_point_cast
121
-
122
  template <class ToDuration, class Clock, class Duration>
123
- time_point<Clock, ToDuration> time_point_cast(const time_point<Clock, Duration>& t);
 
124
 
125
  // [time.clock], clocks
126
  class system_clock;
127
  class steady_clock;
128
  class high_resolution_clock;
129
 
130
  } // namespace chrono
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
131
  } // namespace std
132
  ```
133
 
 
25
  template <class Rep> struct treat_as_floating_point;
26
  template <class Rep> struct duration_values;
27
 
28
  // [time.duration.nonmember], duration arithmetic
29
  template <class Rep1, class Period1, class Rep2, class Period2>
30
+ common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>>
31
  constexpr operator+(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
32
  template <class Rep1, class Period1, class Rep2, class Period2>
33
+ common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>>
34
  constexpr operator-(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
35
  template <class Rep1, class Period, class Rep2>
36
+ duration<common_type_t<Rep1, Rep2>, Period>
37
  constexpr operator*(const duration<Rep1, Period>& d, const Rep2& s);
38
  template <class Rep1, class Rep2, class Period>
39
+ duration<common_type_t<Rep1, Rep2>, Period>
40
  constexpr operator*(const Rep1& s, const duration<Rep2, Period>& d);
41
  template <class Rep1, class Period, class Rep2>
42
+ duration<common_type_t<Rep1, Rep2>, Period>
43
  constexpr operator/(const duration<Rep1, Period>& d, const Rep2& s);
44
  template <class Rep1, class Period1, class Rep2, class Period2>
45
+ common_type_t<Rep1, Rep2>
46
  constexpr operator/(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
47
  template <class Rep1, class Period, class Rep2>
48
+ duration<common_type_t<Rep1, Rep2>, Period>
49
  constexpr operator%(const duration<Rep1, Period>& d, const Rep2& s);
50
  template <class Rep1, class Period1, class Rep2, class Period2>
51
+ common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>>
52
  constexpr operator%(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
53
 
54
  // [time.duration.comparisons], duration comparisons
55
  template <class Rep1, class Period1, class Rep2, class Period2>
56
  constexpr bool operator==(const duration<Rep1, Period1>& lhs,
 
83
  typedef duration<signed integer type of at least 29 bits, ratio< 60>> minutes;
84
  typedef duration<signed integer type of at least 23 bits, ratio<3600>> hours;
85
 
86
  // [time.point.nonmember], time_point arithmetic
87
  template <class Clock, class Duration1, class Rep2, class Period2>
88
+ constexpr time_point<Clock, common_type_t<Duration1, duration<Rep2, Period2>>>
89
  operator+(const time_point<Clock, Duration1>& lhs, const duration<Rep2, Period2>& rhs);
90
  template <class Rep1, class Period1, class Clock, class Duration2>
91
+ constexpr time_point<Clock, common_type_t<duration<Rep1, Period1>, Duration2>>
92
  operator+(const duration<Rep1, Period1>& lhs, const time_point<Clock, Duration2>& rhs);
93
  template <class Clock, class Duration1, class Rep2, class Period2>
94
+ constexpr time_point<Clock, common_type_t<Duration1, duration<Rep2, Period2>>>
95
  operator-(const time_point<Clock, Duration1>& lhs, const duration<Rep2, Period2>& rhs);
96
  template <class Clock, class Duration1, class Duration2>
97
+ constexpr common_type_t<Duration1, Duration2>
98
  operator-(const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs);
99
 
100
  // [time.point.comparisons] time_point comparisons
101
  template <class Clock, class Duration1, class Duration2>
102
+ constexpr bool operator==(const time_point<Clock, Duration1>& lhs,
103
  const time_point<Clock, Duration2>& rhs);
104
  template <class Clock, class Duration1, class Duration2>
105
+ constexpr bool operator!=(const time_point<Clock, Duration1>& lhs,
106
  const time_point<Clock, Duration2>& rhs);
107
  template <class Clock, class Duration1, class Duration2>
108
+ constexpr bool operator< (const time_point<Clock, Duration1>& lhs,
109
  const time_point<Clock, Duration2>& rhs);
110
  template <class Clock, class Duration1, class Duration2>
111
+ constexpr bool operator<=(const time_point<Clock, Duration1>& lhs,
112
  const time_point<Clock, Duration2>& rhs);
113
  template <class Clock, class Duration1, class Duration2>
114
+ constexpr bool operator> (const time_point<Clock, Duration1>& lhs,
115
  const time_point<Clock, Duration2>& rhs);
116
  template <class Clock, class Duration1, class Duration2>
117
+ constexpr bool operator>=(const time_point<Clock, Duration1>& lhs,
118
  const time_point<Clock, Duration2>& rhs);
119
 
120
  // [time.point.cast], time_point_cast
 
121
  template <class ToDuration, class Clock, class Duration>
122
+ constexpr time_point<Clock, ToDuration>
123
+ time_point_cast(const time_point<Clock, Duration>& t);
124
 
125
  // [time.clock], clocks
126
  class system_clock;
127
  class steady_clock;
128
  class high_resolution_clock;
129
 
130
  } // namespace chrono
131
+
132
+ inline namespace literals {
133
+ inline namespace chrono_literals {
134
+
135
+ // ~[time.duration.literals], suffixes for duration literals
136
+ constexpr chrono::hours operator "" h(unsigned long long);
137
+ constexpr chrono::duration<unspecified, ratio<3600,1>> operator "" h(long double);
138
+ constexpr chrono::minutes operator "" min(unsigned long long);
139
+ constexpr chrono::duration<unspecified, ratio<60,1>> operator "" min(long double);
140
+ constexpr chrono::seconds operator "" s(unsigned long long);
141
+ constexpr chrono::duration<unspecified> operator "" s(long double);
142
+ constexpr chrono::milliseconds operator "" ms(unsigned long long);
143
+ constexpr chrono::duration<unspecified, milli> operator "" ms(long double);
144
+ constexpr chrono::microseconds operator "" us(unsigned long long);
145
+ constexpr chrono::duration<unspecified, micro> operator "" us(long double);
146
+ constexpr chrono::nanoseconds operator "" ns(unsigned long long);
147
+ constexpr chrono::duration<unspecified, nano> operator "" ns(long double);
148
+
149
+ } // namespace chrono_literals
150
+ } // namespace literals
151
+
152
+ namespace chrono {
153
+
154
+ using namespace literals::chrono_literals;
155
+
156
+ } // namespace chrono
157
+
158
  } // namespace std
159
  ```
160