From Jason Turner

[char.traits.specializations.wchar.t]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpwehlnydz/{from.md → to.md} +7 -17
tmp/tmpwehlnydz/{from.md → to.md} RENAMED
@@ -6,43 +6,33 @@ namespace std {
6
  using char_type = wchar_t;
7
  using int_type = wint_t;
8
  using off_type = streamoff;
9
  using pos_type = wstreampos;
10
  using state_type = mbstate_t;
 
11
 
12
  static constexpr void assign(char_type& c1, const char_type& c2) noexcept;
13
  static constexpr bool eq(char_type c1, char_type c2) noexcept;
14
  static constexpr bool lt(char_type c1, char_type c2) noexcept;
15
 
16
  static constexpr int compare(const char_type* s1, const char_type* s2, size_t n);
17
  static constexpr size_t length(const char_type* s);
18
  static constexpr const char_type* find(const char_type* s, size_t n,
19
  const char_type& a);
20
- static char_type* move(char_type* s1, const char_type* s2, size_t n);
21
- static char_type* copy(char_type* s1, const char_type* s2, size_t n);
22
- static char_type* assign(char_type* s, size_t n, char_type a);
23
 
24
  static constexpr int_type not_eof(int_type c) noexcept;
25
  static constexpr char_type to_char_type(int_type c) noexcept;
26
  static constexpr int_type to_int_type(char_type c) noexcept;
27
  static constexpr bool eq_int_type(int_type c1, int_type c2) noexcept;
28
  static constexpr int_type eof() noexcept;
29
  };
30
  }
31
  ```
32
 
33
- The defined types for `int_type`, `pos_type`, and `state_type` shall be
34
- `wint_t`, `wstreampos`, and `mbstate_t` respectively.
35
 
36
- The type `wstreampos` shall be an *implementation-defined* type that
37
- satisfies the requirements for `pos_type` in  [[iostreams.limits.pos]]
38
- and [[iostream.forward]].
39
-
40
- The type `mbstate_t` is defined in `<cwchar>` and can represent any of
41
- the conversion states that can occur in an *implementation-defined* set
42
- of supported multibyte character encoding rules.
43
-
44
- The two-argument members `assign`, `eq`, and `lt` shall be defined
45
- identically to the built-in operators `=`, `==`, and `<` respectively.
46
-
47
- The member `eof()` shall return `WEOF`.
48
 
 
6
  using char_type = wchar_t;
7
  using int_type = wint_t;
8
  using off_type = streamoff;
9
  using pos_type = wstreampos;
10
  using state_type = mbstate_t;
11
+ using comparison_category = strong_ordering;
12
 
13
  static constexpr void assign(char_type& c1, const char_type& c2) noexcept;
14
  static constexpr bool eq(char_type c1, char_type c2) noexcept;
15
  static constexpr bool lt(char_type c1, char_type c2) noexcept;
16
 
17
  static constexpr int compare(const char_type* s1, const char_type* s2, size_t n);
18
  static constexpr size_t length(const char_type* s);
19
  static constexpr const char_type* find(const char_type* s, size_t n,
20
  const char_type& a);
21
+ static constexpr char_type* move(char_type* s1, const char_type* s2, size_t n);
22
+ static constexpr char_type* copy(char_type* s1, const char_type* s2, size_t n);
23
+ static constexpr char_type* assign(char_type* s, size_t n, char_type a);
24
 
25
  static constexpr int_type not_eof(int_type c) noexcept;
26
  static constexpr char_type to_char_type(int_type c) noexcept;
27
  static constexpr int_type to_int_type(char_type c) noexcept;
28
  static constexpr bool eq_int_type(int_type c1, int_type c2) noexcept;
29
  static constexpr int_type eof() noexcept;
30
  };
31
  }
32
  ```
33
 
34
+ The two-argument members `assign`, `eq`, and `lt` are defined
35
+ identically to the built-in operators `=`, `==`, and `<`, respectively.
36
 
37
+ The member `eof()` returns `WEOF`.
 
 
 
 
 
 
 
 
 
 
 
38