Подскажите, как его реализовать. Я понимаю, что каждый из возвращаемых функторов должен иметь доступ к области видимости первого. Но как это изобразить в коде на плюсах -- не вижу.
что то мне говорит, что не как
а сами написать?
template<typename F, typename R, typename A>
class carrying {
F m_f;
public:
carrying(F f) : m_f(f) {}
R operator()(A a)
{ return m_f(a, a); }
}
Нужно автоматически связывать произвольное количество обработчиков с источниками. Количество параметров тоже должно быть нефиксированным. Напрямую спросить у класса, что у него в потрохах -- не представляется возможным, поэтому и хочу попробовать каррировать обработчики.
Или какой-нить левый скриптовой язык попользовать, вроде Lua?
>Нужно автоматически связывать произвольное количество обработчиков с источниками.
Можно Loki::Functor & Loki::BindFirst попробовать. У Loki есть то приемущество что можно просто засунуть часть его исходников в проект, не добавляя зависимостей. boost я так понял не используется потому что не хочется лишних зависимостей, да?