В качестве примера: предположим, что у меня есть класс прямоугольника с таким внутренним значением:
Код: Выделить всё
class MyRect
{
public:
int width;
int height;
double value;
}
Я мог бы использовать «multi_index» следующим образом:
Код: Выделить всё
struct given_value{};
struct given_width{};
struct given_height{};
typedef multi_index_container
>
> MyDataStructure;
typedef MyDataStructure::index::type MyDataStructureGivenWidth;
typedef MyDataStructureGivenWidth::iterator WidthIterator;
Код: Выделить всё
WidthIterator start_iter = data_object.get().begin();
WidthIterator end_iter = data_object.get().upper_bound(input_width);
(И после этого найти объект с наибольшим значением в этом результате?)
Подробнее здесь: https://stackoverflow.com/questions/181 ... ulti-index
Мобильная версия