std::regex_traits<CharT>:: lookup_collatename
| 
           
           
            
             template
            
            
             <
            
            
             class
            
            ForwardIt
            
             >
            
             
         string_type lookup_collatename ( ForwardIt first, ForwardIt last ) const ;  | 
         ||
       Если последовательность символов
       
        
         [
        
        
         
          first
         
        
        
         ,
        
        
         
          last
         
        
        
         )
        
       
       представляет имя допустимого элемента сортировки в текущей установленной локали, возвращает имя этого элемента сортировки. В противном случае возвращает пустую строку.
      
       Элементы сортировки — это символы, встречающиеся в POSIX-регулярных выражениях между
       
        [.
       
       и
       
        .]
       
       . Например,
       
        [.a.]
       
       соответствует символу
       
        a
       
       в локали C.
       
        [.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 locale collation order: 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