##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::regex_traits

From cppreference.com
< cpp‎ | regex

Defined in header `<regex>` |  |
template< class CharT > class regex_traits; |  | (since C++11)

The type trait template `regex_traits` supplies std::basic_regex with the set of types and functions necessary to operate on the type `CharT`.

Since many of regex operations are locale-sensitive (when std::regex_constants::collate flag is set), the regex_traits class typically holds an instance of a std::locale as a private member.

### [edit] Standard specializations

Two specializations of `std::regex_traits` are defined by the standard library:

`std::regex_traits<char>`
`std::regex_traits<wchar_t>`

These specializations make it possible to use std::basic_regex<char> (aka std::regex) and std::basic_regex<wchar_t> (aka std::wregex), but in order to use, for example, std::basic_regex<char32_t>, user-provided specializtion std::regex_traits<char32_t> needs to be defined.

### [edit] Member types

Type | Definition
`char_type` | `CharT`
`string_type` | std::basic_string<CharT>
`locale_type` | The locale used for localized behavior in the regular expression. Must be `CopyConstructible`
`char_class_type` | Represents a character classification and is capable of holding an implementation specific set returned by `lookup_classname`. Must be a `BitmaskType`.

### [edit] Member functions

(constructor) | constructs the regex_traits object (public member function) [edit]
length [static] | calculates the length of a null-terminated character string (public static member function) [edit]
translate | determines the equivalence key for a character (public member function) [edit]
translate_nocase | determines the case-insensitive equivalence key for a character (public member function) [edit]
transform | determines the sort key for the given string, used to provide collation order (public member function) [edit]
transform_primary | determines the primary sort key for the character sequence, used to determine equivalence class (public member function) [edit]
lookup_collatename | gets a collation element by name (public member function) [edit]
lookup_classname | gets a character class by name (public member function) [edit]
isctype | indicates membership in a localized character class (public member function) [edit]
value | translates the character representing a numeric digit into an integral value (public member function) [edit]
imbue | sets the locale (public member function) [edit]
getloc | gets the locale (public member function) [edit]

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/regex/regex_traits&oldid=63424"