: m_It( it )
{}
+ intrusive_iterator const& underlying_iterator() const
+ {
+ return m_It;
+ }
+
public:
iterator()
: m_It()
template <typename FwIt>
bool operator ==(iterator<FwIt> const& i ) const
{
- return m_It == i.m_It;
+ return m_It == i.underlying_iterator();
}
template <typename FwIt>
bool operator !=(iterator<FwIt> const& i ) const
return it;
}
+ node_type * node() const
+ {
+ return m_pNode;
+ }
+
public:
iterator()
: m_pNode( nullptr )
template <typename Bkoff, bool C>
bool operator ==(iterator<gc, node_traits, Bkoff, C> const& i ) const
{
- return m_pNode == i.m_pNode;
+ return m_pNode == i.node();
}
template <typename Bkoff, bool C>
bool operator !=(iterator<gc, node_traits, Bkoff, C> const& i ) const