summaryrefslogtreecommitdiffstats
path: root/stlport/stlport/memory
blob: 3c0ceb38bc566a6c1c86990d136d486a49b123b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/*
 * Copyright (c) 1997-1999
 * Silicon Graphics Computer Systems, Inc.
 *
 * Copyright (c) 1999
 * Boris Fomitchev
 *
 * This material is provided "as is", with absolutely no warranty expressed
 * or implied. Any use is at your own risk.
 *
 * Permission to use or copy this software for any purpose is hereby granted
 * without fee, provided the above notices are retained on all copies.
 * Permission to modify the code and to distribute modified code is granted,
 * provided the above notices are retained, and a notice that the code was
 * modified is included with the above copyright notice.
 *
 */

#ifndef _STLP_MEMORY

#ifndef _STLP_OUTERMOST_HEADER_ID
#  define _STLP_OUTERMOST_HEADER_ID 0x46
#  include <stl/_prolog.h>
#  define _STLP_MEMORY
#endif

#if (_STLP_OUTERMOST_HEADER_ID == 0x46)
#  ifndef _STLP_INTERNAL_ALLOC_H
#    include <stl/_alloc.h>
#  endif

#  ifndef _STLP_INTERNAL_TEMPBUF_H
#    include <stl/_tempbuf.h>
#  endif

#  ifndef _STLP_INTERNAL_RAW_STORAGE_ITER_H
#    include <stl/_raw_storage_iter.h>
#  endif

#  include <stl/_auto_ptr.h>
#endif

#if (_STLP_OUTERMOST_HEADER_ID != 0x46) || defined (_STLP_IMPORT_VENDOR_STD)
#  if defined (__MSL__)
#    include _STLP_NATIVE_HEADER(limits)
#  endif

#  if !defined(_STLP_NO_EXTENSIONS) && defined(_STLP_USE_BOOST_SUPPORT)
#    define BOOST_TR1_MEMORY_INCLUDED
#    define BOOST_TR1_FULL_MEMORY_INCLUDED
#  endif

#  if defined (_STLP_HAS_INCLUDE_NEXT)
#    include_next <memory>
#  else
#    include _STLP_NATIVE_HEADER(memory)
#  endif

#  if defined (__MSL__) && (__MSL__ >= 0x2405   && __MSL__ < 0x5201) 
/*  980401 vss  MSL 2.4  Pro 3 Release  */  
#    include <new_mem.h>
#  endif
#endif

#if (_STLP_OUTERMOST_HEADER_ID == 0x46)
#  include <stl/_epilog.h>
#  undef _STLP_OUTERMOST_HEADER_ID
#endif

#if !defined(_STLP_NO_EXTENSIONS) && defined(_STLP_USE_BOOST_SUPPORT)

namespace boost {

class bad_weak_ptr;
template<class T> class shared_ptr;
template<class T> class weak_ptr;
template<class T> class enable_shared_from_this;
template<class D, class T> D * get_deleter(shared_ptr<T> const & p);
template<class T, class U> shared_ptr<T> static_pointer_cast(shared_ptr<U> const & r);
template<class T, class U> shared_ptr<T> const_pointer_cast(shared_ptr<U> const & r);
template<class T, class U> shared_ptr<T> dynamic_pointer_cast(shared_ptr<U> const & r);
template<class T> void swap(weak_ptr<T> & a, weak_ptr<T> & b);
template<class T> void swap(shared_ptr<T> & a, shared_ptr<T> & b);

namespace detail{
class shared_count;
class weak_count;
}

} // namespace boost

#  ifndef BOOST_SHARED_PTR_HPP_INCLUDED
#    include <boost/shared_ptr.hpp>
#  endif
#  ifndef BOOST_WEAK_PTR_HPP_INCLUDED
#    include <boost/weak_ptr.hpp>
#  endif
#  ifndef BOOST_ENABLE_SHARED_FROM_THIS_HPP_INCLUDED
#    include <boost/enable_shared_from_this.hpp>
#  endif

_STLP_BEGIN_NAMESPACE

namespace tr1 {

using ::boost::bad_weak_ptr;
using ::boost::shared_ptr;
using ::boost::swap;
using ::boost::static_pointer_cast;
using ::boost::dynamic_pointer_cast;
using ::boost::const_pointer_cast;
using ::boost::get_deleter;
using ::boost::weak_ptr;
using ::boost::enable_shared_from_this;

// shared_ptr IO
// weak_ptr IO

} // namespace tr1

_STLP_END_NAMESPACE

#endif /* !_STLP_NO_EXTENSIONS && _STLP_USE_BOOST_SUPPORT */

#endif /* _STLP_MEMORY */

// Local Variables:
// mode:C++
// End: