From Jason Turner

[facet.ctype.special.general]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpae71ssvm/{from.md → to.md} +54 -0
tmp/tmpae71ssvm/{from.md → to.md} RENAMED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ##### General <a id="facet.ctype.special.general">[[facet.ctype.special.general]]</a>
2
+
3
+ ``` cpp
4
+ namespace std {
5
+ template<>
6
+ class ctype<char> : public locale::facet, public ctype_base {
7
+ public:
8
+ using char_type = char;
9
+
10
+ explicit ctype(const mask* tab = nullptr, bool del = false, size_t refs = 0);
11
+
12
+ bool is(mask m, char c) const;
13
+ const char* is(const char* low, const char* high, mask* vec) const;
14
+ const char* scan_is (mask m, const char* low, const char* high) const;
15
+ const char* scan_not(mask m, const char* low, const char* high) const;
16
+
17
+ char toupper(char c) const;
18
+ const char* toupper(char* low, const char* high) const;
19
+ char tolower(char c) const;
20
+ const char* tolower(char* low, const char* high) const;
21
+
22
+ char widen(char c) const;
23
+ const char* widen(const char* low, const char* high, char* to) const;
24
+ char narrow(char c, char dfault) const;
25
+ const char* narrow(const char* low, const char* high, char dfault, char* to) const;
26
+
27
+ static locale::id id;
28
+ static const size_t table_size = implementation-defined;
29
+
30
+ const mask* table() const noexcept;
31
+ static const mask* classic_table() noexcept;
32
+
33
+ protected:
34
+ ~ctype();
35
+ virtual char do_toupper(char c) const;
36
+ virtual const char* do_toupper(char* low, const char* high) const;
37
+ virtual char do_tolower(char c) const;
38
+ virtual const char* do_tolower(char* low, const char* high) const;
39
+
40
+ virtual char do_widen(char c) const;
41
+ virtual const char* do_widen(const char* low, const char* high, char* to) const;
42
+ virtual char do_narrow(char c, char dfault) const;
43
+ virtual const char* do_narrow(const char* low, const char* high,
44
+ char dfault, char* to) const;
45
+ };
46
+ }
47
+ ```
48
+
49
+ A specialization `ctype<char>` is provided so that the member functions
50
+ on type `char` can be implemented inline.[^7]
51
+
52
+ The *implementation-defined* value of member `table_size` is at least
53
+ 256.
54
+