public member function
<locale>

std::collate::transform

string_type transform (const char_type* low, const char_type* high) const;
轉換字元序列
返回一個字串物件,該物件的字元值在與呼叫此函式對另一個字串返回的字元值進行詞典排序時,其結果與使用 collate::compare 比較字串的結果相同。

這允許在需要將單個字串與許多其他字串進行排序比較時加快比較速度,因為對於某些區域設定,詞典排序(例如 lexicographical_compare 演算法執行的排序)可能比 collate::compare 快得多。

內部,此函式僅呼叫虛保護成員 do_transform,對於預設特化的經典區域設定,它返回一個與範圍相同的字元的字串,而不執行任何轉換。

引數

low, high
指向序列的開始和結束字元的指標。使用的範圍是 [low,high),它包含 low 指向的所有字元以及 low 處的字元,但不包含 high 指向的字元。
請注意,空字元(如果有)也會被轉換,並且函式會繼續處理它們,直到整個範圍被轉換。
成員型別char_type是分面(facet)的字元型別(定義為collate的模板引數charT的別名)。

返回值

一個字串,如果與此函式對另一個字串返回的結果進行詞典排序,將返回與使用 collate::compare 比較兩個原始字串的結果相同。
成員型別 string_typebasic_string 的一個例項化,其字元型別與此 facet 相同(定義為 basic_string<charT> 的別名,其中 charTcollate 的模板引數)。

資料競爭

訪問 facet 物件以及範圍 [low,high) 中的字元。

異常安全

強異常保證: 如果丟擲異常,則沒有副作用。

另見