boost::fusion::flatten示例代码及用法说明
在C++中,boost::fusion是一个非常受欢迎的库,它提供了一些非常有用的元编程工具。其中,boost::fusion::flatten是一个特别有用的函数模板,用于将多层嵌套的序列展平为单一的序列。
下面是一个简单的示例程序,演示了如何使用boost::fusion::flatten:
#include <boost/fusion/include/flatten.hpp>
#include <boost/fusion/include/vector.hpp>
#include <iostream>
namespace fusion = boost::fusion;
int main()
{
typedef fusion::vector<fusion::vector<int, double>, fusion::vector<std::string, float>, int>
nested_vector_type;
nested_vector_type nested_vector(fusion::make_vector(fusion::make_vector(1, 3.14), fusion::make_vector("hello", 2.71f), 42));
auto flattened = fusion