
On Sat, May 4, 2013 at 11:03 PM, Olaf Peter <ope-devel@gmx.de> wrote:
Hello,
I run into the problem to provide ostream operator<< support for spirit's debug facility and for lazyness using fusion's io support:
---8<--- #include <boost/fusion/include/adapt_**struct.hpp> #include <boost/fusion/include/io.hpp> #include <iostream>
namespace fusion = boost::fusion;
namespace client {
struct point { int x,y; };
template<typename CharT> std::basic_ostream<CharT>& operator<<(std::basic_ostream<**CharT>& os, point const& p) { os << p;
As is, this just infinitely recurses, as you observed. What do you want to do here? Call the Fusion-provided operator<<? Does explicitly qualifying work? E.g., fusion::operator<<(os, p). [...] - Jeff