1 //Copyright (c) 2006-2010 Emil Dotchevski and Reverge Studios, Inc.
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)
6 #ifndef UUID_C3E1741C754311DDB2834CCA55D89593
7 #define UUID_C3E1741C754311DDB2834CCA55D89593
8 #if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
9 #pragma GCC system_header
11 #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
12 #pragma warning(push,1)
15 #include <boost/core/typeinfo.hpp>
16 #include <boost/core/demangle.hpp>
17 #include <boost/current_function.hpp>
18 #include <boost/config.hpp>
29 #ifdef BOOST_NO_TYPEID
30 return BOOST_CURRENT_FUNCTION;
32 return core::demangle(typeid(T*).name());
41 #ifdef BOOST_NO_TYPEID
42 return BOOST_CURRENT_FUNCTION;
44 return core::demangle(typeid(T).name());
54 core::typeinfo const * type_;
57 type_info_( core::typeinfo const & type ):
64 operator<( type_info_ const & a, type_info_ const & b )
66 return 0!=(a.type_->before(*b.type_));
72 #define BOOST_EXCEPTION_STATIC_TYPEID(T) ::boost::exception_detail::type_info_(BOOST_CORE_TYPEID(T))
75 #define BOOST_EXCEPTION_DYNAMIC_TYPEID(x) ::boost::exception_detail::type_info_(typeid(x))
78 #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)