From Jason Turner

[depr.variant]

Diff to HTML by rtfpessoa

tmp/tmplchxlnrc/{from.md → to.md} RENAMED
@@ -11,22 +11,22 @@ namespace std {
11
  template<size_t I, class T> struct variant_alternative<I, const volatile T>;
12
  }
13
  ```
14
 
15
  ``` cpp
16
- template<class T> class variant_size<volatile T>;
17
- template<class T> class variant_size<const volatile T>;
18
  ```
19
 
20
  Let `VS` denote `variant_size<T>` of the cv-unqualified type `T`. Then
21
  specializations of each of the two templates meet the
22
  *Cpp17UnaryTypeTrait* requirements with a base characteristic of
23
  `integral_constant<size_t, VS::value>`.
24
 
25
  ``` cpp
26
- template<size_t I, class T> class variant_alternative<I, volatile T>;
27
- template<size_t I, class T> class variant_alternative<I, const volatile T>;
28
  ```
29
 
30
  Let `VA` denote `variant_alternative<I, T>` of the cv-unqualified type
31
  `T`. Then specializations of each of the two templates meet the
32
  *Cpp17TransformationTrait* requirements with a member typedef `type`
 
11
  template<size_t I, class T> struct variant_alternative<I, const volatile T>;
12
  }
13
  ```
14
 
15
  ``` cpp
16
+ template<class T> struct variant_size<volatile T>;
17
+ template<class T> struct variant_size<const volatile T>;
18
  ```
19
 
20
  Let `VS` denote `variant_size<T>` of the cv-unqualified type `T`. Then
21
  specializations of each of the two templates meet the
22
  *Cpp17UnaryTypeTrait* requirements with a base characteristic of
23
  `integral_constant<size_t, VS::value>`.
24
 
25
  ``` cpp
26
+ template<size_t I, class T> struct variant_alternative<I, volatile T>;
27
+ template<size_t I, class T> struct variant_alternative<I, const volatile T>;
28
  ```
29
 
30
  Let `VA` denote `variant_alternative<I, T>` of the cv-unqualified type
31
  `T`. Then specializations of each of the two templates meet the
32
  *Cpp17TransformationTrait* requirements with a member typedef `type`