読者です 読者をやめる 読者になる 読者になる

std::pairの出力

C++

std::pairのためのoperator<<()は、標準では用意されていないので
簡単なサンプルを書くためだけに自前のpair出力関数を定義していました。


Boost.Fusionには、Fusionのシーケンスを出力するためのヘッダと、
std::pairをFusionのシーケンスとして扱うためのヘッダが提供されているので、
これらを使えば以下のように書けます。

#include <iostream>
#include <utility>
#include <boost/fusion/include/std_pair.hpp>
#include <boost/fusion/include/io.hpp>

int main()
{
    using namespace boost::fusion;

    std::cout << std::make_pair(1, 3.14) << std::endl;
}
(1 3.14)