enable_if boost :: fusion callable

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

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 — это «объединенная функция», которая может принимать произвольную последовательность в качестве параметра.

0

Решение

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

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

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

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]