繁体   English   中英

enable_if boost :: fusion可调用

[英]enable_if boost::fusion callable

有没有一种方法专门针对boost :: fusion可调用对象使用enable_if?

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是一个融合“融合函数”,可以将任意Sequence用作参数

我尝试过类似的方法,直到现在都没有成功。 我的第一个成功尝试是通过boost praeprocessor makros为不同数量的模板参数创建不同的模板。 在您的示例中,这将是

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

由于必须使用VC10,因此无法使用带有可变参数模板的解决方案。 也许这会进一步帮助您,即使这个问题已经很久了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM