使用凤凰访问增强::元组的简单方法
Easy way to access the boost::tuple with phoenix
我想用phoenix(c++98)访问boost::tuple元素
#include <boost/tuple/tuple.hpp>
#include <boost/phoenix.hpp>
#include <algorithm>
#include <vector>
int main()
{
using namespace boost::phoenix::placeholders;
std::vector<boost::tuple<int> > vec;
vec.push_back(boost::make_tuple(3));
vec.push_back(boost::make_tuple(4));
std::for_each(vec.begin(), vec.end(), std::cout<<boost::get<0>(arg1)<<std::endl);
}
但它不起作用,我已经尝试过 std::p air 和自定义结构,但它们也不起作用。是否有可能通过一些直观、简单的解决方案访问这些元素?
只要发现你可以使用 boost::p hoenix::at_c 来访问元组元素
std::for_each(vec.begin(), vec.end(), std::cout<<boost::phoenix::at_c<0>(arg1)<<std::endl);
您也可以使用phoenix访问std::p air,但需要包含标题
#include <boost/fusion/adapted.hpp>
仍然缺少访问自定义结构的示例,如果我能弄清楚,我会发布它
编辑 :您需要包括
#include <boost/phoenix/fusion.hpp>
否则at_c可能找不到
相关文章:
- C++:TypeDef使用元组
- Pybind11:将元组列表从Python传递到C++
- 重载元组索引运算符-C++
- 在C++中,如何通过几种类型从元组中选择多个元素
- 将fold表达式与std::一起用于两个元组
- std::ranges::elements_view,用于自定义类似元组的数据
- 将元组的向量转换/构造为堆
- 专用于 std 元组的模板,而无需用户执行remove_cvref
- 将元组的向量构造成堆
- 元组由 Swig 生成的 Python 包装器返回,用于C++向量
- 将元组类型扩展为可变参数模板?
- 时间复杂度 当具有复合数据类型(如元组或对)时?
- 类内部和外部静态 constexpr 元组之间的差异
- 可变参数模板与使用元组在参数中添加不同的数据对
- 访问和打印元组中的数据,并使用 C++14 使用模板函数显示数据
- boost::包含提升单元的元组的哈希值
- 我正在寻找一种优雅的方式来从元组向量创建tuple_element向量
- 使用参数包和元组创建一个简单的表达式类
- 使用凤凰访问增强::元组的简单方法
- 与非类型模板和返回元组的函数的简单混合混淆