|  | Home | Libraries | People | FAQ | More | 
boost::xpressive::c_regex_traits — Encapsaulates the standard C locale functions for use by the basic_regex<> class template. 
// In header: <boost/xpressive/xpressive_fwd.hpp> template<typename Char> struct c_regex_traits { // construct/copy/destruct c_regex_traits(locale_type const & = locale_type()); // public member functions bool operator==(c_regex_traits< char_type > const &) const; bool operator !=(c_regex_traits< char_type > const &) const; string_type fold_case(char_type) const; locale_type imbue(locale_type); // public static functions static char_type widen(char); static unsigned char hash(char_type); static char_type translate(char_type); static char_type translate_nocase(char_type); static char_type tolower(char_type); static char_type toupper(char_type); static bool in_range(char_type, char_type, char_type); static bool in_range_nocase(char_type, char_type, char_type); template<typename FwdIter> static string_type transform(FwdIter, FwdIter); template<typename FwdIter> static string_type transform_primary(FwdIter, FwdIter); template<typename FwdIter> static string_type lookup_collatename(FwdIter, FwdIter); template<typename FwdIter> static char_class_type lookup_classname(FwdIter, FwdIter, bool); static bool isctype(char_type, char_class_type); static int value(char_type, int); static locale_type getloc(); };
c_regex_traits 
        public
       construct/copy/destructc_regex_traits(locale_type const & loc = locale_type());
Initialize a c_regex_traits object to use the global C locale. 
c_regex_traits public member functionsbool operator==(c_regex_traits< char_type > const &) const;
Checks two c_regex_traits objects for equality
| Returns: | true. | 
bool operator !=(c_regex_traits< char_type > const &) const;
Checks two c_regex_traits objects for inequality
| Returns: | false. | 
string_type fold_case(char_type ch) const;
Returns a string_type containing all the characters that compare equal disregrarding case to the one passed in. This function can only be called if has_fold_case<c_regex_traits<Char> >::valuetrue.
| Parameters: | 
 | ||
| Returns: | 
 | 
locale_type imbue(locale_type loc);
No-op
c_regex_traits public static functionsstatic char_type widen(char ch);
Convert a char to a Char
| Parameters: | 
 | ||
| Returns: | ch if Char is char, std::btowc(ch) if Char is wchar_t. | 
static unsigned char hash(char_type ch);
Returns a hash value for a Char in the range [0, UCHAR_MAX]
| Parameters: | 
 | ||
| Returns: | a value between 0 and UCHAR_MAX, inclusive. | 
static char_type translate(char_type ch);
No-op
| Parameters: | 
 | ||
| Returns: | ch | 
static char_type translate_nocase(char_type ch);
Converts a character to lower-case using the current global C locale.
| Parameters: | 
 | ||
| Returns: | std::tolower(ch) if Char is char, std::towlower(ch) if Char is wchar_t. | 
static char_type tolower(char_type ch);
Converts a character to lower-case using the current global C locale.
| Parameters: | 
 | ||
| Returns: | std::tolower(ch) if Char is char, std::towlower(ch) if Char is wchar_t. | 
static char_type toupper(char_type ch);
Converts a character to upper-case using the current global C locale.
| Parameters: | 
 | ||
| Returns: | std::toupper(ch) if Char is char, std::towupper(ch) if Char is wchar_t. | 
static bool in_range(char_type first, char_type last, char_type ch);
Checks to see if a character is within a character range.
| Parameters: | 
 | ||||||
| Returns: | first <= ch && ch <= last. | 
static bool in_range_nocase(char_type first, char_type last, char_type ch);
Checks to see if a character is within a character range, irregardless of case.
| ![[Note]](../../../../doc/src/images/note.png) | Note | 
|---|---|
| The default implementation doesn't do proper Unicode case folding, but this is the best we can do with the standard C locale functions. | 
| Parameters: | 
 | ||||||
| Returns: | in_range(first, last, ch) || in_range(first, last, tolower(ch)) || in_range(first, last, toupper(ch)) | 
template<typename FwdIter> static string_type transform(FwdIter begin, FwdIter end);
Returns a sort key for the character sequence designated by the iterator range [F1, F2) such that if the character sequence [G1, G2) sorts before the character sequence [H1, H2) then v.transform(G1, G2) < v.transform(H1, H2).
| ![[Note]](../../../../doc/src/images/note.png) | Note | 
|---|---|
| Not currently used | 
template<typename FwdIter> static string_type transform_primary(FwdIter begin, FwdIter end);
Returns a sort key for the character sequence designated by the iterator range [F1, F2) such that if the character sequence [G1, G2) sorts before the character sequence [H1, H2) when character case is not considered then v.transform_primary(G1, G2) < v.transform_primary(H1, H2).
| ![[Note]](../../../../doc/src/images/note.png) | Note | 
|---|---|
| Not currently used | 
template<typename FwdIter> static string_type lookup_collatename(FwdIter begin, FwdIter end);
Returns a sequence of characters that represents the collating element consisting of the character sequence designated by the iterator range [F1, F2). Returns an empty string if the character sequence is not a valid collating element.
| ![[Note]](../../../../doc/src/images/note.png) | Note | 
|---|---|
| Not currently used | 
template<typename FwdIter> static char_class_type lookup_classname(FwdIter begin, FwdIter end, bool icase);
For the character class name represented by the specified character sequence, return the corresponding bitmask representation.
| Parameters: | 
 | ||||||
| Returns: | A bitmask representing the character class. | 
static bool isctype(char_type ch, char_class_type mask);
Tests a character against a character class bitmask.
| Parameters: | 
 | ||||
| Requires: | mask is a bitmask returned by lookup_classname, or is several such masks bit-or'ed together. | ||||
| Returns: | true if the character is a member of any of the specified character classes, false otherwise. | 
static int value(char_type ch, int radix);
Convert a digit character into the integer it represents.
| Parameters: | 
 | ||||
| Requires: | radix is one of 8, 10, or 16. | ||||
| Returns: | -1 if ch is not a digit character, the integer value of the character otherwise. If char_type is char, std::strtol is used for the conversion. If char_type is wchar_t, std::wcstol is used. | 
static locale_type getloc();
No-op