PageRenderTime 11ms CodeModel.GetById 1ms app.highlight 7ms RepoModel.GetById 2ms app.codeStats 0ms

/Src/Dependencies/Boost/boost/exception/info_tuple.hpp

http://hadesmem.googlecode.com/
C++ Header | 76 lines | 66 code | 7 blank | 3 comment | 3 complexity | 6314edb46e3c882f51abfdd1138498d9 MD5 | raw file
 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
18namespace
19boost
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