diff options
author | DongHun Kwak <dh0128.kwak@samsung.com> | 2016-03-21 15:45:20 +0900 |
---|---|---|
committer | DongHun Kwak <dh0128.kwak@samsung.com> | 2016-03-21 15:46:37 +0900 |
commit | 733b5d5ae2c5d625211e2985ac25728ac3f54883 (patch) | |
tree | a5b214744b256f07e1dc2bd7273035a7808c659f /boost/geometry/iterators/closing_iterator.hpp | |
parent | 08c1e93fa36a49f49325a07fe91ff92c964c2b6c (diff) | |
download | boost-733b5d5ae2c5d625211e2985ac25728ac3f54883.tar.gz boost-733b5d5ae2c5d625211e2985ac25728ac3f54883.tar.bz2 boost-733b5d5ae2c5d625211e2985ac25728ac3f54883.zip |
Imported Upstream version 1.58.0upstream/1.58.0
Change-Id: If0072143aa26874812e0db6872e1efb10a3e5e94
Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
Diffstat (limited to 'boost/geometry/iterators/closing_iterator.hpp')
-rw-r--r-- | boost/geometry/iterators/closing_iterator.hpp | 20 |
1 files changed, 5 insertions, 15 deletions
diff --git a/boost/geometry/iterators/closing_iterator.hpp b/boost/geometry/iterators/closing_iterator.hpp index a9f67d4788..e263f3aafb 100644 --- a/boost/geometry/iterators/closing_iterator.hpp +++ b/boost/geometry/iterators/closing_iterator.hpp @@ -42,12 +42,14 @@ struct closing_iterator boost::random_access_traversal_tag > { + typedef typename boost::range_difference<Range>::type difference_type; + /// Constructor including the range it is based on explicit inline closing_iterator(Range& range) : m_range(&range) , m_iterator(boost::begin(range)) , m_end(boost::end(range)) - , m_size(boost::size(range)) + , m_size(static_cast<difference_type>(boost::size(range))) , m_index(0) {} @@ -56,8 +58,8 @@ struct closing_iterator : m_range(&range) , m_iterator(boost::end(range)) , m_end(boost::end(range)) - , m_size(boost::size(range)) - , m_index(m_size + 1) + , m_size(static_cast<difference_type>(boost::size(range))) + , m_index((m_size == 0) ? 0 : m_size + 1) {} /// Default constructor @@ -67,18 +69,6 @@ struct closing_iterator , m_index(0) {} - inline closing_iterator<Range>& operator=(closing_iterator<Range> const& source) - { - m_range = source.m_range; - m_iterator = source.m_iterator; - m_end = source.m_end; - m_size = source.m_size; - m_index = source.m_index; - return *this; - } - - typedef std::ptrdiff_t difference_type; - private: friend class boost::iterator_core_access; |