00001
00023
00024
00025
00026
00027 #pragma once
00028
00029
00030
00031
00032
00036 #define ITERATORBASE_DEFECT 1
00037
00041 #if _MSC_VER >= 1300
00042 #define SPEC_TEMPLATE_DECL_DEFECT 1
00043 #endif
00044
00049 #define TEMPLATE_AMBIG7_DEFECT 1
00050
00052 #undef SSTREAM_DEFECT
00053
00054 # pragma warning(disable:4244) // conversion from double to float
00055 # pragma warning(disable:4305) // truncation from const double to const float
00056 # pragma warning(disable:4800) // forcing value to bool (performance warning)
00057
00058 #if _MSC_VER < 1300
00059
00060
00061
00062 # pragma warning(disable:4250) // inherits via dominance
00063 # pragma warning(disable:4786) // '255' characters in the debug information
00064
00065
00067 #ifndef M_PI
00068 #define M_PI 3.14159265358979323846
00069 #endif
00070
00074 #define SPEC_TEMPLATE_IMP_DEFECT 1
00075
00079 #define TEMPLATE_AMBIG_DEFECT 1
00080
00082 #define TERMINATE_DEFECT
00083
00088 #define BIND2ND_DEFECT 1
00089
00096 #define CLONE_DEFECT 1
00097
00100 #define ITERATOR_MEMBER_DEFECT 1
00101
00105 #define ITERATORBASE_DEFECT 1
00106
00109 #define MEMFUN1_DEFECT 1
00110
00113 #define TRANSFORM_DEFECT 1
00114
00117 #define VALARRAY_DEFECT 1
00118
00119 namespace std {
00120
00123 template < class T >
00124 inline const T& max ( const T & a, const T & b )
00125 {
00126
00127
00128 const T & retval = a < b ? b : a;
00129
00130 return retval;
00131 }
00132
00135 template < class T >
00136 inline const T& min ( const T & a, const T & b)
00137 {
00138
00139
00140 const T & retval = b < a ? b : a;
00141
00142 return retval;
00143 }
00144
00147 template < class T >
00148 inline const T & abs ( const T & a )
00149 {
00150 const T & retval = a < 0 ? -a : a;
00151
00152 return retval;
00153 }
00154
00155 }
00156
00157 #endif