LAMA
|
00001 00033 #ifndef LAMA_THREAD_HPP_ 00034 #define LAMA_THREAD_HPP_ 00035 00036 // for dll_import 00037 #include <lama/config.hpp> 00038 00039 // boost 00040 #include <boost/thread.hpp> 00041 00042 namespace lama 00043 { 00044 00045 #ifdef WIN32 00046 #define LAMA_USE_BOOST_THREADID 00047 #endif 00048 00049 #ifndef LAMA_USE_BOOST_THREADID 00050 00051 #include <boost/version.hpp> 00052 00053 #define LAMA_BOOST_VERSION_PROVIDES_ID 103501 00054 00055 #if BOOST_VERSION < LAMA_BOOST_VERSION_PROVIDES_ID 00056 #include <pthread.h> 00057 #else 00058 #define LAMA_USE_BOOST_THREADID 00059 #endif 00060 #endif 00061 00062 class LAMA_DLL_IMPORTEXPORT Thread 00063 { 00064 public: 00065 00066 #ifdef LAMA_USE_BOOST_THREADID 00067 typedef boost::thread::id Id; 00068 #else 00069 typedef pthread_t Id; 00070 #endif 00071 00073 static Id getSelf(); 00074 }; 00075 00076 } // namespace lama 00077 00078 #endif // LAMA_THREAD_HPP_