Provided by: libstdc++-9-doc_9.5.0-6ubuntu2_all bug

NAME

       std::regex_traits< _Ch_type > - Describes aspects of a regular expression.

SYNOPSIS

       #include <regex.h>

   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.
       locale_type getloc () const
           Gets a copy of the current locale in use by the regex_traits object.
       locale_type imbue (locale_type __loc)
           Imbues the regex_traits object with a copy of a new locale.
       bool isctype (_Ch_type __c, char_class_type __f) const
           Determines if c is a member of an identified class.
       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.
       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 an int.

   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.

       Definition at line 80 of file regex.h.

Member Typedef Documentation

   template<typename _Ch_type > typedef _RegexMask std::regex_traits< _Ch_type >::char_class_type
       Definition at line 151 of file regex.h.

   template<typename _Ch_type > typedef _Ch_type std::regex_traits< _Ch_type >::char_type
       Definition at line 83 of file regex.h.

   template<typename _Ch_type > typedef std::locale std::regex_traits< _Ch_type >::locale_type
       Definition at line 85 of file regex.h.

   template<typename _Ch_type > typedef std::basic_string<char_type> std::regex_traits< _Ch_type >::string_type
       Definition at line 84 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 157 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 370 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 359 of file regex.h.

   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.

       Definition at line 326 of file regex.tcc.

   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 170 of file regex.h.

   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.

       • d

       • w

       • s

       • alnum

       • alpha

       • blank

       • cntrl

       • digit

       • graph

       • lower

       • print

       • punct

       • space

       • upper

       • xdigit

       Definition at line 282 of file regex.tcc.

   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.

       Definition at line 126 of file regex.tcc.

   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 223 of file regex.h.

       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 247 of file regex.h.

       References 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 181 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 194 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.

       Definition at line 340 of file regex.tcc.

Member Data Documentation

   template<typename _Ch_type > locale_type std::regex_traits< _Ch_type >::_M_locale [protected]
       Definition at line 374 of file regex.h.

Author

       Generated automatically by Doxygen for libstdc++ from the source code.

                                                    libstdc++                std::regex_traits< _Ch_type >(3cxx)