Remove uses of BOOST_SP_NOEXCEPT from allocate_unique.hpp

This commit is contained in:
Peter Dimov
2024-10-02 21:22:41 +03:00
parent 82bee8581d
commit 505ed6753d

View File

@@ -8,7 +8,6 @@ Distributed under the Boost Software License, Version 1.0.
#ifndef BOOST_SMART_PTR_ALLOCATE_UNIQUE_HPP #ifndef BOOST_SMART_PTR_ALLOCATE_UNIQUE_HPP
#define BOOST_SMART_PTR_ALLOCATE_UNIQUE_HPP #define BOOST_SMART_PTR_ALLOCATE_UNIQUE_HPP
#include <boost/smart_ptr/detail/sp_noexcept.hpp>
#include <boost/core/allocator_access.hpp> #include <boost/core/allocator_access.hpp>
#include <boost/core/alloc_construct.hpp> #include <boost/core/alloc_construct.hpp>
#include <boost/core/empty_value.hpp> #include <boost/core/empty_value.hpp>
@@ -67,41 +66,41 @@ class sp_alloc_ptr {
public: public:
typedef T element_type; typedef T element_type;
sp_alloc_ptr() BOOST_SP_NOEXCEPT sp_alloc_ptr() noexcept
: p_() { } : p_() { }
#if defined(BOOST_MSVC) && BOOST_MSVC == 1600 #if defined(BOOST_MSVC) && BOOST_MSVC == 1600
sp_alloc_ptr(T* p) BOOST_SP_NOEXCEPT sp_alloc_ptr(T* p) noexcept
: p_(const_cast<typename boost::remove_cv<T>::type*>(p)) { } : p_(const_cast<typename boost::remove_cv<T>::type*>(p)) { }
#endif #endif
sp_alloc_ptr(std::size_t, P p) BOOST_SP_NOEXCEPT sp_alloc_ptr(std::size_t, P p) noexcept
: p_(p) { } : p_(p) { }
sp_alloc_ptr(std::nullptr_t) BOOST_SP_NOEXCEPT sp_alloc_ptr(std::nullptr_t) noexcept
: p_() { } : p_() { }
T& operator*() const { T& operator*() const {
return *p_; return *p_;
} }
T* operator->() const BOOST_SP_NOEXCEPT { T* operator->() const noexcept {
return boost::to_address(p_); return boost::to_address(p_);
} }
explicit operator bool() const BOOST_SP_NOEXCEPT { explicit operator bool() const noexcept {
return !!p_; return !!p_;
} }
bool operator!() const BOOST_SP_NOEXCEPT { bool operator!() const noexcept {
return !p_; return !p_;
} }
P ptr() const BOOST_SP_NOEXCEPT { P ptr() const noexcept {
return p_; return p_;
} }
BOOST_STATIC_CONSTEXPR std::size_t size() BOOST_SP_NOEXCEPT { BOOST_STATIC_CONSTEXPR std::size_t size() noexcept {
return 1; return 1;
} }
@@ -122,33 +121,33 @@ class sp_alloc_ptr<T[], P> {
public: public:
typedef T element_type; typedef T element_type;
sp_alloc_ptr() BOOST_SP_NOEXCEPT sp_alloc_ptr() noexcept
: p_() { } : p_() { }
sp_alloc_ptr(std::size_t n, P p) BOOST_SP_NOEXCEPT sp_alloc_ptr(std::size_t n, P p) noexcept
: p_(p) : p_(p)
, n_(n) { } , n_(n) { }
sp_alloc_ptr(std::nullptr_t) BOOST_SP_NOEXCEPT sp_alloc_ptr(std::nullptr_t) noexcept
: p_() { } : p_() { }
T& operator[](std::size_t i) const { T& operator[](std::size_t i) const {
return p_[i]; return p_[i];
} }
explicit operator bool() const BOOST_SP_NOEXCEPT { explicit operator bool() const noexcept {
return !!p_; return !!p_;
} }
bool operator!() const BOOST_SP_NOEXCEPT { bool operator!() const noexcept {
return !p_; return !p_;
} }
P ptr() const BOOST_SP_NOEXCEPT { P ptr() const noexcept {
return p_; return p_;
} }
std::size_t size() const BOOST_SP_NOEXCEPT { std::size_t size() const noexcept {
return n_; return n_;
} }
@@ -170,32 +169,32 @@ class sp_alloc_ptr<T[N], P> {
public: public:
typedef T element_type; typedef T element_type;
sp_alloc_ptr() BOOST_SP_NOEXCEPT sp_alloc_ptr() noexcept
: p_() { } : p_() { }
sp_alloc_ptr(std::size_t, P p) BOOST_SP_NOEXCEPT sp_alloc_ptr(std::size_t, P p) noexcept
: p_(p) { } : p_(p) { }
sp_alloc_ptr(std::nullptr_t) BOOST_SP_NOEXCEPT sp_alloc_ptr(std::nullptr_t) noexcept
: p_() { } : p_() { }
T& operator[](std::size_t i) const { T& operator[](std::size_t i) const {
return p_[i]; return p_[i];
} }
explicit operator bool() const BOOST_SP_NOEXCEPT { explicit operator bool() const noexcept {
return !!p_; return !!p_;
} }
bool operator!() const BOOST_SP_NOEXCEPT { bool operator!() const noexcept {
return !p_; return !p_;
} }
P ptr() const BOOST_SP_NOEXCEPT { P ptr() const noexcept {
return p_; return p_;
} }
BOOST_STATIC_CONSTEXPR std::size_t size() BOOST_SP_NOEXCEPT { BOOST_STATIC_CONSTEXPR std::size_t size() noexcept {
return N; return N;
} }
@@ -228,7 +227,7 @@ operator!=(const sp_alloc_ptr<T, P>& lhs, const sp_alloc_ptr<T, P>& rhs)
template<class T, class P> template<class T, class P>
inline bool inline bool
operator==(const sp_alloc_ptr<T, P>& lhs, operator==(const sp_alloc_ptr<T, P>& lhs,
std::nullptr_t) BOOST_SP_NOEXCEPT std::nullptr_t) noexcept
{ {
return !lhs.ptr(); return !lhs.ptr();
} }
@@ -236,7 +235,7 @@ operator==(const sp_alloc_ptr<T, P>& lhs,
template<class T, class P> template<class T, class P>
inline bool inline bool
operator==(std::nullptr_t, operator==(std::nullptr_t,
const sp_alloc_ptr<T, P>& rhs) BOOST_SP_NOEXCEPT const sp_alloc_ptr<T, P>& rhs) noexcept
{ {
return !rhs.ptr(); return !rhs.ptr();
} }
@@ -244,7 +243,7 @@ operator==(std::nullptr_t,
template<class T, class P> template<class T, class P>
inline bool inline bool
operator!=(const sp_alloc_ptr<T, P>& lhs, operator!=(const sp_alloc_ptr<T, P>& lhs,
std::nullptr_t) BOOST_SP_NOEXCEPT std::nullptr_t) noexcept
{ {
return !!lhs.ptr(); return !!lhs.ptr();
} }
@@ -252,7 +251,7 @@ operator!=(const sp_alloc_ptr<T, P>& lhs,
template<class T, class P> template<class T, class P>
inline bool inline bool
operator!=(std::nullptr_t, operator!=(std::nullptr_t,
const sp_alloc_ptr<T, P>& rhs) BOOST_SP_NOEXCEPT const sp_alloc_ptr<T, P>& rhs) noexcept
{ {
return !!rhs.ptr(); return !!rhs.ptr();
} }
@@ -293,7 +292,7 @@ public:
typedef detail::sp_alloc_ptr<T, typedef detail::sp_alloc_ptr<T,
typename allocator_pointer<allocator>::type> pointer; typename allocator_pointer<allocator>::type> pointer;
explicit alloc_deleter(const allocator& a) BOOST_SP_NOEXCEPT explicit alloc_deleter(const allocator& a) noexcept
: base(empty_init_t(), a) { } : base(empty_init_t(), a) { }
void operator()(pointer p) { void operator()(pointer p) {
@@ -330,15 +329,15 @@ public:
} }
} }
typename allocator::value_type* get() const BOOST_SP_NOEXCEPT { typename allocator::value_type* get() const noexcept {
return boost::to_address(p_); return boost::to_address(p_);
} }
allocator& state() BOOST_SP_NOEXCEPT { allocator& state() noexcept {
return a_; return a_;
} }
type release() BOOST_SP_NOEXCEPT { type release() noexcept {
pointer p = p_; pointer p = p_;
p_ = pointer(); p_ = pointer();
return type(typename deleter::pointer(n_, p), deleter(a_)); return type(typename deleter::pointer(n_, p), deleter(a_));