Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Menjelaskan karakteristik elemen untuk pencocokan.
Sintaks
template<class Elem>
class regex_traits
Parameter
Elem
Jenis elemen karakter yang akan dijelaskan.
Keterangan
Templat kelas menjelaskan berbagai sifat ekspresi reguler untuk jenis Elem. Templat basic_regex
kelas menggunakan informasi ini untuk memanipulasi elemen jenis Elem.
Setiap regex_traits
objek menyimpan objek jenis regex_traits::locale
yang digunakan oleh beberapa fungsi anggotanya. Lokal default adalah salinan .regex_traits::locale()
Fungsi imbue
anggota menggantikan objek lokal, dan fungsi getloc
anggota mengembalikan salinan objek lokal.
Konstruktor
Konstruktor | Deskripsi |
---|---|
regex_traits | Membuat objek. |
Typedefs
Nama jenis | Deskripsi |
---|---|
char_class_type | Jenis perancang kelas karakter. |
char_type | Jenis elemen. |
locale_type | Jenis objek lokal tersimpan. |
size_type | Jenis panjang urutan. |
string_type | Jenis string elemen. |
Fungsi anggota
Fungsi anggota | Deskripsi |
---|---|
getloc | Mengembalikan objek lokal tersimpan. |
imbue | Mengubah objek lokal tersimpan. |
isctype | Pengujian untuk keanggotaan kelas. |
panjangnya | Mengembalikan panjang urutan null-terminated. |
lookup_classname | Memetakan urutan ke kelas karakter. |
lookup_collatename | Memetakan urutan ke elemen kolase. |
Mengubah | Mengonversi ke urutan yang diurutkan yang setara. |
transform_primary | Mengonversi ke urutan yang diurutkan tanpa huruf besar/kecil yang setara. |
terjemah | Mengonversi ke elemen pencocokan yang setara. |
translate_nocase | Mengonversi ke elemen pencocokan tanpa huruf besar/kecil yang setara. |
nilai | Mengonversi elemen menjadi nilai digit. |
Persyaratan
Header:<regex>
Namespace: std
Contoh
// 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
Jenis perancang kelas karakter.
typedef T8 char_class_type;
Keterangan
Jenisnya adalah sinonim untuk jenis yang tidak ditentukan yang menunjuk kelas karakter. Nilai jenis ini dapat digabungkan menggunakan |
operator untuk menunjuk kelas karakter yang merupakan gabungan kelas yang ditunjuk oleh operand.
regex_traits::char_type
Jenis elemen.
typedef Elem char_type;
Keterangan
Typedef adalah sinonim untuk argumen Elem
templat .
regex_traits::getloc
Mengembalikan objek lokal tersimpan.
locale_type getloc() const;
Keterangan
Fungsi anggota mengembalikan objek tersimpan locale
.
regex_traits::imbue
Mengubah objek lokal tersimpan.
locale_type imbue(locale_type loc);
Parameter
Loc
Objek lokal untuk disimpan.
Keterangan
Fungsi anggota menyalin loc ke objek tersimpan locale
dan mengembalikan salinan nilai sebelumnya dari objek yang disimpan locale
.
regex_traits::isctype
Pengujian untuk keanggotaan kelas.
bool isctype(char_type ch, char_class_type cls) const;
Parameter
Ch
Elemen yang akan diuji.
Cls
Kelas yang akan diuji.
Keterangan
Fungsi anggota mengembalikan true hanya jika karakter ch berada di kelas karakter yang ditunjuk oleh cls.
regex_traits::length
Mengembalikan panjang urutan null-terminated.
static size_type length(const char_type *str);
Parameter
Str
Urutan null-terminated.
Keterangan
Fungsi anggota statis mengembalikan std::char_traits<char_type>::length(str)
.
regex_traits::locale_type
Jenis objek lokal tersimpan.
typedef T7 locale_type;
Keterangan
Typedef adalah sinonim untuk jenis yang merangkum lokal. Dalam spesialisasi regex_traits<char>
dan regex_traits<wchar_t>
itu adalah sinonim untuk std::locale
.
regex_traits::lookup_classname
Memetakan urutan ke kelas karakter.
template <class FwdIt>
char_class_type lookup_classname(FwdIt first, FwdIt last) const;
Parameter
pertama
Awal urutan untuk mencari.
terakhir
Akhir urutan untuk mencari.
Keterangan
Fungsi anggota mengembalikan nilai yang menunjuk kelas karakter yang dinamai oleh urutan karakter yang diarahkan oleh argumennya. Nilai tidak bergantung pada kasus karakter dalam urutan.
Spesialisasi regex_traits<char>
mengenali nama "d"
, , "s"
, "w"
, "alnum"
"alpha"
"blank"
"cntrl"
, "digit"
, "graph"
"lower"
"print"
, , "punct"
, "space"
, "upper"
dan "xdigit"
, semua tanpa memperhatikan kasus.
Spesialisasi regex_traits<wchar_t>
mengenali nama 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"
dan L"xdigit"
, semua tanpa memperhatikan kasus.
regex_traits::lookup_collatename
Memetakan urutan ke elemen kolase.
template <class FwdIt>
string_type lookup_collatename(FwdIt first, FwdIt last) const;
Parameter
pertama
Awal urutan untuk mencari.
terakhir
Akhir urutan untuk mencari.
Keterangan
Fungsi anggota mengembalikan objek string yang berisi elemen kolase yang sesuai dengan urutan [first, last)
, atau string kosong jika urutannya bukan elemen kolase yang valid.
regex_traits::regex_traits
Membuat objek.
regex_traits();
Keterangan
Konstruktor membuat objek yang objek tersimpannya locale
diinisialisasi ke lokal default.
regex_traits::size_type
Jenis panjang urutan.
typedef T6 size_type;
Keterangan
Typedef adalah sinonim untuk jenis integral yang tidak ditandatangani. Dalam spesialisasi regex_traits<char>
dan regex_traits<wchar_t>
itu adalah sinonim untuk std::size_t
.
Typedef adalah sinonim untuk std::size_t
.
regex_traits::string_type
Jenis string elemen.
typedef basic_string<Elem> string_type;
Keterangan
Typedef adalah sinonim untuk basic_string<Elem>
.
regex_traits::transformasi
Mengonversi ke urutan yang diurutkan yang setara.
template <class FwdIt>
string_type transform(FwdIt first, FwdIt last) const;
Parameter
pertama
Awal urutan untuk diubah.
terakhir
Akhir urutan untuk diubah.
Keterangan
Fungsi anggota mengembalikan string yang dihasilkannya dengan menggunakan aturan transformasi yang bergantung pada objek yang disimpan locale
. Untuk dua urutan karakter yang ditunjuk oleh rentang [first1, last1)
iterator dan [first2, last2)
, transform(first1, last1) < transform(first2, last2)
jika urutan karakter yang ditunjuk oleh rentang [first1, last1)
iterator mengurutkan sebelum urutan karakter yang ditunjuk oleh rentang [first2, last2)
iterator .
regex_traits::transform_primary
Mengonversi ke urutan yang diurutkan tanpa huruf besar/kecil yang setara.
template <class FwdIt>
string_type transform_primary(FwdIt first, FwdIt last) const;
Parameter
pertama
Awal urutan untuk diubah.
terakhir
Akhir urutan untuk diubah.
Keterangan
Fungsi anggota mengembalikan string yang dihasilkannya dengan menggunakan aturan transformasi yang bergantung pada objek yang disimpan locale
. Untuk dua urutan karakter yang ditunjuk oleh rentang [first1, last1)
iterator dan [first2, last2)
, transform_primary(first1, last1) < transform_primary(first2, last2)
jika urutan karakter yang ditunjuk oleh rentang [first1, last1)
iterator mengurutkan sebelum urutan karakter yang ditunjuk oleh rentang [first2, last2)
iterator tanpa memperhatikan kasus atau aksen.
regex_traits::translate
Mengonversi ke elemen pencocokan yang setara.
char_type translate(char_type ch) const;
Parameter
Ch
Elemen yang akan dikonversi.
Keterangan
Fungsi anggota mengembalikan karakter yang dihasilkannya dengan menggunakan aturan transformasi yang bergantung pada objek yang disimpan locale
. Untuk dua char_type
objek ch1
dan ch2
, translate(ch1) == translate(ch2)
hanya jika ch1
dan ch2
harus cocok ketika satu terjadi dalam definisi ekspresi reguler dan yang lain terjadi pada posisi yang sesuai dalam urutan target untuk kecocokan peka lokal.
regex_traits::translate_nocase
Mengonversi ke elemen pencocokan tanpa huruf besar/kecil yang setara.
char_type translate_nocase(char_type ch) const;
Parameter
Ch
Elemen yang akan dikonversi.
Keterangan
Fungsi anggota mengembalikan karakter yang dihasilkannya dengan menggunakan aturan transformasi yang bergantung pada objek yang disimpan locale
. Untuk dua char_type
objek ch1
dan ch2
, translate_nocase(ch1) == translate_nocase(ch2)
hanya jika ch1
dan ch2
harus cocok ketika satu terjadi dalam definisi ekspresi reguler dan yang lain terjadi pada posisi yang sesuai dalam urutan target untuk kecocokan yang tidak peka huruf besar/kecil.
regex_traits::value
Mengonversi elemen menjadi nilai digit.
int value(Elem ch, int radix) const;
Parameter
Ch
Elemen yang akan dikonversi.
Radix
Basis aritmatika yang akan digunakan.
Keterangan
Fungsi anggota mengembalikan nilai yang diwakili oleh karakter ch dalam radiks dasar, atau -1 jika ch bukan digit yang valid dalam radix dasar. Fungsi ini hanya akan dipanggil dengan argumen radiks 8, 10, atau 16.
Lihat juga
<regex>
Kelas regex_constants
Kelas regex_error
<fungsi regex>
Kelas regex_iterator
<operator regex>
Kelas regex_token_iterator
<typedef regex>
<Kelas karakter> regex_traits
<Kelas regex_traits wchar_t>