error_info_impl.hpp
Go to the documentation of this file.
00001 //Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.
00002 
00003 //Distributed under the Boost Software License, Version 1.0. (See accompanying
00004 //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
00005 
00006 #ifndef UUID_CE6983AC753411DDA764247956D89593
00007 #define UUID_CE6983AC753411DDA764247956D89593
00008 
00009 #include <string>
00010 
00011 namespace
00012 boost
00013     {
00014     namespace
00015     exception_detail
00016         {
00017         class
00018         error_info_base
00019             {
00020             public:
00021 
00022             virtual char const * tag_typeid_name() const = 0;
00023             virtual std::string value_as_string() const = 0;
00024 
00025             protected:
00026 
00027             virtual
00028             ~error_info_base() throw()
00029                 {
00030                 }
00031             };
00032         }
00033 
00034     template <class Tag,class T>
00035     class
00036     error_info:
00037         public exception_detail::error_info_base
00038         {
00039         public:
00040 
00041         typedef T value_type;
00042 
00043         error_info( value_type const & value );
00044         ~error_info() throw();
00045 
00046         value_type const &
00047         value() const
00048             {
00049             return value_;
00050             }
00051 
00052         private:
00053 
00054         char const * tag_typeid_name() const;
00055         std::string value_as_string() const;
00056 
00057         value_type const value_;
00058         };
00059     }
00060 
00061 #endif


appl
Author(s): petercai
autogenerated on Tue Jan 7 2014 11:02:29