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

_range_errors.c
Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 1999
00003  * Silicon Graphics
00004  *
00005  * Permission to use, copy, modify, distribute and sell this software
00006  * and its documentation for any purpose is hereby granted without fee,
00007  * provided that the above copyright notice appear in all copies and
00008  * that both that copyright notice and this permission notice appear
00009  * in supporting documentation.  Silicon Graphics makes no
00010  * representations about the suitability of this software for any
00011  * purpose.  It is provided "as is" without express or implied warranty.
00012  *
00013  */
00014 
00015 #if defined(_STLP_THROW_RANGE_ERRORS)
00016 #  if defined (_STLP_WHOLE_NATIVE_STD) && defined (_STLP_DONT_REDEFINE_STD)
00017 // In this mode we are going to throw native exception so that catch of
00018 // exception like std::runtime_error for instance will also catch exception
00019 // thrown by STLport containers like stlport::vector or stlport::string.
00020 #    include <stdexcept>
00021 #    include <string>
00022 #    define _STLP_THROW_MSG(ex,msg)  throw std::ex(msg)
00023 #  else
00024 #    if defined (__BUILDING_STLPORT)
00025 #      include <stdexcept>
00026 #      include <string>
00027 #    else
00028 #      ifndef _STLP_INTERNAL_STDEXCEPT
00029 #        include <stl/_stdexcept.h>
00030 #      endif
00031 #      ifndef _STLP_INTERNAL_STRING_H
00032 #        include <stl/_string.h>
00033 #      endif
00034 #    endif
00035 #    define _STLP_THROW_MSG(ex,msg)  throw ex(msg)
00036 #  endif
00037 #else
00038 #  if defined (__BUILDING_STLPORT)
00039 #    include <cstdlib>
00040 #    include <cstdio>
00041 #  else
00042 #    ifndef _STLP_INTERNAL_CSTDLIB
00043 #      include <stl/_cstdlib.h>
00044 #    endif
00045 #    ifndef _STLP_INTERNAL_CSTDIO
00046 #      include <stl/_cstdio.h>
00047 #    endif
00048 #  endif
00049 #  define _STLP_THROW_MSG(ex,msg)  puts(msg),_STLP_ABORT()
00050 #endif
00051 
00052 // For mode without library and throwing range errors, include the
00053 // stdexcept header and throw the appropriate exceptions directly.
00054 
00055 #if defined (_STLP_EXTERN_RANGE_ERRORS)
00056 #  define _STLP_THROW_FUNCT_SPEC void _STLP_DECLSPEC
00057 #else
00058 #  define _STLP_THROW_FUNCT_SPEC inline void
00059 #endif
00060 
00061 _STLP_BEGIN_NAMESPACE
00062 
00063 _STLP_THROW_FUNCT_SPEC _STLP_CALL __stl_throw_runtime_error(const char* __msg)
00064 { _STLP_THROW_MSG(runtime_error, __msg); }
00065 
00066 _STLP_THROW_FUNCT_SPEC _STLP_CALL __stl_throw_range_error(const char* __msg)
00067 { _STLP_THROW_MSG(range_error, __msg); }
00068 
00069 _STLP_THROW_FUNCT_SPEC _STLP_CALL __stl_throw_out_of_range(const char* __msg)
00070 { _STLP_THROW_MSG(out_of_range, __msg); }
00071 
00072 _STLP_THROW_FUNCT_SPEC _STLP_CALL __stl_throw_length_error(const char* __msg)
00073 { _STLP_THROW_MSG(length_error, __msg); }
00074 
00075 _STLP_THROW_FUNCT_SPEC _STLP_CALL __stl_throw_invalid_argument(const char* __msg)
00076 { _STLP_THROW_MSG(invalid_argument, __msg); }
00077 
00078 _STLP_THROW_FUNCT_SPEC _STLP_CALL __stl_throw_overflow_error(const char* __msg)
00079 { _STLP_THROW_MSG(overflow_error, __msg); }
00080 
00081 _STLP_END_NAMESPACE
00082 
00083 #undef _STLP_THROW_FUNCT_SPEC
00084 #undef _STLP_THROW_MSG

Generated on Sat May 26 2012 04:27:56 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.