[facet.ctype.special.general] (original) (raw)
28 Text processing library [text]
28.3 Localization library [localization]
28.3.4 Standard locale categories [locale.categories]
28.3.4.2 The ctype category [category.ctype]
28.3.4.2.4 ctype specialization [facet.ctype.special]
28.3.4.2.4.1 General [facet.ctype.special.general]
namespace std { template<> class ctype<char> : public locale::facet, public ctype_base { public: using char_type = char;explicit ctype(const mask* tab = nullptr, bool del = false, size_t refs = 0);bool is(mask m, char c) const;const char* is(const char* low, const char* high, mask* vec) const;const char* scan_is (mask m, const char* low, const char* high) const;const char* scan_not(mask m, const char* low, const char* high) const;char toupper(char c) const;const char* toupper(char* low, const char* high) const;char tolower(char c) const;const char* tolower(char* low, const char* high) const;char widen(char c) const;const char* widen(const char* low, const char* high, char* to) const;char narrow(char c, char dfault) const;const char* narrow(const char* low, const char* high, char dfault, char* to) const;static locale::id id;static const size_t table_size = implementation-defined;const mask* table() const noexcept;static const mask* classic_table() noexcept;protected: ~ctype();virtual char do_toupper(char c) const;virtual const char* do_toupper(char* low, const char* high) const;virtual char do_tolower(char c) const;virtual const char* do_tolower(char* low, const char* high) const;virtual char do_widen(char c) const;virtual const char* do_widen(const char* low, const char* high, char* to) const;virtual char do_narrow(char c, char dfault) const;virtual const char* do_narrow(const char* low, const char* high,char dfault, char* to) const;};}
A specialization ctype<char> is provided so that the member functions on type char can be implemented inline.220
The implementation-defined value of member table_size is at least 256.