Boost.MultiIndex: поиск элементов с использованием нескольких полей

Я использую контейнер Boost multi_index для хранения объектов в соответствии с двумя целочисленными ключами K1 и K2. Я могу легко получить итератор по всем элементам, удовлетворяющим «K1 == X», например, взяв первый индекс и используя функцию find () (то же самое для K2 и значение Y), но я ищу способ чтобы получить итератор по всем элементам, удовлетворяющим как K1 == X, так и K2 == Y. Очевидное решение - получить итератор по всем элементам, удовлетворяющим K1 == X, а затем построить boost :: filter_iterator с предикатом K2 == Y, но есть ли способ сделать это (может быть, более эффективно) только с помощью Boost.MultiIndex?

Спасибо

Matthieu

7
задан Fred Foo 3 November 2011 в 17:15
поделиться