From Jason Turner

[support.rtti]

Diff to HTML by rtfpessoa

tmp/tmp4yt4xk4d/{from.md → to.md} RENAMED
@@ -1,14 +1,17 @@
1
  ## Type identification <a id="support.rtti">[[support.rtti]]</a>
2
 
 
 
3
  The header `<typeinfo>` defines a type associated with type information
4
  generated by the implementation. It also defines two types for reporting
5
  dynamic type identification errors.
6
 
7
  ### Header `<typeinfo>` synopsis <a id="typeinfo.syn">[[typeinfo.syn]]</a>
8
 
9
  ``` cpp
 
10
  namespace std {
11
  class type_info;
12
  class bad_cast;
13
  class bad_typeid;
14
  }
@@ -19,11 +22,11 @@ namespace std {
19
  ``` cpp
20
  namespace std {
21
  class type_info {
22
  public:
23
  virtual ~type_info();
24
- bool operator==(const type_info& rhs) const noexcept;
25
  bool before(const type_info& rhs) const noexcept;
26
  size_t hash_code() const noexcept;
27
  const char* name() const noexcept;
28
 
29
  type_info(const type_info&) = delete; // cannot be copied
@@ -38,11 +41,11 @@ a pointer to a name for the type, and an encoded value suitable for
38
  comparing two types for equality or collating order. The names, encoding
39
  rule, and collating sequence for types are all unspecified and may
40
  differ between programs.
41
 
42
  ``` cpp
43
- bool operator==(const type_info& rhs) const noexcept;
44
  ```
45
 
46
  *Effects:* Compares the current object with `rhs`.
47
 
48
  *Returns:* `true` if the two values describe the same type.
@@ -73,11 +76,11 @@ const char* name() const noexcept;
73
 
74
  *Returns:* An *implementation-defined* NTBS.
75
 
76
  *Remarks:* The message may be a null-terminated multibyte
77
  string [[multibyte.strings]], suitable for conversion and display as a
78
- `wstring` ([[string.classes]], [[locale.codecvt]]).
79
 
80
  ### Class `bad_cast` <a id="bad.cast">[[bad.cast]]</a>
81
 
82
  ``` cpp
83
  namespace std {
 
1
  ## Type identification <a id="support.rtti">[[support.rtti]]</a>
2
 
3
+ ### General <a id="support.rtti.general">[[support.rtti.general]]</a>
4
+
5
  The header `<typeinfo>` defines a type associated with type information
6
  generated by the implementation. It also defines two types for reporting
7
  dynamic type identification errors.
8
 
9
  ### Header `<typeinfo>` synopsis <a id="typeinfo.syn">[[typeinfo.syn]]</a>
10
 
11
  ``` cpp
12
+ // all freestanding
13
  namespace std {
14
  class type_info;
15
  class bad_cast;
16
  class bad_typeid;
17
  }
 
22
  ``` cpp
23
  namespace std {
24
  class type_info {
25
  public:
26
  virtual ~type_info();
27
+ constexpr bool operator==(const type_info& rhs) const noexcept;
28
  bool before(const type_info& rhs) const noexcept;
29
  size_t hash_code() const noexcept;
30
  const char* name() const noexcept;
31
 
32
  type_info(const type_info&) = delete; // cannot be copied
 
41
  comparing two types for equality or collating order. The names, encoding
42
  rule, and collating sequence for types are all unspecified and may
43
  differ between programs.
44
 
45
  ``` cpp
46
+ constexpr bool operator==(const type_info& rhs) const noexcept;
47
  ```
48
 
49
  *Effects:* Compares the current object with `rhs`.
50
 
51
  *Returns:* `true` if the two values describe the same type.
 
76
 
77
  *Returns:* An *implementation-defined* NTBS.
78
 
79
  *Remarks:* The message may be a null-terminated multibyte
80
  string [[multibyte.strings]], suitable for conversion and display as a
81
+ `wstring` [[string.classes]], [[locale.codecvt]].
82
 
83
  ### Class `bad_cast` <a id="bad.cast">[[bad.cast]]</a>
84
 
85
  ``` cpp
86
  namespace std {