00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef __STL_RANGE_ERRORS_H
00016 #define __STL_RANGE_ERRORS_H
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include <stl_config.h>
00026
00027 #if defined(__STL_CAN_THROW_RANGE_ERRORS) && \
00028 defined(__STL_USE_EXCEPTIONS) && \
00029 !defined(__STL_DONT_THROW_RANGE_ERRORS)
00030 # define __STL_THROW_RANGE_ERRORS
00031 #endif
00032
00033
00034
00035 #if defined(__STL_THROW_RANGE_ERRORS) && \
00036 defined(__sgi) && !defined(__GNUC__) && \
00037 _COMPILER_VERSION >= 730 && defined(_STANDARD_C_PLUS_PLUS)
00038
00039 __STL_BEGIN_NAMESPACE
00040 void __stl_throw_range_error(const char* __msg);
00041 void __stl_throw_length_error(const char* __msg);
00042 __STL_END_NAMESPACE
00043
00044
00045
00046 #elif defined(__STL_THROW_RANGE_ERRORS)
00047
00048 #include <stdexcept>
00049
00050 __STL_BEGIN_NAMESPACE
00051 inline void __stl_throw_range_error(const char* __msg)
00052 { throw range_error(__msg); }
00053 inline void __stl_throw_length_error(const char* __msg)
00054 { throw length_error(__msg); }
00055 __STL_END_NAMESPACE
00056
00057
00058 #else
00059
00060 __STL_BEGIN_NAMESPACE
00061 inline void __stl_throw_range_error(const char*) {}
00062 inline void __stl_throw_length_error(const char*) {}
00063 __STL_END_NAMESPACE
00064
00065 #endif
00066
00067 #endif
00068
00069
00070
00071