source: XIOS/dev/dev_olga/src/extern/boost/include/boost/exception/info_tuple.hpp @ 1022

Last change on this file since 1022 was 1022, checked in by mhnguyen, 7 years ago
File size: 1.9 KB
Line 
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
Note: See TracBrowser for help on using the repository browser.