From bf072b5f2412f5031c03cc68f6071676414c66ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= Date: Sun, 21 Aug 2022 02:21:04 +0200 Subject: [PATCH] Add make_iterator_advance make_iterator_uadvance --- include/boost/intrusive/detail/iterator.hpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/include/boost/intrusive/detail/iterator.hpp b/include/boost/intrusive/detail/iterator.hpp index 9421cc4..ec91cd4 100644 --- a/include/boost/intrusive/detail/iterator.hpp +++ b/include/boost/intrusive/detail/iterator.hpp @@ -213,6 +213,14 @@ BOOST_INTRUSIVE_FORCEINLINE typename iterator_enable_if_tag +BOOST_INTRUSIVE_FORCEINLINE typename iterator_enable_if_tag::type + make_iterator_advance(InputIt it, Distance n) +{ + (iterator_advance)(it, n); + return it; +} + template BOOST_INTRUSIVE_FORCEINLINE void iterator_uadvance(It& it, typename iter_size::type n) @@ -220,6 +228,14 @@ BOOST_INTRUSIVE_FORCEINLINE (iterator_advance)(it, (typename iterator_traits::difference_type)n); } +template +BOOST_INTRUSIVE_FORCEINLINE +It make_iterator_uadvance(It it, typename iter_size::type n) +{ + (iterator_uadvance)(it, n); + return it; +} + //////////////////////////////////////// // iterator_distance ////////////////////////////////////////