86 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			86 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								//Copyright (c) 2006-2010 Emil Dotchevski and Reverge Studios, Inc.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								//Distributed under the Boost Software License, Version 1.0. (See accompanying
							 | 
						||
| 
								 | 
							
								//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifndef UUID_CE6983AC753411DDA764247956D89593
							 | 
						||
| 
								 | 
							
								#define UUID_CE6983AC753411DDA764247956D89593
							 | 
						||
| 
								 | 
							
								#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
							 | 
						||
| 
								 | 
							
								#pragma GCC system_header
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
							 | 
						||
| 
								 | 
							
								#pragma warning(push,1)
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include <boost/config.hpp>
							 | 
						||
| 
								 | 
							
								#include <utility>
							 | 
						||
| 
								 | 
							
								#include <string>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace
							 | 
						||
| 
								 | 
							
								boost
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								    namespace
							 | 
						||
| 
								 | 
							
								    exception_detail
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								        class
							 | 
						||
| 
								 | 
							
								        error_info_base
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								            public:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            virtual std::string name_value_string() const = 0;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            protected:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            virtual
							 | 
						||
| 
								 | 
							
								            ~error_info_base() throw()
							 | 
						||
| 
								 | 
							
								                {
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            };
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    template <class Tag,class T>
							 | 
						||
| 
								 | 
							
								    class
							 | 
						||
| 
								 | 
							
								    error_info:
							 | 
						||
| 
								 | 
							
								        public exception_detail::error_info_base
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								        public:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        typedef T value_type;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        error_info( value_type const & value );
							 | 
						||
| 
								 | 
							
								#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
							 | 
						||
| 
								 | 
							
								        error_info( error_info const & );
							 | 
						||
| 
								 | 
							
								        error_info( value_type && value ) BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT_EXPR(value_type(std::move(value))));
							 | 
						||
| 
								 | 
							
								        error_info( error_info && x ) BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT_EXPR(value_type(std::move(x.value_))));
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        ~error_info() throw();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        value_type const &
							 | 
						||
| 
								 | 
							
								        value() const
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								            return value_;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        value_type &
							 | 
						||
| 
								 | 
							
								        value()
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								            return value_;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        private:
							 | 
						||
| 
								 | 
							
								        error_info & operator=( error_info const & );
							 | 
						||
| 
								 | 
							
								#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
							 | 
						||
| 
								 | 
							
								        error_info & operator=( error_info && x );
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        std::string name_value_string() const;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        value_type value_;
							 | 
						||
| 
								 | 
							
								        };
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
							 | 
						||
| 
								 | 
							
								#pragma warning(pop)
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								#endif
							 |