From Jason Turner

[time.duration.nonmember]

Diff to HTML by rtfpessoa

tmp/tmpuxl8vkeq/{from.md → to.md} RENAMED
@@ -1,51 +1,51 @@
1
  #### `duration` non-member arithmetic <a id="time.duration.nonmember">[[time.duration.nonmember]]</a>
2
 
3
  In the function descriptions that follow, `CD` represents the return
4
- type of the function. `CR(A,B)` represents `common_type<A, B>::type`.
5
 
6
  ``` cpp
7
  template <class Rep1, class Period1, class Rep2, class Period2>
8
- constexpr typename common_type<duration<Rep1, Period1>, duration<Rep2, Period2> >::type
9
  operator+(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
10
  ```
11
 
12
  *Returns:* CD(CD(lhs).count() + CD(rhs).count()).
13
 
14
  ``` cpp
15
  template <class Rep1, class Period1, class Rep2, class Period2>
16
- constexpr typename common_type<duration<Rep1, Period1>, duration<Rep2, Period2> >::type
17
  operator-(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
18
  ```
19
 
20
  *Returns:* CD(CD(lhs).count() - CD(rhs).count()).
21
 
22
  ``` cpp
23
  template <class Rep1, class Period, class Rep2>
24
- constexpr duration<typename common_type<Rep1, Rep2>::type, Period>
25
  operator*(const duration<Rep1, Period>& d, const Rep2& s);
26
  ```
27
 
28
  *Remarks:* This operator shall not participate in overload resolution
29
  unless `Rep2` is implicitly convertible to `CR(Rep1, Rep2)`.
30
 
31
  *Returns:* CD(CD(d).count() \* s).
32
 
33
  ``` cpp
34
  template <class Rep1, class Rep2, class Period>
35
- constexpr duration<typename common_type<Rep1, Rep2>::type, Period>
36
  operator*(const Rep1& s, const duration<Rep2, Period>& d);
37
  ```
38
 
39
  *Remarks:* This operator shall not participate in overload resolution
40
  unless `Rep1` is implicitly convertible to `CR(Rep1, Rep2)`.
41
 
42
  *Returns:* `d * s`.
43
 
44
  ``` cpp
45
  template <class Rep1, class Period, class Rep2>
46
- constexpr duration<typename common_type<Rep1, Rep2>::type, Period>
47
  operator/(const duration<Rep1, Period>& d, const Rep2& s);
48
  ```
49
 
50
  *Remarks:* This operator shall not participate in overload resolution
51
  unless `Rep2` is implicitly convertible to `CR(Rep1, Rep2)` and `Rep2`
@@ -53,19 +53,19 @@ is not an instantiation of `duration`.
53
 
54
  *Returns:* CD(CD(d).count() / s).
55
 
56
  ``` cpp
57
  template <class Rep1, class Period1, class Rep2, class Period2>
58
- constexpr typename common_type<Rep1, Rep2>::type
59
  operator/(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
60
  ```
61
 
62
  *Returns:* `CD(lhs).count() / CD(rhs).count()`.
63
 
64
  ``` cpp
65
  template <class Rep1, class Period, class Rep2>
66
- constexpr duration<typename common_type<Rep1, Rep2>::type, Period>
67
  operator%(const duration<Rep1, Period>& d, const Rep2& s);
68
  ```
69
 
70
  *Remarks:* This operator shall not participate in overload resolution
71
  unless `Rep2` is implicitly convertible to `CR(Rep1, Rep2)` and `Rep2`
@@ -73,11 +73,11 @@ is not an instantiation of `duration`.
73
 
74
  *Returns:* CD(CD(d).count() % s).
75
 
76
  ``` cpp
77
  template <class Rep1, class Period1, class Rep2, class Period2>
78
- constexpr typename common_type<duration<Rep1, Period1>, duration<Rep2, Period2>>::type
79
  operator%(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
80
  ```
81
 
82
  *Returns:* CD(CD(lhs).count() % CD(rhs).count()).
83
 
 
1
  #### `duration` non-member arithmetic <a id="time.duration.nonmember">[[time.duration.nonmember]]</a>
2
 
3
  In the function descriptions that follow, `CD` represents the return
4
+ type of the function. `CR(A,B)` represents `common_type_t<A, B>`.
5
 
6
  ``` cpp
7
  template <class Rep1, class Period1, class Rep2, class Period2>
8
+ constexpr common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>>
9
  operator+(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
10
  ```
11
 
12
  *Returns:* CD(CD(lhs).count() + CD(rhs).count()).
13
 
14
  ``` cpp
15
  template <class Rep1, class Period1, class Rep2, class Period2>
16
+ constexpr common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>>
17
  operator-(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
18
  ```
19
 
20
  *Returns:* CD(CD(lhs).count() - CD(rhs).count()).
21
 
22
  ``` cpp
23
  template <class Rep1, class Period, class Rep2>
24
+ constexpr duration<common_type_t<Rep1, Rep2>, Period>
25
  operator*(const duration<Rep1, Period>& d, const Rep2& s);
26
  ```
27
 
28
  *Remarks:* This operator shall not participate in overload resolution
29
  unless `Rep2` is implicitly convertible to `CR(Rep1, Rep2)`.
30
 
31
  *Returns:* CD(CD(d).count() \* s).
32
 
33
  ``` cpp
34
  template <class Rep1, class Rep2, class Period>
35
+ constexpr duration<common_type_t<Rep1, Rep2>, Period>
36
  operator*(const Rep1& s, const duration<Rep2, Period>& d);
37
  ```
38
 
39
  *Remarks:* This operator shall not participate in overload resolution
40
  unless `Rep1` is implicitly convertible to `CR(Rep1, Rep2)`.
41
 
42
  *Returns:* `d * s`.
43
 
44
  ``` cpp
45
  template <class Rep1, class Period, class Rep2>
46
+ constexpr duration<common_type_t<Rep1, Rep2>, Period>
47
  operator/(const duration<Rep1, Period>& d, const Rep2& s);
48
  ```
49
 
50
  *Remarks:* This operator shall not participate in overload resolution
51
  unless `Rep2` is implicitly convertible to `CR(Rep1, Rep2)` and `Rep2`
 
53
 
54
  *Returns:* CD(CD(d).count() / s).
55
 
56
  ``` cpp
57
  template <class Rep1, class Period1, class Rep2, class Period2>
58
+ constexpr common_type_t<Rep1, Rep2>
59
  operator/(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
60
  ```
61
 
62
  *Returns:* `CD(lhs).count() / CD(rhs).count()`.
63
 
64
  ``` cpp
65
  template <class Rep1, class Period, class Rep2>
66
+ constexpr duration<common_type_t<Rep1, Rep2>, Period>
67
  operator%(const duration<Rep1, Period>& d, const Rep2& s);
68
  ```
69
 
70
  *Remarks:* This operator shall not participate in overload resolution
71
  unless `Rep2` is implicitly convertible to `CR(Rep1, Rep2)` and `Rep2`
 
73
 
74
  *Returns:* CD(CD(d).count() % s).
75
 
76
  ``` cpp
77
  template <class Rep1, class Period1, class Rep2, class Period2>
78
+ constexpr common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>>
79
  operator%(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
80
  ```
81
 
82
  *Returns:* CD(CD(lhs).count() % CD(rhs).count()).
83