Boost Exception

tuple/operator<<

#include <boost/exception/info_tuple.hpp>

namespace
boost
    {
    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 );
    }

Requirements:

E must be boost::exception, or a type that derives (indirectly) from boost::exception.

Effects:

Equivalent to x << v.get<0>() << ... << v.get<N>().

Returns:

x.

Throws:

std::bad_alloc, or any exception emitted by T1..TN copy constructor.