需要使用 boost::fusion::filter_if 元函数的示例
Need example of using boost::fusion::filter_if metafunction
给定一个boost::fusion::vector类型,我想过滤掉所有非ref成员以获得一个新类型。例如,这会将 boost::fusion::vector 转换为boost::fusion::vector.我猜 boost::fusion::filter_if 元函数可能能够做到这一点,但是文档中没有使用它的示例。任何建议将不胜感激。
像这样:
#include <iostream>
#include <boost/fusion/container/vector.hpp>
#include <boost/fusion/algorithm/transformation/filter_if.hpp>
#include <boost/fusion/include/at_c.hpp>
#include <boost/fusion/include/equal_to.hpp>
#include <boost/fusion/include/make_vector.hpp>
#include <boost/mpl/assert.hpp>
using namespace boost::fusion;
int main(void)
{
int a = 10;
double b = 11.;
vector<int, int&, double, double&> vec(1, a, 13., b);
if(filter_if<boost::mpl::not_<boost::is_reference<boost::mpl::_>>>(vec) == make_vector(1, 13.))
std::cout << "MATCH" << std::endl;
}
相关文章:
- Insert函数不适用于2 if语句C++
- Fmod 函数清楚地输出一个预期的双精度值,但 if(fmod == 预期的双精度值)的计算结果不是 true
- 调用一个小函数两次(例如在if条件和主体中)比将结果存储在局部变量中更可取
- 在 if 语句中调用重载构造函数失败
- 为什么当 while 循环中的 if 条件变为 false 时,我的函数不输出最后一条语句?
- 简化 if 流函数的 while 循环中的大量 while 循环
- 在 constexpr-if 条件下比较 constexpr 函数参数会导致错误
- if-else 与三元函数调用性能
- 函数如何在不这样做的情况下在新线程上运行"as if"?
- 无法编译包含"if constexpr"的函数模板实例化
- 性能:否则如果 vs if 在已经返回的函数中
- 重构模板函数中的常量表达式 if 语句
- if, else if, else 函数未准确显示结果
- 为什么 if 语句对于运算符重载函数计算 false
- 使用 if/else if 的函数输出问题
- 'if constexpr branch'不会在模板函数内的 lambda 中被丢弃
- C++在if函数中添加变量
- Visual Studio似乎忽略了我的IF函数
- 更简单的方法来写这个if函数c++
- SDL c++: if函数不工作.编译精细-逻辑错误