Boost logo

Boost Users :

Subject: [Boost-users] [fusion] adapted std::pair and ostream
From: Daniel James (danielpeterjames_at_[hidden])
Date: 2011-07-19 06:28:10


Hi

The docs:

http://www.boost.org/doc/libs/1_47_0/libs/fusion/doc/html/fusion/adapted/std__pair.html

seem to suggest that one can pipe an adapted std::pair 'directly' to cout.

I find the following though:

#include <iostream>
#include <boost/fusion/adapted.hpp> // adapt pair.
#include <boost/fusion/sequence.hpp> // operator<<() ?
#include <boost/fusion/container.hpp> // as_vector

int main(int argc, char** argv)
{
    std::pair<std::string, int> p("foo", 7);

    std::cout << p << std::endl; // does not compile although docs
suggest it should.
    std::cout << boost::fusion::as_vector(p) << std::endl; //
compiles and works as expected.

    return 0;
}

Am I missing an include? Is sending to cout without first using
as_vector actually supported?

Daniel


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net