00001
00002
00003
00004
00027
00028
00029
00030
00031 #pragma once
00032
00033
00034
00035
00036
00040 #define ITERATORBASE_DEFECT 1
00041
00045 #if _MSC_VER >= 1300
00046 #define SPEC_TEMPLATE_DECL_DEFECT 1
00047 #endif
00048
00053 #define TEMPLATE_AMBIG7_DEFECT 1
00054
00056 #undef SSTREAM_DEFECT
00057
00058 # pragma warning(disable:4244) // conversion from double to float
00059 # pragma warning(disable:4305) // truncation from const double to const float
00060 # pragma warning(disable:4800) // forcing value to bool (performance warning)
00061
00062 #if _MSC_VER < 1300
00063
00064
00065
00066 # pragma warning(disable:4250) // inherits via dominance
00067 # pragma warning(disable:4786) // '255' characters in the debug information
00068
00069
00071 #ifndef M_PI
00072 #define M_PI 3.14159265358979323846
00073 #endif
00074
00078 #define SPEC_TEMPLATE_IMP_DEFECT 1
00079
00083 #define TEMPLATE_AMBIG_DEFECT 1
00084
00086 #define TERMINATE_DEFECT
00087
00092 #define BIND2ND_DEFECT 1
00093
00100 #define CLONE_DEFECT 1
00101
00104 #define ITERATOR_MEMBER_DEFECT 1
00105
00109 #define ITERATORBASE_DEFECT 1
00110
00113 #define MEMFUN1_DEFECT 1
00114
00117 #define TRANSFORM_DEFECT 1
00118
00121 #define VALARRAY_DEFECT 1
00122
00123 namespace std {
00124
00127 template < class T >
00128 inline const T& max ( const T & a, const T & b )
00129 {
00130
00131
00132 const T & retval = a < b ? b : a;
00133
00134 return retval;
00135 }
00136
00139 template < class T >
00140 inline const T& min ( const T & a, const T & b)
00141 {
00142
00143
00144 const T & retval = b < a ? b : a;
00145
00146 return retval;
00147 }
00148
00151 template < class T >
00152 inline const T & abs ( const T & a )
00153 {
00154 const T & retval = a < 0 ? -a : a;
00155
00156 return retval;
00157 }
00158
00159 }
00160
00161 #endif