Return derived() from operator--() in iterator_interface.

Previously, this returned the underlying adapted iterator.
Fixes #50.
This commit is contained in:
Jan Bouwer
2021-11-08 11:37:06 +11:00
committed by Zach Laine
parent fbde58f203
commit ccecfa5652

View File

@@ -381,9 +381,10 @@ namespace boost { namespace stl_interfaces { BOOST_STL_INTERFACES_NAMESPACE_V1 {
std::enable_if_t<!v1_dtl::plus_eq<D, difference_type>::value>>
constexpr auto
operator--() noexcept(noexcept(--access::base(std::declval<D &>())))
-> decltype(--access::base(std::declval<D &>()))
-> decltype(--access::base(std::declval<D &>()), std::declval<D &>())
{
return --access::base(derived());
--access::base(derived());
return derived();
}
template<typename D = Derived>