Upgrade to boost v1.59.0

This commit is contained in:
Yuri Kunde Schlesner 2015-08-16 20:45:50 -03:00
parent b7429a09aa
commit d05c3b4c4b
1151 changed files with 7596 additions and 161426 deletions

View file

@ -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