STD::REGEX_TRAITS(3)
β¨ std::regex_traits< _Ch_type > β¨
hi bestie π welcome to the Library Functions Manual corner of the universe, section (3), where we talk about std::regex_traits< _Ch_type > β the class that Describes aspects of a regular expression. no cap.
πΈ NAME πΈ
std::regex_traits< _Ch_type > β Describes aspects of a regular expression.
π SYNOPSIS π
#include <regex>
π Public Types
typedef _RegexMask char_class_type
typedef _Ch_type char_type
typedef std::locale locale_type
typedef std::basic_string< char_type > string_type
π¦ Public Member Functions
regex_traits ()β Constructs a default traits object. the humble beginning, the origin story fr.locale_type getloc () constβ Gets a copy of the current locale in use by theregex_traitsobject.locale_type imbue (locale_type __loc)β Imbues theregex_traitsobject with a copy of a new locale. glow-up time β¨bool isctype (_Ch_type __c, char_class_type __f) constβ Determines ifcis a member of an identified class. is it in the club or not πtemplate<typename _Fwd_iter> char_class_type lookup_classname (_Fwd_iter __first, _Fwd_iter __last, bool __icase=false) constβ Maps one or more characters to a named character classification.template<typename _Fwd_iter> string_type lookup_collatename (_Fwd_iter __first, _Fwd_iter __last) constβ Gets a collation element by name.template<typename _Fwd_iter> string_type transform (_Fwd_iter __first, _Fwd_iter __last) constβ Gets a sort key for a character sequence.template<typename _Fwd_iter> string_type transform_primary (_Fwd_iter __first, _Fwd_iter __last) constβ Gets a sort key for a character sequence, independent of case.char_type translate (char_type __c) constβ Performs the identity translation. it literally just hands you back what you gave it π iconic honestly.char_type translate_nocase (char_type __c) constβ Translates a character into a case-insensitive equivalent.int value (_Ch_type __ch, int __radix) constβ Converts a digit to anint.
β Static Public Member Functions
static std::size_t length (const char_type *__p)β Gives the length of a C-style string starting at__p.
π Protected Attributes
locale_type _M_locale
π Detailed Description π
template<typename _Ch_type>
class 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.
Since C++11
π Constructor & Destructor Documentation π
template<typename _Ch_type> std::regex_traits< _Ch_type >::regex_traits ()
[inline]
Constructs a default traits object.
Referenced by value().
π§ 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.
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 β Callingimbuewith a different locale than the one currently in use invalidates all cached data held by*this. girl, the cache is GONE. every time. π
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 fromlookup_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.
References std::use_facet().
template<typename _Ch_type> 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.
template<typename _Ch_type> template<typename _Fwd_iter> regex_traits< _Ch_type >::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.
dwsalnumalphablankcntrldigitgraphlowerprintpunctspaceupperxdigit
References std::use_facet().
template<typename _Ch_type> template<typename _Fwd_iter> regex_traits< _Ch_type >::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.
Referencesstd::basic_string< _CharT, _Traits, _Alloc >::empty(), andstd::use_facet().
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. lowkey genius behavior π§ β¨
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.
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>>(getloc())) ==
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. bestie it is NOT done yet, and the docs are just saying it out loud π
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.
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.
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.
Referencesregex_traits(), andstd::use_facet().
πΈ Author πΈ
Generated automatically by Doxygen for libstdc++ from the source code.
okay that's the whole page, bestie π«Ά this was libstdc++ doing the most, section (3), std::regex_traits< _Ch_type >(3) β go forth and trait responsibly π
β¨
π¦ where this page comes from
- arch rolling: gcc 16.2.1+r23+gd564253eb6c8-1 Β· GPL-3.0-or-later WITH GCC-exception-3.1 AND GFDL-1.3-or-later
- fedora 44: libstdc++-docs 16.0.1-0.10.fc44 Β· GPL-3.0-or-later AND LGPL-3.0-or-later AND (GPL-3.0-or-later WITH GCC-exception-3.1) AND (GPL-3.0-or-later WITH Texinfo-exception) AND (LGPL-2.1-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GNU-compiler-exception) AND BSL-1.0 AND GFDL-1.3-or-later AND Linux-man-pages-copyleft-2-para AND SunPro AND BSD-1-Clause AND BSD-2-Clause AND BSD-2-Clause-Views AND BSD-3-Clause AND BSD-4-Clause AND BSD-Source-Code AND Zlib AND MIT AND Apache-2.0 AND (Apache-2.0 WITH LLVM-Exception) AND ZPL-2.1 AND ISC AND LicenseRef-Fedora-Public-Domain AND HP-1986 AND curl AND Martin-Birgmeier AND HPND-Markus-Kuhn AND dtoa AND SMLNJ AND AMD-newlib AND OAR AND HPND-merchantability-variant AND HPND-Intel
- fedora 44: libstdc++-docs 16.2.1-2.fc44
- fedora 44: libstdc++-docs 16.2.1-3.fc44 Β· GPL-3.0-or-later AND LGPL-3.0-or-later AND (GPL-3.0-or-later WITH GCC-exception-3.1) AND (GPL-3.0-or-later WITH Texinfo-exception) AND (LGPL-2.1-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GNU-compiler-exception) AND BSL-1.0 AND GFDL-1.3-or-later AND Linux-man-pages-copyleft-2-para AND SunPro AND BSD-1-Clause AND BSD-2-Clause AND BSD-2-Clause-Views AND BSD-3-Clause AND BSD-4-Clause AND BSD-Source-Code AND Zlib AND MIT AND Apache-2.0 AND (Apache-2.0 WITH LLVM-Exception) AND ZPL-2.1 AND ISC AND LicenseRef-Fedora-Public-Domain AND HP-1986 AND curl AND Martin-Birgmeier AND HPND-Markus-Kuhn AND dtoa AND SMLNJ AND AMD-newlib AND OAR AND HPND-merchantability-variant AND HPND-Intel
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms