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