44 #ifndef TEUCHOS_CONFIGDEFS_HPP 45 #define TEUCHOS_CONFIGDEFS_HPP 52 #include "TeuchosCore_config.h" 53 #include "Teuchos_config.h" 55 #ifdef HAVE_TEUCHOS_DEBUG 56 # define TEUCHOS_DEBUG 57 # define HAVE_TEUCHOS_ARRAY_BOUNDSCHECK 62 #if defined(_MSC_VER) || defined(__APPLE__) 63 # define TEUCHOS_NO_ZERO_ITERATOR_CONVERSION 66 #if defined(__IBMC__) || defined(__IBMCPP__) 67 # ifndef TEMPLATE_FRIENDS_NOT_SUPPORTED 68 # define TEMPLATE_FRIENDS_NOT_SUPPORTED 70 # ifndef TEUCHOS_PRIVIATE_DELETE_NOT_SUPPORTED 71 # define TEUCHOS_PRIVIATE_DELETE_NOT_SUPPORTED 108 #if defined(__IBMCPP__) 109 # pragma do_not_instantiate std::fpos<mbstate_t> 112 namespace Teuchos {
class DummyDummyClass; }
116 const double Teuchos_MinDouble = 1.0E-100;
117 const double Teuchos_MaxDouble = 1.0E+100;
118 const double Teuchos_Overflow = 1.79E308;
119 const double Teuchos_Underflow = 2.23E-308;
124 #define TEUCHOS_OSTRINGSTREAM_GET_C_STR(OSS) (OSS).str().c_str() 125 typedef std::ostringstream TeuchosOStringStream;
135 #ifdef TEUCHOS_CHK_ERR 136 #undef TEUCHOS_CHK_ERR 138 #ifdef TEUCHOS_CHK_PTR 139 #undef TEUCHOS_CHK_PTR 141 #ifdef TEUCHOS_CHK_REF 142 #undef TEUCHOS_CHK_REF 151 typedef TEUCHOS_ORDINAL_TYPE Teuchos_Ordinal;
154 namespace Teuchos {
typedef Teuchos_Ordinal Ordinal; }
158 TEUCHOS_DEPRECATED
typedef Teuchos_Ordinal Teuchos_Index;
162 #define TEUCHOS_CHK_ERR(a) { if (a != 0) return(a);} 163 #define TEUCHOS_CHK_PTR(a) { return(a);} 164 #define TEUCHOS_CHK_REF(a) { return(a);} 167 const int Teuchos_DefaultTracebackMode = 1;
171 #define TEUCHOS_MAX(x,y) (( (x) > (y) ) ? (x) : (y) ) 172 #define TEUCHOS_MIN(x,y) (( (x) < (y) ) ? (x) : (y) ) 173 #define TEUCHOS_SGN(x) (( (x) < 0.0 ) ? -1.0 : 1.0 ) 175 #ifndef HAVE_FORTRAN_SUPPORT 176 # ifndef FORTRAN_DISABLED 177 # define FORTRAN_DISABLED 181 #include "Teuchos_DLLExportMacro.h" The Teuchos namespace contains all of the classes, structs and enums used by Teuchos, as well as a number of utility routines.