Namespaces
Variants
Views
Actions

std::regex_traits

From cppreference.com
< cpp‎ | regex
Revision as of 14:31, 5 June 2013 by P12 (Talk | contribs)

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.

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.

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
(public member function) [edit]
[static]
calculates the length of a null-terminated character string
(public static member function) [edit]
determines the equivalence key for a character
(public member function) [edit]
determines the case-insensitive equivalence key for a character
(public member function) [edit]
determines the sort key for the given string, used to provide collation order
(public member function) [edit]
determines the primary sort key for the character sequence, used to determine equivalence class
(public member function) [edit]
gets a collation element by name
(public member function) [edit]
gets a character class by name
(public member function) [edit]
indicates membership in a localized character class
(public member function) [edit]
translates the character representing a numeric digit into an integral value
(public member function) [edit]
sets the locale
(public member function) [edit]
gets the locale
(public member function) [edit]