info_tuple.hpp
Go to the documentation of this file.
00001 //Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.
00002 
00003 //Distributed under the Boost Software License, Version 1.0. (See accompanying
00004 //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
00005 
00006 #ifndef UUID_63EE924290FB11DC87BB856555D89593
00007 #define UUID_63EE924290FB11DC87BB856555D89593
00008 
00009 #include <boost/exception/info.hpp>
00010 #include <boost/tuple/tuple.hpp>
00011 
00012 namespace
00013 boost
00014     {
00015     template <
00016         class E,
00017         class Tag1,class T1,
00018         class Tag2,class T2 >
00019     inline
00020     E const &
00021     operator<<(
00022         E const & x,
00023         tuple<
00024             error_info<Tag1,T1>,
00025             error_info<Tag2,T2> > const & v )
00026         {
00027         return x << v.template get<0>() << v.template get<1>();
00028         }
00029 
00030     template <
00031         class E,
00032         class Tag1,class T1,
00033         class Tag2,class T2,
00034         class Tag3,class T3 >
00035     inline
00036     E const &
00037     operator<<(
00038         E const & x,
00039         tuple<
00040             error_info<Tag1,T1>,
00041             error_info<Tag2,T2>,
00042             error_info<Tag3,T3> > const & v )
00043         {
00044         return x << v.template get<0>() << v.template get<1>() << v.template get<2>();
00045         }
00046 
00047     template <
00048         class E,
00049         class Tag1,class T1,
00050         class Tag2,class T2,
00051         class Tag3,class T3,
00052         class Tag4,class T4 >
00053     inline
00054     E const &
00055     operator<<(
00056         E const & x,
00057         tuple<
00058             error_info<Tag1,T1>,
00059             error_info<Tag2,T2>,
00060             error_info<Tag3,T3>,
00061             error_info<Tag4,T4> > const & v )
00062         {
00063         return x << v.template get<0>() << v.template get<1>() << v.template get<2>() << v.template get<3>();
00064         }
00065     }
00066 
00067 #endif


appl
Author(s): petercai
autogenerated on Tue Jan 7 2014 11:02:29