diff --git a/include/boost/container/allocator.hpp b/include/boost/container/allocator.hpp
index b245c6f..45feaf1 100644
--- a/include/boost/container/allocator.hpp
+++ b/include/boost/container/allocator.hpp
@@ -193,17 +193,17 @@ class allocator
//!Deallocates previously allocated memory.
//!Never throws
- BOOST_CONTAINER_FORCEINLINE void deallocate(pointer ptr, size_type) BOOST_NOEXCEPT_OR_NOTHROW
+ inline void deallocate(pointer ptr, size_type) BOOST_NOEXCEPT_OR_NOTHROW
{ dlmalloc_free(ptr); }
//!Returns the maximum number of elements that could be allocated.
//!Never throws
- BOOST_CONTAINER_FORCEINLINE size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
+ inline size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
{ return size_type(-1)/(2u*sizeof(T)); }
//!Swaps two allocators, does nothing
//!because this allocator is stateless
- BOOST_CONTAINER_FORCEINLINE friend void swap(self_t &, self_t &) BOOST_NOEXCEPT_OR_NOTHROW
+ inline friend void swap(self_t &, self_t &) BOOST_NOEXCEPT_OR_NOTHROW
{}
//!An allocator always compares to true, as memory allocated with one
@@ -214,7 +214,7 @@ class allocator
//!An allocator always compares to false, as memory allocated with one
//!instance can be deallocated by another instance
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
friend bool operator!=(const allocator &, const allocator &) BOOST_NOEXCEPT_OR_NOTHROW
{ return false; }
@@ -251,7 +251,7 @@ class allocator
//!must be deallocated only with deallocate_one().
//!Throws bad_alloc if there is no enough memory
//!This function is available only with Version == 2
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE pointer allocate_one()
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline pointer allocate_one()
{
BOOST_STATIC_ASSERT(( Version > 1 ));
return this->allocate(1);
@@ -260,7 +260,7 @@ class allocator
//!Allocates many elements of size == 1.
//!Elements must be individually deallocated with deallocate_one()
//!This function is available only with Version == 2
- BOOST_CONTAINER_FORCEINLINE void allocate_individual(std::size_t num_elements, multiallocation_chain &chain)
+ inline void allocate_individual(std::size_t num_elements, multiallocation_chain &chain)
{
BOOST_STATIC_ASSERT(( Version > 1 ));
this->allocate_many(1, num_elements, chain);
@@ -278,7 +278,7 @@ class allocator
//!Deallocates memory allocated with allocate_one() or allocate_individual().
//!This function is available only with Version == 2
- BOOST_CONTAINER_FORCEINLINE
+ inline
void deallocate_individual(multiallocation_chain &chain) BOOST_NOEXCEPT_OR_NOTHROW
{
BOOST_STATIC_ASSERT(( Version > 1 ));
diff --git a/include/boost/container/allocator_traits.hpp b/include/boost/container/allocator_traits.hpp
index f5f73ef..f9a219a 100644
--- a/include/boost/container/allocator_traits.hpp
+++ b/include/boost/container/allocator_traits.hpp
@@ -298,18 +298,18 @@ struct allocator_traits
//! Returns: a.allocate(n)
//!
- BOOST_CONTAINER_FORCEINLINE static pointer allocate(Allocator &a, size_type n)
+ inline static pointer allocate(Allocator &a, size_type n)
{ return a.allocate(n); }
//! Returns: a.deallocate(p, n)
//!
//! Throws: Nothing
- BOOST_CONTAINER_FORCEINLINE static void deallocate(Allocator &a, pointer p, size_type n)
+ inline static void deallocate(Allocator &a, pointer p, size_type n)
{ a.deallocate(p, n); }
//! Effects: calls a.allocate(n, p)
if that call is well-formed;
//! otherwise, invokes a.allocate(n)
- BOOST_CONTAINER_FORCEINLINE static pointer allocate(Allocator &a, size_type n, const_void_pointer p)
+ inline static pointer allocate(Allocator &a, size_type n, const_void_pointer p)
{
const bool value = boost::container::dtl::
has_member_function_callable_with_allocate
@@ -321,7 +321,7 @@ struct allocator_traits
//! Effects: calls a.destroy(p)
if that call is well-formed;
//! otherwise, invokes p->~T()
.
template
- BOOST_CONTAINER_FORCEINLINE static void destroy(Allocator &a, T*p) BOOST_NOEXCEPT_OR_NOTHROW
+ inline static void destroy(Allocator &a, T*p) BOOST_NOEXCEPT_OR_NOTHROW
{
typedef T* destroy_pointer;
const bool value = boost::container::dtl::
@@ -333,7 +333,7 @@ struct allocator_traits
//! Returns: a.max_size()
if that expression is well-formed; otherwise,
//! numeric_limits::max()
.
- BOOST_CONTAINER_FORCEINLINE static size_type max_size(const Allocator &a) BOOST_NOEXCEPT_OR_NOTHROW
+ inline static size_type max_size(const Allocator &a) BOOST_NOEXCEPT_OR_NOTHROW
{
const bool value = allocator_traits_detail::has_max_size::value;
dtl::bool_ flag;
@@ -342,7 +342,7 @@ struct allocator_traits
//! Returns: a.select_on_container_copy_construction()
if that expression is well-formed;
//! otherwise, a.
- BOOST_CONTAINER_FORCEINLINE static BOOST_CONTAINER_DOC1ST(Allocator,
+ inline static BOOST_CONTAINER_DOC1ST(Allocator,
typename dtl::if_c
< allocator_traits_detail::has_select_on_container_copy_construction::value
BOOST_MOVE_I Allocator BOOST_MOVE_I const Allocator & >::type)
@@ -358,7 +358,7 @@ struct allocator_traits
//! Effects: calls a.construct(p, std::forward(args)...)
if that call is well-formed;
//! otherwise, invokes `placement new` (static_cast(p)) T(std::forward(args)...)
template
- BOOST_CONTAINER_FORCEINLINE static void construct(Allocator & a, T* p, BOOST_FWD_REF(Args)... args)
+ inline static void construct(Allocator & a, T* p, BOOST_FWD_REF(Args)... args)
{
static const bool value = ::boost::move_detail::and_
< dtl::is_not_std_allocator
@@ -372,7 +372,7 @@ struct allocator_traits
//! Returns: a.storage_is_unpropagable(p)
if is_partially_propagable::value is true; otherwise,
//! false
.
- BOOST_CONTAINER_FORCEINLINE static bool storage_is_unpropagable(const Allocator &a, pointer p) BOOST_NOEXCEPT_OR_NOTHROW
+ inline static bool storage_is_unpropagable(const Allocator &a, pointer p) BOOST_NOEXCEPT_OR_NOTHROW
{
dtl::bool_ flag;
return allocator_traits::priv_storage_is_unpropagable(flag, a, p);
@@ -380,7 +380,7 @@ struct allocator_traits
//! Returns: true
if is_always_equal::value == true
, otherwise,
//! a == b
.
- BOOST_CONTAINER_FORCEINLINE static bool equal(const Allocator &a, const Allocator &b) BOOST_NOEXCEPT_OR_NOTHROW
+ inline static bool equal(const Allocator &a, const Allocator &b) BOOST_NOEXCEPT_OR_NOTHROW
{
dtl::bool_ flag;
return allocator_traits::priv_equal(flag, a, b);
@@ -388,46 +388,46 @@ struct allocator_traits
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
private:
- BOOST_CONTAINER_FORCEINLINE static pointer priv_allocate(dtl::true_type, Allocator &a, size_type n, const_void_pointer p)
+ inline static pointer priv_allocate(dtl::true_type, Allocator &a, size_type n, const_void_pointer p)
{ return a.allocate(n, p); }
- BOOST_CONTAINER_FORCEINLINE static pointer priv_allocate(dtl::false_type, Allocator &a, size_type n, const_void_pointer)
+ inline static pointer priv_allocate(dtl::false_type, Allocator &a, size_type n, const_void_pointer)
{ return a.allocate(n); }
template
- BOOST_CONTAINER_FORCEINLINE static void priv_destroy(dtl::true_type, Allocator &a, T* p) BOOST_NOEXCEPT_OR_NOTHROW
+ inline static void priv_destroy(dtl::true_type, Allocator &a, T* p) BOOST_NOEXCEPT_OR_NOTHROW
{ a.destroy(p); }
template
- BOOST_CONTAINER_FORCEINLINE static void priv_destroy(dtl::false_type, Allocator &, T* p) BOOST_NOEXCEPT_OR_NOTHROW
+ inline static void priv_destroy(dtl::false_type, Allocator &, T* p) BOOST_NOEXCEPT_OR_NOTHROW
{ p->~T(); (void)p; }
- BOOST_CONTAINER_FORCEINLINE static size_type priv_max_size(dtl::true_type, const Allocator &a) BOOST_NOEXCEPT_OR_NOTHROW
+ inline static size_type priv_max_size(dtl::true_type, const Allocator &a) BOOST_NOEXCEPT_OR_NOTHROW
{ return a.max_size(); }
- BOOST_CONTAINER_FORCEINLINE static size_type priv_max_size(dtl::false_type, const Allocator &) BOOST_NOEXCEPT_OR_NOTHROW
+ inline static size_type priv_max_size(dtl::false_type, const Allocator &) BOOST_NOEXCEPT_OR_NOTHROW
{ return size_type(-1)/sizeof(value_type); }
- BOOST_CONTAINER_FORCEINLINE static Allocator priv_select_on_container_copy_construction(dtl::true_type, const Allocator &a)
+ inline static Allocator priv_select_on_container_copy_construction(dtl::true_type, const Allocator &a)
{ return a.select_on_container_copy_construction(); }
- BOOST_CONTAINER_FORCEINLINE static const Allocator &priv_select_on_container_copy_construction(dtl::false_type, const Allocator &a) BOOST_NOEXCEPT_OR_NOTHROW
+ inline static const Allocator &priv_select_on_container_copy_construction(dtl::false_type, const Allocator &a) BOOST_NOEXCEPT_OR_NOTHROW
{ return a; }
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
template
- BOOST_CONTAINER_FORCEINLINE static void priv_construct(dtl::true_type, Allocator &a, T *p, BOOST_FWD_REF(Args) ...args)
+ inline static void priv_construct(dtl::true_type, Allocator &a, T *p, BOOST_FWD_REF(Args) ...args)
{ a.construct( p, ::boost::forward(args)...); }
template
- BOOST_CONTAINER_FORCEINLINE static void priv_construct(dtl::false_type, Allocator &, T *p, BOOST_FWD_REF(Args) ...args)
+ inline static void priv_construct(dtl::false_type, Allocator &, T *p, BOOST_FWD_REF(Args) ...args)
{ ::new((void*)p, boost_container_new_t()) T(::boost::forward(args)...); }
#else // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
public:
#define BOOST_CONTAINER_ALLOCATOR_TRAITS_CONSTRUCT_IMPL(N) \
template\
- BOOST_CONTAINER_FORCEINLINE static void construct(Allocator &a, T *p BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
+ inline static void construct(Allocator &a, T *p BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
{\
static const bool value = ::boost::move_detail::and_ \
< dtl::is_not_std_allocator \
@@ -447,11 +447,11 @@ struct allocator_traits
/////////////////////////////////
#define BOOST_CONTAINER_ALLOCATOR_TRAITS_PRIV_CONSTRUCT_IMPL(N) \
template\
- BOOST_CONTAINER_FORCEINLINE static void priv_construct(dtl::true_type, Allocator &a, T *p BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
+ inline static void priv_construct(dtl::true_type, Allocator &a, T *p BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
{ a.construct( p BOOST_MOVE_I##N BOOST_MOVE_FWD##N ); }\
\
template\
- BOOST_CONTAINER_FORCEINLINE static void priv_construct(dtl::false_type, Allocator &, T *p BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
+ inline static void priv_construct(dtl::false_type, Allocator &, T *p BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
{ ::new((void*)p, boost_container_new_t()) T(BOOST_MOVE_FWD##N); }\
//
BOOST_MOVE_ITERATE_0TO8(BOOST_CONTAINER_ALLOCATOR_TRAITS_PRIV_CONSTRUCT_IMPL)
@@ -460,19 +460,19 @@ struct allocator_traits
#endif // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
template
- BOOST_CONTAINER_FORCEINLINE static void priv_construct(dtl::false_type, Allocator &, T *p, const ::boost::container::default_init_t&)
+ inline static void priv_construct(dtl::false_type, Allocator &, T *p, const ::boost::container::default_init_t&)
{ ::new((void*)p, boost_container_new_t()) T; }
- BOOST_CONTAINER_FORCEINLINE static bool priv_storage_is_unpropagable(dtl::true_type, const Allocator &a, pointer p)
+ inline static bool priv_storage_is_unpropagable(dtl::true_type, const Allocator &a, pointer p)
{ return a.storage_is_unpropagable(p); }
- BOOST_CONTAINER_FORCEINLINE static bool priv_storage_is_unpropagable(dtl::false_type, const Allocator &, pointer)
+ inline static bool priv_storage_is_unpropagable(dtl::false_type, const Allocator &, pointer)
{ return false; }
- BOOST_CONTAINER_FORCEINLINE static bool priv_equal(dtl::true_type, const Allocator &, const Allocator &)
+ inline static bool priv_equal(dtl::true_type, const Allocator &, const Allocator &)
{ return true; }
- BOOST_CONTAINER_FORCEINLINE static bool priv_equal(dtl::false_type, const Allocator &a, const Allocator &b)
+ inline static bool priv_equal(dtl::false_type, const Allocator &a, const Allocator &b)
{ return a == b; }
#endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
diff --git a/include/boost/container/deque.hpp b/include/boost/container/deque.hpp
index dafcaa0..3265a42 100644
--- a/include/boost/container/deque.hpp
+++ b/include/boost/container/deque.hpp
@@ -142,47 +142,47 @@ class deque_iterator
public:
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE Pointer get_cur() const { return m_cur; }
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE Pointer get_first() const { return m_first; }
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE Pointer get_last() const { return m_last; }
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE index_pointer get_node() const { return m_node; }
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline Pointer get_cur() const { return m_cur; }
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline Pointer get_first() const { return m_first; }
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline Pointer get_last() const { return m_last; }
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline index_pointer get_node() const { return m_node; }
- BOOST_CONTAINER_FORCEINLINE deque_iterator(val_alloc_ptr x, index_pointer y, difference_type block_size) BOOST_NOEXCEPT_OR_NOTHROW
+ inline deque_iterator(val_alloc_ptr x, index_pointer y, difference_type block_size) BOOST_NOEXCEPT_OR_NOTHROW
: m_cur(x), m_first(*y), m_last(*y + block_size), m_node(y)
{}
- BOOST_CONTAINER_FORCEINLINE deque_iterator(val_alloc_ptr x, index_pointer y, size_type block_size) BOOST_NOEXCEPT_OR_NOTHROW
+ inline deque_iterator(val_alloc_ptr x, index_pointer y, size_type block_size) BOOST_NOEXCEPT_OR_NOTHROW
: m_cur(x), m_first(*y), m_last(*y + difference_type(block_size)), m_node(y)
{}
- BOOST_CONTAINER_FORCEINLINE deque_iterator() BOOST_NOEXCEPT_OR_NOTHROW
+ inline deque_iterator() BOOST_NOEXCEPT_OR_NOTHROW
: m_cur(), m_first(), m_last(), m_node() //Value initialization to achieve "null iterators" (N3644)
{}
- BOOST_CONTAINER_FORCEINLINE deque_iterator(const deque_iterator& x) BOOST_NOEXCEPT_OR_NOTHROW
+ inline deque_iterator(const deque_iterator& x) BOOST_NOEXCEPT_OR_NOTHROW
: m_cur(x.get_cur()), m_first(x.get_first()), m_last(x.get_last()), m_node(x.get_node())
{}
- BOOST_CONTAINER_FORCEINLINE deque_iterator(const nonconst_iterator& x) BOOST_NOEXCEPT_OR_NOTHROW
+ inline deque_iterator(const nonconst_iterator& x) BOOST_NOEXCEPT_OR_NOTHROW
: m_cur(x.get_cur()), m_first(x.get_first()), m_last(x.get_last()), m_node(x.get_node())
{}
- BOOST_CONTAINER_FORCEINLINE deque_iterator(Pointer cur, Pointer first, Pointer last, index_pointer node) BOOST_NOEXCEPT_OR_NOTHROW
+ inline deque_iterator(Pointer cur, Pointer first, Pointer last, index_pointer node) BOOST_NOEXCEPT_OR_NOTHROW
: m_cur(cur), m_first(first), m_last(last), m_node(node)
{}
- BOOST_CONTAINER_FORCEINLINE deque_iterator& operator=(const deque_iterator& x) BOOST_NOEXCEPT_OR_NOTHROW
+ inline deque_iterator& operator=(const deque_iterator& x) BOOST_NOEXCEPT_OR_NOTHROW
{ m_cur = x.get_cur(); m_first = x.get_first(); m_last = x.get_last(); m_node = x.get_node(); return *this; }
- BOOST_CONTAINER_FORCEINLINE deque_iterator unconst() const BOOST_NOEXCEPT_OR_NOTHROW
+ inline deque_iterator unconst() const BOOST_NOEXCEPT_OR_NOTHROW
{
return deque_iterator(this->get_cur(), this->get_first(), this->get_last(), this->get_node());
}
- BOOST_CONTAINER_FORCEINLINE reference operator*() const BOOST_NOEXCEPT_OR_NOTHROW
+ inline reference operator*() const BOOST_NOEXCEPT_OR_NOTHROW
{ return *this->m_cur; }
- BOOST_CONTAINER_FORCEINLINE pointer operator->() const BOOST_NOEXCEPT_OR_NOTHROW
+ inline pointer operator->() const BOOST_NOEXCEPT_OR_NOTHROW
{ return this->m_cur; }
BOOST_CONTAINER_ATTRIBUTE_NODISCARD difference_type operator-(const deque_iterator& x) const BOOST_NOEXCEPT_OR_NOTHROW
@@ -209,7 +209,7 @@ class deque_iterator
return *this;
}
- BOOST_CONTAINER_FORCEINLINE deque_iterator operator++(int) BOOST_NOEXCEPT_OR_NOTHROW
+ inline deque_iterator operator++(int) BOOST_NOEXCEPT_OR_NOTHROW
{
deque_iterator tmp(*this);
++*this;
@@ -229,7 +229,7 @@ class deque_iterator
return *this;
}
- BOOST_CONTAINER_FORCEINLINE deque_iterator operator--(int) BOOST_NOEXCEPT_OR_NOTHROW
+ inline deque_iterator operator--(int) BOOST_NOEXCEPT_OR_NOTHROW
{
deque_iterator tmp(*this);
--*this;
@@ -257,55 +257,55 @@ class deque_iterator
return *this;
}
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
deque_iterator operator+(difference_type n) const BOOST_NOEXCEPT_OR_NOTHROW
{ deque_iterator tmp(*this); return tmp += n; }
- BOOST_CONTAINER_FORCEINLINE
+ inline
deque_iterator& operator-=(difference_type n) BOOST_NOEXCEPT_OR_NOTHROW
{ return *this += -n; }
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
deque_iterator operator-(difference_type n) const BOOST_NOEXCEPT_OR_NOTHROW
{ deque_iterator tmp(*this); return tmp -= n; }
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
reference operator[](difference_type n) const BOOST_NOEXCEPT_OR_NOTHROW
{ return *(*this + n); }
//Comparisons
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
friend bool operator==(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
{ return l.m_cur == r.m_cur; }
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
friend bool operator!=(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
{ return l.m_cur != r.m_cur; }
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
friend bool operator<(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
{ return (l.m_node == r.m_node) ? (l.m_cur < r.m_cur) : (l.m_node < r.m_node); }
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
friend bool operator>(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
{ return r < l; }
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
friend bool operator<=(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
{ return !(r < l); }
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
friend bool operator>=(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
{ return !(l < r); }
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
friend deque_iterator operator+(difference_type n, deque_iterator x) BOOST_NOEXCEPT_OR_NOTHROW
{ return x += n; }
- BOOST_CONTAINER_FORCEINLINE void priv_set_node(index_pointer new_node, size_type block_size) BOOST_NOEXCEPT_OR_NOTHROW
+ inline void priv_set_node(index_pointer new_node, size_type block_size) BOOST_NOEXCEPT_OR_NOTHROW
{ return this->priv_set_node(new_node, difference_type(block_size)); }
- BOOST_CONTAINER_FORCEINLINE void priv_set_node(index_pointer new_node, difference_type block_size) BOOST_NOEXCEPT_OR_NOTHROW
+ inline void priv_set_node(index_pointer new_node, difference_type block_size) BOOST_NOEXCEPT_OR_NOTHROW
{
this->m_node = new_node;
this->m_first = *new_node;
@@ -363,40 +363,40 @@ class deque_base
typedef dtl::deque_iterator iterator;
typedef dtl::deque_iterator const_iterator;
- BOOST_CONSTEXPR BOOST_CONTAINER_FORCEINLINE static size_type get_block_size() BOOST_NOEXCEPT_OR_NOTHROW
+ BOOST_CONSTEXPR inline static size_type get_block_size() BOOST_NOEXCEPT_OR_NOTHROW
{ return deque_block_size::value; }
- BOOST_CONSTEXPR BOOST_CONTAINER_FORCEINLINE static val_alloc_diff get_block_ssize() BOOST_NOEXCEPT_OR_NOTHROW
+ BOOST_CONSTEXPR inline static val_alloc_diff get_block_ssize() BOOST_NOEXCEPT_OR_NOTHROW
{ return val_alloc_diff((get_block_size)()); }
typedef deque_value_traits traits_t;
typedef ptr_alloc_t map_allocator_type;
- BOOST_CONTAINER_FORCEINLINE val_alloc_ptr priv_allocate_node()
+ inline val_alloc_ptr priv_allocate_node()
{ return this->alloc().allocate(get_block_size()); }
- BOOST_CONTAINER_FORCEINLINE void priv_deallocate_node(val_alloc_ptr p) BOOST_NOEXCEPT_OR_NOTHROW
+ inline void priv_deallocate_node(val_alloc_ptr p) BOOST_NOEXCEPT_OR_NOTHROW
{ this->alloc().deallocate(p, get_block_size()); }
- BOOST_CONTAINER_FORCEINLINE ptr_alloc_ptr priv_allocate_map(size_type n)
+ inline ptr_alloc_ptr priv_allocate_map(size_type n)
{ return this->ptr_alloc().allocate(n); }
- BOOST_CONTAINER_FORCEINLINE void priv_deallocate_map(ptr_alloc_ptr p, size_type n) BOOST_NOEXCEPT_OR_NOTHROW
+ inline void priv_deallocate_map(ptr_alloc_ptr p, size_type n) BOOST_NOEXCEPT_OR_NOTHROW
{ this->ptr_alloc().deallocate(p, n); }
- BOOST_CONTAINER_FORCEINLINE deque_base(size_type num_elements, const allocator_type& a)
+ inline deque_base(size_type num_elements, const allocator_type& a)
: members_(a)
{ this->priv_initialize_map(num_elements); }
- BOOST_CONTAINER_FORCEINLINE explicit deque_base(const allocator_type& a)
+ inline explicit deque_base(const allocator_type& a)
: members_(a)
{}
- BOOST_CONTAINER_FORCEINLINE deque_base()
+ inline deque_base()
: members_()
{}
- BOOST_CONTAINER_FORCEINLINE explicit deque_base(BOOST_RV_REF(deque_base) x)
+ inline explicit deque_base(BOOST_RV_REF(deque_base) x)
: members_( boost::move(x.ptr_alloc())
, boost::move(x.alloc()) )
{}
@@ -516,16 +516,16 @@ class deque_base
iterator m_finish;
} members_;
- BOOST_CONTAINER_FORCEINLINE ptr_alloc_t &ptr_alloc() BOOST_NOEXCEPT_OR_NOTHROW
+ inline ptr_alloc_t &ptr_alloc() BOOST_NOEXCEPT_OR_NOTHROW
{ return members_; }
- BOOST_CONTAINER_FORCEINLINE const ptr_alloc_t &ptr_alloc() const BOOST_NOEXCEPT_OR_NOTHROW
+ inline const ptr_alloc_t &ptr_alloc() const BOOST_NOEXCEPT_OR_NOTHROW
{ return members_; }
- BOOST_CONTAINER_FORCEINLINE allocator_type &alloc() BOOST_NOEXCEPT_OR_NOTHROW
+ inline allocator_type &alloc() BOOST_NOEXCEPT_OR_NOTHROW
{ return members_; }
- BOOST_CONTAINER_FORCEINLINE const allocator_type &alloc() const BOOST_NOEXCEPT_OR_NOTHROW
+ inline const allocator_type &alloc() const BOOST_NOEXCEPT_OR_NOTHROW
{ return members_; }
};
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
@@ -600,7 +600,7 @@ class deque : protected deque_base::type,
//! Throws: If allocator_type's default constructor throws.
//!
//! Complexity: Constant.
- BOOST_CONTAINER_FORCEINLINE deque()
+ inline deque()
BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible::value)
: Base()
{}
@@ -610,7 +610,7 @@ class deque : protected deque_base::type,
//! Throws: Nothing
//!
//! Complexity: Constant.
- BOOST_CONTAINER_FORCEINLINE explicit deque(const allocator_type& a) BOOST_NOEXCEPT_OR_NOTHROW
+ inline explicit deque(const allocator_type& a) BOOST_NOEXCEPT_OR_NOTHROW
: Base(a)
{}
@@ -621,7 +621,7 @@ class deque : protected deque_base::type,
//! throws or T's value initialization throws.
//!
//! Complexity: Linear to n.
- BOOST_CONTAINER_FORCEINLINE explicit deque(size_type n)
+ inline explicit deque(size_type n)
: Base(n, allocator_type())
{
dtl::insert_value_initialized_n_proxy proxy;
@@ -638,7 +638,7 @@ class deque : protected deque_base::type,
//! Complexity: Linear to n.
//!
//! Note: Non-standard extension
- BOOST_CONTAINER_FORCEINLINE deque(size_type n, default_init_t)
+ inline deque(size_type n, default_init_t)
: Base(n, allocator_type())
{
dtl::insert_default_initialized_n_proxy proxy;
@@ -653,7 +653,7 @@ class deque : protected deque_base::type,
//! throws or T's value initialization throws.
//!
//! Complexity: Linear to n.
- BOOST_CONTAINER_FORCEINLINE explicit deque(size_type n, const allocator_type &a)
+ inline explicit deque(size_type n, const allocator_type &a)
: Base(n, a)
{
dtl::insert_value_initialized_n_proxy proxy;
@@ -670,7 +670,7 @@ class deque : protected deque_base::type,
//! Complexity: Linear to n.
//!
//! Note: Non-standard extension
- BOOST_CONTAINER_FORCEINLINE deque(size_type n, default_init_t, const allocator_type &a)
+ inline deque(size_type n, default_init_t, const allocator_type &a)
: Base(n, a)
{
dtl::insert_default_initialized_n_proxy proxy;
@@ -685,7 +685,7 @@ class deque : protected deque_base::type,
//! throws or T's copy constructor throws.
//!
//! Complexity: Linear to n.
- BOOST_CONTAINER_FORCEINLINE deque(size_type n, const value_type& value)
+ inline deque(size_type n, const value_type& value)
: Base(n, allocator_type())
{ this->priv_fill_initialize(value); }
@@ -696,7 +696,7 @@ class deque : protected deque_base::type,
//! throws or T's copy constructor throws.
//!
//! Complexity: Linear to n.
- BOOST_CONTAINER_FORCEINLINE deque(size_type n, const value_type& value, const allocator_type& a)
+ inline deque(size_type n, const value_type& value, const allocator_type& a)
: Base(n, a)
{ this->priv_fill_initialize(value); }
@@ -708,7 +708,7 @@ class deque : protected deque_base::type,
//!
//! Complexity: Linear to the range [first, last).
template
- BOOST_CONTAINER_FORCEINLINE deque(InIt first, InIt last
+ inline deque(InIt first, InIt last
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
, typename dtl::disable_if_convertible
::type * = 0
@@ -727,7 +727,7 @@ class deque : protected deque_base::type,
//!
//! Complexity: Linear to the range [first, last).
template
- BOOST_CONTAINER_FORCEINLINE deque(InIt first, InIt last, const allocator_type& a
+ inline deque(InIt first, InIt last, const allocator_type& a
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
, typename dtl::disable_if_convertible
::type * = 0
@@ -746,7 +746,7 @@ class deque : protected deque_base::type,
//! throws or T's constructor taking a dereferenced std::initializer_list iterator throws.
//!
//! Complexity: Linear to the range [il.begin(), il.end()).
- BOOST_CONTAINER_FORCEINLINE deque(std::initializer_list il, const allocator_type& a = allocator_type())
+ inline deque(std::initializer_list il, const allocator_type& a = allocator_type())
: Base(a)
{
this->priv_range_initialize(il.begin(), il.end());
@@ -758,7 +758,7 @@ class deque : protected deque_base::type,
//! Postcondition: x == *this.
//!
//! Complexity: Linear to the elements x contains.
- BOOST_CONTAINER_FORCEINLINE deque(const deque& x)
+ inline deque(const deque& x)
: Base(allocator_traits_type::select_on_container_copy_construction(x.alloc()))
{
if(x.size()){
@@ -773,7 +773,7 @@ class deque : protected deque_base::type,
//! Throws: If allocator_type's copy constructor throws.
//!
//! Complexity: Constant.
- BOOST_CONTAINER_FORCEINLINE deque(BOOST_RV_REF(deque) x) BOOST_NOEXCEPT_OR_NOTHROW
+ inline deque(BOOST_RV_REF(deque) x) BOOST_NOEXCEPT_OR_NOTHROW
: Base(BOOST_MOVE_BASE(Base, x))
{ this->swap_members(x); }
@@ -824,7 +824,7 @@ class deque : protected deque_base::type,
//! Throws: Nothing.
//!
//! Complexity: Linear to the number of elements.
- BOOST_CONTAINER_FORCEINLINE ~deque() BOOST_NOEXCEPT_OR_NOTHROW
+ inline ~deque() BOOST_NOEXCEPT_OR_NOTHROW
{
this->priv_destroy_range(this->members_.m_start, this->members_.m_finish);
}
@@ -903,7 +903,7 @@ class deque : protected deque_base::type,
//! Throws: If memory allocation throws or T's copy constructor throws.
//!
//! Complexity: Linear to the number of elements in il.
- BOOST_CONTAINER_FORCEINLINE deque& operator=(std::initializer_list il)
+ inline deque& operator=(std::initializer_list il)
{
this->assign(il.begin(), il.end());
return *this;
@@ -915,7 +915,7 @@ class deque : protected deque_base::type,
//! Throws: If memory allocation throws or T's copy constructor throws.
//!
//! Complexity: Linear to n.
- BOOST_CONTAINER_FORCEINLINE void assign(size_type n, const T& val)
+ inline void assign(size_type n, const T& val)
{
this->assign(c_it(val, n), c_it());
}
@@ -979,7 +979,7 @@ class deque : protected deque_base::type,
//! T's constructor from dereferencing std::initializer_list iterator throws.
//!
//! Complexity: Linear to il.size().
- BOOST_CONTAINER_FORCEINLINE void assign(std::initializer_list il)
+ inline void assign(std::initializer_list il)
{ this->assign(il.begin(), il.end()); }
#endif
@@ -988,7 +988,7 @@ class deque : protected deque_base::type,
//! Throws: If allocator's copy constructor throws.
//!
//! Complexity: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
{ return Base::alloc(); }
@@ -999,7 +999,7 @@ class deque : protected deque_base::type,
//! Complexity: Constant.
//!
//! Note: Non-standard extension.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
{ return Base::alloc(); }
@@ -1016,7 +1016,7 @@ class deque : protected deque_base::type,
//! Complexity: Constant.
//!
//! Note: Non-standard extension.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
{ return Base::alloc(); }
@@ -1025,7 +1025,7 @@ class deque : protected deque_base::type,
//! Throws: Nothing.
//!
//! Complexity: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
{ return this->members_.m_start; }
@@ -1034,7 +1034,7 @@ class deque : protected deque_base::type,
//! Throws: Nothing.
//!
//! Complexity: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
{ return this->members_.m_start; }
@@ -1043,7 +1043,7 @@ class deque : protected deque_base::type,
//! Throws: Nothing.
//!
//! Complexity: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
iterator end() BOOST_NOEXCEPT_OR_NOTHROW
{ return this->members_.m_finish; }
@@ -1052,7 +1052,7 @@ class deque : protected deque_base::type,
//! Throws: Nothing.
//!
//! Complexity: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
{ return this->members_.m_finish; }
@@ -1062,7 +1062,7 @@ class deque : protected deque_base::type,
//! Throws: Nothing.
//!
//! Complexity: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
{ return reverse_iterator(this->members_.m_finish); }
@@ -1072,7 +1072,7 @@ class deque : protected deque_base::type,
//! Throws: Nothing.
//!
//! Complexity: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
{ return const_reverse_iterator(this->members_.m_finish); }
@@ -1082,7 +1082,7 @@ class deque : protected deque_base::type,
//! Throws: Nothing.
//!
//! Complexity: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
{ return reverse_iterator(this->members_.m_start); }
@@ -1092,7 +1092,7 @@ class deque : protected deque_base::type,
//! Throws: Nothing.
//!
//! Complexity: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
{ return const_reverse_iterator(this->members_.m_start); }
@@ -1101,7 +1101,7 @@ class deque : protected deque_base::type,
//! Throws: Nothing.
//!
//! Complexity: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
{ return this->members_.m_start; }
@@ -1110,7 +1110,7 @@ class deque : protected deque_base::type,
//! Throws: Nothing.
//!
//! Complexity: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
{ return this->members_.m_finish; }
@@ -1120,7 +1120,7 @@ class deque : protected deque_base::type,
//! Throws: Nothing.
//!
//! Complexity: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
{ return const_reverse_iterator(this->members_.m_finish); }
@@ -1130,7 +1130,7 @@ class deque : protected deque_base::type,
//! Throws: Nothing.
//!
//! Complexity: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
{ return const_reverse_iterator(this->members_.m_start); }
@@ -1145,7 +1145,7 @@ class deque : protected deque_base::type,
//! Throws: Nothing.
//!
//! Complexity: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
{ return this->members_.m_finish == this->members_.m_start; }
@@ -1154,7 +1154,7 @@ class deque : protected deque_base::type,
//! Throws: Nothing.
//!
//! Complexity: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
{ return size_type(this->members_.m_finish - this->members_.m_start); }
@@ -1163,7 +1163,7 @@ class deque : protected deque_base::type,
//! Throws: Nothing.
//!
//! Complexity: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
{ return allocator_traits_type::max_size(this->alloc()); }
@@ -1251,7 +1251,7 @@ class deque : protected deque_base::type,
//! Throws: Nothing.
//!
//! Complexity: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
reference front() BOOST_NOEXCEPT_OR_NOTHROW
{
BOOST_ASSERT(!this->empty());
@@ -1266,7 +1266,7 @@ class deque : protected deque_base::type,
//! Throws: Nothing.
//!
//! Complexity: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
const_reference front() const BOOST_NOEXCEPT_OR_NOTHROW
{
BOOST_ASSERT(!this->empty());
@@ -1281,7 +1281,7 @@ class deque : protected deque_base::type,
//! Throws: Nothing.
//!
//! Complexity: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
reference back() BOOST_NOEXCEPT_OR_NOTHROW
{
BOOST_ASSERT(!this->empty());
@@ -1296,7 +1296,7 @@ class deque : protected deque_base::type,
//! Throws: Nothing.
//!
//! Complexity: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
const_reference back() const BOOST_NOEXCEPT_OR_NOTHROW
{
BOOST_ASSERT(!this->empty());
@@ -1311,7 +1311,7 @@ class deque : protected deque_base::type,
//! Throws: Nothing.
//!
//! Complexity: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
reference operator[](size_type n) BOOST_NOEXCEPT_OR_NOTHROW
{
BOOST_ASSERT(this->size() > n);
@@ -1326,7 +1326,7 @@ class deque : protected deque_base::type,
//! Throws: Nothing.
//!
//! Complexity: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
const_reference operator[](size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
{
BOOST_ASSERT(this->size() > n);
@@ -1344,7 +1344,7 @@ class deque : protected deque_base::type,
//! Complexity: Constant.
//!
//! Note: Non-standard extension
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
{
BOOST_ASSERT(this->size() >= n);
@@ -1362,7 +1362,7 @@ class deque : protected deque_base::type,
//! Complexity: Constant.
//!
//! Note: Non-standard extension
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
{
BOOST_ASSERT(this->size() >= n);
@@ -1379,7 +1379,7 @@ class deque : protected deque_base::type,
//! Complexity: Constant.
//!
//! Note: Non-standard extension
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
{
//Range checked priv_index_of
@@ -1396,7 +1396,7 @@ class deque : protected deque_base::type,
//! Complexity: Constant.
//!
//! Note: Non-standard extension
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
{
//Range checked priv_index_of
@@ -1411,7 +1411,7 @@ class deque : protected deque_base::type,
//! Throws: range_error if n >= size()
//!
//! Complexity: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
reference at(size_type n)
{
this->priv_throw_if_out_of_range(n);
@@ -1426,7 +1426,7 @@ class deque : protected deque_base::type,
//! Throws: range_error if n >= size()
//!
//! Complexity: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
const_reference at(size_type n) const
{
this->priv_throw_if_out_of_range(n);
@@ -1659,7 +1659,7 @@ class deque : protected deque_base::type,
//! Throws: If memory allocation throws or T's copy constructor throws.
//!
//! Complexity: Linear to n.
- BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator pos, size_type n, const value_type& x)
+ inline iterator insert(const_iterator pos, size_type n, const value_type& x)
{
//Range check of p is done by insert()
return this->insert(pos, c_it(x, n), c_it());
@@ -1708,7 +1708,7 @@ class deque : protected deque_base::type,
//! dereferenced std::initializer_list throws or T's copy constructor throws.
//!
//! Complexity: Linear to distance [il.begin(), il.end()).
- BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator pos, std::initializer_list il)
+ inline iterator insert(const_iterator pos, std::initializer_list il)
{
//Range check os pos is done in insert()
return insert(pos, il.begin(), il.end());
@@ -1717,7 +1717,7 @@ class deque : protected deque_base::type,
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
template
- BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator p, FwdIt first, FwdIt last
+ inline iterator insert(const_iterator p, FwdIt first, FwdIt last
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
, typename dtl::disable_if_or
< void
@@ -1838,7 +1838,7 @@ class deque : protected deque_base::type,
//! Throws: Nothing.
//!
//! Complexity: Constant.
- BOOST_CONTAINER_FORCEINLINE void swap(deque &x)
+ inline void swap(deque &x)
BOOST_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_swap::value
|| allocator_traits_type::is_always_equal::value)
{
@@ -1879,56 +1879,56 @@ class deque : protected deque_base::type,
//! Effects: Returns true if x and y are equal
//!
//! Complexity: Linear to the number of elements in the container.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
friend bool operator==(const deque& x, const deque& y)
{ return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
//! Effects: Returns true if x and y are unequal
//!
//! Complexity: Linear to the number of elements in the container.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
friend bool operator!=(const deque& x, const deque& y)
{ return !(x == y); }
//! Effects: Returns true if x is less than y
//!
//! Complexity: Linear to the number of elements in the container.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
friend bool operator<(const deque& x, const deque& y)
{ return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
//! Effects: Returns true if x is greater than y
//!
//! Complexity: Linear to the number of elements in the container.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
friend bool operator>(const deque& x, const deque& y)
{ return y < x; }
//! Effects: Returns true if x is equal or less than y
//!
//! Complexity: Linear to the number of elements in the container.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
friend bool operator<=(const deque& x, const deque& y)
{ return !(y < x); }
//! Effects: Returns true if x is equal or greater than y
//!
//! Complexity: Linear to the number of elements in the container.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
friend bool operator>=(const deque& x, const deque& y)
{ return !(x < y); }
//! Effects: x.swap(y)
//!
//! Complexity: Constant.
- BOOST_CONTAINER_FORCEINLINE friend void swap(deque& x, deque& y)
+ inline friend void swap(deque& x, deque& y)
BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT(x.swap(y)))
{ x.swap(y); }
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
private:
- BOOST_CONTAINER_FORCEINLINE size_type priv_index_of(const_iterator p) const
+ inline size_type priv_index_of(const_iterator p) const
{
BOOST_ASSERT(this->cbegin() <= p);
BOOST_ASSERT(p <= this->cend());
@@ -1954,12 +1954,12 @@ class deque : protected deque_base::type,
throw_out_of_range("deque::at out of range");
}
- BOOST_CONTAINER_FORCEINLINE bool priv_in_range(const_iterator pos) const
+ inline bool priv_in_range(const_iterator pos) const
{
return (this->begin() <= pos) && (pos < this->end());
}
- BOOST_CONTAINER_FORCEINLINE bool priv_in_range_or_end(const_iterator pos) const
+ inline bool priv_in_range_or_end(const_iterator pos) const
{
return (this->begin() <= pos) && (pos <= this->end());
}
@@ -2013,32 +2013,32 @@ class deque : protected deque_base::type,
}
}
- BOOST_CONTAINER_FORCEINLINE bool priv_push_back_simple_available() const
+ inline bool priv_push_back_simple_available() const
{
return this->members_.m_map &&
(this->members_.m_finish.m_cur != (this->members_.m_finish.m_last - 1));
}
- BOOST_CONTAINER_FORCEINLINE T *priv_push_back_simple_pos() const
+ inline T *priv_push_back_simple_pos() const
{
return boost::movelib::to_raw_pointer(this->members_.m_finish.m_cur);
}
- BOOST_CONTAINER_FORCEINLINE void priv_push_back_simple_commit()
+ inline void priv_push_back_simple_commit()
{
++this->members_.m_finish.m_cur;
}
- BOOST_CONTAINER_FORCEINLINE bool priv_push_front_simple_available() const
+ inline bool priv_push_front_simple_available() const
{
return this->members_.m_map &&
(this->members_.m_start.m_cur != this->members_.m_start.m_first);
}
- BOOST_CONTAINER_FORCEINLINE T *priv_push_front_simple_pos() const
+ inline T *priv_push_front_simple_pos() const
{ return boost::movelib::to_raw_pointer(this->members_.m_start.m_cur) - 1; }
- BOOST_CONTAINER_FORCEINLINE void priv_push_front_simple_commit()
+ inline void priv_push_front_simple_commit()
{ --this->members_.m_start.m_cur; }
void priv_destroy_range(iterator p, iterator p2)
@@ -2165,7 +2165,7 @@ class deque : protected deque_base::type,
return new_start;
}
- BOOST_CONTAINER_FORCEINLINE iterator priv_fill_insert(const_iterator pos, size_type n, const value_type& x)
+ inline iterator priv_fill_insert(const_iterator pos, size_type n, const value_type& x)
{
return this->insert(pos, c_it(x, n), c_it());
}
diff --git a/include/boost/container/detail/advanced_insert_int.hpp b/include/boost/container/detail/advanced_insert_int.hpp
index 0238805..bc6801a 100644
--- a/include/boost/container/detail/advanced_insert_int.hpp
+++ b/include/boost/container/detail/advanced_insert_int.hpp
@@ -49,19 +49,19 @@ struct move_insert_range_proxy
{
typedef typename allocator_traits::value_type value_type;
- BOOST_CONTAINER_FORCEINLINE explicit move_insert_range_proxy(FwdIt first)
+ inline explicit move_insert_range_proxy(FwdIt first)
: first_(first)
{}
template
- BOOST_CONTAINER_FORCEINLINE void uninitialized_copy_n_and_update(Allocator &a, Iterator p, std::size_t n)
+ inline void uninitialized_copy_n_and_update(Allocator &a, Iterator p, std::size_t n)
{
this->first_ = ::boost::container::uninitialized_move_alloc_n_source
(a, this->first_, n, p);
}
template
- BOOST_CONTAINER_FORCEINLINE void copy_n_and_update(Allocator &, Iterator p, std::size_t n)
+ inline void copy_n_and_update(Allocator &, Iterator p, std::size_t n)
{
this->first_ = ::boost::container::move_n_source(this->first_, n, p);
}
@@ -75,18 +75,18 @@ struct insert_range_proxy
{
typedef typename allocator_traits::value_type value_type;
- BOOST_CONTAINER_FORCEINLINE explicit insert_range_proxy(FwdIt first)
+ inline explicit insert_range_proxy(FwdIt first)
: first_(first)
{}
template
- BOOST_CONTAINER_FORCEINLINE void uninitialized_copy_n_and_update(Allocator &a, Iterator p, std::size_t n)
+ inline void uninitialized_copy_n_and_update(Allocator &a, Iterator p, std::size_t n)
{
this->first_ = ::boost::container::uninitialized_copy_alloc_n_source(a, this->first_, n, p);
}
template
- BOOST_CONTAINER_FORCEINLINE void copy_n_and_update(Allocator &, Iterator p, std::size_t n)
+ inline void copy_n_and_update(Allocator &, Iterator p, std::size_t n)
{
this->first_ = ::boost::container::copy_n_source(this->first_, n, p);
}
@@ -100,16 +100,16 @@ struct insert_n_copies_proxy
{
typedef typename allocator_traits::value_type value_type;
- BOOST_CONTAINER_FORCEINLINE explicit insert_n_copies_proxy(const value_type &v)
+ inline explicit insert_n_copies_proxy(const value_type &v)
: v_(v)
{}
template
- BOOST_CONTAINER_FORCEINLINE void uninitialized_copy_n_and_update(Allocator &a, Iterator p, std::size_t n) const
+ inline void uninitialized_copy_n_and_update(Allocator &a, Iterator p, std::size_t n) const
{ boost::container::uninitialized_fill_alloc_n(a, v_, n, p); }
template
- BOOST_CONTAINER_FORCEINLINE void copy_n_and_update(Allocator &, Iterator p, std::size_t n) const
+ inline void copy_n_and_update(Allocator &, Iterator p, std::size_t n) const
{
while (n){
--n;
@@ -129,7 +129,7 @@ struct insert_value_initialized_n_proxy
typedef typename dtl::aligned_storage::value>::type storage_t;
template
- BOOST_CONTAINER_FORCEINLINE void uninitialized_copy_n_and_update(Allocator &a, Iterator p, std::size_t n) const
+ inline void uninitialized_copy_n_and_update(Allocator &a, Iterator p, std::size_t n) const
{ boost::container::uninitialized_value_init_alloc_n(a, n, p); }
template
@@ -155,7 +155,7 @@ struct insert_default_initialized_n_proxy
typedef typename dtl::aligned_storage::value>::type storage_t;
template
- BOOST_CONTAINER_FORCEINLINE void uninitialized_copy_n_and_update(Allocator &a, Iterator p, std::size_t n) const
+ inline void uninitialized_copy_n_and_update(Allocator &a, Iterator p, std::size_t n) const
{ boost::container::uninitialized_default_init_alloc_n(a, n, p); }
template
@@ -183,19 +183,19 @@ struct insert_copy_proxy
static const bool single_value = true;
- BOOST_CONTAINER_FORCEINLINE explicit insert_copy_proxy(const value_type &v)
+ inline explicit insert_copy_proxy(const value_type &v)
: v_(v)
{}
template
- BOOST_CONTAINER_FORCEINLINE void uninitialized_copy_n_and_update(Allocator &a, Iterator p, std::size_t n) const
+ inline void uninitialized_copy_n_and_update(Allocator &a, Iterator p, std::size_t n) const
{
BOOST_ASSERT(n == 1); (void)n;
alloc_traits::construct( a, boost::movelib::iterator_to_raw_pointer(p), v_);
}
template
- BOOST_CONTAINER_FORCEINLINE void copy_n_and_update(Allocator &, Iterator p, std::size_t n) const
+ inline void copy_n_and_update(Allocator &, Iterator p, std::size_t n) const
{
BOOST_ASSERT(n == 1); (void)n;
*p = v_;
@@ -213,19 +213,19 @@ struct insert_move_proxy
static const bool single_value = true;
- BOOST_CONTAINER_FORCEINLINE explicit insert_move_proxy(value_type &v)
+ inline explicit insert_move_proxy(value_type &v)
: v_(v)
{}
template
- BOOST_CONTAINER_FORCEINLINE void uninitialized_copy_n_and_update(Allocator &a, Iterator p, std::size_t n) const
+ inline void uninitialized_copy_n_and_update(Allocator &a, Iterator p, std::size_t n) const
{
BOOST_ASSERT(n == 1); (void)n;
alloc_traits::construct( a, boost::movelib::iterator_to_raw_pointer(p), ::boost::move(v_) );
}
template
- BOOST_CONTAINER_FORCEINLINE void copy_n_and_update(Allocator &, Iterator p, std::size_t n) const
+ inline void copy_n_and_update(Allocator &, Iterator p, std::size_t n) const
{
BOOST_ASSERT(n == 1); (void)n;
*p = ::boost::move(v_);
@@ -235,13 +235,13 @@ struct insert_move_proxy
};
template
-BOOST_CONTAINER_FORCEINLINE insert_move_proxy get_insert_value_proxy(BOOST_RV_REF(typename boost::container::iterator_traits::value_type) v)
+inline insert_move_proxy get_insert_value_proxy(BOOST_RV_REF(typename boost::container::iterator_traits::value_type) v)
{
return insert_move_proxy(v);
}
template
-BOOST_CONTAINER_FORCEINLINE insert_copy_proxy get_insert_value_proxy(const typename boost::container::iterator_traits::value_type &v)
+inline insert_copy_proxy get_insert_value_proxy(const typename boost::container::iterator_traits::value_type &v)
{
return insert_copy_proxy(v);
}
@@ -266,17 +266,17 @@ struct insert_nonmovable_emplace_proxy
static const bool single_value = true;
- BOOST_CONTAINER_FORCEINLINE explicit insert_nonmovable_emplace_proxy(BOOST_FWD_REF(Args)... args)
+ inline explicit insert_nonmovable_emplace_proxy(BOOST_FWD_REF(Args)... args)
: args_(args...)
{}
template
- BOOST_CONTAINER_FORCEINLINE void uninitialized_copy_n_and_update(Allocator &a, Iterator p, std::size_t n)
+ inline void uninitialized_copy_n_and_update(Allocator &a, Iterator p, std::size_t n)
{ this->priv_uninitialized_copy_some_and_update(a, index_tuple_t(), p, n); }
private:
template
- BOOST_CONTAINER_FORCEINLINE void priv_uninitialized_copy_some_and_update(Allocator &a, const index_tuple&, Iterator p, std::size_t n)
+ inline void priv_uninitialized_copy_some_and_update(Allocator &a, const index_tuple&, Iterator p, std::size_t n)
{
BOOST_ASSERT(n == 1); (void)n;
alloc_traits::construct( a, boost::movelib::iterator_to_raw_pointer(p), ::boost::forward(get(this->args_))... );
@@ -297,18 +297,18 @@ struct insert_emplace_proxy
static const bool single_value = true;
- BOOST_CONTAINER_FORCEINLINE explicit insert_emplace_proxy(BOOST_FWD_REF(Args)... args)
+ inline explicit insert_emplace_proxy(BOOST_FWD_REF(Args)... args)
: base_t(::boost::forward(args)...)
{}
template
- BOOST_CONTAINER_FORCEINLINE void copy_n_and_update(Allocator &a, Iterator p, std::size_t n)
+ inline void copy_n_and_update(Allocator &a, Iterator p, std::size_t n)
{ this->priv_copy_some_and_update(a, index_tuple_t(), p, n); }
private:
template
- BOOST_CONTAINER_FORCEINLINE void priv_copy_some_and_update(Allocator &a, const index_tuple&, Iterator p, std::size_t n)
+ inline void priv_copy_some_and_update(Allocator &a, const index_tuple&, Iterator p, std::size_t n)
{
BOOST_ASSERT(n ==1); (void)n;
typename dtl::aligned_storage::value>::type v;
@@ -333,7 +333,7 @@ struct insert_emplace_proxy::value_type &&v)
+ inline explicit insert_emplace_proxy(typename boost::container::allocator_traits::value_type &&v)
: insert_move_proxy(v)
{}
};
@@ -350,7 +350,7 @@ struct insert_emplace_proxy::value_type &v)
+ inline explicit insert_emplace_proxy(const typename boost::container::allocator_traits::value_type &v)
: insert_copy_proxy(v)
{}
};
@@ -361,7 +361,7 @@ struct insert_emplace_proxy::value_type &v)
+ inline explicit insert_emplace_proxy(const typename boost::container::allocator_traits::value_type &v)
: insert_copy_proxy(v)
{}
};
@@ -374,7 +374,7 @@ struct insert_emplace_proxy::value_type &v)
+ inline explicit insert_emplace_proxy(const typename boost::container::allocator_traits::value_type &v)
: insert_copy_proxy(v)
{}
};
@@ -398,18 +398,18 @@ struct insert_nonmovable_emplace_proxy##N\
\
static const bool single_value = true;\
\
- BOOST_CONTAINER_FORCEINLINE explicit insert_nonmovable_emplace_proxy##N(BOOST_MOVE_UREF##N)\
+ inline explicit insert_nonmovable_emplace_proxy##N(BOOST_MOVE_UREF##N)\
BOOST_MOVE_COLON##N BOOST_MOVE_FWD_INIT##N {}\
\
template\
- BOOST_CONTAINER_FORCEINLINE void uninitialized_copy_n_and_update(Allocator &a, Iterator p, std::size_t n)\
+ inline void uninitialized_copy_n_and_update(Allocator &a, Iterator p, std::size_t n)\
{\
BOOST_ASSERT(n == 1); (void)n;\
alloc_traits::construct(a, boost::movelib::iterator_to_raw_pointer(p) BOOST_MOVE_I##N BOOST_MOVE_MFWD##N);\
}\
\
template\
- BOOST_CONTAINER_FORCEINLINE void copy_n_and_update(Allocator &, Iterator, std::size_t)\
+ inline void copy_n_and_update(Allocator &, Iterator, std::size_t)\
{ BOOST_ASSERT(false); }\
\
protected:\
@@ -427,11 +427,11 @@ struct insert_emplace_proxy_arg##N\
\
static const bool single_value = true;\
\
- BOOST_CONTAINER_FORCEINLINE explicit insert_emplace_proxy_arg##N(BOOST_MOVE_UREF##N)\
+ inline explicit insert_emplace_proxy_arg##N(BOOST_MOVE_UREF##N)\
: base_t(BOOST_MOVE_FWD##N){}\
\
template\
- BOOST_CONTAINER_FORCEINLINE void copy_n_and_update(Allocator &a, Iterator p, std::size_t n)\
+ inline void copy_n_and_update(Allocator &a, Iterator p, std::size_t n)\
{\
BOOST_ASSERT(n == 1); (void)n;\
typename dtl::aligned_storage::value>::type v;\
@@ -461,7 +461,7 @@ struct insert_emplace_proxy_arg1::value_type &v)
+ inline explicit insert_emplace_proxy_arg1(typename boost::container::allocator_traits::value_type &v)
: insert_move_proxy(v)
{}
};
@@ -472,7 +472,7 @@ struct insert_emplace_proxy_arg1::value_type &v)
+ inline explicit insert_emplace_proxy_arg1(const typename boost::container::allocator_traits::value_type &v)
: insert_copy_proxy(v)
{}
};
@@ -486,7 +486,7 @@ struct insert_emplace_proxy_arg1::value_type &&v)
+ inline explicit insert_emplace_proxy_arg1(typename boost::container::allocator_traits::value_type &&v)
: insert_move_proxy(v)
{}
};
@@ -502,7 +502,7 @@ struct insert_emplace_proxy_arg1::value_type &v)
+ inline explicit insert_emplace_proxy_arg1(const typename boost::container::allocator_traits::value_type &v)
: insert_copy_proxy(v)
{}
};
@@ -513,7 +513,7 @@ struct insert_emplace_proxy_arg1::value_type &v)
+ inline explicit insert_emplace_proxy_arg1(const typename boost::container::allocator_traits::value_type &v)
: insert_copy_proxy(v)
{}
};
@@ -526,7 +526,7 @@ struct insert_emplace_proxy_arg1::value_type &v)
+ inline explicit insert_emplace_proxy_arg1(const typename boost::container::allocator_traits::value_type &v)
: insert_copy_proxy(v)
{}
};
diff --git a/include/boost/container/detail/alloc_helpers.hpp b/include/boost/container/detail/alloc_helpers.hpp
index 5ca2ca7..57c59e4 100644
--- a/include/boost/container/detail/alloc_helpers.hpp
+++ b/include/boost/container/detail/alloc_helpers.hpp
@@ -27,30 +27,30 @@ namespace container {
namespace dtl {
template
-BOOST_CONTAINER_FORCEINLINE void swap_alloc(AllocatorType &, AllocatorType &, dtl::false_type)
+inline void swap_alloc(AllocatorType &, AllocatorType &, dtl::false_type)
BOOST_NOEXCEPT_OR_NOTHROW
{}
template
-BOOST_CONTAINER_FORCEINLINE void swap_alloc(AllocatorType &l, AllocatorType &r, dtl::true_type)
+inline void swap_alloc(AllocatorType &l, AllocatorType &r, dtl::true_type)
{ boost::adl_move_swap(l, r); }
template
-BOOST_CONTAINER_FORCEINLINE void assign_alloc(AllocatorType &, const AllocatorType &, dtl::false_type)
+inline void assign_alloc(AllocatorType &, const AllocatorType &, dtl::false_type)
BOOST_NOEXCEPT_OR_NOTHROW
{}
template
-BOOST_CONTAINER_FORCEINLINE void assign_alloc(AllocatorType &l, const AllocatorType &r, dtl::true_type)
+inline void assign_alloc(AllocatorType &l, const AllocatorType &r, dtl::true_type)
{ l = r; }
template
-BOOST_CONTAINER_FORCEINLINE void move_alloc(AllocatorType &, AllocatorType &, dtl::false_type)
+inline void move_alloc(AllocatorType &, AllocatorType &, dtl::false_type)
BOOST_NOEXCEPT_OR_NOTHROW
{}
template
-BOOST_CONTAINER_FORCEINLINE void move_alloc(AllocatorType &l, AllocatorType &r, dtl::true_type)
+inline void move_alloc(AllocatorType &l, AllocatorType &r, dtl::true_type)
{ l = ::boost::move(r); }
} //namespace dtl {
diff --git a/include/boost/container/detail/allocator_version_traits.hpp b/include/boost/container/detail/allocator_version_traits.hpp
index 391f466..4e83d21 100644
--- a/include/boost/container/detail/allocator_version_traits.hpp
+++ b/include/boost/container/detail/allocator_version_traits.hpp
@@ -46,19 +46,19 @@ struct allocator_version_traits
typedef typename boost::container::allocator_traits::size_type size_type;
//Node allocation interface
- BOOST_CONTAINER_FORCEINLINE static pointer allocate_one(Allocator &a)
+ inline static pointer allocate_one(Allocator &a)
{ return a.allocate_one(); }
- BOOST_CONTAINER_FORCEINLINE static void deallocate_one(Allocator &a, const pointer &p)
+ inline static void deallocate_one(Allocator &a, const pointer &p)
{ a.deallocate_one(p); }
- BOOST_CONTAINER_FORCEINLINE static void allocate_individual(Allocator &a, size_type n, multiallocation_chain &m)
+ inline static void allocate_individual(Allocator &a, size_type n, multiallocation_chain &m)
{ return a.allocate_individual(n, m); }
- BOOST_CONTAINER_FORCEINLINE static void deallocate_individual(Allocator &a, multiallocation_chain &holder)
+ inline static void deallocate_individual(Allocator &a, multiallocation_chain &holder)
{ a.deallocate_individual(holder); }
- BOOST_CONTAINER_FORCEINLINE static pointer allocation_command(Allocator &a, allocation_type command,
+ inline static pointer allocation_command(Allocator &a, allocation_type command,
size_type limit_size, size_type &prefer_in_recvd_out_size, pointer &reuse)
{ return a.allocation_command(command, limit_size, prefer_in_recvd_out_size, reuse); }
};
@@ -82,10 +82,10 @@ struct allocator_version_traits
< multialloc_cached_counted, value_type> multiallocation_chain;
//Node allocation interface
- BOOST_CONTAINER_FORCEINLINE static pointer allocate_one(Allocator &a)
+ inline static pointer allocate_one(Allocator &a)
{ return a.allocate(1); }
- BOOST_CONTAINER_FORCEINLINE static void deallocate_one(Allocator &a, const pointer &p)
+ inline static void deallocate_one(Allocator &a, const pointer &p)
{ a.deallocate(p, 1); }
static void deallocate_individual(Allocator &a, multiallocation_chain &holder)
@@ -102,17 +102,17 @@ struct allocator_version_traits
struct allocate_individual_rollback
{
- BOOST_CONTAINER_FORCEINLINE allocate_individual_rollback(Allocator &a, multiallocation_chain &chain)
+ inline allocate_individual_rollback(Allocator &a, multiallocation_chain &chain)
: mr_a(a), mp_chain(&chain)
{}
- BOOST_CONTAINER_FORCEINLINE ~allocate_individual_rollback()
+ inline ~allocate_individual_rollback()
{
if(mp_chain)
allocator_version_traits::deallocate_individual(mr_a, *mp_chain);
}
- BOOST_CONTAINER_FORCEINLINE void release()
+ inline void release()
{
mp_chain = 0;
}
diff --git a/include/boost/container/detail/compare_functors.hpp b/include/boost/container/detail/compare_functors.hpp
index ae4ffce..9a35274 100644
--- a/include/boost/container/detail/compare_functors.hpp
+++ b/include/boost/container/detail/compare_functors.hpp
@@ -32,11 +32,11 @@ class equal_to_value
const value_type &t_;
public:
- BOOST_CONTAINER_FORCEINLINE explicit equal_to_value(const value_type &t)
+ inline explicit equal_to_value(const value_type &t)
: t_(t)
{}
- BOOST_CONTAINER_FORCEINLINE bool operator()(const value_type &t)const
+ inline bool operator()(const value_type &t)const
{ return t_ == t; }
};
@@ -47,39 +47,39 @@ struct value_to_node_compare
typedef Pred predicate_type;
typedef Node node_type;
- BOOST_CONTAINER_FORCEINLINE value_to_node_compare()
+ inline value_to_node_compare()
: Pred()
{}
- BOOST_CONTAINER_FORCEINLINE explicit value_to_node_compare(Pred pred)
+ inline explicit value_to_node_compare(Pred pred)
: Pred(pred)
{}
- BOOST_CONTAINER_FORCEINLINE Ret operator()(const Node &a, const Node &b) const
+ inline Ret operator()(const Node &a, const Node &b) const
{ return static_cast(*this)(a.get_data(), b.get_data()); }
- BOOST_CONTAINER_FORCEINLINE Ret operator()(const Node &a) const
+ inline Ret operator()(const Node &a) const
{ return static_cast(*this)(a.get_data()); }
- BOOST_CONTAINER_FORCEINLINE Ret operator()(const Node &a, const Node &b)
+ inline Ret operator()(const Node &a, const Node &b)
{ return static_cast(*this)(a.get_data(), b.get_data()); }
- BOOST_CONTAINER_FORCEINLINE Ret operator()(const Node &a)
+ inline Ret operator()(const Node &a)
{ return static_cast(*this)(a.get_data()); }
- BOOST_CONTAINER_FORCEINLINE predicate_type & predicate() { return static_cast(*this); }
- BOOST_CONTAINER_FORCEINLINE const predicate_type & predicate() const { return static_cast(*this); }
+ inline predicate_type & predicate() { return static_cast(*this); }
+ inline const predicate_type & predicate() const { return static_cast(*this); }
};
template
struct key_node_pred
: public boost::intrusive::detail::ebo_functor_holder
{
- BOOST_CONTAINER_FORCEINLINE explicit key_node_pred(const KeyPred &comp)
+ inline explicit key_node_pred(const KeyPred &comp)
: base_t(comp)
{}
- BOOST_CONTAINER_FORCEINLINE explicit key_node_pred()
+ inline explicit key_node_pred()
{}
typedef boost::intrusive::detail::ebo_functor_holder base_t;
@@ -88,42 +88,42 @@ struct key_node_pred
typedef typename KeyOfValue::type key_type;
- BOOST_CONTAINER_FORCEINLINE static const key_type &key_from(const Node &n)
+ inline static const key_type &key_from(const Node &n)
{
return key_of_value()(n.get_data());
}
template
- BOOST_CONTAINER_FORCEINLINE static const T &
+ inline static const T &
key_from(const T &t)
{ return t; }
- BOOST_CONTAINER_FORCEINLINE const key_predicate &key_pred() const
+ inline const key_predicate &key_pred() const
{ return static_cast(*this); }
- BOOST_CONTAINER_FORCEINLINE key_predicate &key_pred()
+ inline key_predicate &key_pred()
{ return static_cast(*this); }
- BOOST_CONTAINER_FORCEINLINE Ret operator()(const key_type &key) const
+ inline Ret operator()(const key_type &key) const
{ return this->key_pred()(key); }
template
- BOOST_CONTAINER_FORCEINLINE Ret operator()(const U &nonkey) const
+ inline Ret operator()(const U &nonkey) const
{ return this->key_pred()(this->key_from(nonkey)); }
- BOOST_CONTAINER_FORCEINLINE bool operator()(const key_type &key1, const key_type &key2) const
+ inline bool operator()(const key_type &key1, const key_type &key2) const
{ return this->key_pred()(key1, key2); }
template
- BOOST_CONTAINER_FORCEINLINE bool operator()(const key_type &key1, const U &nonkey2) const
+ inline bool operator()(const key_type &key1, const U &nonkey2) const
{ return this->key_pred()(key1, this->key_from(nonkey2)); }
template
- BOOST_CONTAINER_FORCEINLINE bool operator()(const U &nonkey1, const key_type &key2) const
+ inline bool operator()(const U &nonkey1, const key_type &key2) const
{ return this->key_pred()(this->key_from(nonkey1), key2); }
template
- BOOST_CONTAINER_FORCEINLINE bool operator()(const U &nonkey1, const V &nonkey2) const
+ inline bool operator()(const U &nonkey1, const V &nonkey2) const
{ return this->key_pred()(this->key_from(nonkey1), this->key_from(nonkey2)); }
};
diff --git a/include/boost/container/detail/copy_move_algo.hpp b/include/boost/container/detail/copy_move_algo.hpp
index 8729b30..105faf6 100644
--- a/include/boost/container/detail/copy_move_algo.hpp
+++ b/include/boost/container/detail/copy_move_algo.hpp
@@ -46,7 +46,12 @@
# endif
//GCC 8 seems a bit confused about array access error with static_vector
//when out of bound exceptions are being thrown.
-# if defined(BOOST_GCC) && (BOOST_GCC >= 80000) && (BOOST_GCC < 80200)
+# if defined(BOOST_GCC) && ((BOOST_GCC >= 80000) && (BOOST_GCC < 80200))
+# pragma GCC diagnostic ignored "-Wstringop-overflow"
+# endif
+//GCC 12 seems a bit confused about array access error with small_vector
+# if defined(BOOST_GCC) && ((BOOST_GCC >= 120000) && (BOOST_GCC < 130000))
+# pragma GCC diagnostic ignored "-Wstringop-overread"
# pragma GCC diagnostic ignored "-Wstringop-overflow"
# endif
# pragma GCC diagnostic ignored "-Warray-bounds"
@@ -214,7 +219,7 @@ struct disable_if_single_value_proxy
template
// F models ForwardIterator
-BOOST_CONTAINER_FORCEINLINE F memmove(I f, I l, F r) BOOST_NOEXCEPT_OR_NOTHROW
+inline F memmove(I f, I l, F r) BOOST_NOEXCEPT_OR_NOTHROW
{
typedef typename boost::container::iter_value::type value_type;
typedef typename boost::container::iterator_traits::difference_type r_difference_type;
@@ -232,7 +237,7 @@ BOOST_CONTAINER_FORCEINLINE F memmove(I f, I l, F r) BOOST_NOEXCEPT_OR_NOTHROW
template
// F models ForwardIterator
-BOOST_CONTAINER_FORCEINLINE F memmove_n(I f, std::size_t n, F r) BOOST_NOEXCEPT_OR_NOTHROW
+inline F memmove_n(I f, std::size_t n, F r) BOOST_NOEXCEPT_OR_NOTHROW
{
typedef typename boost::container::iter_value::type value_type;
typedef typename boost::container::iterator_traits::difference_type r_difference_type;
@@ -250,7 +255,7 @@ BOOST_CONTAINER_FORCEINLINE F memmove_n(I f, std::size_t n, F r) BOOST_NOEXCEPT_
template
// F models ForwardIterator
-BOOST_CONTAINER_FORCEINLINE I memmove_n_source(I f, std::size_t n, F r) BOOST_NOEXCEPT_OR_NOTHROW
+inline I memmove_n_source(I f, std::size_t n, F r) BOOST_NOEXCEPT_OR_NOTHROW
{
if(BOOST_LIKELY(n != 0)){
typedef typename boost::container::iter_value::type value_type;
@@ -267,7 +272,7 @@ BOOST_CONTAINER_FORCEINLINE I memmove_n_source(I f, std::size_t n, F r) BOOST_NO
template
// F models ForwardIterator
-BOOST_CONTAINER_FORCEINLINE I memmove_n_source_dest(I f, std::size_t n, F &r) BOOST_NOEXCEPT_OR_NOTHROW
+inline I memmove_n_source_dest(I f, std::size_t n, F &r) BOOST_NOEXCEPT_OR_NOTHROW
{
typedef typename boost::container::iter_value::type value_type;
typedef typename boost::container::iterator_traits::difference_type i_difference_type;
@@ -367,7 +372,7 @@ template
// F models ForwardIterator
-BOOST_CONTAINER_FORCEINLINE typename dtl::enable_if_memtransfer_copy_constructible::type
+inline typename dtl::enable_if_memtransfer_copy_constructible::type
uninitialized_move_alloc(Allocator &, I f, I l, F r) BOOST_NOEXCEPT_OR_NOTHROW
{ return dtl::memmove(f, l, r); }
@@ -413,7 +418,7 @@ template
// F models ForwardIterator
-BOOST_CONTAINER_FORCEINLINE typename dtl::enable_if_memtransfer_copy_constructible::type
+inline typename dtl::enable_if_memtransfer_copy_constructible::type
uninitialized_move_alloc_n(Allocator &, I f, std::size_t n, F r) BOOST_NOEXCEPT_OR_NOTHROW
{ return dtl::memmove_n(f, n, r); }
@@ -459,7 +464,7 @@ template
// F models ForwardIterator
-BOOST_CONTAINER_FORCEINLINE typename dtl::enable_if_memtransfer_copy_constructible::type
+inline typename dtl::enable_if_memtransfer_copy_constructible::type
uninitialized_move_alloc_n_source(Allocator &, I f, std::size_t n, F r) BOOST_NOEXCEPT_OR_NOTHROW
{ return dtl::memmove_n_source(f, n, r); }
@@ -504,7 +509,7 @@ template
// F models ForwardIterator
-BOOST_CONTAINER_FORCEINLINE typename dtl::enable_if_memtransfer_copy_constructible::type
+inline typename dtl::enable_if_memtransfer_copy_constructible::type
uninitialized_copy_alloc(Allocator &, I f, I l, F r) BOOST_NOEXCEPT_OR_NOTHROW
{ return dtl::memmove(f, l, r); }
@@ -550,7 +555,7 @@ template
// F models ForwardIterator
-BOOST_CONTAINER_FORCEINLINE typename dtl::enable_if_memtransfer_copy_constructible::type
+inline typename dtl::enable_if_memtransfer_copy_constructible::type
uninitialized_copy_alloc_n(Allocator &, I f, std::size_t n, F r) BOOST_NOEXCEPT_OR_NOTHROW
{ return dtl::memmove_n(f, n, r); }
@@ -595,7 +600,7 @@ template
// F models ForwardIterator
-BOOST_CONTAINER_FORCEINLINE typename dtl::enable_if_memtransfer_copy_constructible::type
+inline typename dtl::enable_if_memtransfer_copy_constructible::type
uninitialized_copy_alloc_n_source(Allocator &, I f, std::size_t n, F r) BOOST_NOEXCEPT_OR_NOTHROW
{ return dtl::memmove_n_source(f, n, r); }
@@ -639,7 +644,7 @@ inline typename dtl::disable_if_memzero_initializable::type
template
// F models ForwardIterator
-BOOST_CONTAINER_FORCEINLINE typename dtl::enable_if_memzero_initializable::type
+inline typename dtl::enable_if_memzero_initializable::type
uninitialized_value_init_alloc_n(Allocator &, std::size_t n, F r)
{
typedef typename boost::container::iterator_traits::value_type value_type;
@@ -812,7 +817,7 @@ template
// F models ForwardIterator
-BOOST_CONTAINER_FORCEINLINE typename dtl::enable_if_memtransfer_copy_assignable::type
+inline typename dtl::enable_if_memtransfer_copy_assignable::type
copy_n(I f, U n, F r) BOOST_NOEXCEPT_OR_NOTHROW
{ return dtl::memmove_n(f, n, r); }
@@ -840,7 +845,7 @@ inline typename dtl::disable_if_memtransfer_copy_assignable::type
template
// F models ForwardIterator
-BOOST_CONTAINER_FORCEINLINE typename dtl::enable_if_memtransfer_copy_assignable::type
+inline typename dtl::enable_if_memtransfer_copy_assignable::type
copy_n_source(I f, std::size_t n, F r) BOOST_NOEXCEPT_OR_NOTHROW
{ return dtl::memmove_n_source(f, n, r); }
@@ -867,7 +872,7 @@ inline typename dtl::disable_if_memtransfer_copy_assignable::type
template
// F models ForwardIterator
-BOOST_CONTAINER_FORCEINLINE typename dtl::enable_if_memtransfer_copy_assignable::type
+inline typename dtl::enable_if_memtransfer_copy_assignable::type
copy_n_source_dest(I f, std::size_t n, F &r) BOOST_NOEXCEPT_OR_NOTHROW
{ return dtl::memmove_n_source_dest(f, n, r); }
@@ -922,7 +927,7 @@ template
// F models ForwardIterator
-BOOST_CONTAINER_FORCEINLINE typename dtl::enable_if_memtransfer_copy_assignable::type
+inline typename dtl::enable_if_memtransfer_copy_assignable::type
move_n(I f, U n, F r) BOOST_NOEXCEPT_OR_NOTHROW
{ return dtl::memmove_n(f, n, r); }
@@ -949,7 +954,7 @@ inline typename dtl::disable_if_memtransfer_copy_assignable::type
template
// F models ForwardIterator
-BOOST_CONTAINER_FORCEINLINE typename dtl::enable_if_memtransfer_copy_assignable::type
+inline typename dtl::enable_if_memtransfer_copy_assignable