Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Descreve as características dos elementos para correspondência.
Sintaxe
template<class Elem>
class regex_traits
Parâmetros
Elem
O tipo de elemento de caractere a ser descrito.
Observações
O modelo de classe descreve várias características de expressão regular para o tipo Elem. O modelo basic_regex
de classe usa essas informações para manipular elementos do tipo Elem.
Cada regex_traits
objeto contém um objeto do tipo regex_traits::locale
que é usado por algumas de suas funções de membro. A localidade padrão é uma cópia do regex_traits::locale()
. A função imbue
member substitui o objeto locale e a função getloc
member retorna uma cópia do objeto locale.
Construtores
Construtor | Descrição |
---|---|
regex_traits | Constrói o objeto. |
Typedefs (definições de tipos)
Nome do tipo | Descrição |
---|---|
char_class_type | O tipo de designadores de classe de caracteres. |
char_type | O tipo de um elemento. |
locale_type | O tipo do objeto de localidade armazenado. |
size_type | O tipo de comprimento de uma sequência. |
string_type | O tipo de uma cadeia de caracteres de elementos. |
Funções de membro
Função de membro | Descrição |
---|---|
Getloc | Retorna o objeto de localidade armazenado. |
imbue | Altera o objeto de localidade armazenado. |
isctype | Testes para associação de classe. |
comprimento | Devolve o comprimento de uma sequência terminada em nulo. |
lookup_classname | Mapeia uma sequência para uma classe de caracteres. |
lookup_collatename | Mapeia uma sequência para um elemento de agrupamento. |
transformar | Converte em sequência ordenada equivalente. |
transform_primary | Converte em seqüência ordenada sem maiúsculas e minúsculas equivalente. |
traduzir | Converte em elemento correspondente equivalente. |
translate_nocase | Converte em elemento equivalente de correspondência sem maiúsculas e minúsculas. |
valor | Converte um elemento em um valor de dígito. |
Requerimentos
Cabeçalho:<regex>
Espaço de nomes: std
Exemplo
// std__regex__regex_traits.cpp
// compile with: /EHsc
#include <regex>
#include <iostream>
typedef std::regex_traits<char> Mytr;
int main()
{
Mytr tr;
Mytr::char_type ch = tr.translate('a');
std::cout << "translate('a') == 'a' == " << std::boolalpha
<< (ch == 'a') << std::endl;
std::cout << "nocase 'a' == 'A' == " << std::boolalpha
<< (tr.translate_nocase('a') == tr.translate_nocase('A'))
<< std::endl;
const char *lbegin = "abc";
const char *lend = lbegin + strlen(lbegin);
Mytr::size_type size = tr.length(lbegin);
std::cout << "length(\"abc\") == " << size <<std::endl;
Mytr::string_type str = tr.transform(lbegin, lend);
std::cout << "transform(\"abc\") < \"abc\" == " << std::boolalpha
<< (str < "abc") << std::endl;
const char *ubegin = "ABC";
const char *uend = ubegin + strlen(ubegin);
std::cout << "primary \"ABC\" < \"abc\" == " << std::boolalpha
<< (tr.transform_primary(ubegin, uend) <
tr.transform_primary(lbegin, lend))
<< std::endl;
const char *dig = "digit";
Mytr::char_class_type cl = tr.lookup_classname(dig, dig + 5);
std::cout << "class digit == d == " << std::boolalpha
<< (cl == tr.lookup_classname(dig, dig + 1))
<< std::endl;
std::cout << "'3' is digit == " <<std::boolalpha
<< tr.isctype('3', tr.lookup_classname(dig, dig + 5))
<< std::endl;
std::cout << "hex C == " << tr.value('C', 16) << std::endl;
// other members
str = tr.lookup_collatename(dig, dig + 5);
Mytr::locale_type loc = tr.getloc();
tr.imbue(loc);
return (0);
}
translate('a') == 'a' == true
nocase 'a' == 'A' == true
length("abc") == 3
transform("abc") < "abc" == false
primary "ABC" < "abc" == false
class digit == d == true
'3' is digit == true
hex C == 12
regex_traits::char_class_type
O tipo de designadores de classe de caracteres.
typedef T8 char_class_type;
Observações
O tipo é um sinônimo de um tipo não especificado que designa classes de caracteres. Valores desse tipo podem ser combinados usando o |
operador para designar classes de caracteres que são a união das classes designadas pelos operandos.
regex_traits::char_type
O tipo de um elemento.
typedef Elem char_type;
Observações
O typedef é um sinônimo para o argumento Elem
template .
regex_traits::getloc
Retorna o objeto de localidade armazenado.
locale_type getloc() const;
Observações
A função de membro retorna o objeto armazenado locale
.
regex_traits::imbue
Altera o objeto de localidade armazenado.
locale_type imbue(locale_type loc);
Parâmetros
loc
O objeto de localidade a ser armazenado.
Observações
A função de membro copia loc para o objeto armazenado locale
e retorna uma cópia do valor anterior do objeto armazenado locale
.
regex_traits::isctype
Testes para associação de classe.
bool isctype(char_type ch, char_class_type cls) const;
Parâmetros
ch
O elemento a testar.
CLS
As classes para testar.
Observações
A função de membro retorna true somente se o caractere ch estiver na classe de caractere designada por cls.
regex_traits::comprimento
Devolve o comprimento de uma sequência terminada em nulo.
static size_type length(const char_type *str);
Parâmetros
STR
A sequência terminada em nulo.
Observações
A função de membro estático retorna std::char_traits<char_type>::length(str)
.
regex_traits::locale_type
O tipo do objeto de localidade armazenado.
typedef T7 locale_type;
Observações
O typedef é um sinônimo de um tipo que encapsula localidades. Nas especializações e regex_traits<char>
é sinónimo de .regex_traits<wchar_t>
std::locale
regex_traits::lookup_classname
Mapeia uma sequência para uma classe de caracteres.
template <class FwdIt>
char_class_type lookup_classname(FwdIt first, FwdIt last) const;
Parâmetros
primeira
Início da sequência para olhar para cima.
último
Fim da sequência para pesquisar.
Observações
A função member retorna um valor que designa a classe de caractere nomeada pela sequência de caracteres apontada por seus argumentos. O valor não depende do caso dos caracteres na sequência.
A especialização regex_traits<char>
reconhece os nomes "d"
, "s"
, , "w"
, "alnum"
, "alpha"
"blank"
"cntrl"
"digit"
"graph"
"lower"
"print"
"punct"
"space"
"upper"
e "xdigit"
, tudo independentemente do caso.
A especialização regex_traits<wchar_t>
reconhece os nomes L"d"
, L"s"
, , L"w"
, L"alnum"
, L"alpha"
L"blank"
L"cntrl"
L"digit"
L"graph"
L"lower"
L"print"
L"punct"
L"space"
L"upper"
e L"xdigit"
, tudo independentemente do caso.
regex_traits::lookup_collatename
Mapeia uma sequência para um elemento de agrupamento.
template <class FwdIt>
string_type lookup_collatename(FwdIt first, FwdIt last) const;
Parâmetros
primeira
Início da sequência para olhar para cima.
último
Fim da sequência para pesquisar.
Observações
A função member retorna um objeto string contendo o elemento de agrupamento correspondente à sequência [first, last)
, ou uma string vazia se a sequência não for um elemento de agrupamento válido.
regex_traits::regex_traits
Constrói o objeto.
regex_traits();
Observações
O construtor constrói um objeto cujo objeto armazenado locale
é inicializado para a localidade padrão.
regex_traits::size_type
O tipo de comprimento de uma sequência.
typedef T6 size_type;
Observações
O typedef é um sinônimo de um tipo integral não assinado. Nas especializações e regex_traits<char>
é sinónimo de .regex_traits<wchar_t>
std::size_t
O typedef é sinônimo de std::size_t
.
regex_traits::string_type
O tipo de uma cadeia de caracteres de elementos.
typedef basic_string<Elem> string_type;
Observações
O typedef é sinônimo de basic_string<Elem>
.
regex_traits::transformar
Converte em sequência ordenada equivalente.
template <class FwdIt>
string_type transform(FwdIt first, FwdIt last) const;
Parâmetros
primeira
Início da sequência para transformar.
último
Fim da sequência para transformar.
Observações
A função member retorna uma cadeia de caracteres que ela gera usando uma regra de transformação que depende do objeto armazenado locale
. Para duas sequências de caracteres designadas pelos intervalos [first1, last1)
do iterador e [first2, last2)
, transform(first1, last1) < transform(first2, last2)
se a sequência de caracteres designada pelo intervalo [first1, last1)
do iterador for classificada antes da sequência de caracteres designada pelo intervalo [first2, last2)
do iterador.
regex_traits::transform_primary
Converte em seqüência ordenada sem maiúsculas e minúsculas equivalente.
template <class FwdIt>
string_type transform_primary(FwdIt first, FwdIt last) const;
Parâmetros
primeira
Início da sequência para transformar.
último
Fim da sequência para transformar.
Observações
A função member retorna uma cadeia de caracteres que ela gera usando uma regra de transformação que depende do objeto armazenado locale
. Para duas sequências de caracteres designadas pelos intervalos [first1, last1)
do iterador e [first2, last2)
, transform_primary(first1, last1) < transform_primary(first2, last2)
se a sequência de caracteres designada pelo intervalo [first1, last1)
do iterador for classificada antes da sequência de caracteres designada pelo intervalo [first2, last2)
do iterador, sem considerar maiúsculas e minúsculas ou acentos.
regex_traits::traduzir
Converte em elemento correspondente equivalente.
char_type translate(char_type ch) const;
Parâmetros
ch
O elemento a converter.
Observações
A função de membro retorna um caractere que gera usando uma regra de transformação que depende do objeto armazenado locale
. Para dois char_type
objetos ch1
e ch2
, translate(ch1) == translate(ch2)
somente se ch1
e ch2
deve corresponder quando um ocorre na definição de expressão regular e o outro ocorre em uma posição correspondente na sequência de destino para uma correspondência sensível à localidade.
regex_traits::translate_nocase
Converte em elemento equivalente de correspondência sem maiúsculas e minúsculas.
char_type translate_nocase(char_type ch) const;
Parâmetros
ch
O elemento a converter.
Observações
A função de membro retorna um caractere que gera usando uma regra de transformação que depende do objeto armazenado locale
. Para dois char_type
objetos ch1
e ch2
, translate_nocase(ch1) == translate_nocase(ch2)
somente se ch1
e ch2
deve corresponder quando um ocorre na definição de expressão regular e o outro ocorre em uma posição correspondente na sequência de destino para uma correspondência que não diferencia maiúsculas de minúsculas.
regex_traits::valor
Converte um elemento em um valor de dígito.
int value(Elem ch, int radix) const;
Parâmetros
ch
O elemento a converter.
radix
A base aritmética a utilizar.
Observações
A função de membro retorna o valor representado pelo caractere ch no radix base, ou -1 se ch não for um dígito válido no radix base. A função só será chamada com um argumento radix de 8, 10 ou 16.
Ver também
<regex>
regex_constants Classe
regex_error Classe
<funções regex>
regex_iterator Classe
<Operadores Regex>
Classe regex_token_iterator
<Regex> TypeDefs
<regex_traits char> Classe
<regex_traits wchar_t> Classe