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