Fix regression in how the table_iterator defines its reference type

This commit is contained in:
Christian Mazakas
2022-10-12 08:58:32 -07:00
parent becd166e66
commit 05b3025c0e
2 changed files with 15 additions and 1 deletions

View File

@ -621,7 +621,8 @@ public:
using value_type=Value;
using pointer=
typename std::conditional<Const,value_type const*,value_type*>::type;
using reference=value_type&;
using reference=
typename std::conditional<Const,value_type const&,value_type&>::type;
using iterator_category=std::forward_iterator_tag;
using element_type=
typename std::conditional<Const,value_type const,value_type>::type;

View File

@ -64,6 +64,19 @@ INSTANTIATE(multiset)<test::minimal::assignable,
#endif
UNORDERED_AUTO_TEST (type_traits) {
#ifdef BOOST_UNORDERED_FOA_TESTS
typedef boost::unordered_flat_set<int> set_type;
#else
typedef boost::unordered_set<int> set_type;
#endif
typedef set_type::iterator iterator;
BOOST_STATIC_ASSERT(boost::is_same<int const&,
std::iterator_traits<iterator>::reference>::value);
}
UNORDERED_AUTO_TEST (test0) {
test::minimal::constructor_param x;