Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Beskriver egenskaperna för element för matchning.
Syntax
template<class Elem>
class regex_traits
Parameterar
Elem
Typ av teckenelement som ska beskrivas.
Anmärkningar
Klassmallen beskriver olika reguljära uttrycksegenskaper för typ Elem. Klassmallen basic_regex använder den här informationen för att ändra element av typen Elem.
Varje regex_traits objekt innehåller ett objekt av typen regex_traits::locale som används av vissa av dess medlemsfunktioner. Standardspråket är en kopia av regex_traits::locale(). Medlemsfunktionen imbue ersätter språkvariantobjektet och medlemsfunktionen getloc returnerar en kopia av språkvariantobjektet.
Konstruktörer
| Konstruktor | Beskrivning |
|---|---|
| regex_traits | Konstruerar objektet. |
Typedefs
| Typnamn | Beskrivning |
|---|---|
| char_class_type | Typ av teckenklass designer. |
| char_type | Typ av element. |
| locale_type | Typen av det lagrade nationella objektet. |
| size_type | Typ av sekvenslängd. |
| string_type | Typ av en sträng med element. |
Medlemsfunktioner
| Medlemsfunktion | Beskrivning |
|---|---|
| getloc | Returnerar det lagrade nationella objektet. |
| genomsyra | Ändrar det lagrade nationella objektet. |
| isctype | Tester för klassmedlemskap. |
| längd | Returnerar längden på en null-avslutad sekvens. |
| lookup_classname | Mappar en sekvens till en teckenklass. |
| lookup_collatename | Mappar en sekvens till ett sorteringselement. |
| transformera | Konverterar till motsvarande ordnad sekvens. |
| transform_primary | Konverterar till motsvarande skiftlägeslös ordnad sekvens. |
| översätta | Konverterar till motsvarande matchande element. |
| translate_nocase | Konverterar till motsvarande skiftlägeslösa matchande element. |
| värde | Konverterar ett element till ett siffervärde. |
Kravspecifikation
Rubrik:<regex>
namnområde: std
Exempel
// 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
Typ av teckenklass designer.
typedef T8 char_class_type;
Anmärkningar
Typen är en synonym för en ospecificerad typ som anger teckenklasser. Värden av den här typen kan kombineras med operatorn | för att ange teckenklasser som är en union av de klasser som anges av operanderna.
regex_traits::char_type
Typ av element.
typedef Elem char_type;
Anmärkningar
Typedef är en synonym för mallargumentet Elem.
regex_traits::getloc
Returnerar det lagrade nationella objektet.
locale_type getloc() const;
Anmärkningar
Medlemsfunktionen returnerar det lagrade locale objektet.
regex_traits::imbue
Ändrar det lagrade nationella objektet.
locale_type imbue(locale_type loc);
Parameterar
Loc
Språkobjektet som ska lagras.
Anmärkningar
Medlemsfunktionen kopierar loc till det lagrade locale objektet och returnerar en kopia av det lagrade locale objektets tidigare värde.
regex_traits::isctype
Tester för klassmedlemskap.
bool isctype(char_type ch, char_class_type cls) const;
Parameterar
Ch
Elementet som ska testas.
Cls
De klasser som ska testas för.
Anmärkningar
Medlemsfunktionen returnerar endast sant om tecknet ch finns i teckenklassen som anges av cls.
regex_traits::length
Returnerar längden på en null-avslutad sekvens.
static size_type length(const char_type *str);
Parameterar
Str
Den null-avslutade sekvensen.
Anmärkningar
Funktionen static member returnerar std::char_traits<char_type>::length(str).
regex_traits::locale_type
Typen av det lagrade nationella objektet.
typedef T7 locale_type;
Anmärkningar
Typedef är en synonym för en typ som kapslar in nationella inställningar. I specialiseringarna regex_traits<char> och regex_traits<wchar_t> är det en synonym för std::locale.
regex_traits::lookup_classname
Mappar en sekvens till en teckenklass.
template <class FwdIt>
char_class_type lookup_classname(FwdIt first, FwdIt last) const;
Parameterar
första
Början av sekvensen som ska slås upp.
senaste
Slutet av sekvensen för att slå upp.
Anmärkningar
Medlemsfunktionen returnerar ett värde som anger den teckenklass som namnges av teckensekvensen som pekas på av dess argument. Värdet beror inte på fallet med tecknen i sekvensen.
Specialiseringen regex_traits<char> identifierar namnen "d", , "s""w", "alnum", "alpha", "blank", , "cntrl", "digit", "graph", , "lower", "print", "punct", , "space", , "upper"och "xdigit", allt utan hänsyn till fallet.
Specialiseringen regex_traits<wchar_t> identifierar namnen 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"och L"xdigit", allt utan hänsyn till fallet.
regex_traits::lookup_collatename
Mappar en sekvens till ett sorteringselement.
template <class FwdIt>
string_type lookup_collatename(FwdIt first, FwdIt last) const;
Parameterar
första
Början av sekvensen som ska slås upp.
senaste
Slutet av sekvensen för att slå upp.
Anmärkningar
Medlemsfunktionen returnerar ett strängobjekt som innehåller det sorteringselement som motsvarar sekvensen [first, last)eller en tom sträng om sekvensen inte är ett giltigt sorteringselement.
regex_traits::regex_traits
Konstruerar objektet.
regex_traits();
Anmärkningar
Konstruktorn konstruerar ett objekt vars lagrade locale objekt initieras till standardspråket.
regex_traits::size_type
Typ av sekvenslängd.
typedef T6 size_type;
Anmärkningar
Typedef är en synonym för en osignerad integraltyp. I specialiseringarna regex_traits<char> och regex_traits<wchar_t> är det en synonym för std::size_t.
Typedef är en synonym för std::size_t.
regex_traits::string_type
Typ av en sträng med element.
typedef basic_string<Elem> string_type;
Anmärkningar
Typedef är en synonym för basic_string<Elem>.
regex_traits::transform
Konverterar till motsvarande ordnad sekvens.
template <class FwdIt>
string_type transform(FwdIt first, FwdIt last) const;
Parameterar
första
Början av sekvensen som ska transformeras.
senaste
Slutet av sekvensen som ska transformeras.
Anmärkningar
Medlemsfunktionen returnerar en sträng som genereras med hjälp av en transformeringsregel som är beroende av det lagrade locale objektet. För två teckensekvenser som anges av iteratorintervallen [first1, last1) och [first2, last2), transform(first1, last1) < transform(first2, last2) om teckensekvensen som anges av iteratorintervallet [first1, last1) sorterar före teckensekvensen som anges av iteratorintervallet [first2, last2).
regex_traits::transform_primary
Konverterar till motsvarande skiftlägeslös ordnad sekvens.
template <class FwdIt>
string_type transform_primary(FwdIt first, FwdIt last) const;
Parameterar
första
Början av sekvensen som ska transformeras.
senaste
Slutet av sekvensen som ska transformeras.
Anmärkningar
Medlemsfunktionen returnerar en sträng som genereras med hjälp av en transformeringsregel som är beroende av det lagrade locale objektet. För två tecken ordnar designerat av iterator spänner [first1, last1) och [first2, last2), transform_primary(first1, last1) < transform_primary(first2, last2) om teckensekvensen som designeras av iteratorområdet [first1, last1) sorterar, för teckensekvensen som designeras av iteratorområdet [first2, last2) utan hänsyn till fallet eller accenter.
regex_traits::translate
Konverterar till motsvarande matchande element.
char_type translate(char_type ch) const;
Parameterar
Ch
Elementet som ska konverteras.
Anmärkningar
Medlemsfunktionen returnerar ett tecken som genereras med hjälp av en transformeringsregel som är beroende av det lagrade locale objektet. För två char_type objekt ch1 och ch2, translate(ch1) == translate(ch2) endast om ch1 och ch2 ska matcha när det ena inträffar i definitionen för reguljära uttryck och det andra inträffar på en motsvarande position i målsekvensen för en språkkänslig matchning.
regex_traits::translate_nocase
Konverterar till motsvarande skiftlägeslösa matchande element.
char_type translate_nocase(char_type ch) const;
Parameterar
Ch
Elementet som ska konverteras.
Anmärkningar
Medlemsfunktionen returnerar ett tecken som genereras med hjälp av en transformeringsregel som är beroende av det lagrade locale objektet. För två char_type objekt ch1 och ch2, translate_nocase(ch1) == translate_nocase(ch2) endast om ch1 och ch2 ska matcha när det ena inträffar i definitionen för reguljära uttryck och det andra inträffar på motsvarande position i målsekvensen för en skiftlägeskänslig matchning.
regex_traits::value
Konverterar ett element till ett siffervärde.
int value(Elem ch, int radix) const;
Parameterar
Ch
Elementet som ska konverteras.
Radix
Den aritmetiska bas som ska användas.
Anmärkningar
Medlemsfunktionen returnerar värdet som representeras av tecknet ch i basradixet, eller -1 om ch inte är en giltig siffra i basradixet. Funktionen anropas endast med radixargumentet 8, 10 eller 16.
Se även
<regex>
regex_constants-klass
regex_error-klass
<regex-funktioner>
regex_iterator-klass
<regex-operatorer>
regex_token_iterator-klass
<regex> typedefs
<regex_traits teckenklass>
<regex_traits wchar_t> klass