forked from boostorg/container
Don't use BOOST_CONTAINER_FORCEINLINE extensively, due to potential code bloat
This commit is contained in:
1 parent
9c852071f9
commit
1a4a205ea6
32 files changed
+1966
-2001
No files matched your search
@@ -508,7 +508,7 @@ class devector
|
||||
* [propagate_on_container_copy_assignment]: http://en.cppreference.com/w/cpp/memory/allocator_traits
|
||||
*/
|
||||
|
||||
BOOST_CONTAINER_FORCEINLINE devector& operator=(BOOST_COPY_ASSIGN_REF(devector) rhs)
|
||||
inline devector& operator=(BOOST_COPY_ASSIGN_REF(devector) rhs)
|
||||
{
|
||||
const devector &x = rhs;
|
||||
if (this == &x) { return *this; } // skip self
|
||||
@@ -636,7 +636,7 @@ class devector
|
||||
* [CopyInsertable]: http://en.cppreference.com/w/cpp/concept/CopyInsertable
|
||||
* [CopyAssignable]: http://en.cppreference.com/w/cpp/concept/CopyAssignable
|
||||
*/
|
||||
BOOST_CONTAINER_FORCEINLINE devector& operator=(std::initializer_list<T> il)
|
||||
inline devector& operator=(std::initializer_list<T> il)
|
||||
{
|
||||
this->assign(il.begin(), il.end());
|
||||
return *this;
|
||||
@@ -733,7 +733,7 @@ class devector
|
||||
* [CopyInsertable]: http://en.cppreference.com/w/cpp/concept/CopyInsertable
|
||||
* [CopyAssignable]: http://en.cppreference.com/w/cpp/concept/CopyAssignable
|
||||
*/
|
||||
BOOST_CONTAINER_FORCEINLINE void assign(size_type n, const T& u)
|
||||
inline void assign(size_type n, const T& u)
|
||||
{
|
||||
cvalue_iterator first(u, n);
|
||||
cvalue_iterator last;
|
||||
@@ -742,7 +742,7 @@ class devector
|
||||
|
||||
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
||||
/** **Equivalent to**: `assign(il.begin(), il.end())`. */
|
||||
BOOST_CONTAINER_FORCEINLINE void assign(std::initializer_list<T> il)
|
||||
inline void assign(std::initializer_list<T> il)
|
||||
{
|
||||
this->assign(il.begin(), il.end());
|
||||
}
|
||||
@@ -753,19 +753,19 @@ class devector
|
||||
*
|
||||
* **Complexity**: Constant.
|
||||
*/
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
allocator_type get_allocator() const BOOST_NOEXCEPT
|
||||
{
|
||||
return static_cast<const allocator_type&>(m_);
|
||||
}
|
||||
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
const allocator_type &get_stored_allocator() const BOOST_NOEXCEPT
|
||||
{
|
||||
return static_cast<const allocator_type&>(m_);
|
||||
}
|
||||
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
allocator_type &get_stored_allocator() BOOST_NOEXCEPT
|
||||
{
|
||||
return static_cast<allocator_type&>(m_);
|
||||
@@ -779,7 +779,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Constant.
|
||||
*/
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
iterator begin() BOOST_NOEXCEPT
|
||||
{
|
||||
return m_.buffer + m_.front_idx;
|
||||
@@ -791,7 +791,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Constant.
|
||||
*/
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
const_iterator begin() const BOOST_NOEXCEPT
|
||||
{
|
||||
return m_.buffer + m_.front_idx;
|
||||
@@ -802,7 +802,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Constant.
|
||||
*/
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
iterator end() BOOST_NOEXCEPT
|
||||
{
|
||||
return m_.buffer + m_.back_idx;
|
||||
@@ -813,7 +813,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Constant.
|
||||
*/
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
const_iterator end() const BOOST_NOEXCEPT
|
||||
{
|
||||
return m_.buffer + m_.back_idx;
|
||||
@@ -825,7 +825,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Constant.
|
||||
*/
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
reverse_iterator rbegin() BOOST_NOEXCEPT
|
||||
{
|
||||
return reverse_iterator(m_.buffer + m_.back_idx);
|
||||
@@ -838,7 +838,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Constant.
|
||||
*/
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
const_reverse_iterator rbegin() const BOOST_NOEXCEPT
|
||||
{
|
||||
return const_reverse_iterator(m_.buffer + m_.back_idx);
|
||||
@@ -850,7 +850,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Constant.
|
||||
*/
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
reverse_iterator rend() BOOST_NOEXCEPT
|
||||
{
|
||||
return reverse_iterator(m_.buffer + m_.front_idx);
|
||||
@@ -862,7 +862,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Constant.
|
||||
*/
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
const_reverse_iterator rend() const BOOST_NOEXCEPT
|
||||
{
|
||||
return const_reverse_iterator(m_.buffer + m_.front_idx);
|
||||
@@ -874,7 +874,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Constant.
|
||||
*/
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
const_iterator cbegin() const BOOST_NOEXCEPT
|
||||
{
|
||||
return m_.buffer + m_.front_idx;
|
||||
@@ -897,7 +897,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Constant.
|
||||
*/
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
const_reverse_iterator crbegin() const BOOST_NOEXCEPT
|
||||
{
|
||||
return const_reverse_iterator(m_.buffer + m_.back_idx);
|
||||
@@ -909,7 +909,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Constant.
|
||||
*/
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
const_reverse_iterator crend() const BOOST_NOEXCEPT
|
||||
{
|
||||
return const_reverse_iterator(m_.buffer + m_.front_idx);
|
||||
@@ -922,7 +922,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Constant.
|
||||
*/
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
bool empty() const BOOST_NOEXCEPT
|
||||
{
|
||||
return m_.front_idx == m_.back_idx;
|
||||
@@ -933,7 +933,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Constant.
|
||||
*/
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
size_type size() const BOOST_NOEXCEPT
|
||||
{
|
||||
return size_type(m_.back_idx - m_.front_idx);
|
||||
@@ -944,7 +944,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Constant.
|
||||
*/
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
size_type max_size() const BOOST_NOEXCEPT
|
||||
{
|
||||
size_type alloc_max = allocator_traits_type::max_size(get_allocator_ref());
|
||||
@@ -961,7 +961,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Constant.
|
||||
*/
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
size_type capacity() const BOOST_NOEXCEPT
|
||||
{
|
||||
size_type const cap_reserve = m_.capacity/devector_min_free_fraction;
|
||||
@@ -974,7 +974,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Constant.
|
||||
*/
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
size_type front_free_capacity() const BOOST_NOEXCEPT
|
||||
{
|
||||
return m_.front_idx;
|
||||
@@ -986,7 +986,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Constant.
|
||||
*/
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
size_type back_free_capacity() const BOOST_NOEXCEPT
|
||||
{
|
||||
return size_type(m_.capacity - m_.back_idx);
|
||||
@@ -1009,7 +1009,7 @@ class devector
|
||||
* [MoveInsertable]: http://en.cppreference.com/w/cpp/concept/MoveInsertable
|
||||
* [DefaultConstructible]: http://en.cppreference.com/w/cpp/concept/DefaultConstructible
|
||||
*/
|
||||
BOOST_CONTAINER_FORCEINLINE void resize(size_type sz)
|
||||
inline void resize(size_type sz)
|
||||
{
|
||||
this->resize_back(sz);
|
||||
}
|
||||
@@ -1018,7 +1018,7 @@ class devector
|
||||
* **Effects**: Same as resize(sz) but creates default-initialized
|
||||
* value-initialized.
|
||||
*/
|
||||
BOOST_CONTAINER_FORCEINLINE void resize(size_type sz, default_init_t)
|
||||
inline void resize(size_type sz, default_init_t)
|
||||
{
|
||||
this->resize_back(sz, default_init);
|
||||
}
|
||||
@@ -1039,7 +1039,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Linear in the size of `*this` and `sz`.
|
||||
*/
|
||||
BOOST_CONTAINER_FORCEINLINE void resize(size_type sz, const T& c)
|
||||
inline void resize(size_type sz, const T& c)
|
||||
{
|
||||
this->resize_back(sz, c);
|
||||
}
|
||||
@@ -1062,7 +1062,7 @@ class devector
|
||||
* [MoveInsertable]: http://en.cppreference.com/w/cpp/concept/MoveInsertable
|
||||
* [DefaultConstructible]: http://en.cppreference.com/w/cpp/concept/DefaultConstructible
|
||||
*/
|
||||
BOOST_CONTAINER_FORCEINLINE void resize_front(size_type sz)
|
||||
inline void resize_front(size_type sz)
|
||||
{
|
||||
resize_front_impl(sz);
|
||||
BOOST_ASSERT(invariants_ok());
|
||||
@@ -1085,7 +1085,7 @@ class devector
|
||||
*
|
||||
* [MoveInsertable]: http://en.cppreference.com/w/cpp/concept/MoveInsertable
|
||||
*/
|
||||
BOOST_CONTAINER_FORCEINLINE void resize_front(size_type sz, default_init_t)
|
||||
inline void resize_front(size_type sz, default_init_t)
|
||||
{
|
||||
resize_front_impl(sz, default_init);
|
||||
BOOST_ASSERT(invariants_ok());
|
||||
@@ -1108,7 +1108,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Linear in the size of `*this` and `sz`.
|
||||
*/
|
||||
BOOST_CONTAINER_FORCEINLINE void resize_front(size_type sz, const T& c)
|
||||
inline void resize_front(size_type sz, const T& c)
|
||||
{
|
||||
resize_front_impl(sz, c);
|
||||
BOOST_ASSERT(invariants_ok());
|
||||
@@ -1132,7 +1132,7 @@ class devector
|
||||
* [MoveInsertable]: http://en.cppreference.com/w/cpp/concept/MoveInsertable
|
||||
* [DefaultConstructible]: http://en.cppreference.com/w/cpp/concept/DefaultConstructible
|
||||
*/
|
||||
BOOST_CONTAINER_FORCEINLINE void resize_back(size_type sz)
|
||||
inline void resize_back(size_type sz)
|
||||
{
|
||||
resize_back_impl(sz);
|
||||
BOOST_ASSERT(invariants_ok());
|
||||
@@ -1155,7 +1155,7 @@ class devector
|
||||
*
|
||||
* [MoveInsertable]: http://en.cppreference.com/w/cpp/concept/MoveInsertable
|
||||
*/
|
||||
BOOST_CONTAINER_FORCEINLINE void resize_back(size_type sz, default_init_t)
|
||||
inline void resize_back(size_type sz, default_init_t)
|
||||
{
|
||||
resize_back_impl(sz, default_init);
|
||||
BOOST_ASSERT(invariants_ok());
|
||||
@@ -1177,7 +1177,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Linear in the size of `*this` and `sz`.
|
||||
*/
|
||||
BOOST_CONTAINER_FORCEINLINE void resize_back(size_type sz, const T& c)
|
||||
inline void resize_back(size_type sz, const T& c)
|
||||
{
|
||||
resize_back_impl(sz, c);
|
||||
BOOST_ASSERT(invariants_ok());
|
||||
@@ -1199,7 +1199,7 @@ class devector
|
||||
*
|
||||
* **Throws**: length_error if `new_capacity > max_size()`.
|
||||
*/
|
||||
BOOST_CONTAINER_FORCEINLINE void reserve(size_type new_capacity)
|
||||
inline void reserve(size_type new_capacity)
|
||||
{
|
||||
if (this->capacity() < new_capacity) {
|
||||
const size_type rounder = devector_min_free_fraction - 2u;
|
||||
@@ -1228,7 +1228,7 @@ class devector
|
||||
*
|
||||
* **Throws**: `length_error` if `new_capacity > max_size()`.
|
||||
*/
|
||||
BOOST_CONTAINER_FORCEINLINE void reserve_front(size_type new_capacity)
|
||||
inline void reserve_front(size_type new_capacity)
|
||||
{
|
||||
if (front_capacity() >= new_capacity) { return; }
|
||||
|
||||
@@ -1253,7 +1253,7 @@ class devector
|
||||
*
|
||||
* **Throws**: length_error if `new_capacity > max_size()`.
|
||||
*/
|
||||
BOOST_CONTAINER_FORCEINLINE void reserve_back(size_type new_capacity)
|
||||
inline void reserve_back(size_type new_capacity)
|
||||
{
|
||||
if (back_capacity() >= new_capacity) { return; }
|
||||
|
||||
@@ -1274,7 +1274,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Linear in the size of *this.
|
||||
*/
|
||||
BOOST_CONTAINER_FORCEINLINE void shrink_to_fit()
|
||||
inline void shrink_to_fit()
|
||||
{
|
||||
if(this->front_capacity() || this->back_capacity())
|
||||
this->reallocate_at(size(), 0);
|
||||
@@ -1289,7 +1289,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Constant.
|
||||
*/
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
reference operator[](size_type n) BOOST_NOEXCEPT
|
||||
{
|
||||
BOOST_ASSERT(n < size());
|
||||
@@ -1303,7 +1303,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Constant.
|
||||
*/
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
const_reference operator[](size_type n) const BOOST_NOEXCEPT
|
||||
{
|
||||
BOOST_ASSERT(n < size());
|
||||
@@ -1317,7 +1317,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Constant.
|
||||
*/
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
reference at(size_type n)
|
||||
{
|
||||
if (size() <= n)
|
||||
@@ -1332,7 +1332,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Constant.
|
||||
*/
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
const_reference at(size_type n) const
|
||||
{
|
||||
if (size() <= n)
|
||||
@@ -1347,7 +1347,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Constant.
|
||||
*/
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
reference front() BOOST_NOEXCEPT
|
||||
{
|
||||
BOOST_ASSERT(!empty());
|
||||
@@ -1362,7 +1362,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Constant.
|
||||
*/
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
const_reference front() const BOOST_NOEXCEPT
|
||||
{
|
||||
BOOST_ASSERT(!empty());
|
||||
@@ -1377,7 +1377,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Constant.
|
||||
*/
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
reference back() BOOST_NOEXCEPT
|
||||
{
|
||||
BOOST_ASSERT(!empty());
|
||||
@@ -1392,7 +1392,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Constant.
|
||||
*/
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
const_reference back() const BOOST_NOEXCEPT
|
||||
{
|
||||
BOOST_ASSERT(!empty());
|
||||
@@ -1407,7 +1407,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Constant.
|
||||
*/
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
T* data() BOOST_NOEXCEPT
|
||||
{
|
||||
return boost::movelib::to_raw_pointer(m_.buffer) + m_.front_idx;
|
||||
@@ -1420,7 +1420,7 @@ class devector
|
||||
*
|
||||
* **Complexity**: Constant.
|
||||
*/
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
const T* data() const BOOST_NOEXCEPT
|
||||
{
|
||||
return boost::movelib::to_raw_pointer(m_.buffer) + m_.front_idx;
|
||||
@@ -1467,7 +1467,7 @@ class devector
|
||||
|
||||
#define BOOST_CONTAINER_DEVECTOR_EMPLACE_FRONT(N) \
|
||||
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
||||
BOOST_CONTAINER_FORCEINLINE reference emplace_front(BOOST_MOVE_UREF##N)\
|
||||
inline reference emplace_front(BOOST_MOVE_UREF##N)\
|
||||
{\
|
||||
if (front_free_capacity())\
|
||||
{\
|
||||
@@ -1562,7 +1562,7 @@ class devector
|
||||
*/
|
||||
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
||||
template <class... Args>
|
||||
BOOST_CONTAINER_FORCEINLINE reference emplace_back(Args&&... args)
|
||||
inline reference emplace_back(Args&&... args)
|
||||
{
|
||||
if (BOOST_LIKELY(this->back_free_capacity() != 0)){
|
||||
pointer const p = m_.buffer + m_.back_idx;
|
||||
@@ -1581,7 +1581,7 @@ class devector
|
||||
|
||||
#define BOOST_CONTAINER_DEVECTOR_EMPLACE_BACK(N) \
|
||||
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
||||
BOOST_CONTAINER_FORCEINLINE reference emplace_back(BOOST_MOVE_UREF##N)\
|
||||
inline reference emplace_back(BOOST_MOVE_UREF##N)\
|
||||
{\
|
||||
if (this->back_free_capacity()){\
|
||||
pointer const p = m_.buffer + m_.back_idx;\
|
||||
@@ -1855,7 +1855,7 @@ class devector
|
||||
* [CopyInsertable]: http://en.cppreference.com/w/cpp/concept/CopyInsertable
|
||||
* [CopyAssignable]: http://en.cppreference.com/w/cpp/concept/CopyAssignable
|
||||
*/
|
||||
BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator position, size_type n, const T& x)
|
||||
inline iterator insert(const_iterator position, size_type n, const T& x)
|
||||
{
|
||||
cvalue_iterator first(x, n);
|
||||
cvalue_iterator last = first + n;
|
||||
@@ -1928,7 +1928,7 @@ class devector
|
||||
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
||||
|
||||
template <class ForwardIterator>
|
||||
BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator position, ForwardIterator first, ForwardIterator last
|
||||
inline iterator insert(const_iterator position, ForwardIterator first, ForwardIterator last
|
||||
//Other iterators
|
||||
BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I typename dtl::disable_if_or
|
||||
< void
|
||||
@@ -1944,7 +1944,7 @@ class devector
|
||||
|
||||
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
||||
/** **Equivalent to**: `insert(position, il.begin(), il.end())` */
|
||||
BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator position, std::initializer_list<T> il)
|
||||
inline iterator insert(const_iterator position, std::initializer_list<T> il)
|
||||
{
|
||||
return this->insert(position, il.begin(), il.end());
|
||||
}
|
||||
@@ -2106,99 +2106,99 @@ class devector
|
||||
m_.front_idx = m_.back_idx = 0;
|
||||
}
|
||||
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
friend bool operator==(const devector& x, const devector& y)
|
||||
{ return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
|
||||
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
friend bool operator!=(const devector& x, const devector& y)
|
||||
{ return !(x == y); }
|
||||
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
friend bool operator< (const devector& x, const devector& y)
|
||||
{ return boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
||||
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
friend bool operator>(const devector& x, const devector& y)
|
||||
{ return y < x; }
|
||||
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
friend bool operator<=(const devector& x, const devector& y)
|
||||
{ return !(y < x); }
|
||||
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
friend bool operator>=(const devector& x, const devector& y)
|
||||
{ return !(x < y); }
|
||||
|
||||
BOOST_CONTAINER_FORCEINLINE friend void swap(devector& x, devector& y)
|
||||
inline friend void swap(devector& x, devector& y)
|
||||
BOOST_NOEXCEPT_IF( allocator_traits_type::propagate_on_container_swap::value
|
||||
|| allocator_traits_type::is_always_equal::value)
|
||||
{ x.swap(y); }
|
||||
|
||||
private:
|
||||
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
size_type pos_to_index(const_iterator i) const
|
||||
{
|
||||
return static_cast<size_type>(i - cbegin());
|
||||
}
|
||||
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
|
||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
||||
bool should_move_back(const_iterator i) const
|
||||
{
|
||||
return static_cast<size_type>(this->pos_to_index(i)) >= this->size()/2u;
|
||||
}
|
||||
|
||||
BOOST_CONTAINER_FORCEINLINE static iterator unconst_iterator(const_iterator i)
|
||||
inline static iterator unconst_iterator(const_iterator i)
|
||||
{
|
||||
return boost::intrusive::pointer_traits<pointer>::const_cast_from(i);
|
||||
}
|
||||
|
||||
BOOST_CONTAINER_FORCEINLINE size_type front_capacity() const
|
||||
inline size_type front_capacity() const
|
||||
{
|
||||
return m_.back_idx;
|
||||
}
|
||||
|
||||
BOOST_CONTAINER_FORCEINLINE size_type back_capacity() const
|
||||
inline size_type back_capacity() const
|
||||
{
|
||||
return size_type(m_.capacity - m_.front_idx);
|
||||
}
|
||||
|
||||
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
||||
|
||||
BOOST_CONTAINER_FORCEINLINE T* priv_raw_begin() BOOST_NOEXCEPT
|
||||
inline T* priv_raw_begin() BOOST_NOEXCEPT
|
||||
{ return boost::movelib::to_raw_pointer(m_.buffer) + m_.front_idx; }
|
||||
|
||||
BOOST_CONTAINER_FORCEINLINE T* priv_raw_end() BOOST_NOEXCEPT
|
||||
inline T* priv_raw_end() BOOST_NOEXCEPT
|
||||
{ return boost::movelib::to_raw_pointer(m_.buffer) + m_.back_idx; }
|
||||
|
||||
|
||||
template <class U>
|
||||
BOOST_CONTAINER_FORCEINLINE void priv_push_front(BOOST_FWD_REF(U) u)
|
||||
inline void priv_push_front(BOOST_FWD_REF(U) u)
|
||||
{
|
||||
this->emplace_front(boost::forward<U>(u));
|
||||
}
|
||||
|
||||
template <class U>
|
||||
BOOST_CONTAINER_FORCEINLINE void priv_push_back(BOOST_FWD_REF(U) u)
|
||||
inline void priv_push_back(BOOST_FWD_REF(U) u)
|
||||
{
|
||||
this->emplace_back(boost::forward<U>(u));
|
||||
}
|
||||
|
||||
template <class U>
|
||||
BOOST_CONTAINER_FORCEINLINE iterator priv_insert(const_iterator pos, BOOST_FWD_REF(U) u)
|
||||
inline iterator priv_insert(const_iterator pos, BOOST_FWD_REF(U) u)
|
||||
{
|
||||
return this->emplace(pos, boost::forward<U>(u));
|
||||
}
|
||||
|
||||
// allocator_type wrappers
|
||||
|
||||
BOOST_CONTAINER_FORCEINLINE allocator_type& get_allocator_ref() BOOST_NOEXCEPT
|
||||
inline allocator_type& get_allocator_ref() BOOST_NOEXCEPT
|
||||
{
|
||||
return static_cast<allocator_type&>(m_);
|
||||
}
|
||||
|
||||
BOOST_CONTAINER_FORCEINLINE const allocator_type& get_allocator_ref() const BOOST_NOEXCEPT
|
||||
inline const allocator_type& get_allocator_ref() const BOOST_NOEXCEPT
|
||||
{
|
||||
return static_cast<const allocator_type&>(m_);
|
||||
}
|
||||
@@ -2230,7 +2230,7 @@ class devector
|
||||
|
||||
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
||||
template <typename... Args>
|
||||
BOOST_CONTAINER_FORCEINLINE void alloc_construct(pointer dst, Args&&... args)
|
||||
inline void alloc_construct(pointer dst, Args&&... args)
|
||||
{
|
||||
allocator_traits_type::construct(
|
||||
get_allocator_ref(),
|
||||
@@ -2260,7 +2260,7 @@ class devector
|
||||
|
||||
#define BOOST_CONTAINER_DEVECTOR_ALLOC_CONSTRUCT(N) \
|
||||
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
||||
BOOST_CONTAINER_FORCEINLINE void alloc_construct(pointer dst BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
|
||||
inline void alloc_construct(pointer dst BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
|
||||
{\
|
||||
allocator_traits_type::construct(\
|
||||
get_allocator_ref(), boost::movelib::to_raw_pointer(dst) BOOST_MOVE_I##N BOOST_MOVE_FWD##N );\
|
||||
@@ -2783,7 +2783,7 @@ class devector
|
||||
}
|
||||
|
||||
template <typename ForwardIterator>
|
||||
BOOST_CONTAINER_FORCEINLINE void overwrite_buffer(ForwardIterator first, ForwardIterator last)
|
||||
inline void overwrite_buffer(ForwardIterator first, ForwardIterator last)
|
||||
{
|
||||
this->overwrite_buffer_impl(first, last,
|
||||
dtl::bool_<dtl::is_trivially_destructible<T>::value>());
|
||||
@@ -2894,17 +2894,17 @@ class devector
|
||||
i.back_idx = 0;
|
||||
}
|
||||
|
||||
BOOST_CONTAINER_FORCEINLINE void set_back_idx(size_type bi)
|
||||
inline void set_back_idx(size_type bi)
|
||||
{
|
||||
back_idx = static_cast<stored_size_type>(bi);
|
||||
}
|
||||
|
||||
BOOST_CONTAINER_FORCEINLINE void set_front_idx(size_type fi)
|
||||
inline void set_front_idx(size_type fi)
|
||||
{
|
||||
front_idx = static_cast<stored_size_type>(fi);
|
||||
}
|
||||
|
||||
BOOST_CONTAINER_FORCEINLINE void set_capacity(size_type c)
|
||||
inline void set_capacity(size_type c)
|
||||
{
|
||||
capacity = static_cast<stored_size_type>(c);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user