From 505ed6753d36035442976d2b0fd0b424d899f116 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Wed, 2 Oct 2024 21:22:41 +0300 Subject: [PATCH] Remove uses of BOOST_SP_NOEXCEPT from allocate_unique.hpp --- include/boost/smart_ptr/allocate_unique.hpp | 63 ++++++++++----------- 1 file changed, 31 insertions(+), 32 deletions(-) diff --git a/include/boost/smart_ptr/allocate_unique.hpp b/include/boost/smart_ptr/allocate_unique.hpp index cbe9801..ae255cf 100644 --- a/include/boost/smart_ptr/allocate_unique.hpp +++ b/include/boost/smart_ptr/allocate_unique.hpp @@ -8,7 +8,6 @@ Distributed under the Boost Software License, Version 1.0. #ifndef BOOST_SMART_PTR_ALLOCATE_UNIQUE_HPP #define BOOST_SMART_PTR_ALLOCATE_UNIQUE_HPP -#include #include #include #include @@ -67,41 +66,41 @@ class sp_alloc_ptr { public: typedef T element_type; - sp_alloc_ptr() BOOST_SP_NOEXCEPT + sp_alloc_ptr() noexcept : p_() { } #if defined(BOOST_MSVC) && BOOST_MSVC == 1600 - sp_alloc_ptr(T* p) BOOST_SP_NOEXCEPT + sp_alloc_ptr(T* p) noexcept : p_(const_cast::type*>(p)) { } #endif - sp_alloc_ptr(std::size_t, P p) BOOST_SP_NOEXCEPT + sp_alloc_ptr(std::size_t, P p) noexcept : p_(p) { } - sp_alloc_ptr(std::nullptr_t) BOOST_SP_NOEXCEPT + sp_alloc_ptr(std::nullptr_t) noexcept : p_() { } T& operator*() const { return *p_; } - T* operator->() const BOOST_SP_NOEXCEPT { + T* operator->() const noexcept { return boost::to_address(p_); } - explicit operator bool() const BOOST_SP_NOEXCEPT { + explicit operator bool() const noexcept { return !!p_; } - bool operator!() const BOOST_SP_NOEXCEPT { + bool operator!() const noexcept { return !p_; } - P ptr() const BOOST_SP_NOEXCEPT { + P ptr() const noexcept { return p_; } - BOOST_STATIC_CONSTEXPR std::size_t size() BOOST_SP_NOEXCEPT { + BOOST_STATIC_CONSTEXPR std::size_t size() noexcept { return 1; } @@ -122,33 +121,33 @@ class sp_alloc_ptr { public: typedef T element_type; - sp_alloc_ptr() BOOST_SP_NOEXCEPT + sp_alloc_ptr() noexcept : 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) , n_(n) { } - sp_alloc_ptr(std::nullptr_t) BOOST_SP_NOEXCEPT + sp_alloc_ptr(std::nullptr_t) noexcept : p_() { } T& operator[](std::size_t i) const { return p_[i]; } - explicit operator bool() const BOOST_SP_NOEXCEPT { + explicit operator bool() const noexcept { return !!p_; } - bool operator!() const BOOST_SP_NOEXCEPT { + bool operator!() const noexcept { return !p_; } - P ptr() const BOOST_SP_NOEXCEPT { + P ptr() const noexcept { return p_; } - std::size_t size() const BOOST_SP_NOEXCEPT { + std::size_t size() const noexcept { return n_; } @@ -170,32 +169,32 @@ class sp_alloc_ptr { public: typedef T element_type; - sp_alloc_ptr() BOOST_SP_NOEXCEPT + sp_alloc_ptr() noexcept : p_() { } - sp_alloc_ptr(std::size_t, P p) BOOST_SP_NOEXCEPT + sp_alloc_ptr(std::size_t, P p) noexcept : p_(p) { } - sp_alloc_ptr(std::nullptr_t) BOOST_SP_NOEXCEPT + sp_alloc_ptr(std::nullptr_t) noexcept : p_() { } T& operator[](std::size_t i) const { return p_[i]; } - explicit operator bool() const BOOST_SP_NOEXCEPT { + explicit operator bool() const noexcept { return !!p_; } - bool operator!() const BOOST_SP_NOEXCEPT { + bool operator!() const noexcept { return !p_; } - P ptr() const BOOST_SP_NOEXCEPT { + P ptr() const noexcept { return p_; } - BOOST_STATIC_CONSTEXPR std::size_t size() BOOST_SP_NOEXCEPT { + BOOST_STATIC_CONSTEXPR std::size_t size() noexcept { return N; } @@ -228,7 +227,7 @@ operator!=(const sp_alloc_ptr& lhs, const sp_alloc_ptr& rhs) template inline bool operator==(const sp_alloc_ptr& lhs, - std::nullptr_t) BOOST_SP_NOEXCEPT + std::nullptr_t) noexcept { return !lhs.ptr(); } @@ -236,7 +235,7 @@ operator==(const sp_alloc_ptr& lhs, template inline bool operator==(std::nullptr_t, - const sp_alloc_ptr& rhs) BOOST_SP_NOEXCEPT + const sp_alloc_ptr& rhs) noexcept { return !rhs.ptr(); } @@ -244,7 +243,7 @@ operator==(std::nullptr_t, template inline bool operator!=(const sp_alloc_ptr& lhs, - std::nullptr_t) BOOST_SP_NOEXCEPT + std::nullptr_t) noexcept { return !!lhs.ptr(); } @@ -252,7 +251,7 @@ operator!=(const sp_alloc_ptr& lhs, template inline bool operator!=(std::nullptr_t, - const sp_alloc_ptr& rhs) BOOST_SP_NOEXCEPT + const sp_alloc_ptr& rhs) noexcept { return !!rhs.ptr(); } @@ -293,7 +292,7 @@ public: typedef detail::sp_alloc_ptr::type> pointer; - explicit alloc_deleter(const allocator& a) BOOST_SP_NOEXCEPT + explicit alloc_deleter(const allocator& a) noexcept : base(empty_init_t(), a) { } 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_); } - allocator& state() BOOST_SP_NOEXCEPT { + allocator& state() noexcept { return a_; } - type release() BOOST_SP_NOEXCEPT { + type release() noexcept { pointer p = p_; p_ = pointer(); return type(typename deleter::pointer(n_, p), deleter(a_));