pointer.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include <g13/g13-config.h>
00020
00021 #ifndef G13_CXXPOINTER
00022 #define G13_CXXPOINTER
00023
00024 #ifdef G13_USE_BOOST_SMART_POINTER
00025 #include <boost/shared_ptr.hpp>
00026
00027 #define G13Pointer boost::shared_ptr
00028 #define G13WeakPointer boost::weak_ptr
00029 #define g13_static_pointer_cast boost::static_pointer_cast
00030 #define g13_const_pointer_cast boost::const_pointer_cast
00031 #define g13_dynamic_pointer_cast boost::dynamic_pointer_cast
00032 #else
00033 #ifdef G13_USE_CXX0X_SMART_POINTER
00034 #include <memory>
00035 #define G13Pointer std::shared_ptr
00036 #define G13WeakPointer std::weak_ptr
00037 #define g13_static_pointer_cast std::static_pointer_cast
00038 #define g13_const_pointer_cast std::const_pointer_cast
00039 #define g13_dynamic_pointer_cast std::dynamic_pointer_cast
00040 #else
00041 #include <typeinfo>
00042 #include <memory>
00043 #include <functional>
00044 #if __GNUC__ > 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ > 1 ))
00045 #include <ext/concurrence.h>
00046 #include <tr1/type_traits>
00047 #else
00048 #include <bits/concurrence.h>
00049 #endif
00050 #include <ext/mt_allocator.h>
00051 #include <tr1/boost_shared_ptr.h>
00052 #define G13Pointer std::tr1::shared_ptr
00053 #define G13WeakPointer std::tr1::weak_ptr
00054 #define g13_static_pointer_cast std::tr1::static_pointer_cast
00055 #define g13_const_pointer_cast std::tr1::const_pointer_cast
00056 #define g13_dynamic_pointer_cast std::tr1::dynamic_pointer_cast
00057 #endif
00058 #endif
00059
00060 #endif