Opened 8 years ago

Last modified 7 years ago

#10672 closed Bugs

std::iterator_traits<boost::unordered_map<K,M>::iterator>::pointer should be value_type*, not detail::ptr_node<...> — at Initial Version

Reported by: anonymous Owned by: Daniel James
Milestone: To Be Determined Component: unordered
Version: Boost 1.54.0 Severity: Problem
Keywords: Cc:

Description

The iterator type looks like:

template <typename NodePointer, typename Value> struct iterator

: public boost::iterator<

std::forward_iterator_tag, Value, std::ptrdiff_t, NodePointer, Value&>

The NodePointer argument here (which is boost::unordered::detail::ptr_node<...>) becomes the iterator_traits<>::pointer type.

But iterator's operator->() returns Value *:

Value* operator->() const {

return &node_->value();

}

Seems like this should be changed.

Change History (0)

Note: See TracTickets for help on using tickets.