2016-11-13 2 views
1

Как вы печатаете строковое представление std::regex?Как вы печатаете std :: regex?

Скажем, у меня есть коллекция шаблонов, и я хотел бы, чтобы напечатать первый, который соответствует:

std::vector<std::regex>> patterns = Get(); 
for (auto pattern: patterns){ 
    if (std::regex_match("file.txt",pattern)){ 
    std::cout << "matched on pattern: " << /* ? pattern ? */ << '\n'; 
    } 
} 

std::cout не будет работать на std::regex.

Как представляется, не существует методов получения строкового представления.

Ожидается ли, что мы будем носить с собой строку отдельно или мне что-то не хватает в документах?

ответ

2

Как представляется, не существует методов получения строкового представления.

Исправить. Даже не указано, что std::regex даже сохраняет ваше выражение в форме, которую вы ему дали, что может быть, если реализация решает использовать более оптимизированный формат.

+0

Крысы. Мне кажется неудобным, но я думаю, что это не то, за что все хотят заплатить. Я сделаю тип обертки ... –

Смежные вопросы