std::regex_traits<CharT>:: lookup_collatename
| 
           
           
            
             template
            
            
             <
            
            
             class
            
            ForwardIt
            
             >
            
             
         string_type lookup_collatename ( ForwardIt first, ForwardIt last ) const ;  | 
         ||
| 
           
           
            
             template
            
            
             <
            
            
             class
            
            ForwardIt
            
             >
            
             
         string_type lookup_collatename ( ForwardIt first, ForwardIt last ) const ;  | 
         ||
       `タグ内のC++コード(`template
       
        string_type lookup_collatename(ForwardIt first, ForwardIt last) const;`)は翻訳せず、元のフォーマットを保持しています。
        
      
      
       文字シーケンス
       
        
         [
        
        
         
          first
         
        
        
         ,
        
        
         
          last
         
        
        
         )
        
       
       が現在適用されているロケールにおける有効な照合要素の名前を表す場合、その照合要素の名前を返します。それ以外の場合は、空の文字列を返します。
      
       照合要素は、POSIX正規表現において
       
        [.
       
       と
       
        .]
       
       の間に見つかる記号です。例えば、
       
        [.a.]
       
       はCロケールにおける文字
       
        a
       
       にマッチします。
       
        [.tilde.]
       
       も同様にCロケールでは文字
       
        ~
       
       にマッチします。
       
        [.ch.]
       
       はチェコ語ロケールでは二重音字
       
        ch
       
       にマッチしますが、他のほとんどのロケールでは
       
        
         std::regex_error
        
       
       をエラーコード
       
        
         std::regex_constants::error_collate
        
       
       で生成します。
      
パラメータ
| first, last | - | 照合要素名を表す文字シーケンスを決定する一組のイテレータ | 
| 型要件 | ||
         -
         
          ForwardIt
         
         は
         
          
           LegacyForwardIterator
          
         
         の要件を満たさなければならない。
         | 
       ||
戻り値
名前付き照合要素の文字列としての表現。
例
#include <iostream> #include <regex> #include <string> struct noisy_traits : std::regex_traits<char> { template<class Iter> string_type lookup_collatename(Iter first, Iter last) const { string_type result = regex_traits::lookup_collatename(first, last); std::cout << "regex_traits<>::lookup_collatename(\"" << string_type(first, last) << "\") returns \"" << result << "\"\n"; return result; } }; int main() { std::string str = "z|}a"; // Cロケールの照合順序: x,y,z,{,|,},~ std::basic_regex<char, noisy_traits> re("[x-[.tilde.]]*a", std::regex::basic); std::cout << std::boolalpha << std::regex_match(str, re) << '\n'; }
出力例:
regex_traits<>::lookup_collatename("tilde") returns "~"
true