mirror of
https://git.suyu.dev/suyu/ext-boost.git
synced 2026-01-06 14:38:13 +01:00
Upgrade to boost v1.59.0
This commit is contained in:
parent
b7429a09aa
commit
d05c3b4c4b
1151 changed files with 7596 additions and 161426 deletions
|
|
@ -10,19 +10,23 @@
|
|||
//
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef BOOST_INTRUSIVE_DETAIL_ITERATOR_HPP
|
||||
#define BOOST_INTRUSIVE_DETAIL_ITERATOR_HPP
|
||||
#ifndef BOOST_INTRUSIVE_DETAIL_REVERSE_ITERATOR_HPP
|
||||
#define BOOST_INTRUSIVE_DETAIL_REVERSE_ITERATOR_HPP
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
#ifndef BOOST_CONFIG_HPP
|
||||
# include <boost/config.hpp>
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_HAS_PRAGMA_ONCE)
|
||||
# pragma once
|
||||
#endif
|
||||
|
||||
#include <boost/intrusive/detail/config_begin.hpp>
|
||||
#include <boost/intrusive/detail/iiterator.hpp>
|
||||
#include <boost/intrusive/detail/iterator.hpp>
|
||||
#include <boost/intrusive/detail/mpl.hpp>
|
||||
|
||||
namespace boost {
|
||||
namespace intrusive {
|
||||
namespace detail {
|
||||
|
||||
template<class It>
|
||||
class reverse_iterator
|
||||
|
|
@ -46,10 +50,17 @@ class reverse_iterator
|
|||
{}
|
||||
|
||||
template<class OtherIt>
|
||||
reverse_iterator(const reverse_iterator<OtherIt>& r)
|
||||
reverse_iterator( const reverse_iterator<OtherIt>& r
|
||||
, typename boost::intrusive::detail::enable_if_convertible<OtherIt, It>::type* =0
|
||||
)
|
||||
: m_current(r.base())
|
||||
{}
|
||||
|
||||
template<class OtherIt>
|
||||
typename boost::intrusive::detail::enable_if_convertible<OtherIt, It, reverse_iterator &>::type
|
||||
operator=( const reverse_iterator<OtherIt>& r)
|
||||
{ m_current = r.base(); return *this; }
|
||||
|
||||
It base() const
|
||||
{ return m_current; }
|
||||
|
||||
|
|
@ -57,10 +68,10 @@ class reverse_iterator
|
|||
{ It temp(m_current); --temp; return *temp; }
|
||||
|
||||
pointer operator->() const
|
||||
{ It temp(m_current); --temp; return temp.operator->(); }
|
||||
{ It temp(m_current); --temp; return iterator_arrow_result(temp); }
|
||||
|
||||
reference operator[](difference_type off) const
|
||||
{ return this->m_current[-off]; }
|
||||
{ return this->m_current[-off - 1]; }
|
||||
|
||||
reverse_iterator& operator++()
|
||||
{ --m_current; return *this; }
|
||||
|
|
@ -106,22 +117,17 @@ class reverse_iterator
|
|||
reverse_iterator& operator+=(difference_type off)
|
||||
{ m_current -= off; return *this; }
|
||||
|
||||
friend reverse_iterator operator+(const reverse_iterator & l, difference_type off)
|
||||
{
|
||||
reverse_iterator tmp(l.m_current);
|
||||
tmp.m_current -= off;
|
||||
return tmp;
|
||||
}
|
||||
friend reverse_iterator operator+(reverse_iterator l, difference_type off)
|
||||
{ l.m_current -= off; return l; }
|
||||
|
||||
friend reverse_iterator operator+(difference_type off, reverse_iterator r)
|
||||
{ return (r += off); }
|
||||
|
||||
reverse_iterator& operator-=(difference_type off)
|
||||
{ m_current += off; return *this; }
|
||||
|
||||
friend reverse_iterator operator-(const reverse_iterator & l, difference_type off)
|
||||
{
|
||||
reverse_iterator tmp(l.m_current);
|
||||
tmp.m_current += off;
|
||||
return tmp;
|
||||
}
|
||||
friend reverse_iterator operator-(reverse_iterator l, difference_type off)
|
||||
{ l.m_current += off; return l; }
|
||||
|
||||
friend difference_type operator-(const reverse_iterator& l, const reverse_iterator& r)
|
||||
{ return r.m_current - l.m_current; }
|
||||
|
|
@ -130,10 +136,9 @@ class reverse_iterator
|
|||
It m_current; // the wrapped iterator
|
||||
};
|
||||
|
||||
} //namespace detail
|
||||
} //namespace intrusive
|
||||
} //namespace boost
|
||||
} //namespace intrusive {
|
||||
} //namespace boost {
|
||||
|
||||
#include <boost/intrusive/detail/config_end.hpp>
|
||||
|
||||
#endif //BOOST_INTRUSIVE_DETAIL_ITERATOR_HPP
|
||||
#endif //BOOST_INTRUSIVE_DETAIL_REVERSE_ITERATOR_HPP
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue