2013-02-27 3 views
0

Есть ли способ использовать enable_if специально для boost :: fusion вызываемых объектов?enable_if boost :: fusion callable

template<typename F> 
void do_something(F f, enable_if< is_fusion_callable_object<F> >::type * = 0) 
{ 
    // how to define the "is_fusion_callable_object<> ? 
} 

Здесь F представляет собой сплав «слиты функция» не может принимать произвольную последовательность в качестве параметра

ответ

1

я пытался что-то подобное, до сих пор не увенчались успехом. Моя первая успешная попытка состояла в том, чтобы создать для другого числа параметров шаблона различные шаблоны с помощью boost praprorocessor makros. В ваших примерах это будет

template <typename P1, ......> 
do_something(boost::fusion::vector<P1, ....> const& v) 

Так как я должен был использовать VC10 я не мог использовать решение с переменным числом шаблонов. Возможно, это поможет вам дальше, даже вопрос довольно старый.

 Смежные вопросы

  • Нет связанных вопросов^_^