From Jason Turner

[compare.syn]

Diff to HTML by rtfpessoa

tmp/tmp33y8g7j1/{from.md → to.md} RENAMED
@@ -24,11 +24,11 @@ namespace std {
24
  template<class... Ts>
25
  struct common_comparison_category {
26
  using type = see below;
27
  };
28
  template<class... Ts>
29
- using common_comparison_category_t = typename common_comparison_category<Ts...>::type;
30
 
31
  // [cmp.concept], concept three_way_comparable
32
  template<class T, class Cat = partial_ordering>
33
  concept three_way_comparable = see below;
34
  template<class T, class U, class Cat = partial_ordering>
@@ -36,11 +36,11 @@ namespace std {
36
 
37
  // [cmp.result], result of three-way comparison
38
  template<class T, class U = T> struct compare_three_way_result;
39
 
40
  template<class T, class U = T>
41
- using compare_three_way_result_t = typename compare_three_way_result<T, U>::type;
42
 
43
  // [comparisons.three.way], class compare_three_way
44
  struct compare_three_way;
45
 
46
  // [cmp.alg], comparison algorithms
@@ -50,8 +50,15 @@ namespace std {
50
  inline constexpr unspecified partial_order = unspecified;
51
  inline constexpr unspecified compare_strong_order_fallback = unspecified;
52
  inline constexpr unspecified compare_weak_order_fallback = unspecified;
53
  inline constexpr unspecified compare_partial_order_fallback = unspecified;
54
  }
 
 
 
 
 
 
 
55
  }
56
  ```
57
 
 
24
  template<class... Ts>
25
  struct common_comparison_category {
26
  using type = see below;
27
  };
28
  template<class... Ts>
29
+ using common_comparison_category_t = common_comparison_category<Ts...>::type;
30
 
31
  // [cmp.concept], concept three_way_comparable
32
  template<class T, class Cat = partial_ordering>
33
  concept three_way_comparable = see below;
34
  template<class T, class U, class Cat = partial_ordering>
 
36
 
37
  // [cmp.result], result of three-way comparison
38
  template<class T, class U = T> struct compare_three_way_result;
39
 
40
  template<class T, class U = T>
41
+ using compare_three_way_result_t = compare_three_way_result<T, U>::type;
42
 
43
  // [comparisons.three.way], class compare_three_way
44
  struct compare_three_way;
45
 
46
  // [cmp.alg], comparison algorithms
 
50
  inline constexpr unspecified partial_order = unspecified;
51
  inline constexpr unspecified compare_strong_order_fallback = unspecified;
52
  inline constexpr unspecified compare_weak_order_fallback = unspecified;
53
  inline constexpr unspecified compare_partial_order_fallback = unspecified;
54
  }
55
+
56
+ // [compare.type], type ordering
57
+ template<class T, class U>
58
+ struct type_order;
59
+
60
+ template<class T, class U>
61
+ constexpr strong_ordering type_order_v = type_order<T, U>::value;
62
  }
63
  ```
64