メインページ | ネームスペース一覧 | クラス階層 | 構成 | Directories | ファイル一覧 | ネームスペースメンバ | 構成メンバ | ファイルメンバ | 関連ページ

Env.h

説明を見る。
00001 #ifndef SPR_BASE_ENV_H
00002 #define SPR_BASE_ENV_H
00003 
00004 /** @file Env.h
00005     コンパイラ間の互換性を取るためのマクロ定義. */
00006 
00007 #if defined _MSC_VER && _MSC_VER <= 1300
00008  #define for if(0); else for
00009  #pragma warning (disable: 4786)
00010  #define TYPENAME
00011 #else
00012  #define TYPENAME typename
00013 #endif
00014 
00015 #if defined __BORLANDC__
00016  #pragma warn -8026
00017  #pragma warn -8027
00018 #endif
00019 
00020 
00021 /** DLLのエクスポートの指定
00022     DLLにエクスポートするためには,
00023     class SPR_DLL DLLCLASS C{}; のように,クラス宣言の前に DLLCLASS をつける.
00024     DLLを作るときは,EXPORT_DLL をマクロ定義しておく.*/
00025 
00026 #ifdef _MSC_VER
00027  #ifdef EXPORT_DLL
00028   #define SPR_DLL __declspec( dllexport )
00029   #pragma warning (disable: 4275 4251)
00030  #elif defined IMPORT_DLL
00031   #define SPR_DLL __declspec( dllimport )
00032  #else
00033   #define SPR_DLL
00034  #endif
00035 #else
00036  #define SPR_DLL
00037 #endif
00038 
00039 //  __cdecl
00040 #if defined _MSC_VER || defined __BORLANDC__
00041  #define SPR_CDECL  __cdecl
00042 #else
00043  #define SPR_CDECL
00044 #endif
00045 
00046 //  for VC6 class view
00047 #define DOUBLECOLON ::
00048 
00049 //  for Visual C++ 's strange spec of stl.
00050 #if defined _MSC_VER
00051  #if _MSC_VER <= 1300
00052   #undef min
00053   #undef max
00054   namespace std{
00055   template <class T>
00056   T min(T t1, T t2){
00057     return t1 < t2 ? t1 : t2; 
00058   }
00059   template <class T>
00060   T max(T t1, T t2){
00061     return t1 > t2 ? t1 : t2;
00062   }
00063   }
00064  #else
00065   #undef min
00066   #undef max
00067   #ifndef _MAX
00068    #define _MIN min
00069    #define _MAX max
00070   #endif
00071  #endif
00072 #endif
00073 
00074 #endif

Springheadに対してSun Apr 16 01:57:51 2006に生成されました。  doxygen 1.4.1