forked from boostorg/smart_ptr
Merge branch 'develop' into feature/local_shared_ptr
This commit is contained in:
@ -9,7 +9,6 @@ Distributed under the Boost Software License, Version 1.0.
|
|||||||
#define BOOST_SMART_PTR_ALLOCATE_SHARED_ARRAY_HPP
|
#define BOOST_SMART_PTR_ALLOCATE_SHARED_ARRAY_HPP
|
||||||
|
|
||||||
#include <boost/smart_ptr/shared_ptr.hpp>
|
#include <boost/smart_ptr/shared_ptr.hpp>
|
||||||
#include <boost/smart_ptr/detail/sp_noexcept.hpp>
|
|
||||||
#include <boost/type_traits/alignment_of.hpp>
|
#include <boost/type_traits/alignment_of.hpp>
|
||||||
#include <boost/type_traits/has_trivial_constructor.hpp>
|
#include <boost/type_traits/has_trivial_constructor.hpp>
|
||||||
#include <boost/type_traits/has_trivial_copy.hpp>
|
#include <boost/type_traits/has_trivial_copy.hpp>
|
||||||
@ -112,7 +111,7 @@ struct sp_array_count<T[]> { };
|
|||||||
|
|
||||||
template<class D, class T>
|
template<class D, class T>
|
||||||
inline D*
|
inline D*
|
||||||
sp_get_deleter(const boost::shared_ptr<T>& value) BOOST_SP_NOEXCEPT
|
sp_get_deleter(const boost::shared_ptr<T>& value) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
return static_cast<D*>(value._internal_get_untyped_deleter());
|
return static_cast<D*>(value._internal_get_untyped_deleter());
|
||||||
}
|
}
|
||||||
@ -648,7 +647,8 @@ public:
|
|||||||
size_(size) { }
|
size_(size) { }
|
||||||
|
|
||||||
template<class U>
|
template<class U>
|
||||||
sp_array_allocator(const sp_array_allocator<T, U>& other) BOOST_SP_NOEXCEPT
|
sp_array_allocator(const sp_array_allocator<T, U>& other)
|
||||||
|
BOOST_SP_NOEXCEPT
|
||||||
: allocator_(other.allocator_),
|
: allocator_(other.allocator_),
|
||||||
size_(other.size_),
|
size_(other.size_),
|
||||||
result_(other.result_) { }
|
result_(other.result_) { }
|
||||||
@ -762,8 +762,9 @@ public:
|
|||||||
allocator.deallocate(this, 1);
|
allocator.deallocate(this, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void* get_deleter(const sp_typeinfo& ti) {
|
void* get_deleter(const sp_typeinfo& info) {
|
||||||
return ti == BOOST_SP_TYPEID(deleter_type)? &reinterpret_cast<char&>(deleter_): 0;
|
return info == BOOST_SP_TYPEID(deleter_type) ?
|
||||||
|
&reinterpret_cast<char&>(deleter_) : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void* get_local_deleter(const sp_typeinfo&) {
|
void* get_local_deleter(const sp_typeinfo&) {
|
||||||
@ -807,8 +808,9 @@ public:
|
|||||||
allocator.deallocate(this, 1);
|
allocator.deallocate(this, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void* get_deleter(const sp_typeinfo& ti) {
|
void* get_deleter(const sp_typeinfo& info) {
|
||||||
return ti == BOOST_SP_TYPEID(deleter_type)? &reinterpret_cast<char&>(deleter_): 0;
|
return info == BOOST_SP_TYPEID(deleter_type) ?
|
||||||
|
&reinterpret_cast<char&>(deleter_) : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void* get_local_deleter(const sp_typeinfo&) {
|
void* get_local_deleter(const sp_typeinfo&) {
|
||||||
@ -857,8 +859,9 @@ public:
|
|||||||
allocator.deallocate(this, 1);
|
allocator.deallocate(this, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void* get_deleter(const sp_typeinfo& ti) {
|
void* get_deleter(const sp_typeinfo& info) {
|
||||||
return ti == BOOST_SP_TYPEID(deleter_type)? &reinterpret_cast<char&>(deleter_): 0;
|
return info == BOOST_SP_TYPEID(deleter_type) ?
|
||||||
|
&reinterpret_cast<char&>(deleter_) : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void* get_local_deleter(const sp_typeinfo&) {
|
void* get_local_deleter(const sp_typeinfo&) {
|
||||||
@ -906,8 +909,9 @@ public:
|
|||||||
allocator.deallocate(this, 1);
|
allocator.deallocate(this, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void* get_deleter(const sp_typeinfo& ti) {
|
void* get_deleter(const sp_typeinfo& info) {
|
||||||
return ti == BOOST_SP_TYPEID(deleter_type)? &reinterpret_cast<char&>(deleter_): 0;
|
return info == BOOST_SP_TYPEID(deleter_type) ?
|
||||||
|
&reinterpret_cast<char&>(deleter_) : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void* get_local_deleter(const sp_typeinfo&) {
|
void* get_local_deleter(const sp_typeinfo&) {
|
||||||
|
Reference in New Issue
Block a user