const self& operator=(const self &itr)
Assignment operator.
This iterator will point to the same key/data pair as itr, and have the same configurations as itr.
When we talk about iterator movement, we think the container is a uni-directional range, represented by [begin, end), and this is true no matter we are using iterators or reverse iterators.
When an iterator is moved closer to "begin", we say it is moved forward, otherwise we say it is moved backward.