]> AND Private Git Repository - canny.git/blob - stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/info_tuple.hpp
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
7a788ed0e935dd6ce413f2a5ee687ef6d7c2fe3d
[canny.git] / stc / exp / ml_stc_linux_make_v1.0 / include / boost / exception / info_tuple.hpp
1 //Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\r
2 \r
3 //Distributed under the Boost Software License, Version 1.0. (See accompanying\r
4 //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
5 \r
6 #ifndef UUID_63EE924290FB11DC87BB856555D89593\r
7 #define UUID_63EE924290FB11DC87BB856555D89593\r
8 #if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
9 #pragma GCC system_header\r
10 #endif\r
11 #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
12 #pragma warning(push,1)\r
13 #endif\r
14 \r
15 #include <boost/exception/info.hpp>\r
16 #include <boost/tuple/tuple.hpp>\r
17 \r
18 namespace\r
19 boost\r
20     {\r
21     template <\r
22         class E,\r
23         class Tag1,class T1,\r
24         class Tag2,class T2 >\r
25     inline\r
26     E const &\r
27     operator<<(\r
28         E const & x,\r
29         tuple<\r
30             error_info<Tag1,T1>,\r
31             error_info<Tag2,T2> > const & v )\r
32         {\r
33         return x << v.template get<0>() << v.template get<1>();\r
34         }\r
35 \r
36     template <\r
37         class E,\r
38         class Tag1,class T1,\r
39         class Tag2,class T2,\r
40         class Tag3,class T3 >\r
41     inline\r
42     E const &\r
43     operator<<(\r
44         E const & x,\r
45         tuple<\r
46             error_info<Tag1,T1>,\r
47             error_info<Tag2,T2>,\r
48             error_info<Tag3,T3> > const & v )\r
49         {\r
50         return x << v.template get<0>() << v.template get<1>() << v.template get<2>();\r
51         }\r
52 \r
53     template <\r
54         class E,\r
55         class Tag1,class T1,\r
56         class Tag2,class T2,\r
57         class Tag3,class T3,\r
58         class Tag4,class T4 >\r
59     inline\r
60     E const &\r
61     operator<<(\r
62         E const & x,\r
63         tuple<\r
64             error_info<Tag1,T1>,\r
65             error_info<Tag2,T2>,\r
66             error_info<Tag3,T3>,\r
67             error_info<Tag4,T4> > const & v )\r
68         {\r
69         return x << v.template get<0>() << v.template get<1>() << v.template get<2>() << v.template get<3>();\r
70         }\r
71     }\r
72 \r
73 #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\r
74 #pragma warning(pop)\r
75 #endif\r
76 #endif\r