std::regex_traits< _Ch_type >(3cxx) | std::regex_traits< _Ch_type >(3cxx) |
NAME¶
std::regex_traits< _Ch_type > -SYNOPSIS¶
Public Types¶
typedef _RegexMask char_class_type
Public Member Functions¶
regex_traits ()
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 section [28.7]. 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 91 of file regex.h.Constructor & Destructor Documentation¶
template<typename _Ch_type > std::regex_traits< _Ch_type >::regex_traits () [inline]¶
Constructs a default traits object. Definition at line 171 of file regex.h.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 384 of file regex.h.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 373 of file regex.h.
References std::swap().
template<typename _Ch_type > bool std::regex_traits< _Ch_type >::isctype (_Ch_type__c, char_class_type__f) const¶
Determines if c is a member of an identified class. Parameters:__c a character.
__f a class type (as returned from lookup_classname).
Returns:
true if the character __c is a member of the
classification represented by __f, false otherwise.
Exceptions:
std::bad_cast if the current locale does not have
a ctype facet.
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 184 of file regex.h.
template<typename _Ch_type > template<typename _Fwd_iter > char_class_type std::regex_traits< _Ch_type >::lookup_classname (_Fwd_iter__first, _Fwd_iter__last, bool__icase = false) const¶
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.
__icase ignores the case of the classification name.
Returns:
an unspecified value that represents the character
classification named by the character sequence designated by the iterator
range [__first, __last). If icase is true, the returned mask identifies the
classification regardless of the case of the characters to be matched (for
example, [[:lower:]] is the same as [[:alpha:]]), otherwise a case-dependent
classification is returned. 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
- •
- •
- punct
- •
- space
- •
- upper
- •
- xdigit
template<typename _Ch_type > template<typename _Fwd_iter > string_type std::regex_traits< _Ch_type >::lookup_collatename (_Fwd_iter__first, _Fwd_iter__last) const¶
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.
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 237 of file regex.h.
References std::basic_string< _CharT, _Traits, _Alloc >::data(), and
std::basic_string< _CharT, _Traits, _Alloc >::size().
Referenced by std::regex_traits< _Ch_type >::transform_primary().
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]¶
Gets a sort key for a character sequence, independent of case. 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.
Todo
Implement this function correctly.
Definition at line 261 of file regex.h.
References std::vector< _Tp, _Alloc >::data(), std::vector< _Tp, _Alloc
>::size(), and std::regex_traits< _Ch_type >::transform().
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 195 of file regex.h.
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 208 of file regex.h.
template<typename _Ch_type > int std::regex_traits< _Ch_type >::value (_Ch_type__ch, int__radix) const¶
Converts a digit to an int. Parameters:__ch a character representing a digit.
__radix the radix if the numeric conversion (limited to 8, 10, or
16).
Returns:
the value represented by the digit __ch in base radix if
the character __ch is a valid digit in base radix; otherwise returns -1.
Author¶
Generated automatically by Doxygen for libstdc++ from the source code.Wed Jan 31 2018 | libstdc++ |