NavigationTokenIteratorTag Node1 NavigationTokenIteratorTag Node2 std::bidirectional _iterator_tag Node2->Node1