BVB Source Codes

mars Show type_info.hpp Source code

Return Download mars: download type_info.hpp Source code - Download mars Source code - Type:.hpp
  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_C3E1741C754311DDB2834CCA55D89593
  7. #define UUID_C3E1741C754311DDB2834CCA55D89593
  8. #if (__GNUC__*100+__GNUC_MINOR__>301) && !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/core/typeinfo.hpp>
  16. #include <boost/core/demangle.hpp>
  17. #include <boost/current_function.hpp>
  18. #include <boost/config.hpp>
  19. #include <string>
  20.  
  21. namespace mars_boost {} namespace boost = mars_boost; namespace
  22. mars_boost
  23.     {
  24.     template <class T>
  25.     inline
  26.     std::string
  27.     tag_type_name()
  28.         {
  29. #ifdef BOOST_NO_TYPEID
  30.         return BOOST_CURRENT_FUNCTION;
  31. #else
  32.         return core::demangle(typeid(T*).name());
  33. #endif
  34.         }
  35.  
  36.     template <class T>
  37.     inline
  38.     std::string
  39.     type_name()
  40.         {
  41. #ifdef BOOST_NO_TYPEID
  42.         return BOOST_CURRENT_FUNCTION;
  43. #else
  44.         return core::demangle(typeid(T).name());
  45. #endif
  46.         }
  47.  
  48.     namespace
  49.     exception_detail
  50.         {
  51.         struct
  52.         type_info_
  53.             {
  54.             core::typeinfo const * type_;
  55.  
  56.             explicit
  57.             type_info_( core::typeinfo const & type ):
  58.                 type_(&type)
  59.                 {
  60.                 }
  61.  
  62.             friend
  63.             bool
  64.             operator<( type_info_ const & a, type_info_ const & b )
  65.                 {
  66.                 return 0!=(a.type_->before(*b.type_));
  67.                 }
  68.             };
  69.         }
  70.     }
  71.  
  72. #define BOOST_EXCEPTION_STATIC_TYPEID(T) ::mars_boost::exception_detail::type_info_(BOOST_CORE_TYPEID(T))
  73.  
  74. #ifndef BOOST_NO_RTTI
  75. #define BOOST_EXCEPTION_DYNAMIC_TYPEID(x) ::mars_boost::exception_detail::type_info_(typeid(x))
  76. #endif
  77.  
  78. #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
  79. #pragma warning(pop)
  80. #endif
  81. #endif
  82.  
downloadtype_info.hpp Source code - Download mars Source code
Related Source Codes/Software:
Hero - Elegant transition library for iOS & tvOS 2017-06-09
deep-photo-styletransfer - Code and data for paper "Deep Photo Style Transfer... 2017-06-09
mastodon - A GNU Social-compatible microblogging server ... 2017-06-09
plyr - A simple HTML5, YouTube and Vimeo player ... 2017-06-08
prepack - Prepack is a partial evaluator for JavaScript. Pre... 2017-06-08
Public-APIs - 2017-06-09
lottie-ios - An iOS library to natively render After Effects ve... 2017-06-09
Awesome-Hacking - A collection of various awesome lists for hackers,... 2017-06-09
algorithms - Minimal examples of data structures and algorithms... 2017-06-10
lectures - Oxford Deep NLP 2017 course 2017-06-10
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
postal - 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top