std::regex_traits(3)std::regex_traits(3)NAMEstd::regex_traits-
Describes aspects of a regular expression.
SYNOPSIS
Public Types
typedef std::ctype_base::mask char_class_type
typedef _Ch_type char_type
typedef std::locale locale_type
typedef std::basic_string< char_type > string_type
Public Member Functions
locale_type getloc () const
locale_type imbue (locale_type __loc)
bool isctype (_Ch_type __c, char_class_type __f) const
template<typename _Fwd_iter > char_class_type lookup_classname
(_Fwd_iter __first, _Fwd_iter __last) const
template<typename _Fwd_iter > string_type lookup_collatename (_Fwd_iter
__first, _Fwd_iter __last) const
regex_traits ()
template<typename _Fwd_iter > string_type transform (_Fwd_iter __first,
_Fwd_iter __last) const
template<typename _Fwd_iter > string_type transform_primary (_Fwd_iter
__first, _Fwd_iter __last) const
char_type translate (char_type __c) const
char_type translate_nocase (char_type __c) const
int value (_Ch_type __ch, int __radix) const
Static Public Member Functions
static std::size_t length (const char_type *__p)
Protected Attributes
locale_type _M_locale
Detailed Description
template<typename _Ch_type> struct std::regex_traits< _Ch_type >
Describes aspects of a regular expression.
A regular expression traits class that satisfies the requirements of
tr1 section [7.2].
The class regex is parameterized around a set of related types and
functions used to complete the definition of its semantics. This class
satisfies the requirements of such a traits class.
Definition at line 432 of file tr1_impl/regex.
Constructor & Destructor Documentation
template<typename _Ch_type > std::regex_traits< _Ch_type >::regex_traits ()
[inline]
Constructs a default traits object.
Definition at line 444 of file tr1_impl/regex.
Member Function Documentation
template<typename _Ch_type > locale_type std::regex_traits< _Ch_type
>::getloc () const [inline]
Gets a copy of the current locale in use by the regex_traits object.
Definition at line 644 of file tr1_impl/regex.
template<typename _Ch_type > locale_type std::regex_traits< _Ch_type
>::imbue (locale_type __loc) [inline]
Imbues the regex_traits object with a copy of a new locale. Parameters:
loc A locale.
Returns:
a copy of the previous locale in use by the regex_traits object.
Note:
Calling imbue with a different locale than the one currently in use
invalidates all cached data held by *this.
Definition at line 633 of file tr1_impl/regex.
template<typename _Ch_type > static std::size_t std::regex_traits< _Ch_type
>::length (const char_type * __p) [inline, static]
Gives the length of a C-style string starting at __p. Parameters:
__p a pointer to the start of a character sequence.
Returns:
the number of characters between *__p and the first default-
initialized value of type char_type. In other words, uses the C-
string algorithm for determining the length of a sequence of
characters.
Definition at line 458 of file tr1_impl/regex.
References std::basic_string< _CharT, _Traits, _Alloc >::length().
template<typename _Ch_type > template<typename _Fwd_iter > char_class_type
std::regex_traits< _Ch_type >::lookup_classname (_Fwd_iter __first,
_Fwd_iter __last) const [inline]
Maps one or more characters to a named character classification.
Parameters:
first beginning of the character sequence.
last one-past-the-end of the character sequence.
Returns:
an unspecified value that represents the character classification
named by the character sequence designated by the iterator range
[first, last). The value returned shall be independent of the case
of the characters in the character sequence. If the name is not
recognized then returns a value that compares equal to 0.
At least the following names (or their wide-character equivalent) are
supported.
· d
· w
· s
· alnum
· alpha
· blank
· cntrl
· digit
· graph
· lower
· print
· punct
· space
· upper
· xdigit
Todo
Implement this function.
Referenced by std::regex_traits< _Ch_type >::isctype().
template<typename _Ch_type > template<typename _Fwd_iter > string_type
std::regex_traits< _Ch_type >::lookup_collatename (_Fwd_iter __first,
_Fwd_iter __last) const [inline]
Gets a collation element by name. Parameters:
first beginning of the collation element name.
last one-past-the-end of the collation element name.
Returns:
a sequence of one or more characters that represents the collating
element consisting of the character sequence designated by the
iterator range [first, last). Returns an empty string if the
character sequence is not a valid collating element.
Todo
Implement this function.
template<typename _Ch_type > template<typename _Fwd_iter > string_type
std::regex_traits< _Ch_type >::transform (_Fwd_iter __first, _Fwd_iter
__last) const [inline]
Gets a sort key for a character sequence. Parameters:
first beginning of the character sequence.
last one-past-the-end of the character sequence.
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).
What this really does is provide a more efficient way to compare a
string to multiple other strings in locales with fancy collation rules
and equivalence classes.
Returns:
a locale-specific sort key equivalent to the input range.
Exceptions:
std::bad_cast if the current locale does not have a collate facet.
Definition at line 511 of file tr1_impl/regex.
References std::basic_string< _CharT, _Traits, _Alloc >::data(),
std::basic_string< _CharT, _Traits, _Alloc >::size(), std::collate<
_CharT >::transform(), and std::use_facet().
template<typename _Ch_type > template<typename _Fwd_iter > string_type
std::regex_traits< _Ch_type >::transform_primary (_Fwd_iter __first,
_Fwd_iter __last) const [inline]
Dunno. Parameters:
first beginning of the character sequence.
last one-past-the-end of the character sequence.
Effects: if typeid(use_facet<collate<_Ch_type> >) ==
typeid(collate_byname<_Ch_type>) and the form of the sort key returned
by collate_byname<_Ch_type>::transform(first, last) is known and can be
converted into a primary sort key then returns that key, otherwise
returns an empty string. WTF??
Todo
Implement this function.
template<typename _Ch_type > char_type std::regex_traits< _Ch_type
>::translate (char_type __c) const [inline]
Performs the identity translation. Parameters:
c A character to the locale-specific character set.
Returns:
c.
Definition at line 469 of file tr1_impl/regex.
template<typename _Ch_type > char_type std::regex_traits< _Ch_type
>::translate_nocase (char_type __c) const [inline]
Translates a character into a case-insensitive equivalent. Parameters:
c A character to the locale-specific character set.
Returns:
the locale-specific lower-case equivalent of c.
Exceptions:
std::bad_cast if the imbued locale does not support the ctype
facet.
Definition at line 482 of file tr1_impl/regex.
References std::tolower(), and std::use_facet().
Author
Generated automatically by Doxygen for libstdc++ from the source code.
libstdc++ 22 Nov 2013 std::regex_traits(3)