| category | facet | member functions |
|---|---|---|
| collate | collate | compare, hash, transform |
| ctype | ctype | is, narrow, scan_is, scan_not, tolower, toupper, widen |
| codecvt | always_noconv, encoding, in, length, max_length, out, unshift | |
| monetary | moneypunct | curr_symbol, decimal_point, frac_digits, grouping, negative_sign, neg_format, positive_sign, pos_format, thousands_sep |
| money_get | get | |
| money_put | put | |
| numeric | numpunct | decimal_point, falsename, grouping, thousands_sep, truename |
| num_get | get | |
| num_put | put | |
| time | time_get | date_order, get_date, get_monthname, get_time, get_weekday, get_year (and get, since C++11) |
| time_put | put | |
| messages | messages | close, get, open |
|
|
"_byname". These facet types are used by the localization engine to construct the appropriate facet objects when a named locale object is constructed."do_". The implementation of the operation itself lies in the virtual protected member function (so that derived class can easily overwrite it), while the non-virtual public function may implement platform-specific functionality not related to the operation itself, but necessary to allow the feature to work properly on the system.char and wchar_t types as template parameters for the facet's character type.char and wchar_t types as template parameters for the facet's character type. Additionally, the codecvt facet is also required to support char16_t and char32_t.