Namespaces
Variants

C++ named requirements: RegexTraits (since C++11)

From cppreference.net
C++ named requirements

RegexTraits es una clase de rasgos que abstrae las operaciones necesarias para un tipo de carácter dado cuando se utiliza como parámetro de tipo plantilla para std:: basic_regex .

Requisitos

Dado

  • CharT , un tipo de carácter
  • X , un tipo RegexTraits para el tipo CharT
  • u , un objeto de tipo X
  • v , un objeto de tipo const X
  • p , un valor de tipo const CharT *
  • I1, I2 , iteradores de entrada
  • F1, F2 , iteradores de avance
  • c , un valor de tipo const CharT
  • s , un objeto de tipo X :: string_type
  • cs , un objeto de tipo const X :: string_type
  • b , un valor de tipo bool
  • I , un valor de tipo int
  • cl , un objeto de tipo X :: char_class_type
  • loc , un objeto de tipo X :: locale_type


expresión tipo de retorno semántica
X :: char_type CharT Se utiliza para referirse al tipo de carácter.
X :: string_type std:: basic_string < CharT >
X :: locale_type Un tipo CopyConstructible que representa la configuración regional utilizada por la clase de rasgos.
X :: char_class_type Un tipo BitmaskType que representa una clasificación particular de caracteres.
X :: length ( p ) std:: size_t Retorna: el menor i tal que p [ i ] == 0 . La complejidad es lineal en i .
v. translate ( c ) X :: char_type Retorna: un carácter tal que para cualquier carácter d considerado equivalente a c , entonces v. translate ( c ) == v. translate ( d ) .
v. translate_nocase ( c ) X :: char_type Retorna: un carácter tal que para cualquier carácter C considerado equivalente a c sin tener en cuenta mayúsculas/minúsculas, entonces v. translate_nocase ( c ) == v. translate_nocase ( C ) .
v. transform ( F1, F2 ) X :: string_type Retorna: una clave de ordenación para la secuencia de caracteres designada por el rango de iteradores [ F1, F2 ) tal que si la secuencia de caracteres [ G1, G2 ) se ordena antes que la secuencia de caracteres [ H1, H2 ) , entonces v. transform ( G1, G2 ) < v. transform ( H1, H2 ) .
v. transform_primary ( F1, F2 ) X :: string_type Retorna: una clave de ordenación para la secuencia de caracteres designada por el rango de iteradores [ F1, F2 ) tal que si la secuencia de caracteres [ G1, G2 ) se ordena antes que la secuencia de caracteres [ H1, H2 ) sin tener en cuenta mayúsculas/minúsculas, entonces v. transform_primary ( G1, G2 ) < v. transform_primary ( H1, H2 ) .
v. lookup_collatename ( F1, F2 ) X :: string_type Retorna:
  • Una cadena vacía si la secuencia de caracteres no es un elemento de intercalación válido
  • Una secuencia de caracteres que representa el elemento de intercalación consistente en la secuencia de caracteres designada por el rango de iteradores [ F1, F2 ) en caso contrario
v. lookup_classname ( F1, F2, b ) X :: char_class_type
  • Convierte la secuencia de caracteres designada por el rango de iteradores [ F1, F2 ) en un valor de un BitmaskType que posteriormente puede pasarse a isctype
  • Los valores devueltos por lookup_classname pueden combinarse mediante OR bit a bit; el valor resultante representa la pertenencia a cualquiera de las clases de caracteres correspondientes
  • Si b es true, la máscara de bits devuelta es adecuada para coincidir caracteres sin tener en cuenta su caso.
  • Devuelve 0 si la secuencia de caracteres no es el nombre de una clase de caracteres reconocida por X .
  • El valor devuelto será independiente del caso de los caracteres en la secuencia.
v. isctype ( c, cl ) bool Retorna: si c es miembro de una de las clases de caracteres designadas por cl o no.
v. value ( c, I ) int Retorna:
  • El valor representado por el dígito c en base I si el carácter c es un dígito válido en base I
  • - 1 en caso contrario
u. imbue ( loc ) X :: locale_type
  • Asigna a u la configuración regional loc
  • Retorna: La configuración regional previa utilizada por u si existía
v. getloc ( ) X :: locale_type Retorna: La configuración regional anterior utilizada por v si la hubiera.


Biblioteca estándar

RegexTraits es satisfecho por las siguientes clases de la biblioteca estándar:

template <> class regex_traits < char > ;
template <> class regex_traits < wchar_t > ;
(desde C++11)
(desde C++11)