Здравствуйте, nen777w, Вы писали:
N>Что есть из готового ((возможно из boost) функторов) для частичного лексикографического поиска в ассоциативных контейнерах хранящих строки?
Что такое "частичный лексикографический поиск"?
"Лексикографический" предполагает упорядоченность — ну так ассоциативный контейнер (std::set?) и без того упорядочен.
Вопрос в том, чтобы сделать поиск более эффективно, чем линейно пробежаться и проверить каждый элемент на совпадение с маской?
Вынужден огорчить: в общем случае углы срезать не получится.
Всё, что мы можем сделать — это взять префикс из маски (скажем, для "abc*def*ghi" — префикс будет "abc") и ограничить область забега диапазоном ["abc"-"abd")
Или вопрос в том, что маска известна заранее, и хочется построить контейнер, который
— отделяет подходящие строки от неподходящих (ну это банально: делаем два контейнера, проверяем каждую свежедобавляемую строку и кладём её в соответствующий)
— упорядочивает слова по маске (т.е. для *a* слова bAr и cAs считаются эквивалентными)
?