Mercurial > hg > vamp-build-and-test
diff DEPENDENCIES/generic/include/boost/range/irange.hpp @ 101:c530137014c0
Update Boost headers (1.58.0)
author | Chris Cannam |
---|---|
date | Mon, 07 Sep 2015 11:12:49 +0100 |
parents | 2665513ce2d3 |
children |
line wrap: on
line diff
--- a/DEPENDENCIES/generic/include/boost/range/irange.hpp Fri Sep 04 12:01:02 2015 +0100 +++ b/DEPENDENCIES/generic/include/boost/range/irange.hpp Mon Sep 07 11:12:49 2015 +0100 @@ -51,6 +51,7 @@ typedef typename base_t::value_type value_type; typedef typename base_t::difference_type difference_type; typedef typename base_t::reference reference; + typedef std::random_access_iterator_tag iterator_category; integer_iterator() : m_value() {} explicit integer_iterator(value_type x) : m_value(x) {} @@ -73,7 +74,11 @@ difference_type distance_to(const integer_iterator& other) const { - return other.m_value - m_value; + return is_signed<value_type>::value + ? (other.m_value - m_value) + : (other.m_value >= m_value) + ? static_cast<difference_type>(other.m_value - m_value) + : -static_cast<difference_type>(m_value - other.m_value); } bool equal(const integer_iterator& other) const @@ -123,6 +128,7 @@ typedef typename base_t::value_type value_type; typedef typename base_t::difference_type difference_type; typedef typename base_t::reference reference; + typedef std::random_access_iterator_tag iterator_category; integer_iterator_with_step(value_type first, difference_type step, value_type step_size) : m_first(first) @@ -164,7 +170,7 @@ friend class ::boost::iterator_core_access; value_type m_first; - value_type m_step; + difference_type m_step; difference_type m_step_size; };