|
■No30882 (uskz さん) に返信
> (あるいはすでにあるBoost.FusionやTuple辺りを使う).
FusionやTupleだとoperator<<ありますからねぇ。
【Boost.Tupleの場合】
#include <iostream>
#include <algorithm>
#include <iterator>
#include <vector>
#include <string>
#include <boost/tuple/tuple.hpp>
#include <boost/tuple/tuple_io.hpp>
int main()
{
std::vector<boost::tuple<std::string, std::string> > v;
v.push_back(boost::make_tuple("a", "b"));
std::copy(v.begin(), v.end(),
std::ostream_iterator<boost::tuple<std::string, std::string> >(std::cout, "\n"));
}
【Boost.Fusionの場合】
#include <iostream>
#include <algorithm>
#include <iterator>
#include <vector>
#include <string>
#include <boost/fusion/sequence.hpp>
#include <boost/fusion/include/make_vector.hpp>
int main()
{
namespace fusion = boost::fusion;
std::vector<fusion::vector<std::string, std::string> > v;
v.push_back(fusion::make_vector("a", "b"));
std::copy(v.begin(), v.end(),
std::ostream_iterator<fusion::vector<std::string, std::string> >(std::cout, "\n"));
}
|