9 #ifndef BOOST_SMART_PTR_ALLOCATE_SHARED_ARRAY_HPP
10 #define BOOST_SMART_PTR_ALLOCATE_SHARED_ARRAY_HPP
16 template<
class T,
class A>
28 A1 a1(allocator, size, &p2);
30 A1* a2 =
static_cast<A1*
>(s1._internal_get_untyped_deleter());
32 #if !defined(BOOST_NO_CXX11_ALLOCATOR)
38 p1 =
reinterpret_cast<T1*
>(p2);
42 template<
class T,
class A>
56 A1 a1(allocator, &p2);
58 A1* a2 =
static_cast<A1*
>(s1._internal_get_untyped_deleter());
60 #if !defined(BOOST_NO_CXX11_ALLOCATOR)
66 p1 =
reinterpret_cast<T1*
>(p2);
70 template<
class T,
class A>
83 std::size_t n1 = M * size;
86 T3* p3 =
reinterpret_cast<T3*
>(&value);
88 A1 a1(allocator, size, &p2);
90 A1* a2 =
static_cast<A1*
>(s1._internal_get_untyped_deleter());
92 #if !defined(BOOST_NO_CXX11_ALLOCATOR)
93 boost::detail::as_init<T2, A, M>(allocator, p2, n1, p3);
95 boost::detail::ms_init<T2, M>(p2, n1, p3);
98 p1 =
reinterpret_cast<T1*
>(p2);
102 template<
class T,
class A>
118 T3* p3 =
reinterpret_cast<T3*
>(&value);
120 A1 a1(allocator, &p2);
122 A1* a2 =
static_cast<A1*
>(s1._internal_get_untyped_deleter());
124 #if !defined(BOOST_NO_CXX11_ALLOCATOR)
125 boost::detail::as_init<T2, A, M>(allocator, p2, N, p3);
127 boost::detail::ms_init<T2, M>(p2, N, p3);
130 p1 =
reinterpret_cast<T1*
>(p2);
134 template<
class T,
class A>
146 A1 a1(allocator, size, &p2);
148 A1* a2 =
static_cast<A1*
>(s1._internal_get_untyped_deleter());
152 p1 =
reinterpret_cast<T1*
>(p2);
156 template<
class T,
class A>
170 A1 a1(allocator, &p2);
172 A1* a2 =
static_cast<A1*
>(s1._internal_get_untyped_deleter());
176 p1 =
reinterpret_cast<T1*
>(p2);