source: vendor/nemo/current/NEMOGCM/EXTERNAL/XIOS/extern/boost/include/boost/exception/detail/error_info_impl.hpp @ 44

Last change on this file since 44 was 44, checked in by cholod, 12 years ago

Load NEMO_TMP into vendor/nemo/current.

File size: 1.6 KB
Line 
1//Copyright (c) 2006-2010 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_CE6983AC753411DDA764247956D89593
7#define UUID_CE6983AC753411DDA764247956D89593
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 <string>
16
17namespace
18boost
19    {
20    namespace
21    exception_detail
22        {
23        class
24        error_info_base
25            {
26            public:
27
28            virtual std::string tag_typeid_name() const = 0;
29            virtual std::string value_as_string() const = 0;
30
31            protected:
32
33            ~error_info_base() throw()
34                {
35                }
36            };
37        }
38
39    template <class Tag,class T>
40    class
41    error_info:
42        public exception_detail::error_info_base
43        {
44        public:
45
46        typedef T value_type;
47
48        error_info( value_type const & value );
49        ~error_info() throw();
50
51        value_type const &
52        value() const
53            {
54            return value_;
55            }
56
57        value_type &
58        value()
59            {
60            return value_;
61            }
62
63        private:
64
65        std::string tag_typeid_name() const;
66        std::string value_as_string() const;
67
68        value_type value_;
69        };
70    }
71
72#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
73#pragma warning(pop)
74#endif
75#endif
Note: See TracBrowser for help on using the repository browser.