#include <boost/exception/info.hpp>
#include <boost/exception/info_tuple.hpp>
namespace
boost
{
template <class E, class Tag1, class T1>
E const & operator<<( E const & x, error_info<Tag1,T1> const & v );
template <class E, class Tag1, class T1, ..., class TagN, class TN>
E const & operator<<( E const & x,
tuple<
error_info<Tag1,T1>,
...,
error_info<TagN,TN> > const & v );
}
E must be boost::exception, or a type that derives (indirectly) from boost::exception.
x.
std::bad_alloc, or any exception emitted by T1..TN copy constructor.