std::regex_traits (3) - Linux Man Pages

std::regex_traits: std::regex_traits


std::regex_traits - std::regex_traits


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

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.

Standard specializations

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


These specializations make it possible to use std::basic_regex<char> (aka std::regex) and std::basic_regex<wchar_t> (aka std::wregex). To use std::basic_regex with other character types (for example, char32_t), a user-provided trait class must be used.

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.

Member functions

                   constructs the regex_traits object
constructor (public member function)

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