Bagikan melalui


Kelas regex_traits

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 Elemtemplat .

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>