MADNESS  version 0.9
shared_ptr.h
Go to the documentation of this file.
1 #ifndef MADNESS_SHARED_PTR_H_
2 #define MADNESS_SHARED_PTR_H_
3 
5 
7 
8 // Select header that contains shared_ptr
9 
10 #if defined(MADNESS_USE_MEMORY)
11 # include <memory>
12 #elif defined(MADNESS_USE_TR1_MEMORY)
13 # include <tr1/memory>
14 #elif defined(MADNESS_USE_BOOST_TR1_MEMORY_HPP)
15 # include <boost/tr1/memory.hpp>
16 #else
17 # define MADNESS_HAS_STD_SHARED_PTR 1
19  namespace std {
20  using namespace madness::tr1::shptr;
21  }
22 #endif // MEMORY
23 
24 #if defined(MADNESS_HAS_STD_TR1_SHARED_PTR) && !defined(MADNESS_HAS_STD_SHARED_PTR)
25 #define MADNESS_HAS_STD_SHARED_PTR 1
26 // shared_ptr is in std::tr1 but we want it in std namespace
27 namespace std {
28  using ::std::tr1::bad_weak_ptr;
29  using ::std::tr1::shared_ptr;
35  using ::std::tr1::weak_ptr;
36  using ::std::tr1::enable_shared_from_this;
37 }
38 
39 #endif
40 
41 #endif // MADNESS_SHARED_PTR_H_
D * get_deleter(shared_ptr< T > const &p)
Definition: shared_ptr_bits.h:572
Definition: mpreal.h:3066
void swap(mpreal &a, mpreal &b)
Definition: mpreal.h:2662
shared_ptr< T > static_pointer_cast(shared_ptr< U > const &r)
Definition: shared_ptr_bits.h:544
Definition: shared_ptr_bits.h:36
shared_ptr< T > const_pointer_cast(shared_ptr< U > const &r)
Definition: shared_ptr_bits.h:548
shared_ptr< T > dynamic_pointer_cast(shared_ptr< U > const &r)
Definition: shared_ptr_bits.h:552