ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

_typeinfo.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 1999
00003  * Boris Fomitchev
00004  *
00005  * This material is provided "as is", with absolutely no warranty expressed
00006  * or implied. Any use is at your own risk.
00007  *
00008  * Permission to use or copy this software for any purpose is hereby granted
00009  * without fee, provided the above notices are retained on all copies.
00010  * Permission to modify the code and to distribute modified code is granted,
00011  * provided the above notices are retained, and a notice that the code was
00012  * modified is included with the above copyright notice.
00013  *
00014  */
00015 
00016 #ifndef _STLP_INTERNAL_TYPEINFO
00017 #define _STLP_INTERNAL_TYPEINFO
00018 
00019 #if !defined (_STLP_NO_TYPEINFO)
00020 
00021 #  if defined (_STLP_NO_NEW_NEW_HEADER)
00022 #    include <typeinfo.h>
00023 #  else
00024 #    if defined (_STLP_HAS_INCLUDE_NEXT)
00025 #      include_next <typeinfo>
00026 #    else
00027 #      include _STLP_NATIVE_CPP_RUNTIME_HEADER(typeinfo)
00028 #    endif
00029 #  endif
00030 
00031 #  if (defined(_STLP_MSVC) && (_STLP_MSVC >= 1300)) || (defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 800))
00032 // In .NET, <typeinfo> actually includes <typeinfo.h>
00033 #    undef _STLP_OLDSTD_typeinfo
00034 #  endif
00035 
00036 // if <typeinfo.h> already included, do not import anything
00037 #  if defined(_STLP_USE_NAMESPACES) && !defined(_STLP_OLDSTD_typeinfo) && \
00038       (defined(_STLP_VENDOR_GLOBAL_EXCEPT_STD) || \
00039        defined(_STLP_USE_OWN_NAMESPACE) || defined (_STLP_DEBUG))
00040 #    if defined(_STLP_MSVC) && (_STLP_MSVC < 1300) && !defined(_STLP_WCE_NET)
00041 class bad_cast : public exception {};
00042 #    endif
00043 
00044 _STLP_BEGIN_NAMESPACE
00045 // VC 6 and eVC 4 have type_info in the global namespace
00046 #    if (defined(_STLP_MSVC) && (_STLP_MSVC < 1300)) || defined(_STLP_WCE_NET)
00047 using ::type_info;
00048 #    else
00049 using _STLP_VENDOR_EXCEPT_STD::type_info;
00050 #    endif
00051 
00052 #    if !defined (__DMC__)
00053 using _STLP_VENDOR_EXCEPT_STD::bad_typeid;
00054 #    endif
00055 
00056 #    if defined (_STLP_MSVC) && (_STLP_MSVC < 1300) && !defined (_STLP_WCE_NET)
00057 using ::bad_cast;
00058 #    else
00059 using _STLP_VENDOR_EXCEPT_STD::bad_cast;
00060 #    endif
00061 
00062 _STLP_END_NAMESPACE
00063 
00064 #  endif
00065 
00066 #else
00067 
00068 #  ifndef _STLP_INTERNAL_EXCEPTION
00069 #    include <stl/_exception.h>
00070 #  endif
00071 
00072 _STLP_BEGIN_NAMESPACE
00073 #  if !defined (__DMC__)
00074 struct bad_cast : exception {};
00075 #  endif
00076 _STLP_END_NAMESPACE
00077 #endif
00078 
00079 #endif

Generated on Fri May 25 2012 04:28:12 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.