Is there a 'standard' solution to this problem?

#include <list>
#include <iostream>
#include "boost/lambda/lambda.hpp"

typedef std::list<unsigned> List;
std::ostream & operator<<( std::ostream & s, const List & );

int main( )
{
  using namespace boost::lambda;
  List my_list;

  ( std::cout << _1 << "\n" )( my_list );
}

The compiler cannot find a match for operator<<() because the operator
and the type are defined in different namespaces, but it's really a nuisance!

- Rob.