У меня в std::vector<A> хранятся отсортированные структуры А (для А определено отношение порядка). А еще у нас есть структура В, для которой определена операция сравнения со структурами А ("дружащая" с отношением порядка в А). Могу ли я натравливать std::equal_range на все это дело примерно следующим образом:
std::vector<A> index;
...
B b;
struct A_B_Less{
inline bool operator()(const A& a, const B& b) {...}
inline bool operator()(const B& b, const A& a) {...}
};
std::equal_range(index.begin(), index.end(), b, A_B_Less);
Боюсь, что не могу — но может кто что посоветует, как мне по упорядоченному списку одних объектов быстро искать equal_range для другого объекта ?
... всё это коряво, конечно, но по другому не хочу делать, чтобы размер этих А не увеличивать лишними полями, а то их в списке больно много.