00001 #ifndef __StdHeaders_H__ 00002 #define __StdHeaders_H__ 00003 00004 #ifdef __BORLANDC__ 00005 #define __STD_ALGORITHM 00006 #endif 00007 00008 #if defined ( OGRE_GCC_VISIBILITY ) 00009 /* Until libstdc++ for gcc 4.2 is released, we have to declare all 00010 * symbols in libstdc++.so externally visible, otherwise we end up 00011 * with them marked as hidden by -fvisible=hidden. 00012 * 00013 * See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20218 00014 */ 00015 # pragma GCC visibility push(default) 00016 #endif 00017 00018 #include <cassert> 00019 #include <cstdio> 00020 #include <cstdlib> 00021 #include <ctime> 00022 #include <cstring> 00023 #include <cstdarg> 00024 #include <cmath> 00025 00026 // STL containers 00027 #include <vector> 00028 #include <map> 00029 #include <string> 00030 #include <set> 00031 #include <list> 00032 #include <deque> 00033 #include <queue> 00034 #include <bitset> 00035 00036 // Note - not in the original STL, but exists in SGI STL and STLport 00037 // For gcc 4.3 see http://gcc.gnu.org/gcc-4.3/changes.html 00038 #if (OGRE_COMPILER == OGRE_COMPILER_GNUC) && !defined(STLPORT) 00039 # if OGRE_COMP_VER >= 430 00040 # include <tr1/unordered_map> 00041 # include <tr1/unordered_set> 00042 # else 00043 # include <ext/hash_map> 00044 # include <ext/hash_set> 00045 # endif 00046 #else 00047 # if (OGRE_COMPILER == OGRE_COMPILER_MSVC) && !defined(STLPORT) && OGRE_COMP_VER >= 1600 // VC++ 10.0 00048 # include <unordered_map> 00049 # include <unordered_set> 00050 # else 00051 # include <hash_set> 00052 # include <hash_map> 00053 # endif 00054 #endif 00055 00056 // STL algorithms & functions 00057 #include <algorithm> 00058 #include <functional> 00059 #include <limits> 00060 00061 // C++ Stream stuff 00062 #include <fstream> 00063 #include <iostream> 00064 #include <iomanip> 00065 #include <sstream> 00066 00067 #ifdef __BORLANDC__ 00068 namespace Ogre 00069 { 00070 using namespace std; 00071 } 00072 #endif 00073 00074 extern "C" { 00075 00076 # include <sys/types.h> 00077 # include <sys/stat.h> 00078 00079 } 00080 00081 #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32 00082 # undef min 00083 # undef max 00084 # if defined( __MINGW32__ ) 00085 # include <unistd.h> 00086 # endif 00087 #endif 00088 00089 #if OGRE_PLATFORM == OGRE_PLATFORM_LINUX 00090 extern "C" { 00091 00092 # include <unistd.h> 00093 # include <dlfcn.h> 00094 00095 } 00096 #endif 00097 00098 #if OGRE_PLATFORM == OGRE_PLATFORM_APPLE 00099 extern "C" { 00100 # include <unistd.h> 00101 # include <sys/param.h> 00102 # include <CoreFoundation/CoreFoundation.h> 00103 } 00104 #endif 00105 00106 #if OGRE_THREAD_SUPPORT 00107 # undef NOMINMAX 00108 # define NOMINMAX 00109 # include <boost/thread/tss.hpp> 00110 # include <boost/thread/recursive_mutex.hpp> 00111 # include <boost/thread/condition.hpp> 00112 # include <boost/thread/thread.hpp> 00113 #endif 00114 00115 #if defined ( OGRE_GCC_VISIBILITY ) 00116 # pragma GCC visibility pop 00117 #endif 00118 #endif
Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Sep 27 22:02:26 2009