произвольная длина битового поля
Речь идет о битовом поле, который происходит от массива байт. Как вариант - из задачи поиска дубликатов на основе дескрипторов ORB. Цель - оставить максимальную точность (не использовать phash например). Сложность - длина битового поля не кратная 64, но главным образом отличающаяся от стандартных типов в большую сторону (максимум имеем на unsigned long long). Хотелось бы иметь возможность динамического расчета r, rcut и др. Т.е. входная величина только k - желаемая точность, дистанция хемминга)
Сначала думал о std::bitset, но данный тип имеет статическую инициализацию
на уровне шаблона (простите за калабмур), boost::dynamic_bitset почему-то всегда отвергаю испольование boost, vector
Хотелось бы услышать ваше мнение.
Если правильно понял, из-за того, что ORB возвращает 32 байта, а масимум что имеем это 8 байт в типе 64бит, хотелось HEngine прикрутить работать с 32 байтами, а не 8.
Ну так задачу сперва можно решить и без всяких HEngine, сохраняя 4 поля в MySQL например и посмотреть как работает. Далее можно сделать 4 объекта HEngine, для своей колонки.
Для больших типов надо будет переписывать,
но можно, например, использовать char* или std::vector
Ну и смысл в HEngine в том, чтобы быстрее работал, в случае использования vector будет уже туго. Думаю обычными xor в MySQL будет не намного медленее.