CCfits 2.7

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List

MSconfig.h

    00001 //1
    00002 //2
    00003 //3
    00004 //4
    00027 // Use "#pragma once" instead of "ifndef MSCONFIG_H, define MSCONFIG_H,
    00028 // #endif" if you know you are using a Microsoft compiler, which we are
    00029 // if this file is being included. Using "pragma once" is much faster
    00030 // and less error prone.
    00031 #pragma once
    00032
    00033 // _MSC_VER == 1300 is the first release of Microsoft Visual C++ .NET.
    00034 // There are much fewer problems with this version.  So much of this
    00035 // file will be skipped
    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 /* Turn off annoying warning. */
    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   // Break this into two lines to avoid an incorrect warning with
    00131   // Cfront-based compilers.
    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   // Break this into two lines to avoid an incorrect warning with
    00143   // Cfront-based compilers.
    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 } //end namespace std::
    00160
    00161 #endif