15 #ifndef STXXL_HEADER__COMPAT__SHARED_PTR_H_
16 #define STXXL_HEADER__COMPAT__SHARED_PTR_H_
20 #if defined(__GNUG__) && !defined(__GXX_EXPERIMENTAL_CXX0X__) \
21 && ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100) >= 40200) \
22 && (!defined(__ICC) || (__ICC >= 1100))
25 #if defined(STXXL_BOOST_CONFIG)
26 #include <boost/shared_ptr.hpp>
27 #include <boost/make_shared.hpp>
30 #include <stxxl/bits/namespace.h>
33 __STXXL_BEGIN_NAMESPACE
35 #ifndef STXXL_HAVE_SHARED_PTR
36 #define STXXL_HAVE_SHARED_PTR 1
39 #ifndef STXXL_HAVE_MAKE_SHARED
40 #define STXXL_HAVE_MAKE_SHARED 1
45 #if defined(__GXX_EXPERIMENTAL_CXX0X__)
46 using std::shared_ptr;
47 using std::make_shared;
48 using std::allocate_shared;
49 #elif defined(STXXL_BOOST_CONFIG)
50 using boost::shared_ptr;
51 using boost::make_shared;
52 using boost::allocate_shared;
53 #elif defined(__GNUG__) && ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100) >= 40200) \
54 && (!defined(__ICC) || (__ICC >= 1100))
55 using std::tr1::shared_ptr;
56 #undef STXXL_HAVE_MAKE_SHARED
57 #define STXXL_HAVE_MAKE_SHARED 0
60 #undef STXXL_HAVE_SHARED_PTR
61 #define STXXL_HAVE_SHARED_PTR 0
62 #undef STXXL_HAVE_MAKE_SHARED
63 #define STXXL_HAVE_MAKE_SHARED 0
69 #endif // !STXXL_HEADER__COMPAT__SHARED_PTR_H_