Нужно реализоавать словарь, ключ в котором — сугубо положительное вещественное число, с некоторым допуском — скажем, diff = 0.1. Что имеется в виду —
если в мепе есть ключ 12.3 то по запросам от 12.2. до 12.4 будет находится именно этот элемент, соответсвующий ключу 12.3, то есть
XitriyMap m;
m[12.2]=9;
ASSERT(m[12.24]==9);
Мне кажется, что так как для сравнения в мепе используется ф-я типа
equal =!less(a,b) && !less (b,a);
основаная на передаваемом бинарном предикате less<T>,
то если реализовать
bool BinaryLess(float a, float b)
{
static const float difference = .1;
return (a+diff < b);
}
std::map<float,..., BinaryLess> frvcbl;
то будет работать как задумано.
Я прав? Нет ли здесь подвоха?
Саша.