Home | Info | Community | Development | myReactOS | Contact Us
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
1.7.6.1
|