mirror of
https://github.com/boostorg/container.git
synced 2026-01-19 04:02:17 +00:00
Replace BOOST_CONTAINER_ATTRIBUTE_NODISCARD with BOOST_CONTAINER_NODISCARD
This commit is contained in:
@@ -44,7 +44,7 @@ doxygen autodoc
|
|||||||
\"BOOST_RV_REF_END_IF_CXX11=&&\" \\
|
\"BOOST_RV_REF_END_IF_CXX11=&&\" \\
|
||||||
\"BOOST_COPY_ASSIGN_REF(T)=const T &\" \\
|
\"BOOST_COPY_ASSIGN_REF(T)=const T &\" \\
|
||||||
\"BOOST_FWD_REF(a)=a &&\" \\
|
\"BOOST_FWD_REF(a)=a &&\" \\
|
||||||
\"BOOST_CONTAINER_ATTRIBUTE_NODISCARD=[[nodiscard]] \" \\
|
\"BOOST_CONTAINER_NODISCARD=[[nodiscard]] \" \\
|
||||||
\"BOOST_NORETURN=[[noreturn]] \" \\
|
\"BOOST_NORETURN=[[noreturn]] \" \\
|
||||||
\"BOOST_INTRUSIVE_OPTION_CONSTANT(OPTION_NAME, TYPE, VALUE, CONSTANT_NAME) = template<TYPE VALUE> struct OPTION_NAME{};\" \\
|
\"BOOST_INTRUSIVE_OPTION_CONSTANT(OPTION_NAME, TYPE, VALUE, CONSTANT_NAME) = template<TYPE VALUE> struct OPTION_NAME{};\" \\
|
||||||
\"BOOST_INTRUSIVE_OPTION_TYPE(OPTION_NAME, TYPE, TYPEDEF_EXPR, TYPEDEF_NAME) = template<class TYPE> struct OPTION_NAME{};\" \\
|
\"BOOST_INTRUSIVE_OPTION_TYPE(OPTION_NAME, TYPE, TYPEDEF_EXPR, TYPEDEF_NAME) = template<class TYPE> struct OPTION_NAME{};\" \\
|
||||||
|
|||||||
@@ -150,13 +150,13 @@ class adaptive_pool
|
|||||||
|
|
||||||
//!Returns the number of elements that could be allocated.
|
//!Returns the number of elements that could be allocated.
|
||||||
//!Never throws
|
//!Never throws
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return size_type(-1)/(2u*sizeof(T)); }
|
{ return size_type(-1)/(2u*sizeof(T)); }
|
||||||
|
|
||||||
//!Allocate memory for an array of count elements.
|
//!Allocate memory for an array of count elements.
|
||||||
//!Throws bad_alloc if there is no enough memory
|
//!Throws bad_alloc if there is no enough memory
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
pointer allocate(size_type count, const void * = 0)
|
pointer allocate(size_type count, const void * = 0)
|
||||||
{
|
{
|
||||||
if(BOOST_UNLIKELY(count > size_type(-1)/(2u*sizeof(T))))
|
if(BOOST_UNLIKELY(count > size_type(-1)/(2u*sizeof(T))))
|
||||||
@@ -189,7 +189,7 @@ class adaptive_pool
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
pointer allocation_command(allocation_type command,
|
pointer allocation_command(allocation_type command,
|
||||||
size_type limit_size,
|
size_type limit_size,
|
||||||
size_type &prefer_in_recvd_out_size,
|
size_type &prefer_in_recvd_out_size,
|
||||||
@@ -209,7 +209,7 @@ class adaptive_pool
|
|||||||
//!Allocates just one object. Memory allocated with this function
|
//!Allocates just one object. Memory allocated with this function
|
||||||
//!must be deallocated only with deallocate_one().
|
//!must be deallocated only with deallocate_one().
|
||||||
//!Throws bad_alloc if there is no enough memory
|
//!Throws bad_alloc if there is no enough memory
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
pointer allocate_one()
|
pointer allocate_one()
|
||||||
{
|
{
|
||||||
typedef dtl::shared_adaptive_node_pool
|
typedef dtl::shared_adaptive_node_pool
|
||||||
@@ -321,13 +321,13 @@ class adaptive_pool
|
|||||||
|
|
||||||
//!An allocator always compares to true, as memory allocated with one
|
//!An allocator always compares to true, as memory allocated with one
|
||||||
//!instance can be deallocated by another instance
|
//!instance can be deallocated by another instance
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
friend bool operator==(const adaptive_pool &, const adaptive_pool &) BOOST_NOEXCEPT_OR_NOTHROW
|
friend bool operator==(const adaptive_pool &, const adaptive_pool &) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return true; }
|
{ return true; }
|
||||||
|
|
||||||
//!An allocator always compares to false, as memory allocated with one
|
//!An allocator always compares to false, as memory allocated with one
|
||||||
//!instance can be deallocated by another instance
|
//!instance can be deallocated by another instance
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
friend bool operator!=(const adaptive_pool &, const adaptive_pool &) BOOST_NOEXCEPT_OR_NOTHROW
|
friend bool operator!=(const adaptive_pool &, const adaptive_pool &) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return false; }
|
{ return false; }
|
||||||
|
|
||||||
@@ -472,13 +472,13 @@ class private_adaptive_pool
|
|||||||
|
|
||||||
//!Returns the number of elements that could be allocated.
|
//!Returns the number of elements that could be allocated.
|
||||||
//!Never throws
|
//!Never throws
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return size_type(-1)/(2u*sizeof(T)); }
|
{ return size_type(-1)/(2u*sizeof(T)); }
|
||||||
|
|
||||||
//!Allocate memory for an array of count elements.
|
//!Allocate memory for an array of count elements.
|
||||||
//!Throws bad_alloc if there is no enough memory
|
//!Throws bad_alloc if there is no enough memory
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
pointer allocate(size_type count, const void * = 0)
|
pointer allocate(size_type count, const void * = 0)
|
||||||
{
|
{
|
||||||
if(BOOST_UNLIKELY(count > size_type(-1)/(2u*sizeof(T))))
|
if(BOOST_UNLIKELY(count > size_type(-1)/(2u*sizeof(T))))
|
||||||
@@ -505,7 +505,7 @@ class private_adaptive_pool
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
pointer allocation_command(allocation_type command,
|
pointer allocation_command(allocation_type command,
|
||||||
size_type limit_size,
|
size_type limit_size,
|
||||||
size_type &prefer_in_recvd_out_size,
|
size_type &prefer_in_recvd_out_size,
|
||||||
@@ -525,7 +525,7 @@ class private_adaptive_pool
|
|||||||
//!Allocates just one object. Memory allocated with this function
|
//!Allocates just one object. Memory allocated with this function
|
||||||
//!must be deallocated only with deallocate_one().
|
//!must be deallocated only with deallocate_one().
|
||||||
//!Throws bad_alloc if there is no enough memory
|
//!Throws bad_alloc if there is no enough memory
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
pointer allocate_one()
|
pointer allocate_one()
|
||||||
{
|
{
|
||||||
return (pointer)m_pool.allocate_node();
|
return (pointer)m_pool.allocate_node();
|
||||||
@@ -593,13 +593,13 @@ class private_adaptive_pool
|
|||||||
|
|
||||||
//!An allocator always compares to true, as memory allocated with one
|
//!An allocator always compares to true, as memory allocated with one
|
||||||
//!instance can be deallocated by another instance
|
//!instance can be deallocated by another instance
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
friend bool operator==(const private_adaptive_pool &, const private_adaptive_pool &) BOOST_NOEXCEPT_OR_NOTHROW
|
friend bool operator==(const private_adaptive_pool &, const private_adaptive_pool &) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return true; }
|
{ return true; }
|
||||||
|
|
||||||
//!An allocator always compares to false, as memory allocated with one
|
//!An allocator always compares to false, as memory allocated with one
|
||||||
//!instance can be deallocated by another instance
|
//!instance can be deallocated by another instance
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
friend bool operator!=(const private_adaptive_pool &, const private_adaptive_pool &) BOOST_NOEXCEPT_OR_NOTHROW
|
friend bool operator!=(const private_adaptive_pool &, const private_adaptive_pool &) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return false; }
|
{ return false; }
|
||||||
|
|
||||||
|
|||||||
@@ -179,7 +179,7 @@ class allocator
|
|||||||
//!Throws bad_alloc if there is no enough memory
|
//!Throws bad_alloc if there is no enough memory
|
||||||
//!If Version is 2, this allocated memory can only be deallocated
|
//!If Version is 2, this allocated memory can only be deallocated
|
||||||
//!with deallocate() or (for Version == 2) deallocate_many()
|
//!with deallocate() or (for Version == 2) deallocate_many()
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD pointer allocate(size_type count, const void * hint= 0)
|
BOOST_CONTAINER_NODISCARD pointer allocate(size_type count, const void * hint= 0)
|
||||||
{
|
{
|
||||||
(void)hint;
|
(void)hint;
|
||||||
if(count > size_type(-1)/(2u*sizeof(T)))
|
if(count > size_type(-1)/(2u*sizeof(T)))
|
||||||
@@ -197,7 +197,7 @@ class allocator
|
|||||||
|
|
||||||
//!Returns the maximum number of elements that could be allocated.
|
//!Returns the maximum number of elements that could be allocated.
|
||||||
//!Never throws
|
//!Never throws
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
BOOST_CONTAINER_NODISCARD inline size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return size_type(-1)/(2u*sizeof(T)); }
|
{ return size_type(-1)/(2u*sizeof(T)); }
|
||||||
|
|
||||||
//!Swaps two allocators, does nothing
|
//!Swaps two allocators, does nothing
|
||||||
@@ -207,13 +207,13 @@ class allocator
|
|||||||
|
|
||||||
//!An allocator always compares to true, as memory allocated with one
|
//!An allocator always compares to true, as memory allocated with one
|
||||||
//!instance can be deallocated by another instance
|
//!instance can be deallocated by another instance
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
friend bool operator==(const allocator &, const allocator &) BOOST_NOEXCEPT_OR_NOTHROW
|
friend bool operator==(const allocator &, const allocator &) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return true; }
|
{ return true; }
|
||||||
|
|
||||||
//!An allocator always compares to false, as memory allocated with one
|
//!An allocator always compares to false, as memory allocated with one
|
||||||
//!instance can be deallocated by another instance
|
//!instance can be deallocated by another instance
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator!=(const allocator &, const allocator &) BOOST_NOEXCEPT_OR_NOTHROW
|
friend bool operator!=(const allocator &, const allocator &) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return false; }
|
{ return false; }
|
||||||
|
|
||||||
@@ -221,7 +221,7 @@ class allocator
|
|||||||
//!capabilities. Memory allocated with this function can only be deallocated with deallocate()
|
//!capabilities. Memory allocated with this function can only be deallocated with deallocate()
|
||||||
//!or deallocate_many().
|
//!or deallocate_many().
|
||||||
//!This function is available only with Version == 2
|
//!This function is available only with Version == 2
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD pointer allocation_command(allocation_type command,
|
BOOST_CONTAINER_NODISCARD pointer allocation_command(allocation_type command,
|
||||||
size_type limit_size,
|
size_type limit_size,
|
||||||
size_type &prefer_in_recvd_out_size,
|
size_type &prefer_in_recvd_out_size,
|
||||||
pointer &reuse)
|
pointer &reuse)
|
||||||
@@ -240,7 +240,7 @@ class allocator
|
|||||||
//!Memory must not have been allocated with
|
//!Memory must not have been allocated with
|
||||||
//!allocate_one or allocate_individual.
|
//!allocate_one or allocate_individual.
|
||||||
//!This function is available only with Version == 2
|
//!This function is available only with Version == 2
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD size_type size(pointer p) const BOOST_NOEXCEPT_OR_NOTHROW
|
BOOST_CONTAINER_NODISCARD size_type size(pointer p) const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_CONTAINER_STATIC_ASSERT(( Version > 1 ));
|
BOOST_CONTAINER_STATIC_ASSERT(( Version > 1 ));
|
||||||
return dlmalloc_size(p);
|
return dlmalloc_size(p);
|
||||||
@@ -250,7 +250,7 @@ class allocator
|
|||||||
//!must be deallocated only with deallocate_one().
|
//!must be deallocated only with deallocate_one().
|
||||||
//!Throws bad_alloc if there is no enough memory
|
//!Throws bad_alloc if there is no enough memory
|
||||||
//!This function is available only with Version == 2
|
//!This function is available only with Version == 2
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline pointer allocate_one()
|
BOOST_CONTAINER_NODISCARD inline pointer allocate_one()
|
||||||
{
|
{
|
||||||
BOOST_CONTAINER_STATIC_ASSERT(( Version > 1 ));
|
BOOST_CONTAINER_STATIC_ASSERT(( Version > 1 ));
|
||||||
return this->allocate(1);
|
return this->allocate(1);
|
||||||
|
|||||||
@@ -423,7 +423,7 @@ struct allocator_traits
|
|||||||
|
|
||||||
//! <b>Returns</b>: <code>a.allocate(n)</code>
|
//! <b>Returns</b>: <code>a.allocate(n)</code>
|
||||||
//!
|
//!
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
inline static pointer allocate(Allocator &a, size_type n)
|
inline static pointer allocate(Allocator &a, size_type n)
|
||||||
{ return a.allocate(n); }
|
{ return a.allocate(n); }
|
||||||
|
|
||||||
@@ -435,7 +435,7 @@ struct allocator_traits
|
|||||||
|
|
||||||
//! <b>Effects</b>: calls <code>a.allocate(n, p)</code> if that call is well-formed;
|
//! <b>Effects</b>: calls <code>a.allocate(n, p)</code> if that call is well-formed;
|
||||||
//! otherwise, invokes <code>a.allocate(n)</code>
|
//! otherwise, invokes <code>a.allocate(n)</code>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
inline 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::
|
const bool value = boost::container::dtl::
|
||||||
@@ -460,7 +460,7 @@ struct allocator_traits
|
|||||||
|
|
||||||
//! <b>Returns</b>: <code>a.max_size()</code> if that expression is well-formed; otherwise,
|
//! <b>Returns</b>: <code>a.max_size()</code> if that expression is well-formed; otherwise,
|
||||||
//! <code>numeric_limits<size_type>::max()</code>.
|
//! <code>numeric_limits<size_type>::max()</code>.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
inline 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<Allocator, size_type (Allocator::*)() const>::value;
|
const bool value = allocator_traits_detail::has_max_size<Allocator, size_type (Allocator::*)() const>::value;
|
||||||
|
|||||||
@@ -171,10 +171,10 @@ class deque_iterator
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline Pointer get_cur() const { return m_cur; }
|
BOOST_CONTAINER_NODISCARD inline Pointer get_cur() const { return m_cur; }
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline index_pointer get_node() const { return m_node; }
|
BOOST_CONTAINER_NODISCARD inline index_pointer get_node() const { return m_node; }
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline Pointer get_first() const { return *m_node; }
|
BOOST_CONTAINER_NODISCARD inline Pointer get_first() const { return *m_node; }
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline Pointer get_last() const { return *m_node + get_block_ssize(); }
|
BOOST_CONTAINER_NODISCARD inline Pointer get_last() const { return *m_node + get_block_ssize(); }
|
||||||
|
|
||||||
inline deque_iterator(val_alloc_ptr x, index_pointer y) BOOST_NOEXCEPT_OR_NOTHROW
|
inline deque_iterator(val_alloc_ptr x, index_pointer y) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
: m_cur(x), m_node(y)
|
: m_cur(x), m_node(y)
|
||||||
@@ -209,7 +209,7 @@ class deque_iterator
|
|||||||
inline pointer operator->() const BOOST_NOEXCEPT_OR_NOTHROW
|
inline pointer operator->() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->m_cur; }
|
{ return this->m_cur; }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD difference_type operator-(const deque_iterator& x) const BOOST_NOEXCEPT_OR_NOTHROW
|
BOOST_CONTAINER_NODISCARD difference_type operator-(const deque_iterator& x) const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
if(this->m_cur == x.m_cur){ //Includes when both are null
|
if(this->m_cur == x.m_cur){ //Includes when both are null
|
||||||
return 0;
|
return 0;
|
||||||
@@ -289,7 +289,7 @@ class deque_iterator
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
deque_iterator operator+(difference_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
deque_iterator operator+(difference_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ deque_iterator tmp(*this); return tmp += n; }
|
{ deque_iterator tmp(*this); return tmp += n; }
|
||||||
|
|
||||||
@@ -297,11 +297,11 @@ class deque_iterator
|
|||||||
deque_iterator& operator-=(difference_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
deque_iterator& operator-=(difference_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return *this += -n; }
|
{ return *this += -n; }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
deque_iterator operator-(difference_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
deque_iterator operator-(difference_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ deque_iterator tmp(*this); return tmp -= n; }
|
{ deque_iterator tmp(*this); return tmp -= n; }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reference operator[](difference_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
reference operator[](difference_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(!!m_cur);
|
BOOST_ASSERT(!!m_cur);
|
||||||
@@ -320,31 +320,31 @@ class deque_iterator
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Comparisons
|
//Comparisons
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator==(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
friend bool operator==(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return l.m_cur == r.m_cur; }
|
{ return l.m_cur == r.m_cur; }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator!=(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
friend bool operator!=(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return l.m_cur != r.m_cur; }
|
{ return l.m_cur != r.m_cur; }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator<(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
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); }
|
{ return (l.m_node == r.m_node) ? (l.m_cur < r.m_cur) : (l.m_node < r.m_node); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator>(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
friend bool operator>(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return r < l; }
|
{ return r < l; }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator<=(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
friend bool operator<=(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return !(r < l); }
|
{ return !(r < l); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator>=(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
friend bool operator>=(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return !(l < r); }
|
{ return !(l < r); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend deque_iterator operator+(difference_type n, deque_iterator x) BOOST_NOEXCEPT_OR_NOTHROW
|
friend deque_iterator operator+(difference_type n, deque_iterator x) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return x += n; }
|
{ return x += n; }
|
||||||
|
|
||||||
@@ -1458,7 +1458,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Throws</b>: If allocator's copy constructor throws.
|
//! <b>Throws</b>: If allocator's copy constructor throws.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return Base::alloc(); }
|
{ return Base::alloc(); }
|
||||||
|
|
||||||
@@ -1469,7 +1469,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension.
|
//! <b>Note</b>: Non-standard extension.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return Base::alloc(); }
|
{ return Base::alloc(); }
|
||||||
|
|
||||||
@@ -1486,7 +1486,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension.
|
//! <b>Note</b>: Non-standard extension.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
|
stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return Base::alloc(); }
|
{ return Base::alloc(); }
|
||||||
|
|
||||||
@@ -1495,7 +1495,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
|
iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->prot_start(); }
|
{ return this->prot_start(); }
|
||||||
|
|
||||||
@@ -1504,7 +1504,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->prot_start(); }
|
{ return this->prot_start(); }
|
||||||
|
|
||||||
@@ -1513,7 +1513,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator end() BOOST_NOEXCEPT_OR_NOTHROW
|
iterator end() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->prot_finish(); }
|
{ return this->prot_finish(); }
|
||||||
|
|
||||||
@@ -1522,7 +1522,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->prot_finish(); }
|
{ return this->prot_finish(); }
|
||||||
|
|
||||||
@@ -1532,7 +1532,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
|
reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return reverse_iterator(this->prot_finish()); }
|
{ return reverse_iterator(this->prot_finish()); }
|
||||||
|
|
||||||
@@ -1542,7 +1542,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return const_reverse_iterator(this->prot_finish()); }
|
{ return const_reverse_iterator(this->prot_finish()); }
|
||||||
|
|
||||||
@@ -1552,7 +1552,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
|
reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return reverse_iterator(this->prot_start()); }
|
{ return reverse_iterator(this->prot_start()); }
|
||||||
|
|
||||||
@@ -1562,7 +1562,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return const_reverse_iterator(this->prot_start()); }
|
{ return const_reverse_iterator(this->prot_start()); }
|
||||||
|
|
||||||
@@ -1571,7 +1571,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->prot_start(); }
|
{ return this->prot_start(); }
|
||||||
|
|
||||||
@@ -1580,7 +1580,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->prot_finish(); }
|
{ return this->prot_finish(); }
|
||||||
|
|
||||||
@@ -1590,7 +1590,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return const_reverse_iterator(this->prot_finish()); }
|
{ return const_reverse_iterator(this->prot_finish()); }
|
||||||
|
|
||||||
@@ -1600,7 +1600,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return const_reverse_iterator(this->prot_start()); }
|
{ return const_reverse_iterator(this->prot_start()); }
|
||||||
|
|
||||||
@@ -1615,7 +1615,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
|
bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->prot_empty(); }
|
{ return this->prot_empty(); }
|
||||||
|
|
||||||
@@ -1624,7 +1624,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
|
size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->prot_size(); }
|
{ return this->prot_size(); }
|
||||||
|
|
||||||
@@ -1636,7 +1636,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension.
|
//! <b>Note</b>: Non-standard extension.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type back_capacity() const BOOST_NOEXCEPT_OR_NOTHROW
|
size_type back_capacity() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return size_type(this->size() + this->prot_back_free_capacity()); }
|
{ return size_type(this->size() + this->prot_back_free_capacity()); }
|
||||||
|
|
||||||
@@ -1648,7 +1648,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension.
|
//! <b>Note</b>: Non-standard extension.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type front_capacity() const BOOST_NOEXCEPT_OR_NOTHROW
|
size_type front_capacity() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return size_type(this->size() + this->prot_front_free_capacity()); }
|
{ return size_type(this->size() + this->prot_front_free_capacity()); }
|
||||||
|
|
||||||
@@ -1701,7 +1701,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return allocator_traits_type::max_size(this->alloc()); }
|
{ return allocator_traits_type::max_size(this->alloc()); }
|
||||||
|
|
||||||
@@ -1792,7 +1792,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reference front() BOOST_NOEXCEPT_OR_NOTHROW
|
reference front() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(!this->empty());
|
BOOST_ASSERT(!this->empty());
|
||||||
@@ -1807,7 +1807,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reference front() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reference front() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(!this->empty());
|
BOOST_ASSERT(!this->empty());
|
||||||
@@ -1822,7 +1822,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reference back() BOOST_NOEXCEPT_OR_NOTHROW
|
reference back() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(!this->empty());
|
BOOST_ASSERT(!this->empty());
|
||||||
@@ -1837,7 +1837,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reference back() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reference back() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(!this->empty());
|
BOOST_ASSERT(!this->empty());
|
||||||
@@ -1852,7 +1852,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reference operator[](size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
reference operator[](size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(this->size() > n);
|
BOOST_ASSERT(this->size() > n);
|
||||||
@@ -1867,7 +1867,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reference operator[](size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reference operator[](size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(this->size() > n);
|
BOOST_ASSERT(this->size() > n);
|
||||||
@@ -1885,7 +1885,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension
|
//! <b>Note</b>: Non-standard extension
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(this->size() >= n);
|
BOOST_ASSERT(this->size() >= n);
|
||||||
@@ -1903,7 +1903,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension
|
//! <b>Note</b>: Non-standard extension
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(this->size() >= n);
|
BOOST_ASSERT(this->size() >= n);
|
||||||
@@ -1920,7 +1920,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension
|
//! <b>Note</b>: Non-standard extension
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
|
size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
//Range checked priv_index_of
|
//Range checked priv_index_of
|
||||||
@@ -1937,7 +1937,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension
|
//! <b>Note</b>: Non-standard extension
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
|
size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
//Range checked priv_index_of
|
//Range checked priv_index_of
|
||||||
@@ -1952,7 +1952,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Throws</b>: range_error if n >= size()
|
//! <b>Throws</b>: range_error if n >= size()
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reference at(size_type n)
|
reference at(size_type n)
|
||||||
{
|
{
|
||||||
this->priv_throw_if_out_of_range(n);
|
this->priv_throw_if_out_of_range(n);
|
||||||
@@ -1967,7 +1967,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Throws</b>: range_error if n >= size()
|
//! <b>Throws</b>: range_error if n >= size()
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reference at(size_type n) const
|
const_reference at(size_type n) const
|
||||||
{
|
{
|
||||||
this->priv_throw_if_out_of_range(n);
|
this->priv_throw_if_out_of_range(n);
|
||||||
@@ -2435,42 +2435,42 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|||||||
//! <b>Effects</b>: Returns true if x and y are equal
|
//! <b>Effects</b>: Returns true if x and y are equal
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator==(const deque& x, const deque& y)
|
friend bool operator==(const deque& x, const deque& y)
|
||||||
{ return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
|
{ return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x and y are unequal
|
//! <b>Effects</b>: Returns true if x and y are unequal
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator!=(const deque& x, const deque& y)
|
friend bool operator!=(const deque& x, const deque& y)
|
||||||
{ return !(x == y); }
|
{ return !(x == y); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x is less than y
|
//! <b>Effects</b>: Returns true if x is less than y
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator<(const deque& x, const deque& y)
|
friend bool operator<(const deque& x, const deque& y)
|
||||||
{ return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
{ return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x is greater than y
|
//! <b>Effects</b>: Returns true if x is greater than y
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator>(const deque& x, const deque& y)
|
friend bool operator>(const deque& x, const deque& y)
|
||||||
{ return y < x; }
|
{ return y < x; }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x is equal or less than y
|
//! <b>Effects</b>: Returns true if x is equal or less than y
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator<=(const deque& x, const deque& y)
|
friend bool operator<=(const deque& x, const deque& y)
|
||||||
{ return !(y < x); }
|
{ return !(y < x); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x is equal or greater than y
|
//! <b>Effects</b>: Returns true if x is equal or greater than y
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator>=(const deque& x, const deque& y)
|
friend bool operator>=(const deque& x, const deque& y)
|
||||||
{ return !(x < y); }
|
{ return !(x < y); }
|
||||||
|
|
||||||
|
|||||||
@@ -772,87 +772,87 @@ class flat_tree
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
// accessors:
|
// accessors:
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
Compare key_comp() const
|
Compare key_comp() const
|
||||||
{ return this->m_data.get_comp(); }
|
{ return this->m_data.get_comp(); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
value_compare value_comp() const
|
value_compare value_comp() const
|
||||||
{ return this->m_data; }
|
{ return this->m_data; }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
allocator_type get_allocator() const
|
allocator_type get_allocator() const
|
||||||
{ return this->m_data.m_seq.get_allocator(); }
|
{ return this->m_data.m_seq.get_allocator(); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
get_stored_allocator_const_return_t get_stored_allocator() const
|
get_stored_allocator_const_return_t get_stored_allocator() const
|
||||||
{
|
{
|
||||||
return flat_tree_get_stored_allocator(this->m_data.m_seq, dtl::bool_<has_stored_allocator_type>());
|
return flat_tree_get_stored_allocator(this->m_data.m_seq, dtl::bool_<has_stored_allocator_type>());
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
get_stored_allocator_noconst_return_t get_stored_allocator()
|
get_stored_allocator_noconst_return_t get_stored_allocator()
|
||||||
{
|
{
|
||||||
return flat_tree_get_stored_allocator(this->m_data.m_seq, dtl::bool_<has_stored_allocator_type>());
|
return flat_tree_get_stored_allocator(this->m_data.m_seq, dtl::bool_<has_stored_allocator_type>());
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator begin()
|
iterator begin()
|
||||||
{ return this->m_data.m_seq.begin(); }
|
{ return this->m_data.m_seq.begin(); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator begin() const
|
const_iterator begin() const
|
||||||
{ return this->cbegin(); }
|
{ return this->cbegin(); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator cbegin() const
|
const_iterator cbegin() const
|
||||||
{ return this->m_data.m_seq.begin(); }
|
{ return this->m_data.m_seq.begin(); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator end()
|
iterator end()
|
||||||
{ return this->m_data.m_seq.end(); }
|
{ return this->m_data.m_seq.end(); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator end() const
|
const_iterator end() const
|
||||||
{ return this->cend(); }
|
{ return this->cend(); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator cend() const
|
const_iterator cend() const
|
||||||
{ return this->m_data.m_seq.end(); }
|
{ return this->m_data.m_seq.end(); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reverse_iterator rbegin()
|
reverse_iterator rbegin()
|
||||||
{ return reverse_iterator(this->end()); }
|
{ return reverse_iterator(this->end()); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator rbegin() const
|
const_reverse_iterator rbegin() const
|
||||||
{ return this->crbegin(); }
|
{ return this->crbegin(); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator crbegin() const
|
const_reverse_iterator crbegin() const
|
||||||
{ return const_reverse_iterator(this->cend()); }
|
{ return const_reverse_iterator(this->cend()); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reverse_iterator rend()
|
reverse_iterator rend()
|
||||||
{ return reverse_iterator(this->begin()); }
|
{ return reverse_iterator(this->begin()); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator rend() const
|
const_reverse_iterator rend() const
|
||||||
{ return this->crend(); }
|
{ return this->crend(); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator crend() const
|
const_reverse_iterator crend() const
|
||||||
{ return const_reverse_iterator(this->cbegin()); }
|
{ return const_reverse_iterator(this->cbegin()); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
bool empty() const
|
bool empty() const
|
||||||
{ return this->m_data.m_seq.empty(); }
|
{ return this->m_data.m_seq.empty(); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type size() const
|
size_type size() const
|
||||||
{ return this->m_data.m_seq.size(); }
|
{ return this->m_data.m_seq.size(); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type max_size() const
|
size_type max_size() const
|
||||||
{ return this->m_data.m_seq.max_size(); }
|
{ return this->m_data.m_seq.max_size(); }
|
||||||
|
|
||||||
@@ -1299,7 +1299,7 @@ class flat_tree
|
|||||||
return flat_tree_nth<iterator>(this->m_data.m_seq, n, dtl::bool_<value>());
|
return flat_tree_nth<iterator>(this->m_data.m_seq, n, dtl::bool_<value>());
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
const bool value = boost::container::dtl::
|
const bool value = boost::container::dtl::
|
||||||
@@ -1307,7 +1307,7 @@ class flat_tree
|
|||||||
return flat_tree_nth<const_iterator>(this->m_data.m_seq, n, dtl::bool_<value>());
|
return flat_tree_nth<const_iterator>(this->m_data.m_seq, n, dtl::bool_<value>());
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
|
size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
const bool value = boost::container::dtl::
|
const bool value = boost::container::dtl::
|
||||||
@@ -1315,7 +1315,7 @@ class flat_tree
|
|||||||
return flat_tree_index_of(this->m_data.m_seq, p, dtl::bool_<value>());
|
return flat_tree_index_of(this->m_data.m_seq, p, dtl::bool_<value>());
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
|
size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
const bool value = boost::container::dtl::
|
const bool value = boost::container::dtl::
|
||||||
@@ -1324,7 +1324,7 @@ class flat_tree
|
|||||||
}
|
}
|
||||||
|
|
||||||
// set operations:
|
// set operations:
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
iterator find(const key_type& k)
|
iterator find(const key_type& k)
|
||||||
{
|
{
|
||||||
iterator i = this->lower_bound(k);
|
iterator i = this->lower_bound(k);
|
||||||
@@ -1335,7 +1335,7 @@ class flat_tree
|
|||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
const_iterator find(const key_type& k) const
|
const_iterator find(const key_type& k) const
|
||||||
{
|
{
|
||||||
const_iterator i = this->lower_bound(k);
|
const_iterator i = this->lower_bound(k);
|
||||||
@@ -1348,7 +1348,7 @@ class flat_tree
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
typename dtl::enable_if_transparent<key_compare, K, iterator>::type
|
typename dtl::enable_if_transparent<key_compare, K, iterator>::type
|
||||||
find(const K& k)
|
find(const K& k)
|
||||||
{
|
{
|
||||||
@@ -1361,7 +1361,7 @@ class flat_tree
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
typename dtl::enable_if_transparent<key_compare, K, const_iterator>::type
|
typename dtl::enable_if_transparent<key_compare, K, const_iterator>::type
|
||||||
find(const K& k) const
|
find(const K& k) const
|
||||||
{
|
{
|
||||||
@@ -1374,7 +1374,7 @@ class flat_tree
|
|||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
size_type count(const key_type& k) const
|
size_type count(const key_type& k) const
|
||||||
{
|
{
|
||||||
std::pair<const_iterator, const_iterator> p = this->equal_range(k);
|
std::pair<const_iterator, const_iterator> p = this->equal_range(k);
|
||||||
@@ -1383,7 +1383,7 @@ class flat_tree
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
typename dtl::enable_if_transparent<key_compare, K, size_type>::type
|
typename dtl::enable_if_transparent<key_compare, K, size_type>::type
|
||||||
count(const K& k) const
|
count(const K& k) const
|
||||||
{
|
{
|
||||||
@@ -1392,11 +1392,11 @@ class flat_tree
|
|||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline bool contains(const key_type& x) const
|
BOOST_CONTAINER_NODISCARD inline bool contains(const key_type& x) const
|
||||||
{ return this->find(x) != this->cend(); }
|
{ return this->find(x) != this->cend(); }
|
||||||
|
|
||||||
template<typename K>
|
template<typename K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
typename dtl::enable_if_transparent<key_compare, K, bool>::type
|
typename dtl::enable_if_transparent<key_compare, K, bool>::type
|
||||||
contains(const K& x) const
|
contains(const K& x) const
|
||||||
{ return this->find(x) != this->cend(); }
|
{ return this->find(x) != this->cend(); }
|
||||||
@@ -1439,88 +1439,88 @@ class flat_tree
|
|||||||
, dtl::bool_<value>());
|
, dtl::bool_<value>());
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator lower_bound(const key_type& k)
|
iterator lower_bound(const key_type& k)
|
||||||
{ return this->priv_lower_bound(this->begin(), this->end(), k); }
|
{ return this->priv_lower_bound(this->begin(), this->end(), k); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator lower_bound(const key_type& k) const
|
const_iterator lower_bound(const key_type& k) const
|
||||||
{ return this->priv_lower_bound(this->cbegin(), this->cend(), k); }
|
{ return this->priv_lower_bound(this->cbegin(), this->cend(), k); }
|
||||||
|
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
typename dtl::enable_if_transparent<key_compare, K, iterator>::type
|
typename dtl::enable_if_transparent<key_compare, K, iterator>::type
|
||||||
lower_bound(const K& k)
|
lower_bound(const K& k)
|
||||||
{ return this->priv_lower_bound(this->begin(), this->end(), k); }
|
{ return this->priv_lower_bound(this->begin(), this->end(), k); }
|
||||||
|
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
typename dtl::enable_if_transparent<key_compare, K, const_iterator>::type
|
typename dtl::enable_if_transparent<key_compare, K, const_iterator>::type
|
||||||
lower_bound(const K& k) const
|
lower_bound(const K& k) const
|
||||||
{ return this->priv_lower_bound(this->cbegin(), this->cend(), k); }
|
{ return this->priv_lower_bound(this->cbegin(), this->cend(), k); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator upper_bound(const key_type& k)
|
iterator upper_bound(const key_type& k)
|
||||||
{ return this->priv_upper_bound(this->begin(), this->end(), k); }
|
{ return this->priv_upper_bound(this->begin(), this->end(), k); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator upper_bound(const key_type& k) const
|
const_iterator upper_bound(const key_type& k) const
|
||||||
{ return this->priv_upper_bound(this->cbegin(), this->cend(), k); }
|
{ return this->priv_upper_bound(this->cbegin(), this->cend(), k); }
|
||||||
|
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
typename dtl::enable_if_transparent<key_compare, K,iterator>::type
|
typename dtl::enable_if_transparent<key_compare, K,iterator>::type
|
||||||
upper_bound(const K& k)
|
upper_bound(const K& k)
|
||||||
{ return this->priv_upper_bound(this->begin(), this->end(), k); }
|
{ return this->priv_upper_bound(this->begin(), this->end(), k); }
|
||||||
|
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
typename dtl::enable_if_transparent<key_compare, K,const_iterator>::type
|
typename dtl::enable_if_transparent<key_compare, K,const_iterator>::type
|
||||||
upper_bound(const K& k) const
|
upper_bound(const K& k) const
|
||||||
{ return this->priv_upper_bound(this->cbegin(), this->cend(), k); }
|
{ return this->priv_upper_bound(this->cbegin(), this->cend(), k); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
std::pair<iterator,iterator> equal_range(const key_type& k)
|
std::pair<iterator,iterator> equal_range(const key_type& k)
|
||||||
{ return this->priv_equal_range(this->begin(), this->end(), k); }
|
{ return this->priv_equal_range(this->begin(), this->end(), k); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
std::pair<const_iterator, const_iterator> equal_range(const key_type& k) const
|
std::pair<const_iterator, const_iterator> equal_range(const key_type& k) const
|
||||||
{ return this->priv_equal_range(this->cbegin(), this->cend(), k); }
|
{ return this->priv_equal_range(this->cbegin(), this->cend(), k); }
|
||||||
|
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
typename dtl::enable_if_transparent<key_compare, K, std::pair<iterator,iterator> >::type
|
typename dtl::enable_if_transparent<key_compare, K, std::pair<iterator,iterator> >::type
|
||||||
equal_range(const K& k)
|
equal_range(const K& k)
|
||||||
{ return this->priv_equal_range(this->begin(), this->end(), k); }
|
{ return this->priv_equal_range(this->begin(), this->end(), k); }
|
||||||
|
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
typename dtl::enable_if_transparent<key_compare, K,std::pair<const_iterator,const_iterator> >::type
|
typename dtl::enable_if_transparent<key_compare, K,std::pair<const_iterator,const_iterator> >::type
|
||||||
equal_range(const K& k) const
|
equal_range(const K& k) const
|
||||||
{ return this->priv_equal_range(this->cbegin(), this->cend(), k); }
|
{ return this->priv_equal_range(this->cbegin(), this->cend(), k); }
|
||||||
|
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
std::pair<iterator, iterator> lower_bound_range(const key_type& k)
|
std::pair<iterator, iterator> lower_bound_range(const key_type& k)
|
||||||
{ return this->priv_lower_bound_range(this->begin(), this->end(), k); }
|
{ return this->priv_lower_bound_range(this->begin(), this->end(), k); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
std::pair<const_iterator, const_iterator> lower_bound_range(const key_type& k) const
|
std::pair<const_iterator, const_iterator> lower_bound_range(const key_type& k) const
|
||||||
{ return this->priv_lower_bound_range(this->cbegin(), this->cend(), k); }
|
{ return this->priv_lower_bound_range(this->cbegin(), this->cend(), k); }
|
||||||
|
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
typename dtl::enable_if_transparent<key_compare, K,std::pair<iterator,iterator> >::type
|
typename dtl::enable_if_transparent<key_compare, K,std::pair<iterator,iterator> >::type
|
||||||
lower_bound_range(const K& k)
|
lower_bound_range(const K& k)
|
||||||
{ return this->priv_lower_bound_range(this->begin(), this->end(), k); }
|
{ return this->priv_lower_bound_range(this->begin(), this->end(), k); }
|
||||||
|
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
typename dtl::enable_if_transparent<key_compare, K,std::pair<const_iterator,const_iterator> >::type
|
typename dtl::enable_if_transparent<key_compare, K,std::pair<const_iterator,const_iterator> >::type
|
||||||
lower_bound_range(const K& k) const
|
lower_bound_range(const K& k) const
|
||||||
{ return this->priv_lower_bound_range(this->cbegin(), this->cend(), k); }
|
{ return this->priv_lower_bound_range(this->cbegin(), this->cend(), k); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type capacity() const
|
size_type capacity() const
|
||||||
{
|
{
|
||||||
const bool value = boost::container::dtl::
|
const bool value = boost::container::dtl::
|
||||||
@@ -1536,15 +1536,15 @@ class flat_tree
|
|||||||
(flat_tree_reserve)(this->m_data.m_seq, cnt, dtl::bool_<value>());
|
(flat_tree_reserve)(this->m_data.m_seq, cnt, dtl::bool_<value>());
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
container_type extract_sequence()
|
container_type extract_sequence()
|
||||||
{ return boost::move(m_data.m_seq); }
|
{ return boost::move(m_data.m_seq); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
container_type &get_sequence_ref()
|
container_type &get_sequence_ref()
|
||||||
{ return m_data.m_seq; }
|
{ return m_data.m_seq; }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const container_type &get_sequence_cref() const
|
const container_type &get_sequence_cref() const
|
||||||
{ return m_data.m_seq; }
|
{ return m_data.m_seq; }
|
||||||
|
|
||||||
@@ -1572,31 +1572,31 @@ class flat_tree
|
|||||||
m_data.m_seq = boost::move(seq);
|
m_data.m_seq = boost::move(seq);
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator==(const flat_tree& x, const flat_tree& y)
|
friend bool operator==(const flat_tree& x, const flat_tree& y)
|
||||||
{
|
{
|
||||||
return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin());
|
return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin());
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator<(const flat_tree& x, const flat_tree& y)
|
friend bool operator<(const flat_tree& x, const flat_tree& y)
|
||||||
{
|
{
|
||||||
return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end());
|
return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end());
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator!=(const flat_tree& x, const flat_tree& y)
|
friend bool operator!=(const flat_tree& x, const flat_tree& y)
|
||||||
{ return !(x == y); }
|
{ return !(x == y); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator>(const flat_tree& x, const flat_tree& y)
|
friend bool operator>(const flat_tree& x, const flat_tree& y)
|
||||||
{ return y < x; }
|
{ return y < x; }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator<=(const flat_tree& x, const flat_tree& y)
|
friend bool operator<=(const flat_tree& x, const flat_tree& y)
|
||||||
{ return !(y < x); }
|
{ return !(y < x); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator>=(const flat_tree& x, const flat_tree& y)
|
friend bool operator>=(const flat_tree& x, const flat_tree& y)
|
||||||
{ return !(x < y); }
|
{ return !(x < y); }
|
||||||
|
|
||||||
|
|||||||
@@ -705,56 +705,56 @@ class tree
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
// accessors:
|
// accessors:
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
value_compare value_comp() const
|
value_compare value_comp() const
|
||||||
{ return value_compare(this->key_comp()); }
|
{ return value_compare(this->key_comp()); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
key_compare key_comp() const
|
key_compare key_comp() const
|
||||||
{ return this->icont().key_comp(); }
|
{ return this->icont().key_comp(); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
allocator_type get_allocator() const
|
allocator_type get_allocator() const
|
||||||
{ return allocator_type(this->node_alloc()); }
|
{ return allocator_type(this->node_alloc()); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const stored_allocator_type &get_stored_allocator() const
|
const stored_allocator_type &get_stored_allocator() const
|
||||||
{ return this->node_alloc(); }
|
{ return this->node_alloc(); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
stored_allocator_type &get_stored_allocator()
|
stored_allocator_type &get_stored_allocator()
|
||||||
{ return this->node_alloc(); }
|
{ return this->node_alloc(); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator begin()
|
iterator begin()
|
||||||
{ return iterator(this->icont().begin()); }
|
{ return iterator(this->icont().begin()); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator begin() const
|
const_iterator begin() const
|
||||||
{ return this->cbegin(); }
|
{ return this->cbegin(); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator end()
|
iterator end()
|
||||||
{ return iterator(this->icont().end()); }
|
{ return iterator(this->icont().end()); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator end() const
|
const_iterator end() const
|
||||||
{ return this->cend(); }
|
{ return this->cend(); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reverse_iterator rbegin()
|
reverse_iterator rbegin()
|
||||||
{ return reverse_iterator(end()); }
|
{ return reverse_iterator(end()); }
|
||||||
|
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator rbegin() const
|
const_reverse_iterator rbegin() const
|
||||||
{ return this->crbegin(); }
|
{ return this->crbegin(); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reverse_iterator rend()
|
reverse_iterator rend()
|
||||||
{ return reverse_iterator(begin()); }
|
{ return reverse_iterator(begin()); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator rend() const
|
const_reverse_iterator rend() const
|
||||||
{ return this->crend(); }
|
{ return this->crend(); }
|
||||||
|
|
||||||
@@ -763,7 +763,7 @@ class tree
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator cbegin() const
|
const_iterator cbegin() const
|
||||||
{ return const_iterator(this->non_const_icont().begin()); }
|
{ return const_iterator(this->non_const_icont().begin()); }
|
||||||
|
|
||||||
@@ -772,7 +772,7 @@ class tree
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator cend() const
|
const_iterator cend() const
|
||||||
{ return const_iterator(this->non_const_icont().end()); }
|
{ return const_iterator(this->non_const_icont().end()); }
|
||||||
|
|
||||||
@@ -782,7 +782,7 @@ class tree
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator crbegin() const
|
const_reverse_iterator crbegin() const
|
||||||
{ return const_reverse_iterator(cend()); }
|
{ return const_reverse_iterator(cend()); }
|
||||||
|
|
||||||
@@ -792,19 +792,19 @@ class tree
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator crend() const
|
const_reverse_iterator crend() const
|
||||||
{ return const_reverse_iterator(cbegin()); }
|
{ return const_reverse_iterator(cbegin()); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
bool empty() const
|
bool empty() const
|
||||||
{ return !this->size(); }
|
{ return !this->size(); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type size() const
|
size_type size() const
|
||||||
{ return this->icont().size(); }
|
{ return this->icont().size(); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type max_size() const
|
size_type max_size() const
|
||||||
{ return AllocHolder::max_size(); }
|
{ return AllocHolder::max_size(); }
|
||||||
|
|
||||||
@@ -1315,94 +1315,94 @@ class tree
|
|||||||
|
|
||||||
// search operations. Const and non-const overloads even if no iterator is returned
|
// search operations. Const and non-const overloads even if no iterator is returned
|
||||||
// so splay implementations can to their rebalancing when searching in non-const versions
|
// so splay implementations can to their rebalancing when searching in non-const versions
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator find(const key_type& k)
|
iterator find(const key_type& k)
|
||||||
{ return iterator(this->icont().find(k)); }
|
{ return iterator(this->icont().find(k)); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator find(const key_type& k) const
|
const_iterator find(const key_type& k) const
|
||||||
{ return const_iterator(this->non_const_icont().find(k)); }
|
{ return const_iterator(this->non_const_icont().find(k)); }
|
||||||
|
|
||||||
template <class K>
|
template <class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
typename dtl::enable_if_transparent<key_compare, K, iterator>::type
|
typename dtl::enable_if_transparent<key_compare, K, iterator>::type
|
||||||
find(const K& k)
|
find(const K& k)
|
||||||
{ return iterator(this->icont().find(k, KeyNodeCompare(key_comp()))); }
|
{ return iterator(this->icont().find(k, KeyNodeCompare(key_comp()))); }
|
||||||
|
|
||||||
template <class K>
|
template <class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
typename dtl::enable_if_transparent<key_compare, K, const_iterator>::type
|
typename dtl::enable_if_transparent<key_compare, K, const_iterator>::type
|
||||||
find(const K& k) const
|
find(const K& k) const
|
||||||
{ return const_iterator(this->non_const_icont().find(k, KeyNodeCompare(key_comp()))); }
|
{ return const_iterator(this->non_const_icont().find(k, KeyNodeCompare(key_comp()))); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type count(const key_type& k) const
|
size_type count(const key_type& k) const
|
||||||
{ return size_type(this->icont().count(k)); }
|
{ return size_type(this->icont().count(k)); }
|
||||||
|
|
||||||
template <class K>
|
template <class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
typename dtl::enable_if_transparent<key_compare, K, size_type>::type
|
typename dtl::enable_if_transparent<key_compare, K, size_type>::type
|
||||||
count(const K& k) const
|
count(const K& k) const
|
||||||
{ return size_type(this->icont().count(k, KeyNodeCompare(key_comp()))); }
|
{ return size_type(this->icont().count(k, KeyNodeCompare(key_comp()))); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
bool contains(const key_type& x) const
|
bool contains(const key_type& x) const
|
||||||
{ return this->find(x) != this->cend(); }
|
{ return this->find(x) != this->cend(); }
|
||||||
|
|
||||||
template<typename K>
|
template<typename K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
typename dtl::enable_if_transparent<key_compare, K, bool>::type
|
typename dtl::enable_if_transparent<key_compare, K, bool>::type
|
||||||
contains(const K& x) const
|
contains(const K& x) const
|
||||||
{ return this->find(x) != this->cend(); }
|
{ return this->find(x) != this->cend(); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator lower_bound(const key_type& k)
|
iterator lower_bound(const key_type& k)
|
||||||
{ return iterator(this->icont().lower_bound(k)); }
|
{ return iterator(this->icont().lower_bound(k)); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator lower_bound(const key_type& k) const
|
const_iterator lower_bound(const key_type& k) const
|
||||||
{ return const_iterator(this->non_const_icont().lower_bound(k)); }
|
{ return const_iterator(this->non_const_icont().lower_bound(k)); }
|
||||||
|
|
||||||
template <class K>
|
template <class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
typename dtl::enable_if_transparent<key_compare, K, iterator>::type
|
typename dtl::enable_if_transparent<key_compare, K, iterator>::type
|
||||||
lower_bound(const K& k)
|
lower_bound(const K& k)
|
||||||
{ return iterator(this->icont().lower_bound(k, KeyNodeCompare(key_comp()))); }
|
{ return iterator(this->icont().lower_bound(k, KeyNodeCompare(key_comp()))); }
|
||||||
|
|
||||||
template <class K>
|
template <class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
typename dtl::enable_if_transparent<key_compare, K, const_iterator>::type
|
typename dtl::enable_if_transparent<key_compare, K, const_iterator>::type
|
||||||
lower_bound(const K& k) const
|
lower_bound(const K& k) const
|
||||||
{ return const_iterator(this->non_const_icont().lower_bound(k, KeyNodeCompare(key_comp()))); }
|
{ return const_iterator(this->non_const_icont().lower_bound(k, KeyNodeCompare(key_comp()))); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator upper_bound(const key_type& k)
|
iterator upper_bound(const key_type& k)
|
||||||
{ return iterator(this->icont().upper_bound(k)); }
|
{ return iterator(this->icont().upper_bound(k)); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator upper_bound(const key_type& k) const
|
const_iterator upper_bound(const key_type& k) const
|
||||||
{ return const_iterator(this->non_const_icont().upper_bound(k)); }
|
{ return const_iterator(this->non_const_icont().upper_bound(k)); }
|
||||||
|
|
||||||
template <class K>
|
template <class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
typename dtl::enable_if_transparent<key_compare, K, iterator>::type
|
typename dtl::enable_if_transparent<key_compare, K, iterator>::type
|
||||||
upper_bound(const K& k)
|
upper_bound(const K& k)
|
||||||
{ return iterator(this->icont().upper_bound(k, KeyNodeCompare(key_comp()))); }
|
{ return iterator(this->icont().upper_bound(k, KeyNodeCompare(key_comp()))); }
|
||||||
|
|
||||||
template <class K>
|
template <class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
typename dtl::enable_if_transparent<key_compare, K, const_iterator>::type
|
typename dtl::enable_if_transparent<key_compare, K, const_iterator>::type
|
||||||
upper_bound(const K& k) const
|
upper_bound(const K& k) const
|
||||||
{ return const_iterator(this->non_const_icont().upper_bound(k, KeyNodeCompare(key_comp()))); }
|
{ return const_iterator(this->non_const_icont().upper_bound(k, KeyNodeCompare(key_comp()))); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
std::pair<iterator,iterator> equal_range(const key_type& k)
|
std::pair<iterator,iterator> equal_range(const key_type& k)
|
||||||
{
|
{
|
||||||
std::pair<iiterator, iiterator> ret = this->icont().equal_range(k);
|
std::pair<iiterator, iiterator> ret = this->icont().equal_range(k);
|
||||||
return std::pair<iterator,iterator>(iterator(ret.first), iterator(ret.second));
|
return std::pair<iterator,iterator>(iterator(ret.first), iterator(ret.second));
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
std::pair<const_iterator, const_iterator> equal_range(const key_type& k) const
|
std::pair<const_iterator, const_iterator> equal_range(const key_type& k) const
|
||||||
{
|
{
|
||||||
std::pair<iiterator, iiterator> ret =
|
std::pair<iiterator, iiterator> ret =
|
||||||
@@ -1412,7 +1412,7 @@ class tree
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <class K>
|
template <class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
typename dtl::enable_if_transparent<key_compare, K, std::pair<iterator,iterator> >::type
|
typename dtl::enable_if_transparent<key_compare, K, std::pair<iterator,iterator> >::type
|
||||||
equal_range(const K& k)
|
equal_range(const K& k)
|
||||||
{
|
{
|
||||||
@@ -1422,7 +1422,7 @@ class tree
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <class K>
|
template <class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
typename dtl::enable_if_transparent<key_compare, K, std::pair<const_iterator, const_iterator> >::type
|
typename dtl::enable_if_transparent<key_compare, K, std::pair<const_iterator, const_iterator> >::type
|
||||||
equal_range(const K& k) const
|
equal_range(const K& k) const
|
||||||
{
|
{
|
||||||
@@ -1432,7 +1432,7 @@ class tree
|
|||||||
(const_iterator(ret.first), const_iterator(ret.second));
|
(const_iterator(ret.first), const_iterator(ret.second));
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
std::pair<iterator,iterator> lower_bound_range(const key_type& k)
|
std::pair<iterator,iterator> lower_bound_range(const key_type& k)
|
||||||
{
|
{
|
||||||
std::pair<iiterator, iiterator> ret =
|
std::pair<iiterator, iiterator> ret =
|
||||||
@@ -1440,7 +1440,7 @@ class tree
|
|||||||
return std::pair<iterator,iterator>(iterator(ret.first), iterator(ret.second));
|
return std::pair<iterator,iterator>(iterator(ret.first), iterator(ret.second));
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
std::pair<const_iterator, const_iterator> lower_bound_range(const key_type& k) const
|
std::pair<const_iterator, const_iterator> lower_bound_range(const key_type& k) const
|
||||||
{
|
{
|
||||||
std::pair<iiterator, iiterator> ret =
|
std::pair<iiterator, iiterator> ret =
|
||||||
@@ -1450,7 +1450,7 @@ class tree
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <class K>
|
template <class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
typename dtl::enable_if_transparent<key_compare, K, std::pair<iterator,iterator> >::type
|
typename dtl::enable_if_transparent<key_compare, K, std::pair<iterator,iterator> >::type
|
||||||
lower_bound_range(const K& k)
|
lower_bound_range(const K& k)
|
||||||
{
|
{
|
||||||
@@ -1460,7 +1460,7 @@ class tree
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <class K>
|
template <class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
typename dtl::enable_if_transparent<key_compare, K, std::pair<const_iterator, const_iterator> >::type
|
typename dtl::enable_if_transparent<key_compare, K, std::pair<const_iterator, const_iterator> >::type
|
||||||
lower_bound_range(const K& k) const
|
lower_bound_range(const K& k) const
|
||||||
{
|
{
|
||||||
@@ -1473,27 +1473,27 @@ class tree
|
|||||||
inline void rebalance()
|
inline void rebalance()
|
||||||
{ intrusive_tree_proxy_t::rebalance(this->icont()); }
|
{ intrusive_tree_proxy_t::rebalance(this->icont()); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator==(const tree& x, const tree& y)
|
friend bool operator==(const tree& x, const tree& y)
|
||||||
{ return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
|
{ return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator<(const tree& x, const tree& y)
|
friend bool operator<(const tree& x, const tree& y)
|
||||||
{ return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
{ return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator!=(const tree& x, const tree& y)
|
friend bool operator!=(const tree& x, const tree& y)
|
||||||
{ return !(x == y); }
|
{ return !(x == y); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator>(const tree& x, const tree& y)
|
friend bool operator>(const tree& x, const tree& y)
|
||||||
{ return y < x; }
|
{ return y < x; }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator<=(const tree& x, const tree& y)
|
friend bool operator<=(const tree& x, const tree& y)
|
||||||
{ return !(y < x); }
|
{ return !(y < x); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator>=(const tree& x, const tree& y)
|
friend bool operator>=(const tree& x, const tree& y)
|
||||||
{ return !(x < y); }
|
{ return !(x < y); }
|
||||||
|
|
||||||
|
|||||||
@@ -137,14 +137,14 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(BOOST_CONTAINER_DISABLE_ATTRIBUTE_NODISCARD)
|
#if defined(BOOST_CONTAINER_DISABLE_ATTRIBUTE_NODISCARD)
|
||||||
#define BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
#define BOOST_CONTAINER_NODISCARD
|
||||||
#else
|
#else
|
||||||
#if defined(BOOST_GCC) && ((BOOST_GCC < 100000) || (__cplusplus < 201703L))
|
#if defined(BOOST_GCC) && ((BOOST_GCC < 100000) || (__cplusplus < 201703L))
|
||||||
//Avoid using it in C++ < 17 and GCC < 10 because it warns in SFINAE contexts
|
//Avoid using it in C++ < 17 and GCC < 10 because it warns in SFINAE contexts
|
||||||
//(see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89070)
|
//(see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89070)
|
||||||
#define BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
#define BOOST_CONTAINER_NODISCARD
|
||||||
#else
|
#else
|
||||||
#define BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_ATTRIBUTE_NODISCARD
|
#define BOOST_CONTAINER_NODISCARD BOOST_ATTRIBUTE_NODISCARD
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -729,19 +729,19 @@ class devector
|
|||||||
*
|
*
|
||||||
* **Complexity**: Constant.
|
* **Complexity**: Constant.
|
||||||
*/
|
*/
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
allocator_type get_allocator() const BOOST_NOEXCEPT
|
allocator_type get_allocator() const BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
return static_cast<const allocator_type&>(m_);
|
return static_cast<const allocator_type&>(m_);
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const allocator_type &get_stored_allocator() const BOOST_NOEXCEPT
|
const allocator_type &get_stored_allocator() const BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
return static_cast<const allocator_type&>(m_);
|
return static_cast<const allocator_type&>(m_);
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
allocator_type &get_stored_allocator() BOOST_NOEXCEPT
|
allocator_type &get_stored_allocator() BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
return static_cast<allocator_type&>(m_);
|
return static_cast<allocator_type&>(m_);
|
||||||
@@ -755,7 +755,7 @@ class devector
|
|||||||
*
|
*
|
||||||
* **Complexity**: Constant.
|
* **Complexity**: Constant.
|
||||||
*/
|
*/
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator begin() BOOST_NOEXCEPT
|
iterator begin() BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
return m_.buffer + m_.front_idx;
|
return m_.buffer + m_.front_idx;
|
||||||
@@ -767,7 +767,7 @@ class devector
|
|||||||
*
|
*
|
||||||
* **Complexity**: Constant.
|
* **Complexity**: Constant.
|
||||||
*/
|
*/
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator begin() const BOOST_NOEXCEPT
|
const_iterator begin() const BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
return m_.buffer + m_.front_idx;
|
return m_.buffer + m_.front_idx;
|
||||||
@@ -778,7 +778,7 @@ class devector
|
|||||||
*
|
*
|
||||||
* **Complexity**: Constant.
|
* **Complexity**: Constant.
|
||||||
*/
|
*/
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator end() BOOST_NOEXCEPT
|
iterator end() BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
return m_.buffer + m_.back_idx;
|
return m_.buffer + m_.back_idx;
|
||||||
@@ -789,7 +789,7 @@ class devector
|
|||||||
*
|
*
|
||||||
* **Complexity**: Constant.
|
* **Complexity**: Constant.
|
||||||
*/
|
*/
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator end() const BOOST_NOEXCEPT
|
const_iterator end() const BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
return m_.buffer + m_.back_idx;
|
return m_.buffer + m_.back_idx;
|
||||||
@@ -801,7 +801,7 @@ class devector
|
|||||||
*
|
*
|
||||||
* **Complexity**: Constant.
|
* **Complexity**: Constant.
|
||||||
*/
|
*/
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reverse_iterator rbegin() BOOST_NOEXCEPT
|
reverse_iterator rbegin() BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
return reverse_iterator(m_.buffer + m_.back_idx);
|
return reverse_iterator(m_.buffer + m_.back_idx);
|
||||||
@@ -814,7 +814,7 @@ class devector
|
|||||||
*
|
*
|
||||||
* **Complexity**: Constant.
|
* **Complexity**: Constant.
|
||||||
*/
|
*/
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator rbegin() const BOOST_NOEXCEPT
|
const_reverse_iterator rbegin() const BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
return const_reverse_iterator(m_.buffer + m_.back_idx);
|
return const_reverse_iterator(m_.buffer + m_.back_idx);
|
||||||
@@ -826,7 +826,7 @@ class devector
|
|||||||
*
|
*
|
||||||
* **Complexity**: Constant.
|
* **Complexity**: Constant.
|
||||||
*/
|
*/
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reverse_iterator rend() BOOST_NOEXCEPT
|
reverse_iterator rend() BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
return reverse_iterator(m_.buffer + m_.front_idx);
|
return reverse_iterator(m_.buffer + m_.front_idx);
|
||||||
@@ -838,7 +838,7 @@ class devector
|
|||||||
*
|
*
|
||||||
* **Complexity**: Constant.
|
* **Complexity**: Constant.
|
||||||
*/
|
*/
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator rend() const BOOST_NOEXCEPT
|
const_reverse_iterator rend() const BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
return const_reverse_iterator(m_.buffer + m_.front_idx);
|
return const_reverse_iterator(m_.buffer + m_.front_idx);
|
||||||
@@ -850,7 +850,7 @@ class devector
|
|||||||
*
|
*
|
||||||
* **Complexity**: Constant.
|
* **Complexity**: Constant.
|
||||||
*/
|
*/
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator cbegin() const BOOST_NOEXCEPT
|
const_iterator cbegin() const BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
return m_.buffer + m_.front_idx;
|
return m_.buffer + m_.front_idx;
|
||||||
@@ -873,7 +873,7 @@ class devector
|
|||||||
*
|
*
|
||||||
* **Complexity**: Constant.
|
* **Complexity**: Constant.
|
||||||
*/
|
*/
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator crbegin() const BOOST_NOEXCEPT
|
const_reverse_iterator crbegin() const BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
return const_reverse_iterator(m_.buffer + m_.back_idx);
|
return const_reverse_iterator(m_.buffer + m_.back_idx);
|
||||||
@@ -885,7 +885,7 @@ class devector
|
|||||||
*
|
*
|
||||||
* **Complexity**: Constant.
|
* **Complexity**: Constant.
|
||||||
*/
|
*/
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator crend() const BOOST_NOEXCEPT
|
const_reverse_iterator crend() const BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
return const_reverse_iterator(m_.buffer + m_.front_idx);
|
return const_reverse_iterator(m_.buffer + m_.front_idx);
|
||||||
@@ -898,7 +898,7 @@ class devector
|
|||||||
*
|
*
|
||||||
* **Complexity**: Constant.
|
* **Complexity**: Constant.
|
||||||
*/
|
*/
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
bool empty() const BOOST_NOEXCEPT
|
bool empty() const BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
return m_.front_idx == m_.back_idx;
|
return m_.front_idx == m_.back_idx;
|
||||||
@@ -909,7 +909,7 @@ class devector
|
|||||||
*
|
*
|
||||||
* **Complexity**: Constant.
|
* **Complexity**: Constant.
|
||||||
*/
|
*/
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type size() const BOOST_NOEXCEPT
|
size_type size() const BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
return size_type(m_.back_idx - m_.front_idx);
|
return size_type(m_.back_idx - m_.front_idx);
|
||||||
@@ -920,7 +920,7 @@ class devector
|
|||||||
*
|
*
|
||||||
* **Complexity**: Constant.
|
* **Complexity**: Constant.
|
||||||
*/
|
*/
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type max_size() const BOOST_NOEXCEPT
|
size_type max_size() const BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
size_type alloc_max = allocator_traits_type::max_size(get_allocator_ref());
|
size_type alloc_max = allocator_traits_type::max_size(get_allocator_ref());
|
||||||
@@ -937,7 +937,7 @@ class devector
|
|||||||
*
|
*
|
||||||
* **Complexity**: Constant.
|
* **Complexity**: Constant.
|
||||||
*/
|
*/
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type capacity() const BOOST_NOEXCEPT
|
size_type capacity() const BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
size_type const cap_reserve = m_.capacity/devector_min_free_fraction;
|
size_type const cap_reserve = m_.capacity/devector_min_free_fraction;
|
||||||
@@ -950,7 +950,7 @@ class devector
|
|||||||
*
|
*
|
||||||
* **Complexity**: Constant.
|
* **Complexity**: Constant.
|
||||||
*/
|
*/
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type front_free_capacity() const BOOST_NOEXCEPT
|
size_type front_free_capacity() const BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
return m_.front_idx;
|
return m_.front_idx;
|
||||||
@@ -962,7 +962,7 @@ class devector
|
|||||||
*
|
*
|
||||||
* **Complexity**: Constant.
|
* **Complexity**: Constant.
|
||||||
*/
|
*/
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type back_free_capacity() const BOOST_NOEXCEPT
|
size_type back_free_capacity() const BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
return size_type(m_.capacity - m_.back_idx);
|
return size_type(m_.capacity - m_.back_idx);
|
||||||
@@ -1274,7 +1274,7 @@ class devector
|
|||||||
*
|
*
|
||||||
* **Complexity**: Constant.
|
* **Complexity**: Constant.
|
||||||
*/
|
*/
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reference operator[](size_type n) BOOST_NOEXCEPT
|
reference operator[](size_type n) BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(n < size());
|
BOOST_ASSERT(n < size());
|
||||||
@@ -1288,7 +1288,7 @@ class devector
|
|||||||
*
|
*
|
||||||
* **Complexity**: Constant.
|
* **Complexity**: Constant.
|
||||||
*/
|
*/
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reference operator[](size_type n) const BOOST_NOEXCEPT
|
const_reference operator[](size_type n) const BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(n < size());
|
BOOST_ASSERT(n < size());
|
||||||
@@ -1306,7 +1306,7 @@ class devector
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension
|
//! <b>Note</b>: Non-standard extension
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(n <= size());
|
BOOST_ASSERT(n <= size());
|
||||||
@@ -1324,7 +1324,7 @@ class devector
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension
|
//! <b>Note</b>: Non-standard extension
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(n <= size());
|
BOOST_ASSERT(n <= size());
|
||||||
@@ -1341,7 +1341,7 @@ class devector
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension
|
//! <b>Note</b>: Non-standard extension
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
|
size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(p >= begin());
|
BOOST_ASSERT(p >= begin());
|
||||||
@@ -1359,7 +1359,7 @@ class devector
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension
|
//! <b>Note</b>: Non-standard extension
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
|
size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(p >= cbegin());
|
BOOST_ASSERT(p >= cbegin());
|
||||||
@@ -1374,7 +1374,7 @@ class devector
|
|||||||
*
|
*
|
||||||
* **Complexity**: Constant.
|
* **Complexity**: Constant.
|
||||||
*/
|
*/
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reference at(size_type n)
|
reference at(size_type n)
|
||||||
{
|
{
|
||||||
if (size() <= n)
|
if (size() <= n)
|
||||||
@@ -1389,7 +1389,7 @@ class devector
|
|||||||
*
|
*
|
||||||
* **Complexity**: Constant.
|
* **Complexity**: Constant.
|
||||||
*/
|
*/
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reference at(size_type n) const
|
const_reference at(size_type n) const
|
||||||
{
|
{
|
||||||
if (size() <= n)
|
if (size() <= n)
|
||||||
@@ -1404,7 +1404,7 @@ class devector
|
|||||||
*
|
*
|
||||||
* **Complexity**: Constant.
|
* **Complexity**: Constant.
|
||||||
*/
|
*/
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reference front() BOOST_NOEXCEPT
|
reference front() BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(!empty());
|
BOOST_ASSERT(!empty());
|
||||||
@@ -1419,7 +1419,7 @@ class devector
|
|||||||
*
|
*
|
||||||
* **Complexity**: Constant.
|
* **Complexity**: Constant.
|
||||||
*/
|
*/
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reference front() const BOOST_NOEXCEPT
|
const_reference front() const BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(!empty());
|
BOOST_ASSERT(!empty());
|
||||||
@@ -1434,7 +1434,7 @@ class devector
|
|||||||
*
|
*
|
||||||
* **Complexity**: Constant.
|
* **Complexity**: Constant.
|
||||||
*/
|
*/
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reference back() BOOST_NOEXCEPT
|
reference back() BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(!empty());
|
BOOST_ASSERT(!empty());
|
||||||
@@ -1449,7 +1449,7 @@ class devector
|
|||||||
*
|
*
|
||||||
* **Complexity**: Constant.
|
* **Complexity**: Constant.
|
||||||
*/
|
*/
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reference back() const BOOST_NOEXCEPT
|
const_reference back() const BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(!empty());
|
BOOST_ASSERT(!empty());
|
||||||
@@ -1464,7 +1464,7 @@ class devector
|
|||||||
*
|
*
|
||||||
* **Complexity**: Constant.
|
* **Complexity**: Constant.
|
||||||
*/
|
*/
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
T* data() BOOST_NOEXCEPT
|
T* data() BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
return boost::movelib::to_raw_pointer(m_.buffer) + m_.front_idx;
|
return boost::movelib::to_raw_pointer(m_.buffer) + m_.front_idx;
|
||||||
@@ -1477,7 +1477,7 @@ class devector
|
|||||||
*
|
*
|
||||||
* **Complexity**: Constant.
|
* **Complexity**: Constant.
|
||||||
*/
|
*/
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const T* data() const BOOST_NOEXCEPT
|
const T* data() const BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
return boost::movelib::to_raw_pointer(m_.buffer) + m_.front_idx;
|
return boost::movelib::to_raw_pointer(m_.buffer) + m_.front_idx;
|
||||||
@@ -2163,27 +2163,27 @@ class devector
|
|||||||
m_.front_idx = m_.back_idx = 0;
|
m_.front_idx = m_.back_idx = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator==(const devector& x, const devector& y)
|
friend bool operator==(const devector& x, const devector& y)
|
||||||
{ return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
|
{ return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator!=(const devector& x, const devector& y)
|
friend bool operator!=(const devector& x, const devector& y)
|
||||||
{ return !(x == y); }
|
{ return !(x == y); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator< (const devector& x, const devector& y)
|
friend bool operator< (const devector& x, const devector& y)
|
||||||
{ return boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
{ return boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator>(const devector& x, const devector& y)
|
friend bool operator>(const devector& x, const devector& y)
|
||||||
{ return y < x; }
|
{ return y < x; }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator<=(const devector& x, const devector& y)
|
friend bool operator<=(const devector& x, const devector& y)
|
||||||
{ return !(y < x); }
|
{ return !(y < x); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator>=(const devector& x, const devector& y)
|
friend bool operator>=(const devector& x, const devector& y)
|
||||||
{ return !(x < y); }
|
{ return !(x < y); }
|
||||||
|
|
||||||
@@ -2263,13 +2263,13 @@ class devector
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type pos_to_index(const_iterator i) const
|
size_type pos_to_index(const_iterator i) const
|
||||||
{
|
{
|
||||||
return static_cast<size_type>(i - cbegin());
|
return static_cast<size_type>(i - cbegin());
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
bool should_move_back(const_iterator i) const
|
bool should_move_back(const_iterator i) const
|
||||||
{
|
{
|
||||||
return static_cast<size_type>(this->pos_to_index(i)) >= this->size()/2u;
|
return static_cast<size_type>(this->pos_to_index(i)) >= this->size()/2u;
|
||||||
|
|||||||
@@ -554,7 +554,7 @@ class flat_map
|
|||||||
//! was passed to the object's constructor.
|
//! was passed to the object's constructor.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force_copy<allocator_type>(m_flat_tree.get_allocator()); }
|
{ return dtl::force_copy<allocator_type>(m_flat_tree.get_allocator()); }
|
||||||
|
|
||||||
@@ -565,7 +565,7 @@ class flat_map
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension.
|
//! <b>Note</b>: Non-standard extension.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
get_stored_allocator_noconst_return_t get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
|
get_stored_allocator_noconst_return_t get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
impl_get_stored_allocator_noconst_return_t r = m_flat_tree.get_stored_allocator();
|
impl_get_stored_allocator_noconst_return_t r = m_flat_tree.get_stored_allocator();
|
||||||
@@ -579,7 +579,7 @@ class flat_map
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension.
|
//! <b>Note</b>: Non-standard extension.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
get_stored_allocator_const_return_t get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
get_stored_allocator_const_return_t get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
impl_get_stored_allocator_const_return_t r = m_flat_tree.get_stored_allocator();
|
impl_get_stored_allocator_const_return_t r = m_flat_tree.get_stored_allocator();
|
||||||
@@ -597,7 +597,7 @@ class flat_map
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
|
iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force_copy<iterator>(m_flat_tree.begin()); }
|
{ return dtl::force_copy<iterator>(m_flat_tree.begin()); }
|
||||||
|
|
||||||
@@ -606,7 +606,7 @@ class flat_map
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force_copy<const_iterator>(m_flat_tree.begin()); }
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.begin()); }
|
||||||
|
|
||||||
@@ -615,7 +615,7 @@ class flat_map
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator end() BOOST_NOEXCEPT_OR_NOTHROW
|
iterator end() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force_copy<iterator>(m_flat_tree.end()); }
|
{ return dtl::force_copy<iterator>(m_flat_tree.end()); }
|
||||||
|
|
||||||
@@ -624,7 +624,7 @@ class flat_map
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force_copy<const_iterator>(m_flat_tree.end()); }
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.end()); }
|
||||||
|
|
||||||
@@ -634,7 +634,7 @@ class flat_map
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
|
reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force_copy<reverse_iterator>(m_flat_tree.rbegin()); }
|
{ return dtl::force_copy<reverse_iterator>(m_flat_tree.rbegin()); }
|
||||||
|
|
||||||
@@ -644,7 +644,7 @@ class flat_map
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rbegin()); }
|
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rbegin()); }
|
||||||
|
|
||||||
@@ -654,7 +654,7 @@ class flat_map
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
|
reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force_copy<reverse_iterator>(m_flat_tree.rend()); }
|
{ return dtl::force_copy<reverse_iterator>(m_flat_tree.rend()); }
|
||||||
|
|
||||||
@@ -664,7 +664,7 @@ class flat_map
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rend()); }
|
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rend()); }
|
||||||
|
|
||||||
@@ -673,7 +673,7 @@ class flat_map
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force_copy<const_iterator>(m_flat_tree.cbegin()); }
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.cbegin()); }
|
||||||
|
|
||||||
@@ -682,7 +682,7 @@ class flat_map
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force_copy<const_iterator>(m_flat_tree.cend()); }
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.cend()); }
|
||||||
|
|
||||||
@@ -692,7 +692,7 @@ class flat_map
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crbegin()); }
|
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crbegin()); }
|
||||||
|
|
||||||
@@ -702,7 +702,7 @@ class flat_map
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crend()); }
|
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crend()); }
|
||||||
|
|
||||||
@@ -717,7 +717,7 @@ class flat_map
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
|
bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return m_flat_tree.empty(); }
|
{ return m_flat_tree.empty(); }
|
||||||
|
|
||||||
@@ -726,7 +726,7 @@ class flat_map
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
|
size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return m_flat_tree.size(); }
|
{ return m_flat_tree.size(); }
|
||||||
|
|
||||||
@@ -735,7 +735,7 @@ class flat_map
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return m_flat_tree.max_size(); }
|
{ return m_flat_tree.max_size(); }
|
||||||
|
|
||||||
@@ -745,7 +745,7 @@ class flat_map
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
|
size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return m_flat_tree.capacity(); }
|
{ return m_flat_tree.capacity(); }
|
||||||
|
|
||||||
@@ -939,22 +939,22 @@ class flat_map
|
|||||||
}
|
}
|
||||||
|
|
||||||
//! @copydoc ::boost::container::flat_set::nth(size_type)
|
//! @copydoc ::boost::container::flat_set::nth(size_type)
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
|
{ return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
|
||||||
|
|
||||||
//! @copydoc ::boost::container::flat_set::nth(size_type) const
|
//! @copydoc ::boost::container::flat_set::nth(size_type) const
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force_copy<const_iterator>(m_flat_tree.nth(n)); }
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.nth(n)); }
|
||||||
|
|
||||||
//! @copydoc ::boost::container::flat_set::index_of(iterator)
|
//! @copydoc ::boost::container::flat_set::index_of(iterator)
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
|
size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return m_flat_tree.index_of(dtl::force_copy<impl_iterator>(p)); }
|
{ return m_flat_tree.index_of(dtl::force_copy<impl_iterator>(p)); }
|
||||||
|
|
||||||
//! @copydoc ::boost::container::flat_set::index_of(const_iterator) const
|
//! @copydoc ::boost::container::flat_set::index_of(const_iterator) const
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
|
size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return m_flat_tree.index_of(dtl::force_copy<impl_const_iterator>(p)); }
|
{ return m_flat_tree.index_of(dtl::force_copy<impl_const_iterator>(p)); }
|
||||||
|
|
||||||
@@ -963,7 +963,7 @@ class flat_map
|
|||||||
//! Throws: An exception object of type out_of_range if no such element is present.
|
//! Throws: An exception object of type out_of_range if no such element is present.
|
||||||
//!
|
//!
|
||||||
//! Complexity: logarithmic.
|
//! Complexity: logarithmic.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD T& at(const key_type& k)
|
BOOST_CONTAINER_NODISCARD T& at(const key_type& k)
|
||||||
{
|
{
|
||||||
iterator i = this->find(k);
|
iterator i = this->find(k);
|
||||||
if(i == this->end()){
|
if(i == this->end()){
|
||||||
@@ -977,7 +977,7 @@ class flat_map
|
|||||||
//! Throws: An exception object of type out_of_range if no such element is present.
|
//! Throws: An exception object of type out_of_range if no such element is present.
|
||||||
//!
|
//!
|
||||||
//! Complexity: logarithmic.
|
//! Complexity: logarithmic.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD const T& at(const key_type& k) const
|
BOOST_CONTAINER_NODISCARD const T& at(const key_type& k) const
|
||||||
{
|
{
|
||||||
const_iterator i = this->find(k);
|
const_iterator i = this->find(k);
|
||||||
if(i == this->cend()){
|
if(i == this->cend()){
|
||||||
@@ -994,7 +994,7 @@ class flat_map
|
|||||||
//!
|
//!
|
||||||
//! Complexity: logarithmic.
|
//! Complexity: logarithmic.
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
BOOST_CONTAINER_DOC1ST
|
BOOST_CONTAINER_DOC1ST
|
||||||
( T&
|
( T&
|
||||||
, typename dtl::enable_if_transparent< key_compare
|
, typename dtl::enable_if_transparent< key_compare
|
||||||
@@ -1018,7 +1018,7 @@ class flat_map
|
|||||||
//!
|
//!
|
||||||
//! Complexity: logarithmic.
|
//! Complexity: logarithmic.
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
BOOST_CONTAINER_DOC1ST
|
BOOST_CONTAINER_DOC1ST
|
||||||
( const T&
|
( const T&
|
||||||
, typename dtl::enable_if_transparent< key_compare
|
, typename dtl::enable_if_transparent< key_compare
|
||||||
@@ -1560,7 +1560,7 @@ class flat_map
|
|||||||
//! of which a was constructed.
|
//! of which a was constructed.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
key_compare key_comp() const
|
key_compare key_comp() const
|
||||||
{ return dtl::force_copy<key_compare>(m_flat_tree.key_comp()); }
|
{ return dtl::force_copy<key_compare>(m_flat_tree.key_comp()); }
|
||||||
|
|
||||||
@@ -1568,7 +1568,7 @@ class flat_map
|
|||||||
//! of the comparison object.
|
//! of the comparison object.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
value_compare value_comp() const
|
value_compare value_comp() const
|
||||||
{ return value_compare(dtl::force_copy<key_compare>(m_flat_tree.key_comp())); }
|
{ return value_compare(dtl::force_copy<key_compare>(m_flat_tree.key_comp())); }
|
||||||
|
|
||||||
@@ -1582,7 +1582,7 @@ class flat_map
|
|||||||
//! equivalent to x, or end() if such an element is not found.
|
//! equivalent to x, or end() if such an element is not found.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic.
|
//! <b>Complexity</b>: Logarithmic.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator find(const key_type& x)
|
iterator find(const key_type& x)
|
||||||
{ return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
|
{ return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
|
||||||
|
|
||||||
@@ -1590,7 +1590,7 @@ class flat_map
|
|||||||
//! equivalent to x, or end() if such an element is not found.
|
//! equivalent to x, or end() if such an element is not found.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic.
|
//! <b>Complexity</b>: Logarithmic.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator find(const key_type& x) const
|
const_iterator find(const key_type& x) const
|
||||||
{ return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
|
||||||
|
|
||||||
@@ -1602,7 +1602,7 @@ class flat_map
|
|||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic.
|
//! <b>Complexity</b>: Logarithmic.
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator find(const K& x)
|
iterator find(const K& x)
|
||||||
{ return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
|
{ return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
|
||||||
|
|
||||||
@@ -1614,14 +1614,14 @@ class flat_map
|
|||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic.
|
//! <b>Complexity</b>: Logarithmic.
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator find(const K& x) const
|
const_iterator find(const K& x) const
|
||||||
{ return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
|
||||||
|
|
||||||
//! <b>Returns</b>: The number of elements with key equivalent to x.
|
//! <b>Returns</b>: The number of elements with key equivalent to x.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: log(size())+count(k)
|
//! <b>Complexity</b>: log(size())+count(k)
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type count(const key_type& x) const
|
size_type count(const key_type& x) const
|
||||||
{ return static_cast<size_type>(m_flat_tree.find(x) != m_flat_tree.end()); }
|
{ return static_cast<size_type>(m_flat_tree.find(x) != m_flat_tree.end()); }
|
||||||
|
|
||||||
@@ -1632,7 +1632,7 @@ class flat_map
|
|||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: log(size())+count(k)
|
//! <b>Complexity</b>: log(size())+count(k)
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type count(const K& x) const
|
size_type count(const K& x) const
|
||||||
//Don't use find() != end optimization here as transparent comparators with key K might
|
//Don't use find() != end optimization here as transparent comparators with key K might
|
||||||
//return a different range than key_type (which can only return a single element range)
|
//return a different range than key_type (which can only return a single element range)
|
||||||
@@ -1642,7 +1642,7 @@ class flat_map
|
|||||||
//! equivalent to key in the container, otherwise false.
|
//! equivalent to key in the container, otherwise false.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: log(size()).
|
//! <b>Complexity</b>: log(size()).
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
bool contains(const key_type& x) const
|
bool contains(const key_type& x) const
|
||||||
{ return m_flat_tree.find(x) != m_flat_tree.end(); }
|
{ return m_flat_tree.find(x) != m_flat_tree.end(); }
|
||||||
|
|
||||||
@@ -1654,7 +1654,7 @@ class flat_map
|
|||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: log(size()).
|
//! <b>Complexity</b>: log(size()).
|
||||||
template<typename K>
|
template<typename K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
bool contains(const K& x) const
|
bool contains(const K& x) const
|
||||||
{ return m_flat_tree.find(x) != m_flat_tree.end(); }
|
{ return m_flat_tree.find(x) != m_flat_tree.end(); }
|
||||||
|
|
||||||
@@ -1662,7 +1662,7 @@ class flat_map
|
|||||||
//! than x, or end() if such an element is not found.
|
//! than x, or end() if such an element is not found.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic.
|
//! <b>Complexity</b>: Logarithmic.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator lower_bound(const key_type& x)
|
iterator lower_bound(const key_type& x)
|
||||||
{ return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
|
{ return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
|
||||||
|
|
||||||
@@ -1670,7 +1670,7 @@ class flat_map
|
|||||||
//! less than x, or end() if such an element is not found.
|
//! less than x, or end() if such an element is not found.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic.
|
//! <b>Complexity</b>: Logarithmic.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator lower_bound(const key_type& x) const
|
const_iterator lower_bound(const key_type& x) const
|
||||||
{ return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
|
||||||
|
|
||||||
@@ -1682,7 +1682,7 @@ class flat_map
|
|||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic.
|
//! <b>Complexity</b>: Logarithmic.
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator lower_bound(const K& x)
|
iterator lower_bound(const K& x)
|
||||||
{ return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
|
{ return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
|
||||||
|
|
||||||
@@ -1694,7 +1694,7 @@ class flat_map
|
|||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic.
|
//! <b>Complexity</b>: Logarithmic.
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator lower_bound(const K& x) const
|
const_iterator lower_bound(const K& x) const
|
||||||
{ return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
|
||||||
|
|
||||||
@@ -1702,7 +1702,7 @@ class flat_map
|
|||||||
//! than x, or end() if such an element is not found.
|
//! than x, or end() if such an element is not found.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic.
|
//! <b>Complexity</b>: Logarithmic.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator upper_bound(const key_type& x)
|
iterator upper_bound(const key_type& x)
|
||||||
{ return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
|
{ return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
|
||||||
|
|
||||||
@@ -1710,7 +1710,7 @@ class flat_map
|
|||||||
//! greater than x, or end() if such an element is not found.
|
//! greater than x, or end() if such an element is not found.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic.
|
//! <b>Complexity</b>: Logarithmic.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator upper_bound(const key_type& x) const
|
const_iterator upper_bound(const key_type& x) const
|
||||||
{ return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
|
||||||
|
|
||||||
@@ -1722,7 +1722,7 @@ class flat_map
|
|||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic.
|
//! <b>Complexity</b>: Logarithmic.
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator upper_bound(const K& x)
|
iterator upper_bound(const K& x)
|
||||||
{ return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
|
{ return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
|
||||||
|
|
||||||
@@ -1734,21 +1734,21 @@ class flat_map
|
|||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic.
|
//! <b>Complexity</b>: Logarithmic.
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator upper_bound(const K& x) const
|
const_iterator upper_bound(const K& x) const
|
||||||
{ return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
|
//! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic.
|
//! <b>Complexity</b>: Logarithmic.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
std::pair<iterator,iterator> equal_range(const key_type& x)
|
std::pair<iterator,iterator> equal_range(const key_type& x)
|
||||||
{ return dtl::force_copy<std::pair<iterator,iterator> >(m_flat_tree.lower_bound_range(x)); }
|
{ return dtl::force_copy<std::pair<iterator,iterator> >(m_flat_tree.lower_bound_range(x)); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
|
//! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic.
|
//! <b>Complexity</b>: Logarithmic.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
std::pair<const_iterator, const_iterator> equal_range(const key_type& x) const
|
std::pair<const_iterator, const_iterator> equal_range(const key_type& x) const
|
||||||
{ return dtl::force_copy<std::pair<const_iterator,const_iterator> >(m_flat_tree.lower_bound_range(x)); }
|
{ return dtl::force_copy<std::pair<const_iterator,const_iterator> >(m_flat_tree.lower_bound_range(x)); }
|
||||||
|
|
||||||
@@ -1759,7 +1759,7 @@ class flat_map
|
|||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic.
|
//! <b>Complexity</b>: Logarithmic.
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
std::pair<iterator,iterator> equal_range(const K& x)
|
std::pair<iterator,iterator> equal_range(const K& x)
|
||||||
//Don't use lower_bound_range optimization here as transparent comparators with key K might
|
//Don't use lower_bound_range optimization here as transparent comparators with key K might
|
||||||
//return a different range than key_type (which can only return a single element range)
|
//return a different range than key_type (which can only return a single element range)
|
||||||
@@ -1772,7 +1772,7 @@ class flat_map
|
|||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic.
|
//! <b>Complexity</b>: Logarithmic.
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
std::pair<const_iterator, const_iterator> equal_range(const K& x) const
|
std::pair<const_iterator, const_iterator> equal_range(const K& x) const
|
||||||
//Don't use lower_bound_range optimization here as transparent comparators with key K might
|
//Don't use lower_bound_range optimization here as transparent comparators with key K might
|
||||||
//return a different range than key_type (which can only return a single element range)
|
//return a different range than key_type (which can only return a single element range)
|
||||||
@@ -1785,7 +1785,7 @@ class flat_map
|
|||||||
//! <b>Postcondition</b>: this->empty()
|
//! <b>Postcondition</b>: this->empty()
|
||||||
//!
|
//!
|
||||||
//! <b>Throws</b>: If secuence_type's move constructor throws
|
//! <b>Throws</b>: If secuence_type's move constructor throws
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline sequence_type extract_sequence()
|
BOOST_CONTAINER_NODISCARD inline sequence_type extract_sequence()
|
||||||
{
|
{
|
||||||
return boost::move(dtl::force<sequence_type>(m_flat_tree.get_sequence_ref()));
|
return boost::move(dtl::force<sequence_type>(m_flat_tree.get_sequence_ref()));
|
||||||
}
|
}
|
||||||
@@ -1822,42 +1822,42 @@ class flat_map
|
|||||||
//! <b>Effects</b>: Returns true if x and y are equal
|
//! <b>Effects</b>: Returns true if x and y are equal
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator==(const flat_map& x, const flat_map& y)
|
friend bool operator==(const flat_map& x, const flat_map& y)
|
||||||
{ return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
|
{ return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x and y are unequal
|
//! <b>Effects</b>: Returns true if x and y are unequal
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator!=(const flat_map& x, const flat_map& y)
|
friend bool operator!=(const flat_map& x, const flat_map& y)
|
||||||
{ return !(x == y); }
|
{ return !(x == y); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x is less than y
|
//! <b>Effects</b>: Returns true if x is less than y
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator<(const flat_map& x, const flat_map& y)
|
friend bool operator<(const flat_map& x, const flat_map& y)
|
||||||
{ return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
{ return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x is greater than y
|
//! <b>Effects</b>: Returns true if x is greater than y
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator>(const flat_map& x, const flat_map& y)
|
friend bool operator>(const flat_map& x, const flat_map& y)
|
||||||
{ return y < x; }
|
{ return y < x; }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x is equal or less than y
|
//! <b>Effects</b>: Returns true if x is equal or less than y
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator<=(const flat_map& x, const flat_map& y)
|
friend bool operator<=(const flat_map& x, const flat_map& y)
|
||||||
{ return !(y < x); }
|
{ return !(y < x); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x is equal or greater than y
|
//! <b>Effects</b>: Returns true if x is equal or greater than y
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator>=(const flat_map& x, const flat_map& y)
|
friend bool operator>=(const flat_map& x, const flat_map& y)
|
||||||
{ return !(x < y); }
|
{ return !(x < y); }
|
||||||
|
|
||||||
@@ -2428,7 +2428,7 @@ class flat_multimap
|
|||||||
//! was passed to the object's constructor.
|
//! was passed to the object's constructor.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force_copy<allocator_type>(m_flat_tree.get_allocator()); }
|
{ return dtl::force_copy<allocator_type>(m_flat_tree.get_allocator()); }
|
||||||
|
|
||||||
@@ -2439,7 +2439,7 @@ class flat_multimap
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension.
|
//! <b>Note</b>: Non-standard extension.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
|
stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force<stored_allocator_type>(m_flat_tree.get_stored_allocator()); }
|
{ return dtl::force<stored_allocator_type>(m_flat_tree.get_stored_allocator()); }
|
||||||
|
|
||||||
@@ -2450,7 +2450,7 @@ class flat_multimap
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension.
|
//! <b>Note</b>: Non-standard extension.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force<const stored_allocator_type>(m_flat_tree.get_stored_allocator()); }
|
{ return dtl::force<const stored_allocator_type>(m_flat_tree.get_stored_allocator()); }
|
||||||
|
|
||||||
@@ -2465,7 +2465,7 @@ class flat_multimap
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
|
iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force_copy<iterator>(m_flat_tree.begin()); }
|
{ return dtl::force_copy<iterator>(m_flat_tree.begin()); }
|
||||||
|
|
||||||
@@ -2474,7 +2474,7 @@ class flat_multimap
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force_copy<const_iterator>(m_flat_tree.begin()); }
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.begin()); }
|
||||||
|
|
||||||
@@ -2483,7 +2483,7 @@ class flat_multimap
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator end() BOOST_NOEXCEPT_OR_NOTHROW
|
iterator end() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force_copy<iterator>(m_flat_tree.end()); }
|
{ return dtl::force_copy<iterator>(m_flat_tree.end()); }
|
||||||
|
|
||||||
@@ -2492,7 +2492,7 @@ class flat_multimap
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force_copy<const_iterator>(m_flat_tree.end()); }
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.end()); }
|
||||||
|
|
||||||
@@ -2502,7 +2502,7 @@ class flat_multimap
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
|
reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force_copy<reverse_iterator>(m_flat_tree.rbegin()); }
|
{ return dtl::force_copy<reverse_iterator>(m_flat_tree.rbegin()); }
|
||||||
|
|
||||||
@@ -2512,7 +2512,7 @@ class flat_multimap
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rbegin()); }
|
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rbegin()); }
|
||||||
|
|
||||||
@@ -2522,7 +2522,7 @@ class flat_multimap
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
|
reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force_copy<reverse_iterator>(m_flat_tree.rend()); }
|
{ return dtl::force_copy<reverse_iterator>(m_flat_tree.rend()); }
|
||||||
|
|
||||||
@@ -2532,7 +2532,7 @@ class flat_multimap
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rend()); }
|
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rend()); }
|
||||||
|
|
||||||
@@ -2541,7 +2541,7 @@ class flat_multimap
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force_copy<const_iterator>(m_flat_tree.cbegin()); }
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.cbegin()); }
|
||||||
|
|
||||||
@@ -2550,7 +2550,7 @@ class flat_multimap
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force_copy<const_iterator>(m_flat_tree.cend()); }
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.cend()); }
|
||||||
|
|
||||||
@@ -2560,7 +2560,7 @@ class flat_multimap
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crbegin()); }
|
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crbegin()); }
|
||||||
|
|
||||||
@@ -2570,7 +2570,7 @@ class flat_multimap
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crend()); }
|
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crend()); }
|
||||||
|
|
||||||
@@ -2585,7 +2585,7 @@ class flat_multimap
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
|
bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return m_flat_tree.empty(); }
|
{ return m_flat_tree.empty(); }
|
||||||
|
|
||||||
@@ -2594,7 +2594,7 @@ class flat_multimap
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
|
size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return m_flat_tree.size(); }
|
{ return m_flat_tree.size(); }
|
||||||
|
|
||||||
@@ -2603,7 +2603,7 @@ class flat_multimap
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return m_flat_tree.max_size(); }
|
{ return m_flat_tree.max_size(); }
|
||||||
|
|
||||||
@@ -2613,7 +2613,7 @@ class flat_multimap
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
|
size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return m_flat_tree.capacity(); }
|
{ return m_flat_tree.capacity(); }
|
||||||
|
|
||||||
@@ -2642,22 +2642,22 @@ class flat_multimap
|
|||||||
{ m_flat_tree.shrink_to_fit(); }
|
{ m_flat_tree.shrink_to_fit(); }
|
||||||
|
|
||||||
//! @copydoc ::boost::container::flat_set::nth(size_type)
|
//! @copydoc ::boost::container::flat_set::nth(size_type)
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
|
{ return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
|
||||||
|
|
||||||
//! @copydoc ::boost::container::flat_set::nth(size_type) const
|
//! @copydoc ::boost::container::flat_set::nth(size_type) const
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return dtl::force_copy<const_iterator>(m_flat_tree.nth(n)); }
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.nth(n)); }
|
||||||
|
|
||||||
//! @copydoc ::boost::container::flat_set::index_of(iterator)
|
//! @copydoc ::boost::container::flat_set::index_of(iterator)
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
|
size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return m_flat_tree.index_of(dtl::force_copy<impl_iterator>(p)); }
|
{ return m_flat_tree.index_of(dtl::force_copy<impl_iterator>(p)); }
|
||||||
|
|
||||||
//! @copydoc ::boost::container::flat_set::index_of(const_iterator) const
|
//! @copydoc ::boost::container::flat_set::index_of(const_iterator) const
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
|
size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return m_flat_tree.index_of(dtl::force_copy<impl_const_iterator>(p)); }
|
{ return m_flat_tree.index_of(dtl::force_copy<impl_const_iterator>(p)); }
|
||||||
|
|
||||||
@@ -2954,7 +2954,7 @@ class flat_multimap
|
|||||||
//! of which a was constructed.
|
//! of which a was constructed.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
key_compare key_comp() const
|
key_compare key_comp() const
|
||||||
{ return dtl::force_copy<key_compare>(m_flat_tree.key_comp()); }
|
{ return dtl::force_copy<key_compare>(m_flat_tree.key_comp()); }
|
||||||
|
|
||||||
@@ -2962,7 +2962,7 @@ class flat_multimap
|
|||||||
//! of the comparison object.
|
//! of the comparison object.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
value_compare value_comp() const
|
value_compare value_comp() const
|
||||||
{ return value_compare(dtl::force_copy<key_compare>(m_flat_tree.key_comp())); }
|
{ return value_compare(dtl::force_copy<key_compare>(m_flat_tree.key_comp())); }
|
||||||
|
|
||||||
@@ -2976,7 +2976,7 @@ class flat_multimap
|
|||||||
//! equivalent to x, or end() if such an element is not found.
|
//! equivalent to x, or end() if such an element is not found.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic.
|
//! <b>Complexity</b>: Logarithmic.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator find(const key_type& x)
|
iterator find(const key_type& x)
|
||||||
{ return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
|
{ return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
|
||||||
|
|
||||||
@@ -2984,7 +2984,7 @@ class flat_multimap
|
|||||||
//! equivalent to x, or end() if such an element is not found.
|
//! equivalent to x, or end() if such an element is not found.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic.
|
//! <b>Complexity</b>: Logarithmic.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator find(const key_type& x) const
|
const_iterator find(const key_type& x) const
|
||||||
{ return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
|
||||||
|
|
||||||
@@ -2996,7 +2996,7 @@ class flat_multimap
|
|||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic.
|
//! <b>Complexity</b>: Logarithmic.
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator find(const K& x)
|
iterator find(const K& x)
|
||||||
{ return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
|
{ return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
|
||||||
|
|
||||||
@@ -3008,14 +3008,14 @@ class flat_multimap
|
|||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic.
|
//! <b>Complexity</b>: Logarithmic.
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator find(const K& x) const
|
const_iterator find(const K& x) const
|
||||||
{ return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
|
||||||
|
|
||||||
//! <b>Returns</b>: The number of elements with key equivalent to x.
|
//! <b>Returns</b>: The number of elements with key equivalent to x.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: log(size())+count(k)
|
//! <b>Complexity</b>: log(size())+count(k)
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type count(const key_type& x) const
|
size_type count(const key_type& x) const
|
||||||
{ return m_flat_tree.count(x); }
|
{ return m_flat_tree.count(x); }
|
||||||
|
|
||||||
@@ -3026,7 +3026,7 @@ class flat_multimap
|
|||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: log(size())+count(k)
|
//! <b>Complexity</b>: log(size())+count(k)
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type count(const K& x) const
|
size_type count(const K& x) const
|
||||||
{ return m_flat_tree.count(x); }
|
{ return m_flat_tree.count(x); }
|
||||||
|
|
||||||
@@ -3034,7 +3034,7 @@ class flat_multimap
|
|||||||
//! equivalent to key in the container, otherwise false.
|
//! equivalent to key in the container, otherwise false.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: log(size()).
|
//! <b>Complexity</b>: log(size()).
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
bool contains(const key_type& x) const
|
bool contains(const key_type& x) const
|
||||||
{ return m_flat_tree.find(x) != m_flat_tree.end(); }
|
{ return m_flat_tree.find(x) != m_flat_tree.end(); }
|
||||||
|
|
||||||
@@ -3046,7 +3046,7 @@ class flat_multimap
|
|||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: log(size()).
|
//! <b>Complexity</b>: log(size()).
|
||||||
template<typename K>
|
template<typename K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
bool contains(const K& x) const
|
bool contains(const K& x) const
|
||||||
{ return m_flat_tree.find(x) != m_flat_tree.end(); }
|
{ return m_flat_tree.find(x) != m_flat_tree.end(); }
|
||||||
|
|
||||||
@@ -3054,7 +3054,7 @@ class flat_multimap
|
|||||||
//! than x, or end() if such an element is not found.
|
//! than x, or end() if such an element is not found.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic
|
//! <b>Complexity</b>: Logarithmic
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator lower_bound(const key_type& x)
|
iterator lower_bound(const key_type& x)
|
||||||
{ return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
|
{ return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
|
||||||
|
|
||||||
@@ -3062,7 +3062,7 @@ class flat_multimap
|
|||||||
//! than x, or end() if such an element is not found.
|
//! than x, or end() if such an element is not found.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic
|
//! <b>Complexity</b>: Logarithmic
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator lower_bound(const key_type& x) const
|
const_iterator lower_bound(const key_type& x) const
|
||||||
{ return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
|
||||||
|
|
||||||
@@ -3074,7 +3074,7 @@ class flat_multimap
|
|||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic
|
//! <b>Complexity</b>: Logarithmic
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator lower_bound(const K& x)
|
iterator lower_bound(const K& x)
|
||||||
{ return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
|
{ return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
|
||||||
|
|
||||||
@@ -3086,7 +3086,7 @@ class flat_multimap
|
|||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic
|
//! <b>Complexity</b>: Logarithmic
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator lower_bound(const K& x) const
|
const_iterator lower_bound(const K& x) const
|
||||||
{ return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
|
||||||
|
|
||||||
@@ -3094,7 +3094,7 @@ class flat_multimap
|
|||||||
//! than x, or end() if such an element is not found.
|
//! than x, or end() if such an element is not found.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic
|
//! <b>Complexity</b>: Logarithmic
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator upper_bound(const key_type& x)
|
iterator upper_bound(const key_type& x)
|
||||||
{return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
|
{return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
|
||||||
|
|
||||||
@@ -3102,7 +3102,7 @@ class flat_multimap
|
|||||||
//! greater than x, or end() if such an element is not found.
|
//! greater than x, or end() if such an element is not found.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic
|
//! <b>Complexity</b>: Logarithmic
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator upper_bound(const key_type& x) const
|
const_iterator upper_bound(const key_type& x) const
|
||||||
{ return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
|
||||||
|
|
||||||
@@ -3114,7 +3114,7 @@ class flat_multimap
|
|||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic
|
//! <b>Complexity</b>: Logarithmic
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator upper_bound(const K& x)
|
iterator upper_bound(const K& x)
|
||||||
{return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
|
{return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
|
||||||
|
|
||||||
@@ -3126,21 +3126,21 @@ class flat_multimap
|
|||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic
|
//! <b>Complexity</b>: Logarithmic
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator upper_bound(const K& x) const
|
const_iterator upper_bound(const K& x) const
|
||||||
{ return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
|
//! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic
|
//! <b>Complexity</b>: Logarithmic
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
std::pair<iterator,iterator> equal_range(const key_type& x)
|
std::pair<iterator,iterator> equal_range(const key_type& x)
|
||||||
{ return dtl::force_copy<std::pair<iterator,iterator> >(m_flat_tree.equal_range(x)); }
|
{ return dtl::force_copy<std::pair<iterator,iterator> >(m_flat_tree.equal_range(x)); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
|
//! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic
|
//! <b>Complexity</b>: Logarithmic
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
std::pair<const_iterator, const_iterator> equal_range(const key_type& x) const
|
std::pair<const_iterator, const_iterator> equal_range(const key_type& x) const
|
||||||
{ return dtl::force_copy<std::pair<const_iterator,const_iterator> >(m_flat_tree.equal_range(x)); }
|
{ return dtl::force_copy<std::pair<const_iterator,const_iterator> >(m_flat_tree.equal_range(x)); }
|
||||||
|
|
||||||
@@ -3151,7 +3151,7 @@ class flat_multimap
|
|||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic
|
//! <b>Complexity</b>: Logarithmic
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
std::pair<iterator,iterator> equal_range(const K& x)
|
std::pair<iterator,iterator> equal_range(const K& x)
|
||||||
{ return dtl::force_copy<std::pair<iterator,iterator> >(m_flat_tree.equal_range(x)); }
|
{ return dtl::force_copy<std::pair<iterator,iterator> >(m_flat_tree.equal_range(x)); }
|
||||||
|
|
||||||
@@ -3162,7 +3162,7 @@ class flat_multimap
|
|||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Logarithmic
|
//! <b>Complexity</b>: Logarithmic
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
std::pair<const_iterator, const_iterator> equal_range(const K& x) const
|
std::pair<const_iterator, const_iterator> equal_range(const K& x) const
|
||||||
{ return dtl::force_copy<std::pair<const_iterator,const_iterator> >(m_flat_tree.equal_range(x)); }
|
{ return dtl::force_copy<std::pair<const_iterator,const_iterator> >(m_flat_tree.equal_range(x)); }
|
||||||
|
|
||||||
@@ -3173,7 +3173,7 @@ class flat_multimap
|
|||||||
//! <b>Postcondition</b>: this->empty()
|
//! <b>Postcondition</b>: this->empty()
|
||||||
//!
|
//!
|
||||||
//! <b>Throws</b>: If secuence_type's move constructor throws
|
//! <b>Throws</b>: If secuence_type's move constructor throws
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
sequence_type extract_sequence()
|
sequence_type extract_sequence()
|
||||||
{ return boost::move(dtl::force<sequence_type>(m_flat_tree.get_sequence_ref())); }
|
{ return boost::move(dtl::force<sequence_type>(m_flat_tree.get_sequence_ref())); }
|
||||||
|
|
||||||
@@ -3208,42 +3208,42 @@ class flat_multimap
|
|||||||
//! <b>Effects</b>: Returns true if x and y are equal
|
//! <b>Effects</b>: Returns true if x and y are equal
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator==(const flat_multimap& x, const flat_multimap& y)
|
friend bool operator==(const flat_multimap& x, const flat_multimap& y)
|
||||||
{ return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
|
{ return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x and y are unequal
|
//! <b>Effects</b>: Returns true if x and y are unequal
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator!=(const flat_multimap& x, const flat_multimap& y)
|
friend bool operator!=(const flat_multimap& x, const flat_multimap& y)
|
||||||
{ return !(x == y); }
|
{ return !(x == y); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x is less than y
|
//! <b>Effects</b>: Returns true if x is less than y
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator<(const flat_multimap& x, const flat_multimap& y)
|
friend bool operator<(const flat_multimap& x, const flat_multimap& y)
|
||||||
{ return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
{ return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x is greater than y
|
//! <b>Effects</b>: Returns true if x is greater than y
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator>(const flat_multimap& x, const flat_multimap& y)
|
friend bool operator>(const flat_multimap& x, const flat_multimap& y)
|
||||||
{ return y < x; }
|
{ return y < x; }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x is equal or less than y
|
//! <b>Effects</b>: Returns true if x is equal or less than y
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator<=(const flat_multimap& x, const flat_multimap& y)
|
friend bool operator<=(const flat_multimap& x, const flat_multimap& y)
|
||||||
{ return !(y < x); }
|
{ return !(y < x); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x is equal or greater than y
|
//! <b>Effects</b>: Returns true if x is equal or greater than y
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator>=(const flat_multimap& x, const flat_multimap& y)
|
friend bool operator>=(const flat_multimap& x, const flat_multimap& y)
|
||||||
{ return !(x < y); }
|
{ return !(x < y); }
|
||||||
|
|
||||||
|
|||||||
@@ -421,7 +421,7 @@ class list
|
|||||||
//! <b>Throws</b>: If allocator's copy constructor throws.
|
//! <b>Throws</b>: If allocator's copy constructor throws.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return allocator_type(this->node_alloc()); }
|
{ return allocator_type(this->node_alloc()); }
|
||||||
|
|
||||||
@@ -432,7 +432,7 @@ class list
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension.
|
//! <b>Note</b>: Non-standard extension.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
|
stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->node_alloc(); }
|
{ return this->node_alloc(); }
|
||||||
|
|
||||||
@@ -443,7 +443,7 @@ class list
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension.
|
//! <b>Note</b>: Non-standard extension.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->node_alloc(); }
|
{ return this->node_alloc(); }
|
||||||
|
|
||||||
@@ -458,7 +458,7 @@ class list
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
|
iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return iterator(this->icont().begin()); }
|
{ return iterator(this->icont().begin()); }
|
||||||
|
|
||||||
@@ -467,7 +467,7 @@ class list
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->cbegin(); }
|
{ return this->cbegin(); }
|
||||||
|
|
||||||
@@ -476,7 +476,7 @@ class list
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator end() BOOST_NOEXCEPT_OR_NOTHROW
|
iterator end() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return iterator(this->icont().end()); }
|
{ return iterator(this->icont().end()); }
|
||||||
|
|
||||||
@@ -485,7 +485,7 @@ class list
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->cend(); }
|
{ return this->cend(); }
|
||||||
|
|
||||||
@@ -495,7 +495,7 @@ class list
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
|
reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return reverse_iterator(end()); }
|
{ return reverse_iterator(end()); }
|
||||||
|
|
||||||
@@ -505,7 +505,7 @@ class list
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->crbegin(); }
|
{ return this->crbegin(); }
|
||||||
|
|
||||||
@@ -515,7 +515,7 @@ class list
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
|
reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return reverse_iterator(begin()); }
|
{ return reverse_iterator(begin()); }
|
||||||
|
|
||||||
@@ -525,7 +525,7 @@ class list
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->crend(); }
|
{ return this->crend(); }
|
||||||
|
|
||||||
@@ -534,7 +534,7 @@ class list
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return const_iterator(this->non_const_icont().begin()); }
|
{ return const_iterator(this->non_const_icont().begin()); }
|
||||||
|
|
||||||
@@ -543,7 +543,7 @@ class list
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return const_iterator(this->non_const_icont().end()); }
|
{ return const_iterator(this->non_const_icont().end()); }
|
||||||
|
|
||||||
@@ -553,7 +553,7 @@ class list
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return const_reverse_iterator(this->cend()); }
|
{ return const_reverse_iterator(this->cend()); }
|
||||||
|
|
||||||
@@ -563,7 +563,7 @@ class list
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return const_reverse_iterator(this->cbegin()); }
|
{ return const_reverse_iterator(this->cbegin()); }
|
||||||
|
|
||||||
@@ -578,7 +578,7 @@ class list
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
|
bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return !this->size(); }
|
{ return !this->size(); }
|
||||||
|
|
||||||
@@ -587,7 +587,7 @@ class list
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
|
size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->icont().size(); }
|
{ return this->icont().size(); }
|
||||||
|
|
||||||
@@ -596,7 +596,7 @@ class list
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return AllocHolder::max_size(); }
|
{ return AllocHolder::max_size(); }
|
||||||
|
|
||||||
@@ -641,7 +641,7 @@ class list
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reference front() BOOST_NOEXCEPT_OR_NOTHROW
|
reference front() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(!this->empty());
|
BOOST_ASSERT(!this->empty());
|
||||||
@@ -656,7 +656,7 @@ class list
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reference front() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reference front() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(!this->empty());
|
BOOST_ASSERT(!this->empty());
|
||||||
@@ -671,7 +671,7 @@ class list
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reference back() BOOST_NOEXCEPT_OR_NOTHROW
|
reference back() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(!this->empty());
|
BOOST_ASSERT(!this->empty());
|
||||||
@@ -686,7 +686,7 @@ class list
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reference back() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reference back() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(!this->empty());
|
BOOST_ASSERT(!this->empty());
|
||||||
@@ -1329,42 +1329,42 @@ class list
|
|||||||
//! <b>Effects</b>: Returns true if x and y are equal
|
//! <b>Effects</b>: Returns true if x and y are equal
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator==(const list& x, const list& y)
|
friend bool operator==(const list& x, const list& y)
|
||||||
{ return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
|
{ return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x and y are unequal
|
//! <b>Effects</b>: Returns true if x and y are unequal
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator!=(const list& x, const list& y)
|
friend bool operator!=(const list& x, const list& y)
|
||||||
{ return !(x == y); }
|
{ return !(x == y); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x is less than y
|
//! <b>Effects</b>: Returns true if x is less than y
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator<(const list& x, const list& y)
|
friend bool operator<(const list& x, const list& y)
|
||||||
{ return boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
{ return boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x is greater than y
|
//! <b>Effects</b>: Returns true if x is greater than y
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator>(const list& x, const list& y)
|
friend bool operator>(const list& x, const list& y)
|
||||||
{ return y < x; }
|
{ return y < x; }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x is equal or less than y
|
//! <b>Effects</b>: Returns true if x is equal or less than y
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator<=(const list& x, const list& y)
|
friend bool operator<=(const list& x, const list& y)
|
||||||
{ return !(y < x); }
|
{ return !(y < x); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x is equal or greater than y
|
//! <b>Effects</b>: Returns true if x is equal or greater than y
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator>=(const list& x, const list& y)
|
friend bool operator>=(const list& x, const list& y)
|
||||||
{ return !(x < y); }
|
{ return !(x < y); }
|
||||||
|
|
||||||
|
|||||||
@@ -713,7 +713,7 @@ class map
|
|||||||
//! <b>Returns</b>: A reference to the element whose key is equivalent to x.
|
//! <b>Returns</b>: A reference to the element whose key is equivalent to x.
|
||||||
//! Throws: An exception object of type out_of_range if no such element is present.
|
//! Throws: An exception object of type out_of_range if no such element is present.
|
||||||
//! <b>Complexity</b>: logarithmic.
|
//! <b>Complexity</b>: logarithmic.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD T& at(const key_type& k)
|
BOOST_CONTAINER_NODISCARD T& at(const key_type& k)
|
||||||
{
|
{
|
||||||
iterator i = this->find(k);
|
iterator i = this->find(k);
|
||||||
if(i == this->end()){
|
if(i == this->end()){
|
||||||
@@ -725,7 +725,7 @@ class map
|
|||||||
//! <b>Returns</b>: A reference to the element whose key is equivalent to x.
|
//! <b>Returns</b>: A reference to the element whose key is equivalent to x.
|
||||||
//! Throws: An exception object of type out_of_range if no such element is present.
|
//! Throws: An exception object of type out_of_range if no such element is present.
|
||||||
//! <b>Complexity</b>: logarithmic.
|
//! <b>Complexity</b>: logarithmic.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD const T& at(const key_type& k) const
|
BOOST_CONTAINER_NODISCARD const T& at(const key_type& k) const
|
||||||
{
|
{
|
||||||
const_iterator i = this->find(k);
|
const_iterator i = this->find(k);
|
||||||
if(i == this->cend()){
|
if(i == this->cend()){
|
||||||
@@ -742,7 +742,7 @@ class map
|
|||||||
//!
|
//!
|
||||||
//! Complexity: logarithmic.
|
//! Complexity: logarithmic.
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
BOOST_CONTAINER_DOC1ST
|
BOOST_CONTAINER_DOC1ST
|
||||||
( T&
|
( T&
|
||||||
, typename dtl::enable_if_transparent< key_compare
|
, typename dtl::enable_if_transparent< key_compare
|
||||||
@@ -766,7 +766,7 @@ class map
|
|||||||
//!
|
//!
|
||||||
//! Complexity: logarithmic.
|
//! Complexity: logarithmic.
|
||||||
template<class K>
|
template<class K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
BOOST_CONTAINER_DOC1ST
|
BOOST_CONTAINER_DOC1ST
|
||||||
( const T&
|
( const T&
|
||||||
, typename dtl::enable_if_transparent< key_compare
|
, typename dtl::enable_if_transparent< key_compare
|
||||||
@@ -1304,7 +1304,7 @@ class map
|
|||||||
//! <b>Returns</b>: The number of elements with key equivalent to x.
|
//! <b>Returns</b>: The number of elements with key equivalent to x.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: log(size())+count(k)
|
//! <b>Complexity</b>: log(size())+count(k)
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type count(const key_type& x) const
|
size_type count(const key_type& x) const
|
||||||
{ return static_cast<size_type>(this->find(x) != this->cend()); }
|
{ return static_cast<size_type>(this->find(x) != this->cend()); }
|
||||||
|
|
||||||
@@ -1315,7 +1315,7 @@ class map
|
|||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: log(size())+count(k)
|
//! <b>Complexity</b>: log(size())+count(k)
|
||||||
template<typename K>
|
template<typename K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type count(const K& x) const
|
size_type count(const K& x) const
|
||||||
{ return static_cast<size_type>(this->find(x) != this->cend()); }
|
{ return static_cast<size_type>(this->find(x) != this->cend()); }
|
||||||
|
|
||||||
|
|||||||
@@ -151,7 +151,7 @@ class new_allocator
|
|||||||
|
|
||||||
//!Allocates memory for an array of count elements.
|
//!Allocates memory for an array of count elements.
|
||||||
//!Throws bad_alloc if there is no enough memory
|
//!Throws bad_alloc if there is no enough memory
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
pointer allocate(size_type count)
|
pointer allocate(size_type count)
|
||||||
{
|
{
|
||||||
return dtl::operator_new_allocate<T>(count);
|
return dtl::operator_new_allocate<T>(count);
|
||||||
@@ -166,7 +166,7 @@ class new_allocator
|
|||||||
|
|
||||||
//!Returns the maximum number of elements that could be allocated.
|
//!Returns the maximum number of elements that could be allocated.
|
||||||
//!Never throws
|
//!Never throws
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
inline size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
inline size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return std::size_t(-1)/(2*sizeof(T)); }
|
{ return std::size_t(-1)/(2*sizeof(T)); }
|
||||||
|
|
||||||
@@ -177,13 +177,13 @@ class new_allocator
|
|||||||
|
|
||||||
//!An new_allocator always compares to true, as memory allocated with one
|
//!An new_allocator always compares to true, as memory allocated with one
|
||||||
//!instance can be deallocated by another instance
|
//!instance can be deallocated by another instance
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
inline friend bool operator==(const new_allocator &, const new_allocator &) BOOST_NOEXCEPT_OR_NOTHROW
|
inline friend bool operator==(const new_allocator &, const new_allocator &) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return true; }
|
{ return true; }
|
||||||
|
|
||||||
//!An new_allocator always compares to false, as memory allocated with one
|
//!An new_allocator always compares to false, as memory allocated with one
|
||||||
//!instance can be deallocated by another instance
|
//!instance can be deallocated by another instance
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
inline friend bool operator!=(const new_allocator &, const new_allocator &) BOOST_NOEXCEPT_OR_NOTHROW
|
inline friend bool operator!=(const new_allocator &, const new_allocator &) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return false; }
|
{ return false; }
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -137,13 +137,13 @@ class node_allocator
|
|||||||
|
|
||||||
//!Returns the number of elements that could be allocated.
|
//!Returns the number of elements that could be allocated.
|
||||||
//!Never throws
|
//!Never throws
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
size_type max_size() const
|
size_type max_size() const
|
||||||
{ return size_type(-1)/sizeof(T); }
|
{ return size_type(-1)/sizeof(T); }
|
||||||
|
|
||||||
//!Allocate memory for an array of count elements.
|
//!Allocate memory for an array of count elements.
|
||||||
//!Throws bad_alloc if there is no enough memory
|
//!Throws bad_alloc if there is no enough memory
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
pointer allocate(size_type count, const void * = 0)
|
pointer allocate(size_type count, const void * = 0)
|
||||||
{
|
{
|
||||||
if(BOOST_UNLIKELY(count > this->max_size()))
|
if(BOOST_UNLIKELY(count > this->max_size()))
|
||||||
@@ -188,7 +188,7 @@ class node_allocator
|
|||||||
singleton_t::instance().deallocate_free_blocks();
|
singleton_t::instance().deallocate_free_blocks();
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
pointer allocation_command
|
pointer allocation_command
|
||||||
(allocation_type command, size_type limit_size, size_type &prefer_in_recvd_out_size, pointer &reuse)
|
(allocation_type command, size_type limit_size, size_type &prefer_in_recvd_out_size, pointer &reuse)
|
||||||
{
|
{
|
||||||
@@ -201,7 +201,7 @@ class node_allocator
|
|||||||
|
|
||||||
//!Returns maximum the number of objects the previously allocated memory
|
//!Returns maximum the number of objects the previously allocated memory
|
||||||
//!pointed by p can hold.
|
//!pointed by p can hold.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
size_type size(pointer p) const BOOST_NOEXCEPT_OR_NOTHROW
|
size_type size(pointer p) const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_CONTAINER_STATIC_ASSERT(( Version > 1 ));
|
BOOST_CONTAINER_STATIC_ASSERT(( Version > 1 ));
|
||||||
@@ -211,7 +211,7 @@ class node_allocator
|
|||||||
//!Allocates just one object. Memory allocated with this function
|
//!Allocates just one object. Memory allocated with this function
|
||||||
//!must be deallocated only with deallocate_one().
|
//!must be deallocated only with deallocate_one().
|
||||||
//!Throws bad_alloc if there is no enough memory
|
//!Throws bad_alloc if there is no enough memory
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
pointer allocate_one()
|
pointer allocate_one()
|
||||||
{
|
{
|
||||||
BOOST_CONTAINER_STATIC_ASSERT(( Version > 1 ));
|
BOOST_CONTAINER_STATIC_ASSERT(( Version > 1 ));
|
||||||
@@ -312,13 +312,13 @@ class node_allocator
|
|||||||
|
|
||||||
//!An allocator always compares to true, as memory allocated with one
|
//!An allocator always compares to true, as memory allocated with one
|
||||||
//!instance can be deallocated by another instance
|
//!instance can be deallocated by another instance
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
friend bool operator==(const node_allocator &, const node_allocator &) BOOST_NOEXCEPT_OR_NOTHROW
|
friend bool operator==(const node_allocator &, const node_allocator &) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return true; }
|
{ return true; }
|
||||||
|
|
||||||
//!An allocator always compares to false, as memory allocated with one
|
//!An allocator always compares to false, as memory allocated with one
|
||||||
//!instance can be deallocated by another instance
|
//!instance can be deallocated by another instance
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
friend bool operator!=(const node_allocator &, const node_allocator &) BOOST_NOEXCEPT_OR_NOTHROW
|
friend bool operator!=(const node_allocator &, const node_allocator &) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return false; }
|
{ return false; }
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ class BOOST_CONTAINER_NOVTABLE memory_resource
|
|||||||
|
|
||||||
//! <b>Effects</b>: Equivalent to
|
//! <b>Effects</b>: Equivalent to
|
||||||
//! `return do_allocate(bytes, alignment);`
|
//! `return do_allocate(bytes, alignment);`
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD void* allocate(std::size_t bytes, std::size_t alignment = max_align)
|
BOOST_CONTAINER_NODISCARD void* allocate(std::size_t bytes, std::size_t alignment = max_align)
|
||||||
{
|
{
|
||||||
//Obtain a pointer to enough storage and initialize the lifetime
|
//Obtain a pointer to enough storage and initialize the lifetime
|
||||||
//of an array object of the given size in the address
|
//of an array object of the given size in the address
|
||||||
@@ -62,13 +62,13 @@ class BOOST_CONTAINER_NOVTABLE memory_resource
|
|||||||
|
|
||||||
//! <b>Returns</b>:
|
//! <b>Returns</b>:
|
||||||
//! `&a == &b || a.is_equal(b)`.
|
//! `&a == &b || a.is_equal(b)`.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
friend bool operator==(const memory_resource& a, const memory_resource& b) BOOST_NOEXCEPT
|
friend bool operator==(const memory_resource& a, const memory_resource& b) BOOST_NOEXCEPT
|
||||||
{ return &a == &b || a.is_equal(b); }
|
{ return &a == &b || a.is_equal(b); }
|
||||||
|
|
||||||
//! <b>Returns</b>:
|
//! <b>Returns</b>:
|
||||||
//! !(a == b).
|
//! !(a == b).
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
friend bool operator!=(const memory_resource& a, const memory_resource& b) BOOST_NOEXCEPT
|
friend bool operator!=(const memory_resource& a, const memory_resource& b) BOOST_NOEXCEPT
|
||||||
{ return !(a == b); }
|
{ return !(a == b); }
|
||||||
|
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ class polymorphic_allocator
|
|||||||
|
|
||||||
//! <b>Returns</b>: Equivalent to
|
//! <b>Returns</b>: Equivalent to
|
||||||
//! `static_cast<T*>(m_resource->allocate(n * sizeof(T), alignof(T)))`.
|
//! `static_cast<T*>(m_resource->allocate(n * sizeof(T), alignof(T)))`.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD T* allocate(size_t n)
|
BOOST_CONTAINER_NODISCARD T* allocate(size_t n)
|
||||||
{ return static_cast<T*>(m_resource->allocate(n*sizeof(T), ::boost::move_detail::alignment_of<T>::value)); }
|
{ return static_cast<T*>(m_resource->allocate(n*sizeof(T), ::boost::move_detail::alignment_of<T>::value)); }
|
||||||
|
|
||||||
//! <b>Requires</b>: p was allocated from a memory resource, x, equal to *m_resource,
|
//! <b>Requires</b>: p was allocated from a memory resource, x, equal to *m_resource,
|
||||||
|
|||||||
@@ -734,7 +734,7 @@ class scoped_allocator_adaptor
|
|||||||
|
|
||||||
//! <b>Returns</b>:
|
//! <b>Returns</b>:
|
||||||
//! <code>allocator_traits<OuterAlloc>:: max_size(outer_allocator())</code>.
|
//! <code>allocator_traits<OuterAlloc>:: max_size(outer_allocator())</code>.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
inline size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
inline size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return outer_traits_type::max_size(this->outer_allocator()); }
|
{ return outer_traits_type::max_size(this->outer_allocator()); }
|
||||||
|
|
||||||
@@ -749,13 +749,13 @@ class scoped_allocator_adaptor
|
|||||||
|
|
||||||
//! <b>Returns</b>:
|
//! <b>Returns</b>:
|
||||||
//! <code>allocator_traits<OuterAlloc>::allocate(outer_allocator(), n)</code>.
|
//! <code>allocator_traits<OuterAlloc>::allocate(outer_allocator(), n)</code>.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
inline pointer allocate(size_type n)
|
inline pointer allocate(size_type n)
|
||||||
{ return outer_traits_type::allocate(this->outer_allocator(), n); }
|
{ return outer_traits_type::allocate(this->outer_allocator(), n); }
|
||||||
|
|
||||||
//! <b>Returns</b>:
|
//! <b>Returns</b>:
|
||||||
//! <code>allocator_traits<OuterAlloc>::allocate(outer_allocator(), n, hint)</code>.
|
//! <code>allocator_traits<OuterAlloc>::allocate(outer_allocator(), n, hint)</code>.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
inline pointer allocate(size_type n, const_void_pointer hint)
|
inline pointer allocate(size_type n, const_void_pointer hint)
|
||||||
{ return outer_traits_type::allocate(this->outer_allocator(), n, hint); }
|
{ return outer_traits_type::allocate(this->outer_allocator(), n, hint); }
|
||||||
|
|
||||||
@@ -883,7 +883,7 @@ struct scoped_allocator_operator_equal<true>
|
|||||||
/// @endcond
|
/// @endcond
|
||||||
|
|
||||||
template <typename OuterA1, typename OuterA2, BOOST_CONTAINER_SCOPEDALLOC_ALLINNERCLASS>
|
template <typename OuterA1, typename OuterA2, BOOST_CONTAINER_SCOPEDALLOC_ALLINNERCLASS>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
inline bool operator==(const scoped_allocator_adaptor<OuterA1, BOOST_CONTAINER_SCOPEDALLOC_ALLINNER>& a
|
inline bool operator==(const scoped_allocator_adaptor<OuterA1, BOOST_CONTAINER_SCOPEDALLOC_ALLINNER>& a
|
||||||
,const scoped_allocator_adaptor<OuterA2, BOOST_CONTAINER_SCOPEDALLOC_ALLINNER>& b)
|
,const scoped_allocator_adaptor<OuterA2, BOOST_CONTAINER_SCOPEDALLOC_ALLINNER>& b)
|
||||||
{
|
{
|
||||||
@@ -898,7 +898,7 @@ inline bool operator==(const scoped_allocator_adaptor<OuterA1, BOOST_CONTAINER_S
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <typename OuterA1, typename OuterA2, BOOST_CONTAINER_SCOPEDALLOC_ALLINNERCLASS>
|
template <typename OuterA1, typename OuterA2, BOOST_CONTAINER_SCOPEDALLOC_ALLINNERCLASS>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
BOOST_CONTAINER_NODISCARD
|
||||||
inline bool operator!=(const scoped_allocator_adaptor<OuterA1, BOOST_CONTAINER_SCOPEDALLOC_ALLINNER>& a
|
inline bool operator!=(const scoped_allocator_adaptor<OuterA1, BOOST_CONTAINER_SCOPEDALLOC_ALLINNER>& a
|
||||||
,const scoped_allocator_adaptor<OuterA2, BOOST_CONTAINER_SCOPEDALLOC_ALLINNER>& b)
|
,const scoped_allocator_adaptor<OuterA2, BOOST_CONTAINER_SCOPEDALLOC_ALLINNER>& b)
|
||||||
{ return !(a == b); }
|
{ return !(a == b); }
|
||||||
|
|||||||
@@ -841,7 +841,7 @@ class set
|
|||||||
//! <b>Returns</b>: The number of elements with key equivalent to x.
|
//! <b>Returns</b>: The number of elements with key equivalent to x.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: log(size())+count(k)
|
//! <b>Complexity</b>: log(size())+count(k)
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type count(const key_type& x) const
|
size_type count(const key_type& x) const
|
||||||
{ return static_cast<size_type>(this->base_t::find(x) != this->base_t::cend()); }
|
{ return static_cast<size_type>(this->base_t::find(x) != this->base_t::cend()); }
|
||||||
|
|
||||||
@@ -852,7 +852,7 @@ class set
|
|||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: log(size())+count(k)
|
//! <b>Complexity</b>: log(size())+count(k)
|
||||||
template<typename K>
|
template<typename K>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type count(const K& x) const
|
size_type count(const K& x) const
|
||||||
{ return static_cast<size_type>(this->find(x) != this->cend()); }
|
{ return static_cast<size_type>(this->find(x) != this->cend()); }
|
||||||
|
|
||||||
|
|||||||
@@ -452,7 +452,7 @@ class slist
|
|||||||
//! <b>Throws</b>: If allocator's copy constructor throws.
|
//! <b>Throws</b>: If allocator's copy constructor throws.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return allocator_type(this->node_alloc()); }
|
{ return allocator_type(this->node_alloc()); }
|
||||||
|
|
||||||
@@ -463,7 +463,7 @@ class slist
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension.
|
//! <b>Note</b>: Non-standard extension.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
|
stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->node_alloc(); }
|
{ return this->node_alloc(); }
|
||||||
|
|
||||||
@@ -474,7 +474,7 @@ class slist
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension.
|
//! <b>Note</b>: Non-standard extension.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->node_alloc(); }
|
{ return this->node_alloc(); }
|
||||||
|
|
||||||
@@ -491,7 +491,7 @@ class slist
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator before_begin() BOOST_NOEXCEPT_OR_NOTHROW
|
iterator before_begin() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return iterator(end()); }
|
{ return iterator(end()); }
|
||||||
|
|
||||||
@@ -502,7 +502,7 @@ class slist
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator before_begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator before_begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->cbefore_begin(); }
|
{ return this->cbefore_begin(); }
|
||||||
|
|
||||||
@@ -511,7 +511,7 @@ class slist
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
|
iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return iterator(this->icont().begin()); }
|
{ return iterator(this->icont().begin()); }
|
||||||
|
|
||||||
@@ -520,7 +520,7 @@ class slist
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->cbegin(); }
|
{ return this->cbegin(); }
|
||||||
|
|
||||||
@@ -529,7 +529,7 @@ class slist
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator end() BOOST_NOEXCEPT_OR_NOTHROW
|
iterator end() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return iterator(this->icont().end()); }
|
{ return iterator(this->icont().end()); }
|
||||||
|
|
||||||
@@ -538,7 +538,7 @@ class slist
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->cend(); }
|
{ return this->cend(); }
|
||||||
|
|
||||||
@@ -549,7 +549,7 @@ class slist
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator cbefore_begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator cbefore_begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return const_iterator(end()); }
|
{ return const_iterator(end()); }
|
||||||
|
|
||||||
@@ -558,7 +558,7 @@ class slist
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return const_iterator(this->non_const_icont().begin()); }
|
{ return const_iterator(this->non_const_icont().begin()); }
|
||||||
|
|
||||||
@@ -567,7 +567,7 @@ class slist
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return const_iterator(this->non_const_icont().end()); }
|
{ return const_iterator(this->non_const_icont().end()); }
|
||||||
|
|
||||||
@@ -580,7 +580,7 @@ class slist
|
|||||||
//! <b>Complexity</b>: Linear to the number of elements before i.
|
//! <b>Complexity</b>: Linear to the number of elements before i.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension.
|
//! <b>Note</b>: Non-standard extension.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator previous(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
|
iterator previous(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return iterator(this->icont().previous(p.get())); }
|
{ return iterator(this->icont().previous(p.get())); }
|
||||||
|
|
||||||
@@ -593,7 +593,7 @@ class slist
|
|||||||
//! <b>Complexity</b>: Linear to the number of elements before i.
|
//! <b>Complexity</b>: Linear to the number of elements before i.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension.
|
//! <b>Note</b>: Non-standard extension.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator previous(const_iterator p)
|
const_iterator previous(const_iterator p)
|
||||||
{ return const_iterator(this->icont().previous(p.get())); }
|
{ return const_iterator(this->icont().previous(p.get())); }
|
||||||
|
|
||||||
@@ -608,7 +608,7 @@ class slist
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
bool empty() const
|
bool empty() const
|
||||||
{ return !this->size(); }
|
{ return !this->size(); }
|
||||||
|
|
||||||
@@ -617,7 +617,7 @@ class slist
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type size() const
|
size_type size() const
|
||||||
{ return this->icont().size(); }
|
{ return this->icont().size(); }
|
||||||
|
|
||||||
@@ -626,7 +626,7 @@ class slist
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type max_size() const
|
size_type max_size() const
|
||||||
{ return AllocHolder::max_size(); }
|
{ return AllocHolder::max_size(); }
|
||||||
|
|
||||||
@@ -673,7 +673,7 @@ class slist
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reference front()
|
reference front()
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(!this->empty());
|
BOOST_ASSERT(!this->empty());
|
||||||
@@ -688,7 +688,7 @@ class slist
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reference front() const
|
const_reference front() const
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(!this->empty());
|
BOOST_ASSERT(!this->empty());
|
||||||
@@ -1524,35 +1524,35 @@ class slist
|
|||||||
//! <b>Effects</b>: Returns true if x and y are unequal
|
//! <b>Effects</b>: Returns true if x and y are unequal
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator!=(const slist& x, const slist& y)
|
friend bool operator!=(const slist& x, const slist& y)
|
||||||
{ return !(x == y); }
|
{ return !(x == y); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x is less than y
|
//! <b>Effects</b>: Returns true if x is less than y
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator<(const slist& x, const slist& y)
|
friend bool operator<(const slist& x, const slist& y)
|
||||||
{ return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
{ return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x is greater than y
|
//! <b>Effects</b>: Returns true if x is greater than y
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator>(const slist& x, const slist& y)
|
friend bool operator>(const slist& x, const slist& y)
|
||||||
{ return y < x; }
|
{ return y < x; }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x is equal or less than y
|
//! <b>Effects</b>: Returns true if x is equal or less than y
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator<=(const slist& x, const slist& y)
|
friend bool operator<=(const slist& x, const slist& y)
|
||||||
{ return !(y < x); }
|
{ return !(y < x); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x is equal or greater than y
|
//! <b>Effects</b>: Returns true if x is equal or greater than y
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator>=(const slist& x, const slist& y)
|
friend bool operator>=(const slist& x, const slist& y)
|
||||||
{ return !(x < y); }
|
{ return !(x < y); }
|
||||||
|
|
||||||
|
|||||||
@@ -389,7 +389,7 @@ class small_vector_base
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD bool is_small() const
|
BOOST_CONTAINER_NODISCARD bool is_small() const
|
||||||
{ return this->internal_storage() == this->data(); }
|
{ return this->internal_storage() == this->data(); }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|||||||
@@ -346,17 +346,17 @@ class stable_vector_iterator
|
|||||||
inline stable_vector_iterator & operator=(const stable_vector_iterator& other) BOOST_NOEXCEPT_OR_NOTHROW
|
inline stable_vector_iterator & operator=(const stable_vector_iterator& other) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ m_pn = other.node_pointer(); return *this; }
|
{ m_pn = other.node_pointer(); return *this; }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
node_ptr node_pointer() const BOOST_NOEXCEPT_OR_NOTHROW
|
node_ptr node_pointer() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return node_ptr_traits::static_cast_from(m_pn); }
|
{ return node_ptr_traits::static_cast_from(m_pn); }
|
||||||
|
|
||||||
public:
|
public:
|
||||||
//Pointer like operators
|
//Pointer like operators
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reference operator*() const BOOST_NOEXCEPT_OR_NOTHROW
|
reference operator*() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return node_pointer()->get_data(); }
|
{ return node_pointer()->get_data(); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
pointer operator->() const BOOST_NOEXCEPT_OR_NOTHROW
|
pointer operator->() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return ptr_traits::pointer_to(this->operator*()); }
|
{ return ptr_traits::pointer_to(this->operator*()); }
|
||||||
|
|
||||||
@@ -381,7 +381,7 @@ class stable_vector_iterator
|
|||||||
inline stable_vector_iterator operator--(int) BOOST_NOEXCEPT_OR_NOTHROW
|
inline stable_vector_iterator operator--(int) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ stable_vector_iterator tmp(*this); --*this; return stable_vector_iterator(tmp); }
|
{ stable_vector_iterator tmp(*this); --*this; return stable_vector_iterator(tmp); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reference operator[](difference_type off) const BOOST_NOEXCEPT_OR_NOTHROW
|
reference operator[](difference_type off) const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return node_ptr_traits::static_cast_from(this->m_pn->up[off])->get_data(); }
|
{ return node_ptr_traits::static_cast_from(this->m_pn->up[off])->get_data(); }
|
||||||
|
|
||||||
@@ -392,7 +392,7 @@ class stable_vector_iterator
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend stable_vector_iterator operator+(const stable_vector_iterator &left, difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
|
friend stable_vector_iterator operator+(const stable_vector_iterator &left, difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
stable_vector_iterator tmp(left);
|
stable_vector_iterator tmp(left);
|
||||||
@@ -400,7 +400,7 @@ class stable_vector_iterator
|
|||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend stable_vector_iterator operator+(difference_type off, const stable_vector_iterator& right) BOOST_NOEXCEPT_OR_NOTHROW
|
friend stable_vector_iterator operator+(difference_type off, const stable_vector_iterator& right) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
stable_vector_iterator tmp(right);
|
stable_vector_iterator tmp(right);
|
||||||
@@ -411,7 +411,7 @@ class stable_vector_iterator
|
|||||||
inline stable_vector_iterator& operator-=(difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
|
inline stable_vector_iterator& operator-=(difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ *this += -off; return *this; }
|
{ *this += -off; return *this; }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend stable_vector_iterator operator-(const stable_vector_iterator &left, difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
|
friend stable_vector_iterator operator-(const stable_vector_iterator &left, difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
stable_vector_iterator tmp(left);
|
stable_vector_iterator tmp(left);
|
||||||
@@ -420,32 +420,32 @@ class stable_vector_iterator
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Difference
|
//Difference
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend difference_type operator-(const stable_vector_iterator &left, const stable_vector_iterator &right) BOOST_NOEXCEPT_OR_NOTHROW
|
friend difference_type operator-(const stable_vector_iterator &left, const stable_vector_iterator &right) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return left.m_pn->up - right.m_pn->up; }
|
{ return left.m_pn->up - right.m_pn->up; }
|
||||||
|
|
||||||
//Comparison operators
|
//Comparison operators
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator== (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
friend bool operator== (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return l.m_pn == r.m_pn; }
|
{ return l.m_pn == r.m_pn; }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator!= (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
friend bool operator!= (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return l.m_pn != r.m_pn; }
|
{ return l.m_pn != r.m_pn; }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator< (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
friend bool operator< (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return l.m_pn->up < r.m_pn->up; }
|
{ return l.m_pn->up < r.m_pn->up; }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator<= (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
friend bool operator<= (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return l.m_pn->up <= r.m_pn->up; }
|
{ return l.m_pn->up <= r.m_pn->up; }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator> (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
friend bool operator> (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return l.m_pn->up > r.m_pn->up; }
|
{ return l.m_pn->up > r.m_pn->up; }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator>= (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
friend bool operator>= (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return l.m_pn->up >= r.m_pn->up; }
|
{ return l.m_pn->up >= r.m_pn->up; }
|
||||||
};
|
};
|
||||||
@@ -957,7 +957,7 @@ class stable_vector
|
|||||||
//! <b>Throws</b>: If allocator's copy constructor throws.
|
//! <b>Throws</b>: If allocator's copy constructor throws.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
allocator_type get_allocator() const
|
allocator_type get_allocator() const
|
||||||
{ return this->priv_node_alloc(); }
|
{ return this->priv_node_alloc(); }
|
||||||
|
|
||||||
@@ -968,7 +968,7 @@ class stable_vector
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension.
|
//! <b>Note</b>: Non-standard extension.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->priv_node_alloc(); }
|
{ return this->priv_node_alloc(); }
|
||||||
|
|
||||||
@@ -979,7 +979,7 @@ class stable_vector
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension.
|
//! <b>Note</b>: Non-standard extension.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
|
stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->priv_node_alloc(); }
|
{ return this->priv_node_alloc(); }
|
||||||
|
|
||||||
@@ -994,7 +994,7 @@ class stable_vector
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
|
iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return (this->index.empty()) ? this->end(): iterator(node_ptr_traits::static_cast_from(this->index.front())); }
|
{ return (this->index.empty()) ? this->end(): iterator(node_ptr_traits::static_cast_from(this->index.front())); }
|
||||||
|
|
||||||
@@ -1003,7 +1003,7 @@ class stable_vector
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return (this->index.empty()) ? this->cend() : const_iterator(node_ptr_traits::static_cast_from(this->index.front())) ; }
|
{ return (this->index.empty()) ? this->cend() : const_iterator(node_ptr_traits::static_cast_from(this->index.front())) ; }
|
||||||
|
|
||||||
@@ -1012,7 +1012,7 @@ class stable_vector
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator end() BOOST_NOEXCEPT_OR_NOTHROW
|
iterator end() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return iterator(this->priv_get_end_node()); }
|
{ return iterator(this->priv_get_end_node()); }
|
||||||
|
|
||||||
@@ -1021,7 +1021,7 @@ class stable_vector
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return const_iterator(this->priv_get_end_node()); }
|
{ return const_iterator(this->priv_get_end_node()); }
|
||||||
|
|
||||||
@@ -1031,7 +1031,7 @@ class stable_vector
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
|
reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return reverse_iterator(this->end()); }
|
{ return reverse_iterator(this->end()); }
|
||||||
|
|
||||||
@@ -1041,7 +1041,7 @@ class stable_vector
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return const_reverse_iterator(this->end()); }
|
{ return const_reverse_iterator(this->end()); }
|
||||||
|
|
||||||
@@ -1051,7 +1051,7 @@ class stable_vector
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
|
reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return reverse_iterator(this->begin()); }
|
{ return reverse_iterator(this->begin()); }
|
||||||
|
|
||||||
@@ -1061,7 +1061,7 @@ class stable_vector
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return const_reverse_iterator(this->begin()); }
|
{ return const_reverse_iterator(this->begin()); }
|
||||||
|
|
||||||
@@ -1070,7 +1070,7 @@ class stable_vector
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->begin(); }
|
{ return this->begin(); }
|
||||||
|
|
||||||
@@ -1079,7 +1079,7 @@ class stable_vector
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->end(); }
|
{ return this->end(); }
|
||||||
|
|
||||||
@@ -1089,7 +1089,7 @@ class stable_vector
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->rbegin(); }
|
{ return this->rbegin(); }
|
||||||
|
|
||||||
@@ -1099,7 +1099,7 @@ class stable_vector
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator crend()const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reverse_iterator crend()const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->rend(); }
|
{ return this->rend(); }
|
||||||
|
|
||||||
@@ -1114,7 +1114,7 @@ class stable_vector
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
|
bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->index.size() <= ExtraPointers; }
|
{ return this->index.size() <= ExtraPointers; }
|
||||||
|
|
||||||
@@ -1123,7 +1123,7 @@ class stable_vector
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
|
size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
const size_type index_size = this->index.size();
|
const size_type index_size = this->index.size();
|
||||||
@@ -1135,7 +1135,7 @@ class stable_vector
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->index.max_size() - ExtraPointers; }
|
{ return this->index.max_size() - ExtraPointers; }
|
||||||
|
|
||||||
@@ -1195,7 +1195,7 @@ class stable_vector
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
|
size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
const size_type index_size = this->index.size();
|
const size_type index_size = this->index.size();
|
||||||
@@ -1283,7 +1283,7 @@ class stable_vector
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reference front() BOOST_NOEXCEPT_OR_NOTHROW
|
reference front() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(!this->empty());
|
BOOST_ASSERT(!this->empty());
|
||||||
@@ -1298,7 +1298,7 @@ class stable_vector
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reference front() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reference front() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(!this->empty());
|
BOOST_ASSERT(!this->empty());
|
||||||
@@ -1313,7 +1313,7 @@ class stable_vector
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reference back() BOOST_NOEXCEPT_OR_NOTHROW
|
reference back() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(!this->empty());
|
BOOST_ASSERT(!this->empty());
|
||||||
@@ -1328,7 +1328,7 @@ class stable_vector
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reference back() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reference back() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(!this->empty());
|
BOOST_ASSERT(!this->empty());
|
||||||
@@ -1343,7 +1343,7 @@ class stable_vector
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reference operator[](size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
reference operator[](size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(this->size() > n);
|
BOOST_ASSERT(this->size() > n);
|
||||||
@@ -1358,7 +1358,7 @@ class stable_vector
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reference operator[](size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reference operator[](size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(this->size() > n);
|
BOOST_ASSERT(this->size() > n);
|
||||||
@@ -1376,7 +1376,7 @@ class stable_vector
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension
|
//! <b>Note</b>: Non-standard extension
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(this->size() >= n);
|
BOOST_ASSERT(this->size() >= n);
|
||||||
@@ -1394,7 +1394,7 @@ class stable_vector
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension
|
//! <b>Note</b>: Non-standard extension
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(this->size() >= n);
|
BOOST_ASSERT(this->size() >= n);
|
||||||
@@ -1411,7 +1411,7 @@ class stable_vector
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension
|
//! <b>Note</b>: Non-standard extension
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
|
size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->priv_index_of(p.node_pointer()); }
|
{ return this->priv_index_of(p.node_pointer()); }
|
||||||
|
|
||||||
@@ -1425,7 +1425,7 @@ class stable_vector
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension
|
//! <b>Note</b>: Non-standard extension
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
|
size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->priv_index_of(p.node_pointer()); }
|
{ return this->priv_index_of(p.node_pointer()); }
|
||||||
|
|
||||||
@@ -1437,7 +1437,7 @@ class stable_vector
|
|||||||
//! <b>Throws</b>: range_error if n >= size()
|
//! <b>Throws</b>: range_error if n >= size()
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reference at(size_type n)
|
reference at(size_type n)
|
||||||
{
|
{
|
||||||
if(n >= this->size()){
|
if(n >= this->size()){
|
||||||
@@ -1454,7 +1454,7 @@ class stable_vector
|
|||||||
//! <b>Throws</b>: range_error if n >= size()
|
//! <b>Throws</b>: range_error if n >= size()
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reference at(size_type n)const
|
const_reference at(size_type n)const
|
||||||
{
|
{
|
||||||
if(n >= this->size()){
|
if(n >= this->size()){
|
||||||
@@ -1791,42 +1791,42 @@ class stable_vector
|
|||||||
//! <b>Effects</b>: Returns true if x and y are equal
|
//! <b>Effects</b>: Returns true if x and y are equal
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator==(const stable_vector& x, const stable_vector& y)
|
friend bool operator==(const stable_vector& x, const stable_vector& y)
|
||||||
{ return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
|
{ return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x and y are unequal
|
//! <b>Effects</b>: Returns true if x and y are unequal
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator!=(const stable_vector& x, const stable_vector& y)
|
friend bool operator!=(const stable_vector& x, const stable_vector& y)
|
||||||
{ return !(x == y); }
|
{ return !(x == y); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x is less than y
|
//! <b>Effects</b>: Returns true if x is less than y
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator<(const stable_vector& x, const stable_vector& y)
|
friend bool operator<(const stable_vector& x, const stable_vector& y)
|
||||||
{ return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
{ return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x is greater than y
|
//! <b>Effects</b>: Returns true if x is greater than y
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator>(const stable_vector& x, const stable_vector& y)
|
friend bool operator>(const stable_vector& x, const stable_vector& y)
|
||||||
{ return y < x; }
|
{ return y < x; }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x is equal or less than y
|
//! <b>Effects</b>: Returns true if x is equal or less than y
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator<=(const stable_vector& x, const stable_vector& y)
|
friend bool operator<=(const stable_vector& x, const stable_vector& y)
|
||||||
{ return !(y < x); }
|
{ return !(y < x); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x is equal or greater than y
|
//! <b>Effects</b>: Returns true if x is equal or greater than y
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator>=(const stable_vector& x, const stable_vector& y)
|
friend bool operator>=(const stable_vector& x, const stable_vector& y)
|
||||||
{ return !(x < y); }
|
{ return !(x < y); }
|
||||||
|
|
||||||
|
|||||||
@@ -959,7 +959,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: If allocator's copy constructor throws.
|
//! <b>Throws</b>: If allocator's copy constructor throws.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->alloc(); }
|
{ return this->alloc(); }
|
||||||
|
|
||||||
@@ -970,7 +970,7 @@ class basic_string
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension.
|
//! <b>Note</b>: Non-standard extension.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
|
stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->alloc(); }
|
{ return this->alloc(); }
|
||||||
|
|
||||||
@@ -981,7 +981,7 @@ class basic_string
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension.
|
//! <b>Note</b>: Non-standard extension.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->alloc(); }
|
{ return this->alloc(); }
|
||||||
|
|
||||||
@@ -996,7 +996,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
|
iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->priv_addr(); }
|
{ return this->priv_addr(); }
|
||||||
|
|
||||||
@@ -1005,7 +1005,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->priv_addr(); }
|
{ return this->priv_addr(); }
|
||||||
|
|
||||||
@@ -1014,7 +1014,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator end() BOOST_NOEXCEPT_OR_NOTHROW
|
iterator end() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->priv_end_addr(); }
|
{ return this->priv_end_addr(); }
|
||||||
|
|
||||||
@@ -1023,7 +1023,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->priv_end_addr(); }
|
{ return this->priv_end_addr(); }
|
||||||
|
|
||||||
@@ -1033,7 +1033,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
|
reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return reverse_iterator(this->priv_end_addr()); }
|
{ return reverse_iterator(this->priv_end_addr()); }
|
||||||
|
|
||||||
@@ -1043,7 +1043,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->crbegin(); }
|
{ return this->crbegin(); }
|
||||||
|
|
||||||
@@ -1053,7 +1053,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
|
reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return reverse_iterator(this->priv_addr()); }
|
{ return reverse_iterator(this->priv_addr()); }
|
||||||
|
|
||||||
@@ -1063,7 +1063,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->crend(); }
|
{ return this->crend(); }
|
||||||
|
|
||||||
@@ -1072,7 +1072,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->priv_addr(); }
|
{ return this->priv_addr(); }
|
||||||
|
|
||||||
@@ -1081,7 +1081,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->priv_end_addr(); }
|
{ return this->priv_end_addr(); }
|
||||||
|
|
||||||
@@ -1091,7 +1091,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return const_reverse_iterator(this->priv_end_addr()); }
|
{ return const_reverse_iterator(this->priv_end_addr()); }
|
||||||
|
|
||||||
@@ -1101,7 +1101,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return const_reverse_iterator(this->priv_addr()); }
|
{ return const_reverse_iterator(this->priv_addr()); }
|
||||||
|
|
||||||
@@ -1116,7 +1116,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
|
bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return !this->priv_size(); }
|
{ return !this->priv_size(); }
|
||||||
|
|
||||||
@@ -1125,7 +1125,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
|
size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->priv_size(); }
|
{ return this->priv_size(); }
|
||||||
|
|
||||||
@@ -1134,7 +1134,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type length() const BOOST_NOEXCEPT_OR_NOTHROW
|
size_type length() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->size(); }
|
{ return this->size(); }
|
||||||
|
|
||||||
@@ -1143,7 +1143,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant
|
//! <b>Complexity</b>: Constant
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return base_t::max_size(); }
|
{ return base_t::max_size(); }
|
||||||
|
|
||||||
@@ -1195,7 +1195,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
|
size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->priv_capacity(); }
|
{ return this->priv_capacity(); }
|
||||||
|
|
||||||
@@ -1255,7 +1255,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reference front() BOOST_NOEXCEPT_OR_NOTHROW
|
reference front() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(!this->empty());
|
BOOST_ASSERT(!this->empty());
|
||||||
@@ -1270,7 +1270,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reference front() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reference front() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(!this->empty());
|
BOOST_ASSERT(!this->empty());
|
||||||
@@ -1285,7 +1285,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reference back() BOOST_NOEXCEPT_OR_NOTHROW
|
reference back() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(!this->empty());
|
BOOST_ASSERT(!this->empty());
|
||||||
@@ -1300,7 +1300,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reference back() const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reference back() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(!this->empty());
|
BOOST_ASSERT(!this->empty());
|
||||||
@@ -1315,7 +1315,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reference operator[](size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
reference operator[](size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(this->size() > n);
|
BOOST_ASSERT(this->size() > n);
|
||||||
@@ -1330,7 +1330,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reference operator[](size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reference operator[](size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(this->size() > n);
|
BOOST_ASSERT(this->size() > n);
|
||||||
@@ -1345,7 +1345,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: range_error if n >= size()
|
//! <b>Throws</b>: range_error if n >= size()
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reference at(size_type n)
|
reference at(size_type n)
|
||||||
{
|
{
|
||||||
if (n >= this->size())
|
if (n >= this->size())
|
||||||
@@ -1361,7 +1361,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: range_error if n >= size()
|
//! <b>Throws</b>: range_error if n >= size()
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reference at(size_type n) const {
|
const_reference at(size_type n) const {
|
||||||
if (n >= this->size())
|
if (n >= this->size())
|
||||||
throw_out_of_range("basic_string::at invalid subscript");
|
throw_out_of_range("basic_string::at invalid subscript");
|
||||||
@@ -2279,7 +2279,7 @@ class basic_string
|
|||||||
//! <b>Returns</b>: A pointer p such that p + i == &operator[](i) for each i in [0,size()].
|
//! <b>Returns</b>: A pointer p such that p + i == &operator[](i) for each i in [0,size()].
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: constant time.
|
//! <b>Complexity</b>: constant time.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const CharT* c_str() const BOOST_NOEXCEPT_OR_NOTHROW
|
const CharT* c_str() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return boost::movelib::to_raw_pointer(this->priv_addr()); }
|
{ return boost::movelib::to_raw_pointer(this->priv_addr()); }
|
||||||
|
|
||||||
@@ -2288,14 +2288,14 @@ class basic_string
|
|||||||
//! <b>Returns</b>: A pointer p such that p + i == &operator[](i) for each i in [0,size()].
|
//! <b>Returns</b>: A pointer p such that p + i == &operator[](i) for each i in [0,size()].
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: constant time.
|
//! <b>Complexity</b>: constant time.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const CharT* data() const BOOST_NOEXCEPT_OR_NOTHROW
|
const CharT* data() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return boost::movelib::to_raw_pointer(this->priv_addr()); }
|
{ return boost::movelib::to_raw_pointer(this->priv_addr()); }
|
||||||
|
|
||||||
//! <b>Returns</b>: A pointer p such that p + i == &operator[](i) for each i in [0,size()].
|
//! <b>Returns</b>: A pointer p such that p + i == &operator[](i) for each i in [0,size()].
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: constant time.
|
//! <b>Complexity</b>: constant time.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
CharT* data() BOOST_NOEXCEPT_OR_NOTHROW
|
CharT* data() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return boost::movelib::to_raw_pointer(this->priv_addr()); }
|
{ return boost::movelib::to_raw_pointer(this->priv_addr()); }
|
||||||
|
|
||||||
@@ -2315,7 +2315,7 @@ class basic_string
|
|||||||
//! <b>Note</b>: This function is available to write portable code for compilers
|
//! <b>Note</b>: This function is available to write portable code for compilers
|
||||||
//! that don't support templated conversion operators.
|
//! that don't support templated conversion operators.
|
||||||
template<class BasicStringView>
|
template<class BasicStringView>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
BasicStringView to_view() const BOOST_NOEXCEPT_OR_NOTHROW
|
BasicStringView to_view() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return BasicStringView(this->data(), this->size()); }
|
{ return BasicStringView(this->data(), this->size()); }
|
||||||
|
|
||||||
@@ -2333,7 +2333,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing
|
//! <b>Throws</b>: Nothing
|
||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
|
//! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type find(const basic_string& s, size_type pos = 0) const
|
size_type find(const basic_string& s, size_type pos = 0) const
|
||||||
{ return find(s.c_str(), pos, s.size()); }
|
{ return find(s.c_str(), pos, s.size()); }
|
||||||
|
|
||||||
@@ -2346,7 +2346,7 @@ class basic_string
|
|||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
|
//! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
|
||||||
template<template <class, class> class BasicStringView>
|
template<template <class, class> class BasicStringView>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type find(BasicStringView<CharT, Traits> sv, size_type pos = 0) const
|
size_type find(BasicStringView<CharT, Traits> sv, size_type pos = 0) const
|
||||||
{ return this->find(sv.data(), pos, sv.size()); }
|
{ return this->find(sv.data(), pos, sv.size()); }
|
||||||
|
|
||||||
@@ -2355,7 +2355,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing
|
//! <b>Throws</b>: Nothing
|
||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: find(basic_string<CharT,traits,allocator_type>(s,n),pos).
|
//! <b>Returns</b>: find(basic_string<CharT,traits,allocator_type>(s,n),pos).
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type find(const CharT* s, size_type pos, size_type n) const
|
size_type find(const CharT* s, size_type pos, size_type n) const
|
||||||
{
|
{
|
||||||
if (pos + n > this->size())
|
if (pos + n > this->size())
|
||||||
@@ -2376,14 +2376,14 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing
|
//! <b>Throws</b>: Nothing
|
||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: find(basic_string(s), pos).
|
//! <b>Returns</b>: find(basic_string(s), pos).
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type find(const CharT* s, size_type pos = 0) const
|
size_type find(const CharT* s, size_type pos = 0) const
|
||||||
{ return this->find(s, pos, Traits::length(s)); }
|
{ return this->find(s, pos, Traits::length(s)); }
|
||||||
|
|
||||||
//! <b>Throws</b>: Nothing
|
//! <b>Throws</b>: Nothing
|
||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: find(basic_string<CharT,traits,allocator_type>(1,c), pos).
|
//! <b>Returns</b>: find(basic_string<CharT,traits,allocator_type>(1,c), pos).
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type find(CharT c, size_type pos = 0) const
|
size_type find(CharT c, size_type pos = 0) const
|
||||||
{
|
{
|
||||||
const size_type sz = this->size();
|
const size_type sz = this->size();
|
||||||
@@ -2407,7 +2407,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing
|
//! <b>Throws</b>: Nothing
|
||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
|
//! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type rfind(const basic_string& str, size_type pos = npos) const
|
size_type rfind(const basic_string& str, size_type pos = npos) const
|
||||||
{ return this->rfind(str.c_str(), pos, str.size()); }
|
{ return this->rfind(str.c_str(), pos, str.size()); }
|
||||||
|
|
||||||
@@ -2420,7 +2420,7 @@ class basic_string
|
|||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
|
//! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
|
||||||
template<template <class, class> class BasicStringView>
|
template<template <class, class> class BasicStringView>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type rfind(BasicStringView<CharT, Traits> sv, size_type pos = npos) const
|
size_type rfind(BasicStringView<CharT, Traits> sv, size_type pos = npos) const
|
||||||
{ return this->rfind(sv.data(), pos, sv.size()); }
|
{ return this->rfind(sv.data(), pos, sv.size()); }
|
||||||
|
|
||||||
@@ -2429,7 +2429,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing
|
//! <b>Throws</b>: Nothing
|
||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: rfind(basic_string(s, n), pos).
|
//! <b>Returns</b>: rfind(basic_string(s, n), pos).
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type rfind(const CharT* s, size_type pos, size_type n) const
|
size_type rfind(const CharT* s, size_type pos, size_type n) const
|
||||||
{
|
{
|
||||||
const size_type len = this->size();
|
const size_type len = this->size();
|
||||||
@@ -2452,14 +2452,14 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing
|
//! <b>Throws</b>: Nothing
|
||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: rfind(basic_string(s), pos).
|
//! <b>Returns</b>: rfind(basic_string(s), pos).
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type rfind(const CharT* s, size_type pos = npos) const
|
size_type rfind(const CharT* s, size_type pos = npos) const
|
||||||
{ return this->rfind(s, pos, Traits::length(s)); }
|
{ return this->rfind(s, pos, Traits::length(s)); }
|
||||||
|
|
||||||
//! <b>Throws</b>: Nothing
|
//! <b>Throws</b>: Nothing
|
||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: rfind(basic_string<CharT,traits,allocator_type>(1,c),pos).
|
//! <b>Returns</b>: rfind(basic_string<CharT,traits,allocator_type>(1,c),pos).
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type rfind(CharT c, size_type pos = npos) const
|
size_type rfind(CharT c, size_type pos = npos) const
|
||||||
{
|
{
|
||||||
const size_type len = this->size();
|
const size_type len = this->size();
|
||||||
@@ -2482,7 +2482,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing
|
//! <b>Throws</b>: Nothing
|
||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
|
//! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type find_first_of(const basic_string& str, size_type pos = 0) const
|
size_type find_first_of(const basic_string& str, size_type pos = 0) const
|
||||||
{ return this->find_first_of(str.c_str(), pos, str.size()); }
|
{ return this->find_first_of(str.c_str(), pos, str.size()); }
|
||||||
|
|
||||||
@@ -2494,7 +2494,7 @@ class basic_string
|
|||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
|
//! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
|
||||||
template<template <class, class> class BasicStringView>
|
template<template <class, class> class BasicStringView>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type find_first_of(BasicStringView<CharT, Traits> sv, size_type pos = 0) const
|
size_type find_first_of(BasicStringView<CharT, Traits> sv, size_type pos = 0) const
|
||||||
{ return this->find_first_of(sv.data(), pos, sv.size()); }
|
{ return this->find_first_of(sv.data(), pos, sv.size()); }
|
||||||
|
|
||||||
@@ -2503,7 +2503,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing
|
//! <b>Throws</b>: Nothing
|
||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: find_first_of(basic_string(s, n), pos).
|
//! <b>Returns</b>: find_first_of(basic_string(s, n), pos).
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type find_first_of(const CharT* s, size_type pos, size_type n) const
|
size_type find_first_of(const CharT* s, size_type pos, size_type n) const
|
||||||
{
|
{
|
||||||
const size_type sz = this->size();
|
const size_type sz = this->size();
|
||||||
@@ -2523,7 +2523,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing
|
//! <b>Throws</b>: Nothing
|
||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: find_first_of(basic_string(s), pos).
|
//! <b>Returns</b>: find_first_of(basic_string(s), pos).
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type find_first_of(const CharT* s, size_type pos = 0) const
|
size_type find_first_of(const CharT* s, size_type pos = 0) const
|
||||||
{ return this->find_first_of(s, pos, Traits::length(s)); }
|
{ return this->find_first_of(s, pos, Traits::length(s)); }
|
||||||
|
|
||||||
@@ -2532,7 +2532,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing
|
//! <b>Throws</b>: Nothing
|
||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: find_first_of(basic_string<CharT,traits,allocator_type>(1,c), pos).
|
//! <b>Returns</b>: find_first_of(basic_string<CharT,traits,allocator_type>(1,c), pos).
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type find_first_of(CharT c, size_type pos = 0) const
|
size_type find_first_of(CharT c, size_type pos = 0) const
|
||||||
{ return this->find(c, pos); }
|
{ return this->find(c, pos); }
|
||||||
|
|
||||||
@@ -2543,7 +2543,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing
|
//! <b>Throws</b>: Nothing
|
||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
|
//! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type find_last_of(const basic_string& str, size_type pos = npos) const
|
size_type find_last_of(const basic_string& str, size_type pos = npos) const
|
||||||
{ return this->find_last_of(str.c_str(), pos, str.size()); }
|
{ return this->find_last_of(str.c_str(), pos, str.size()); }
|
||||||
|
|
||||||
@@ -2555,7 +2555,7 @@ class basic_string
|
|||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
|
//! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
|
||||||
template<template <class, class> class BasicStringView>
|
template<template <class, class> class BasicStringView>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type find_last_of(BasicStringView<CharT, Traits> sv, size_type pos = npos) const
|
size_type find_last_of(BasicStringView<CharT, Traits> sv, size_type pos = npos) const
|
||||||
{ return this->find_last_of(sv.data(), pos, sv.size()); }
|
{ return this->find_last_of(sv.data(), pos, sv.size()); }
|
||||||
|
|
||||||
@@ -2564,7 +2564,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing
|
//! <b>Throws</b>: Nothing
|
||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: find_last_of(basic_string(s, n), pos).
|
//! <b>Returns</b>: find_last_of(basic_string(s, n), pos).
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type find_last_of(const CharT* s, size_type pos, size_type n) const
|
size_type find_last_of(const CharT* s, size_type pos, size_type n) const
|
||||||
{
|
{
|
||||||
const size_type len = this->size();
|
const size_type len = this->size();
|
||||||
@@ -2586,14 +2586,14 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing
|
//! <b>Throws</b>: Nothing
|
||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: find_last_of(basic_string<CharT,traits,allocator_type>(1,c),pos).
|
//! <b>Returns</b>: find_last_of(basic_string<CharT,traits,allocator_type>(1,c),pos).
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type find_last_of(const CharT* s, size_type pos = npos) const
|
size_type find_last_of(const CharT* s, size_type pos = npos) const
|
||||||
{ return this->find_last_of(s, pos, Traits::length(s)); }
|
{ return this->find_last_of(s, pos, Traits::length(s)); }
|
||||||
|
|
||||||
//! <b>Throws</b>: Nothing
|
//! <b>Throws</b>: Nothing
|
||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: find_last_of(basic_string(s), pos).
|
//! <b>Returns</b>: find_last_of(basic_string(s), pos).
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type find_last_of(CharT c, size_type pos = npos) const
|
size_type find_last_of(CharT c, size_type pos = npos) const
|
||||||
{ return this->rfind(c, pos); }
|
{ return this->rfind(c, pos); }
|
||||||
|
|
||||||
@@ -2605,7 +2605,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing
|
//! <b>Throws</b>: Nothing
|
||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
|
//! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type find_first_not_of(const basic_string& str, size_type pos = 0) const
|
size_type find_first_not_of(const basic_string& str, size_type pos = 0) const
|
||||||
{ return this->find_first_not_of(str.c_str(), pos, str.size()); }
|
{ return this->find_first_not_of(str.c_str(), pos, str.size()); }
|
||||||
|
|
||||||
@@ -2618,7 +2618,7 @@ class basic_string
|
|||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
|
//! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
|
||||||
template<template <class, class> class BasicStringView>
|
template<template <class, class> class BasicStringView>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type find_first_not_of(BasicStringView<CharT, Traits> sv, size_type pos = 0) const
|
size_type find_first_not_of(BasicStringView<CharT, Traits> sv, size_type pos = 0) const
|
||||||
{ return this->find_first_not_of(sv.data(), pos, sv.size()); }
|
{ return this->find_first_not_of(sv.data(), pos, sv.size()); }
|
||||||
|
|
||||||
@@ -2627,7 +2627,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing
|
//! <b>Throws</b>: Nothing
|
||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: find_first_not_of(basic_string(s, n), pos).
|
//! <b>Returns</b>: find_first_not_of(basic_string(s, n), pos).
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type find_first_not_of(const CharT* s, size_type pos, size_type n) const
|
size_type find_first_not_of(const CharT* s, size_type pos, size_type n) const
|
||||||
{
|
{
|
||||||
if (pos > this->size())
|
if (pos > this->size())
|
||||||
@@ -2646,14 +2646,14 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing
|
//! <b>Throws</b>: Nothing
|
||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: find_first_not_of(basic_string(s), pos).
|
//! <b>Returns</b>: find_first_not_of(basic_string(s), pos).
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type find_first_not_of(const CharT* s, size_type pos = 0) const
|
size_type find_first_not_of(const CharT* s, size_type pos = 0) const
|
||||||
{ return this->find_first_not_of(s, pos, Traits::length(s)); }
|
{ return this->find_first_not_of(s, pos, Traits::length(s)); }
|
||||||
|
|
||||||
//! <b>Throws</b>: Nothing
|
//! <b>Throws</b>: Nothing
|
||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: find_first_not_of(basic_string(1, c), pos).
|
//! <b>Returns</b>: find_first_not_of(basic_string(1, c), pos).
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type find_first_not_of(CharT c, size_type pos = 0) const
|
size_type find_first_not_of(CharT c, size_type pos = 0) const
|
||||||
{
|
{
|
||||||
if (pos > this->size())
|
if (pos > this->size())
|
||||||
@@ -2675,7 +2675,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing
|
//! <b>Throws</b>: Nothing
|
||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
|
//! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type find_last_not_of(const basic_string& str, size_type pos = npos) const
|
size_type find_last_not_of(const basic_string& str, size_type pos = npos) const
|
||||||
{ return this->find_last_not_of(str.c_str(), pos, str.size()); }
|
{ return this->find_last_not_of(str.c_str(), pos, str.size()); }
|
||||||
|
|
||||||
@@ -2687,7 +2687,7 @@ class basic_string
|
|||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
|
//! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
|
||||||
template<template <class, class> class BasicStringView>
|
template<template <class, class> class BasicStringView>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type find_last_not_of(BasicStringView<CharT, Traits> sv, size_type pos = npos) const
|
size_type find_last_not_of(BasicStringView<CharT, Traits> sv, size_type pos = npos) const
|
||||||
{ return this->find_last_not_of(sv.data(), pos, sv.size()); }
|
{ return this->find_last_not_of(sv.data(), pos, sv.size()); }
|
||||||
|
|
||||||
@@ -2696,7 +2696,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing
|
//! <b>Throws</b>: Nothing
|
||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: find_last_not_of(basic_string(s, n), pos).
|
//! <b>Returns</b>: find_last_not_of(basic_string(s, n), pos).
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type find_last_not_of(const CharT* s, size_type pos, size_type n) const
|
size_type find_last_not_of(const CharT* s, size_type pos, size_type n) const
|
||||||
{
|
{
|
||||||
const size_type len = this->size();
|
const size_type len = this->size();
|
||||||
@@ -2717,14 +2717,14 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing
|
//! <b>Throws</b>: Nothing
|
||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: find_last_not_of(basic_string(s), pos).
|
//! <b>Returns</b>: find_last_not_of(basic_string(s), pos).
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type find_last_not_of(const CharT* s, size_type pos = npos) const
|
size_type find_last_not_of(const CharT* s, size_type pos = npos) const
|
||||||
{ return this->find_last_not_of(s, pos, Traits::length(s)); }
|
{ return this->find_last_not_of(s, pos, Traits::length(s)); }
|
||||||
|
|
||||||
//! <b>Throws</b>: Nothing
|
//! <b>Throws</b>: Nothing
|
||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: find_last_not_of(basic_string(1, c), pos).
|
//! <b>Returns</b>: find_last_not_of(basic_string(1, c), pos).
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type find_last_not_of(CharT c, size_type pos = npos) const
|
size_type find_last_not_of(CharT c, size_type pos = npos) const
|
||||||
{
|
{
|
||||||
const size_type len = this->size();
|
const size_type len = this->size();
|
||||||
@@ -2748,7 +2748,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: If memory allocation throws or out_of_range if pos > size().
|
//! <b>Throws</b>: If memory allocation throws or out_of_range if pos > size().
|
||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: basic_string<CharT,traits,allocator_type>(data()+pos,rlen).
|
//! <b>Returns</b>: basic_string<CharT,traits,allocator_type>(data()+pos,rlen).
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
basic_string substr(size_type pos = 0, size_type n = npos) const
|
basic_string substr(size_type pos = 0, size_type n = npos) const
|
||||||
{
|
{
|
||||||
if (pos > this->size())
|
if (pos > this->size())
|
||||||
@@ -2767,7 +2767,7 @@ class basic_string
|
|||||||
//! <b>Returns</b>: The nonzero result if the result of the comparison is nonzero.
|
//! <b>Returns</b>: The nonzero result if the result of the comparison is nonzero.
|
||||||
//! Otherwise, returns a value < 0 if size() < str.size(), a 0 value if size() == str.size(),
|
//! Otherwise, returns a value < 0 if size() < str.size(), a 0 value if size() == str.size(),
|
||||||
//! and value > 0 if size() > str.size()
|
//! and value > 0 if size() > str.size()
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
int compare(const basic_string& str) const
|
int compare(const basic_string& str) const
|
||||||
{
|
{
|
||||||
const pointer addr = this->priv_addr();
|
const pointer addr = this->priv_addr();
|
||||||
@@ -2779,7 +2779,7 @@ class basic_string
|
|||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: compare(basic_string(sv)).
|
//! <b>Returns</b>: compare(basic_string(sv)).
|
||||||
template<template <class, class> class BasicStringView>
|
template<template <class, class> class BasicStringView>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
int compare(BasicStringView<CharT,Traits> sv) const
|
int compare(BasicStringView<CharT,Traits> sv) const
|
||||||
{
|
{
|
||||||
const pointer addr = this->priv_addr();
|
const pointer addr = this->priv_addr();
|
||||||
@@ -2795,7 +2795,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: out_of_range if pos1 > size()
|
//! <b>Throws</b>: out_of_range if pos1 > size()
|
||||||
//!
|
//!
|
||||||
//! <b>Returns</b>:basic_string(*this,pos1,n1).compare(str).
|
//! <b>Returns</b>:basic_string(*this,pos1,n1).compare(str).
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
int compare(size_type pos1, size_type n1, const basic_string& str) const
|
int compare(size_type pos1, size_type n1, const basic_string& str) const
|
||||||
{
|
{
|
||||||
if (pos1 > this->size())
|
if (pos1 > this->size())
|
||||||
@@ -2813,7 +2813,7 @@ class basic_string
|
|||||||
//!
|
//!
|
||||||
//! <b>Returns</b>:basic_string(*this,pos1,n1).compare(sv).
|
//! <b>Returns</b>:basic_string(*this,pos1,n1).compare(sv).
|
||||||
template<template <class, class> class BasicStringView>
|
template<template <class, class> class BasicStringView>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
int compare(size_type pos1, size_type n1, BasicStringView<CharT,Traits> sv) const
|
int compare(size_type pos1, size_type n1, BasicStringView<CharT,Traits> sv) const
|
||||||
{
|
{
|
||||||
if (pos1 > this->size())
|
if (pos1 > this->size())
|
||||||
@@ -2832,7 +2832,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: out_of_range if pos1 > size() or pos2 > str.size()
|
//! <b>Throws</b>: out_of_range if pos1 > size() or pos2 > str.size()
|
||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: basic_string(*this, pos1, n1).compare(basic_string(str, pos2, n2)).
|
//! <b>Returns</b>: basic_string(*this, pos1, n1).compare(basic_string(str, pos2, n2)).
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
int compare(size_type pos1, size_type n1, const basic_string& str, size_type pos2, size_type n2 = npos) const
|
int compare(size_type pos1, size_type n1, const basic_string& str, size_type pos2, size_type n2 = npos) const
|
||||||
{
|
{
|
||||||
if (pos1 > this->size() || pos2 > str.size())
|
if (pos1 > this->size() || pos2 > str.size())
|
||||||
@@ -2852,7 +2852,7 @@ class basic_string
|
|||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: basic_string(*this, pos1, n1).compare(BasicStringView<CharT, Traits>(sv, pos2, n2)).
|
//! <b>Returns</b>: basic_string(*this, pos1, n1).compare(BasicStringView<CharT, Traits>(sv, pos2, n2)).
|
||||||
template<template <class, class> class BasicStringView>
|
template<template <class, class> class BasicStringView>
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
int compare(size_type pos1, size_type n1, BasicStringView<CharT,Traits> sv, size_type pos2, size_type n2) const
|
int compare(size_type pos1, size_type n1, BasicStringView<CharT,Traits> sv, size_type pos2, size_type n2) const
|
||||||
{
|
{
|
||||||
if (pos1 > this->size() || pos2 > sv.size())
|
if (pos1 > this->size() || pos2 > sv.size())
|
||||||
@@ -2866,7 +2866,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: Nothing
|
//! <b>Throws</b>: Nothing
|
||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: compare(basic_string(s)).
|
//! <b>Returns</b>: compare(basic_string(s)).
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
int compare(const CharT* s) const
|
int compare(const CharT* s) const
|
||||||
{
|
{
|
||||||
const pointer addr = this->priv_addr();
|
const pointer addr = this->priv_addr();
|
||||||
@@ -2878,7 +2878,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: out_of_range if pos1 > size()
|
//! <b>Throws</b>: out_of_range if pos1 > size()
|
||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: basic_string(*this, pos, n1).compare(basic_string(s, n2)).
|
//! <b>Returns</b>: basic_string(*this, pos, n1).compare(basic_string(s, n2)).
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
int compare(size_type pos1, size_type n1, const CharT* s, size_type n2) const
|
int compare(size_type pos1, size_type n1, const CharT* s, size_type n2) const
|
||||||
{
|
{
|
||||||
if (pos1 > this->size())
|
if (pos1 > this->size())
|
||||||
@@ -2894,7 +2894,7 @@ class basic_string
|
|||||||
//! <b>Throws</b>: out_of_range if pos1 > size()
|
//! <b>Throws</b>: out_of_range if pos1 > size()
|
||||||
//!
|
//!
|
||||||
//! <b>Returns</b>: basic_string(*this, pos, n1).compare(basic_string(s, n2)).
|
//! <b>Returns</b>: basic_string(*this, pos, n1).compare(basic_string(s, n2)).
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
int compare(size_type pos1, size_type n1, const CharT* s) const
|
int compare(size_type pos1, size_type n1, const CharT* s) const
|
||||||
{ return this->compare(pos1, n1, s, Traits::length(s)); }
|
{ return this->compare(pos1, n1, s, Traits::length(s)); }
|
||||||
|
|
||||||
|
|||||||
@@ -201,15 +201,15 @@ class vec_iterator
|
|||||||
{ m_ptr = other.get_ptr(); return *this; }
|
{ m_ptr = other.get_ptr(); return *this; }
|
||||||
|
|
||||||
//Pointer like operators
|
//Pointer like operators
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reference operator*() const BOOST_NOEXCEPT_OR_NOTHROW
|
reference operator*() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ BOOST_ASSERT(!!m_ptr); return *m_ptr; }
|
{ BOOST_ASSERT(!!m_ptr); return *m_ptr; }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
pointer operator->() const BOOST_NOEXCEPT_OR_NOTHROW
|
pointer operator->() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return m_ptr; }
|
{ return m_ptr; }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
reference operator[](difference_type off) const BOOST_NOEXCEPT_OR_NOTHROW
|
reference operator[](difference_type off) const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ BOOST_ASSERT(!!m_ptr); return m_ptr[off]; }
|
{ BOOST_ASSERT(!!m_ptr); return m_ptr[off]; }
|
||||||
|
|
||||||
@@ -233,45 +233,45 @@ class vec_iterator
|
|||||||
inline vec_iterator& operator-=(difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
|
inline vec_iterator& operator-=(difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ BOOST_ASSERT(m_ptr || !off); m_ptr -= off; return *this; }
|
{ BOOST_ASSERT(m_ptr || !off); m_ptr -= off; return *this; }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend vec_iterator operator+(const vec_iterator &x, difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
|
friend vec_iterator operator+(const vec_iterator &x, difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ BOOST_ASSERT(x.m_ptr || !off); return vec_iterator(x.m_ptr+off); }
|
{ BOOST_ASSERT(x.m_ptr || !off); return vec_iterator(x.m_ptr+off); }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend vec_iterator operator+(difference_type off, vec_iterator right) BOOST_NOEXCEPT_OR_NOTHROW
|
friend vec_iterator operator+(difference_type off, vec_iterator right) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ BOOST_ASSERT(right.m_ptr || !off); right.m_ptr += off; return right; }
|
{ BOOST_ASSERT(right.m_ptr || !off); right.m_ptr += off; return right; }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend vec_iterator operator-(vec_iterator left, difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
|
friend vec_iterator operator-(vec_iterator left, difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ BOOST_ASSERT(left.m_ptr || !off); left.m_ptr -= off; return left; }
|
{ BOOST_ASSERT(left.m_ptr || !off); left.m_ptr -= off; return left; }
|
||||||
|
|
||||||
//Difference
|
//Difference
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend difference_type operator-(const vec_iterator &left, const vec_iterator& right) BOOST_NOEXCEPT_OR_NOTHROW
|
friend difference_type operator-(const vec_iterator &left, const vec_iterator& right) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return left.m_ptr - right.m_ptr; }
|
{ return left.m_ptr - right.m_ptr; }
|
||||||
|
|
||||||
//Comparison operators
|
//Comparison operators
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator== (const vec_iterator& l, const vec_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
friend bool operator== (const vec_iterator& l, const vec_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return l.m_ptr == r.m_ptr; }
|
{ return l.m_ptr == r.m_ptr; }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator!= (const vec_iterator& l, const vec_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
friend bool operator!= (const vec_iterator& l, const vec_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return l.m_ptr != r.m_ptr; }
|
{ return l.m_ptr != r.m_ptr; }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator< (const vec_iterator& l, const vec_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
friend bool operator< (const vec_iterator& l, const vec_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return l.m_ptr < r.m_ptr; }
|
{ return l.m_ptr < r.m_ptr; }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator<= (const vec_iterator& l, const vec_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
friend bool operator<= (const vec_iterator& l, const vec_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return l.m_ptr <= r.m_ptr; }
|
{ return l.m_ptr <= r.m_ptr; }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator> (const vec_iterator& l, const vec_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
friend bool operator> (const vec_iterator& l, const vec_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return l.m_ptr > r.m_ptr; }
|
{ return l.m_ptr > r.m_ptr; }
|
||||||
|
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
friend bool operator>= (const vec_iterator& l, const vec_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
friend bool operator>= (const vec_iterator& l, const vec_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return l.m_ptr >= r.m_ptr; }
|
{ return l.m_ptr >= r.m_ptr; }
|
||||||
};
|
};
|
||||||
@@ -1478,7 +1478,7 @@ private:
|
|||||||
//! <b>Throws</b>: If allocator's copy constructor throws.
|
//! <b>Throws</b>: If allocator's copy constructor throws.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
BOOST_CONTAINER_NODISCARD inline allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->m_holder.alloc(); }
|
{ return this->m_holder.alloc(); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns a reference to the internal allocator.
|
//! <b>Effects</b>: Returns a reference to the internal allocator.
|
||||||
@@ -1488,7 +1488,7 @@ private:
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension.
|
//! <b>Note</b>: Non-standard extension.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
|
stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->m_holder.alloc(); }
|
{ return this->m_holder.alloc(); }
|
||||||
|
|
||||||
@@ -1499,7 +1499,7 @@ private:
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension.
|
//! <b>Note</b>: Non-standard extension.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->m_holder.alloc(); }
|
{ return this->m_holder.alloc(); }
|
||||||
|
|
||||||
@@ -1514,7 +1514,7 @@ private:
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
|
BOOST_CONTAINER_NODISCARD inline iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return iterator(this->m_holder.start()); }
|
{ return iterator(this->m_holder.start()); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns a const_iterator to the first element contained in the vector.
|
//! <b>Effects</b>: Returns a const_iterator to the first element contained in the vector.
|
||||||
@@ -1522,7 +1522,7 @@ private:
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
BOOST_CONTAINER_NODISCARD inline const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return const_iterator(this->m_holder.start()); }
|
{ return const_iterator(this->m_holder.start()); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns an iterator to the end of the vector.
|
//! <b>Effects</b>: Returns an iterator to the end of the vector.
|
||||||
@@ -1530,7 +1530,7 @@ private:
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline iterator end() BOOST_NOEXCEPT_OR_NOTHROW
|
BOOST_CONTAINER_NODISCARD inline iterator end() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
iterator it (this->m_holder.start());
|
iterator it (this->m_holder.start());
|
||||||
it += difference_type(this->m_holder.m_size);
|
it += difference_type(this->m_holder.m_size);
|
||||||
@@ -1542,7 +1542,7 @@ private:
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
|
BOOST_CONTAINER_NODISCARD inline const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->cend(); }
|
{ return this->cend(); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns a reverse_iterator pointing to the beginning
|
//! <b>Effects</b>: Returns a reverse_iterator pointing to the beginning
|
||||||
@@ -1551,7 +1551,7 @@ private:
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
|
BOOST_CONTAINER_NODISCARD inline reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return reverse_iterator(this->end()); }
|
{ return reverse_iterator(this->end()); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
|
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
|
||||||
@@ -1560,7 +1560,7 @@ private:
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
BOOST_CONTAINER_NODISCARD inline const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->crbegin(); }
|
{ return this->crbegin(); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns a reverse_iterator pointing to the end
|
//! <b>Effects</b>: Returns a reverse_iterator pointing to the end
|
||||||
@@ -1569,7 +1569,7 @@ private:
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
|
BOOST_CONTAINER_NODISCARD inline reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return reverse_iterator(this->begin()); }
|
{ return reverse_iterator(this->begin()); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
|
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
|
||||||
@@ -1578,7 +1578,7 @@ private:
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
|
BOOST_CONTAINER_NODISCARD inline const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->crend(); }
|
{ return this->crend(); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns a const_iterator to the first element contained in the vector.
|
//! <b>Effects</b>: Returns a const_iterator to the first element contained in the vector.
|
||||||
@@ -1586,7 +1586,7 @@ private:
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
BOOST_CONTAINER_NODISCARD inline const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return const_iterator(this->m_holder.start()); }
|
{ return const_iterator(this->m_holder.start()); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns a const_iterator to the end of the vector.
|
//! <b>Effects</b>: Returns a const_iterator to the end of the vector.
|
||||||
@@ -1594,7 +1594,7 @@ private:
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
|
BOOST_CONTAINER_NODISCARD inline const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
const_iterator it (this->m_holder.start());
|
const_iterator it (this->m_holder.start());
|
||||||
it += difference_type(this->m_holder.m_size);
|
it += difference_type(this->m_holder.m_size);
|
||||||
@@ -1607,7 +1607,7 @@ private:
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
BOOST_CONTAINER_NODISCARD inline const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return const_reverse_iterator(this->end());}
|
{ return const_reverse_iterator(this->end());}
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
|
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
|
||||||
@@ -1616,7 +1616,7 @@ private:
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
|
BOOST_CONTAINER_NODISCARD inline const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return const_reverse_iterator(this->begin()); }
|
{ return const_reverse_iterator(this->begin()); }
|
||||||
|
|
||||||
//////////////////////////////////////////////
|
//////////////////////////////////////////////
|
||||||
@@ -1630,7 +1630,7 @@ private:
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
|
BOOST_CONTAINER_NODISCARD inline bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return !this->m_holder.m_size; }
|
{ return !this->m_holder.m_size; }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns the number of the elements contained in the vector.
|
//! <b>Effects</b>: Returns the number of the elements contained in the vector.
|
||||||
@@ -1638,7 +1638,7 @@ private:
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
|
BOOST_CONTAINER_NODISCARD inline size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->m_holder.m_size; }
|
{ return this->m_holder.m_size; }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns the largest possible size of the vector.
|
//! <b>Effects</b>: Returns the largest possible size of the vector.
|
||||||
@@ -1646,7 +1646,7 @@ private:
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
BOOST_CONTAINER_NODISCARD inline size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return allocator_traits_type::max_size(this->m_holder.alloc()); }
|
{ return allocator_traits_type::max_size(this->m_holder.alloc()); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Inserts or erases elements at the end such that
|
//! <b>Effects</b>: Inserts or erases elements at the end such that
|
||||||
@@ -1684,7 +1684,7 @@ private:
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
|
BOOST_CONTAINER_NODISCARD inline size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->m_holder.capacity(); }
|
{ return this->m_holder.capacity(); }
|
||||||
|
|
||||||
//! <b>Effects</b>: If n is less than or equal to capacity(), this call has no
|
//! <b>Effects</b>: If n is less than or equal to capacity(), this call has no
|
||||||
@@ -1723,7 +1723,7 @@ private:
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline reference front() BOOST_NOEXCEPT_OR_NOTHROW
|
BOOST_CONTAINER_NODISCARD inline reference front() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(!this->empty());
|
BOOST_ASSERT(!this->empty());
|
||||||
return *this->m_holder.start();
|
return *this->m_holder.start();
|
||||||
@@ -1737,7 +1737,7 @@ private:
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline const_reference front() const BOOST_NOEXCEPT_OR_NOTHROW
|
BOOST_CONTAINER_NODISCARD inline const_reference front() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(!this->empty());
|
BOOST_ASSERT(!this->empty());
|
||||||
return *this->m_holder.start();
|
return *this->m_holder.start();
|
||||||
@@ -1751,7 +1751,7 @@ private:
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline reference back() BOOST_NOEXCEPT_OR_NOTHROW
|
BOOST_CONTAINER_NODISCARD inline reference back() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(!this->empty());
|
BOOST_ASSERT(!this->empty());
|
||||||
return this->m_holder.start()[difference_type(this->m_holder.m_size - 1u)];
|
return this->m_holder.start()[difference_type(this->m_holder.m_size - 1u)];
|
||||||
@@ -1765,7 +1765,7 @@ private:
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline const_reference back() const BOOST_NOEXCEPT_OR_NOTHROW
|
BOOST_CONTAINER_NODISCARD inline const_reference back() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(!this->empty());
|
BOOST_ASSERT(!this->empty());
|
||||||
return this->m_holder.start()[this->m_holder.m_size - 1];
|
return this->m_holder.start()[this->m_holder.m_size - 1];
|
||||||
@@ -1779,7 +1779,7 @@ private:
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline reference operator[](size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
BOOST_CONTAINER_NODISCARD inline reference operator[](size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(this->m_holder.m_size > n);
|
BOOST_ASSERT(this->m_holder.m_size > n);
|
||||||
return this->m_holder.start()[difference_type(n)];
|
return this->m_holder.start()[difference_type(n)];
|
||||||
@@ -1793,7 +1793,7 @@ private:
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_reference operator[](size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
const_reference operator[](size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(this->m_holder.m_size > n);
|
BOOST_ASSERT(this->m_holder.m_size > n);
|
||||||
@@ -1811,7 +1811,7 @@ private:
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension
|
//! <b>Note</b>: Non-standard extension
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(this->m_holder.m_size >= n);
|
BOOST_ASSERT(this->m_holder.m_size >= n);
|
||||||
@@ -1829,7 +1829,7 @@ private:
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension
|
//! <b>Note</b>: Non-standard extension
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(this->m_holder.m_size >= n);
|
BOOST_ASSERT(this->m_holder.m_size >= n);
|
||||||
@@ -1846,7 +1846,7 @@ private:
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension
|
//! <b>Note</b>: Non-standard extension
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
|
size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
//Range check assert done in priv_index_of
|
//Range check assert done in priv_index_of
|
||||||
@@ -1863,7 +1863,7 @@ private:
|
|||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
//!
|
//!
|
||||||
//! <b>Note</b>: Non-standard extension
|
//! <b>Note</b>: Non-standard extension
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
BOOST_CONTAINER_NODISCARD inline
|
||||||
size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
|
size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{
|
{
|
||||||
//Range check assert done in priv_index_of
|
//Range check assert done in priv_index_of
|
||||||
@@ -1878,7 +1878,7 @@ private:
|
|||||||
//! <b>Throws</b>: range_error if n >= size()
|
//! <b>Throws</b>: range_error if n >= size()
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline reference at(size_type n)
|
BOOST_CONTAINER_NODISCARD inline reference at(size_type n)
|
||||||
{
|
{
|
||||||
this->priv_throw_if_out_of_range(n);
|
this->priv_throw_if_out_of_range(n);
|
||||||
return this->m_holder.start()[difference_type(n)];
|
return this->m_holder.start()[difference_type(n)];
|
||||||
@@ -1892,7 +1892,7 @@ private:
|
|||||||
//! <b>Throws</b>: range_error if n >= size()
|
//! <b>Throws</b>: range_error if n >= size()
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline const_reference at(size_type n) const
|
BOOST_CONTAINER_NODISCARD inline const_reference at(size_type n) const
|
||||||
{
|
{
|
||||||
this->priv_throw_if_out_of_range(n);
|
this->priv_throw_if_out_of_range(n);
|
||||||
return this->m_holder.start()[n];
|
return this->m_holder.start()[n];
|
||||||
@@ -1910,7 +1910,7 @@ private:
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline T* data() BOOST_NOEXCEPT_OR_NOTHROW
|
BOOST_CONTAINER_NODISCARD inline T* data() BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->priv_raw_begin(); }
|
{ return this->priv_raw_begin(); }
|
||||||
|
|
||||||
//! <b>Returns</b>: A pointer such that [data(),data() + size()) is a valid range.
|
//! <b>Returns</b>: A pointer such that [data(),data() + size()) is a valid range.
|
||||||
@@ -1919,7 +1919,7 @@ private:
|
|||||||
//! <b>Throws</b>: Nothing.
|
//! <b>Throws</b>: Nothing.
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Constant.
|
//! <b>Complexity</b>: Constant.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline const T * data() const BOOST_NOEXCEPT_OR_NOTHROW
|
BOOST_CONTAINER_NODISCARD inline const T * data() const BOOST_NOEXCEPT_OR_NOTHROW
|
||||||
{ return this->priv_raw_begin(); }
|
{ return this->priv_raw_begin(); }
|
||||||
|
|
||||||
//////////////////////////////////////////////
|
//////////////////////////////////////////////
|
||||||
@@ -2301,37 +2301,37 @@ private:
|
|||||||
//! <b>Effects</b>: Returns true if x and y are equal
|
//! <b>Effects</b>: Returns true if x and y are equal
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline friend bool operator==(const vector& x, const vector& y)
|
BOOST_CONTAINER_NODISCARD inline friend bool operator==(const vector& x, const vector& y)
|
||||||
{ return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
|
{ return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x and y are unequal
|
//! <b>Effects</b>: Returns true if x and y are unequal
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline friend bool operator!=(const vector& x, const vector& y)
|
BOOST_CONTAINER_NODISCARD inline friend bool operator!=(const vector& x, const vector& y)
|
||||||
{ return !(x == y); }
|
{ return !(x == y); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x is less than y
|
//! <b>Effects</b>: Returns true if x is less than y
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD friend bool operator<(const vector& x, const vector& y)
|
BOOST_CONTAINER_NODISCARD friend bool operator<(const vector& x, const vector& y)
|
||||||
{ return boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
{ return boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x is greater than y
|
//! <b>Effects</b>: Returns true if x is greater than y
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline friend bool operator>(const vector& x, const vector& y)
|
BOOST_CONTAINER_NODISCARD inline friend bool operator>(const vector& x, const vector& y)
|
||||||
{ return y < x; }
|
{ return y < x; }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x is equal or less than y
|
//! <b>Effects</b>: Returns true if x is equal or less than y
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline friend bool operator<=(const vector& x, const vector& y)
|
BOOST_CONTAINER_NODISCARD inline friend bool operator<=(const vector& x, const vector& y)
|
||||||
{ return !(y < x); }
|
{ return !(y < x); }
|
||||||
|
|
||||||
//! <b>Effects</b>: Returns true if x is equal or greater than y
|
//! <b>Effects</b>: Returns true if x is equal or greater than y
|
||||||
//!
|
//!
|
||||||
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
||||||
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline friend bool operator>=(const vector& x, const vector& y)
|
BOOST_CONTAINER_NODISCARD inline friend bool operator>=(const vector& x, const vector& y)
|
||||||
{ return !(x < y); }
|
{ return !(x < y); }
|
||||||
|
|
||||||
//! <b>Effects</b>: x.swap(y)
|
//! <b>Effects</b>: x.swap(y)
|
||||||
|
|||||||
Reference in New Issue
Block a user