Я заинтересован в использовании класса Boost object_pool для повторного использования памяти для набора видеокадров.
boost::object_pool< VideoFrame > FramePool;
Теперь класс VideoFrame имеет два конструктора. Первая версия конструктора принимает 4 аргумента, а вторая - 6 аргументов / параметров.
Для каждого «нового» видеокадра, который выделен, я бы хотел вызвать конструктор объекта, используя версию с 4 или 6 параметрами. Например:
//VideoFrame *F = new VideoFrame(IdeckLinkOutput, &R, PixelFormat, FrameFlags);
VideoFrame *F = FramePool.construct(IdeckLinkOutput, &R, PixelFormat, FrameFlags);
При построении MSVS 2005 я получаю сообщение об ошибке:
error C2660: 'boost::object_pool<T>::construct' : function does not take 4 arguments
Согласно документации по методу 'construct' для object_pool, "ElementType должен иметь конструктор, соответствующий ???; количество заданных параметров не должно превышать то, что поддерживается через pool_construct"
Я видел страницу boost для pool_construct , но я не слишком уверен, в каком направлении мне нужно идти. У меня есть сборка надстройки на моей машине: pool_construct.m4, pool_construct.sh, pool_construct.bat, pool_construct.inc. Вопрос в том, что мне делать с этими примерами файлов в моем собственном проекте? Могу ли я создать свой собственный вариант pool_construct.inc и включить его в свой собственный проект? Как бы я добавил файл?
Любые советы / рекомендации будут высоко оценены. Обратите внимание, что я установил gnu's m4.
zerodefect.