Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Descreve as características dos elementos de correspondência.
Sintaxe
template<class Elem>
class regex_traits
Parâmetros
Elem
O tipo de elemento de caractere a ser descrito.
Comentários
O modelo de classe descreve várias características da expressão regular para o tipo Elem. O modelo de basic_regex classe usa essas informações para manipular elementos do tipo Elem.
Cada objeto regex_traits contém um objeto do tipo regex_traits::locale que é usado por algumas de suas funções membro. A localidade padrão é uma cópia de regex_traits::locale(). A função membro imbue substitui o objeto de localidade e a função de membro getloc retorna uma cópia do objeto de localidade.
Construtores
| Construtor | Descrição |
|---|---|
| regex_traits | Constrói o objeto . |
Typedefs
| Nome do tipo | Descrição |
|---|---|
| char_class_type | O tipo dos designadores da classe de caractere. |
| char_type | O tipo de um elemento. |
| locale_type | O tipo do objeto de localidade armazenado. |
| size_type | O tipo de um tamanho de 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. |
| imbuir | Altera o objeto de localidade armazenado. |
| isctype | Testa a associação da classe. |
| comprimento | Retorna o tamanho de uma sequência terminada em nulo. |
| lookup_classname | Mapeia a sequência para uma classe de caractere. |
| lookup_collatename | Mapeia uma sequência para um elemento de agrupamento. |
| transformar | É convertido na sequência ordenada equivalente. |
| transform_primary | É convertido na sequência ordenada sem distinção de maiúsculas e minúsculas. |
| traduzir | É convertido no elemento correspondente equivalente. |
| translate_nocase | É convertido no elemento correspondente equivalente sem distinção de maiúsculas e minúsculas. |
| valor | Converte um elemento em um valor de dígito. |
Requisitos
Cabeçalho:<regex>
Namespace: 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 dos designadores da classe de caractere.
typedef T8 char_class_type;
Comentários
O tipo é um sinônimo de um tipo não especificado que designa a classes de caracteres. Valores desse tipo podem ser combinados usando o operador | para designar classes de caracteres que serão a união das classes designado pelo operandos.
regex_traits::char_type
O tipo de um elemento.
typedef Elem char_type;
Comentários
O typedef é um sinônimo do argumento de modelo Elem.
regex_traits::getloc
Retorna o objeto de localidade armazenado.
locale_type getloc() const;
Comentários
A função membro retorna o objeto locale armazenado.
regex_traits::imbuir
Altera o objeto de localidade armazenado.
locale_type imbue(locale_type loc);
Parâmetros
Loc
O objeto de localidade a ser armazenado.
Comentários
A função membro copia loc para o objeto locale armazenado e retorna uma copia do valor anterior do objeto locale armazenado.
regex_traits::isctype
Testa a associação da classe.
bool isctype(char_type ch, char_class_type cls) const;
Parâmetros
Ch
O elemento para teste.
Cls
As classes de teste.
Comentários
A função de membro retornará true somente se o caractere ch estiver na classe de caracteres designada por cls.
regex_traits::comprimento
Retorna o tamanho de uma sequência terminada em nulo.
static size_type length(const char_type *str);
Parâmetros
Str
A sequência terminada em nulo.
Comentários
A função membro estática retorna std::char_traits<char_type>::length(str).
regex_traits::locale_type
O tipo do objeto de localidade armazenado.
typedef T7 locale_type;
Comentários
O typedef é um sinônimo de um tipo que encapsula as localidades. Nas especializações regex_traits<char> e regex_traits<wchar_t>, é um sinônimo de std::locale.
regex_traits::lookup_classname
Mapeia a sequência para uma classe de caractere.
template <class FwdIt>
char_class_type lookup_classname(FwdIt first, FwdIt last) const;
Parâmetros
primeiro
Início da sequência a ser pesquisada.
último
Fim da sequência a ser pesquisada.
Comentários
A função membro retorna um valor que designa a classe de caractere nomeada pela sequência de caracteres apontada por seus argumentos. O valor não depende da diferença entre maiúsculas e minúsculas 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", sem considerar a diferença entre maiúsculas e minúsculas.
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", sem considerar a diferença entre maiúsculas e minúsculas.
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
primeiro
Início da sequência a ser pesquisada.
último
Fim da sequência a ser pesquisada.
Comentários
A função membro retorna um objeto de cadeia de caracteres que contém o elemento de agrupamento corresponde à sequência [first, last) ou uma cadeia de caracteres vazia se a sequência não for um elemento de agrupamento válido.
regex_traits::regex_traits
Constrói o objeto .
regex_traits();
Comentários
O construtor cria um objeto cujo armazenado objeto locale armazenado é inicializado para a localidade padrão.
regex_traits::size_type
O tipo de um tamanho de sequência.
typedef T6 size_type;
Comentários
O typedef é sinônimo de um tipo integral sem sinal. Nas especializações regex_traits<char> e regex_traits<wchar_t>, é um sinônimo de std::size_t.
O typedef é um 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;
Comentários
O typedef é um sinônimo de basic_string<Elem>.
regex_traits::transformar
É convertido na sequência ordenada equivalente.
template <class FwdIt>
string_type transform(FwdIt first, FwdIt last) const;
Parâmetros
primeiro
Início da sequência a ser transformada.
último
Fim da sequência a ser transformada.
Comentários
A função de membro retorna uma cadeia de caracteres que é gerada usando uma regra de transformação que depende do objeto locale armazenado. Para duas sequências de caracteres designadas pelos intervalos de iterador [first1, last1) e [first2, last2), transform(first1, last1) < transform(first2, last2) se a sequência de caracteres designada pelo intervalo de iterador [first1, last1) for classificada antes da sequência de caracteres designada pelo intervalo do iterador [first2, last2).
regex_traits::transform_primary
É convertido na sequência ordenada sem distinção de maiúsculas e minúsculas.
template <class FwdIt>
string_type transform_primary(FwdIt first, FwdIt last) const;
Parâmetros
primeiro
Início da sequência a ser transformada.
último
Fim da sequência a ser transformada.
Comentários
A função de membro retorna uma cadeia de caracteres que é gerada usando uma regra de transformação que depende do objeto locale armazenado. Para duas sequências de caracteres designadas pelos intervalos de iterador [first1, last1) e [first2, last2), transform_primary(first1, last1) < transform_primary(first2, last2) se a sequência de caracteres designada pelo intervalo de iterador [first1, last1) for classificada antes da sequência de caracteres designada pelo intervalo do iterador [first2, last2) sem considerar a distinção de maiúsculas e minúsculas nem acentos.
regex_traits::traduzir
É convertido no elemento correspondente equivalente.
char_type translate(char_type ch) const;
Parâmetros
Ch
O elemento a ser convertido.
Comentários
A função membro retorna um caracteres que é gerado usando uma regra de transformação que depende do objeto locale armazenado. Para dois objetos char_type, ch1 e ch2, translate(ch1) == translate(ch2) somente se ch1 e ch2 devem corresponder quando um ocorre na definição de expressão regular e o outro em uma posição correspondente na sequência de destino para uma correspondência com distinção de localidade.
regex_traits::translate_nocase
É convertido no elemento correspondente equivalente sem distinção de maiúsculas e minúsculas.
char_type translate_nocase(char_type ch) const;
Parâmetros
Ch
O elemento a ser convertido.
Comentários
A função membro retorna um caracteres que é gerado usando uma regra de transformação que depende do objeto locale armazenado. Para dois objetos char_type, ch1 e ch2, translate_nocase(ch1) == translate_nocase(ch2) somente se ch1 e ch2 devem corresponder quando um ocorre na definição de expressão regular e o outro em uma posição correspondente na sequência de destino para uma correspondência sem distinção entre maiúsculas e 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 ser convertido.
Base
A base aritmética a ser usada.
Comentários
A função membro retorna o valor representado pelo caractere ch na base radix ou -1 se ch não for um dígito válido na base radix. A função será chamada apenas com um argumento radix de 8, 10 ou 16.
Confira também
<regex>
Classe regex_constants
Classe regex_error
Funções <regex>
Classe regex_iterator
Operadores <regex>
Classe regex_token_iterator
<typedefs regex>
<Classe char> regex_traits
<Classe wchar_t regex_traits>