Go to the documentation of this file.00001
00002
00003
00004
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