На этом коммите моя бимапа представляла собой 2 интрузив сета с разными конечными нодами, а ноды между ними были разделяемым.
Когда я делал флип, происходил статик каст из элемента сета одного тега в другой, что просто сдвигало указатель.
Когда происходил флип энда, если компаратор был разделяемым, то так как порядок наследования ноды от элементов сета совпадал с порядком хранения сетов, после флипа на энд указатель попадал в нужный энд другого сета, но если делать флип энд с хранимым компаратором, то такого трюка не выйдет.
https://github.com/CPP-KT/bimap-NikitaMsln/pull/1/commits/5c30a7d2ccc81c1f7dc071197c48929768602cca
На этом коммите моя бимапа представляла собой 2 интрузив сета с разными конечными нодами, а ноды между ними были разделяемым.
Когда я делал флип, происходил статик каст из элемента сета одного тега в другой, что просто сдвигало указатель.
Когда происходил флип энда, если компаратор был разделяемым, то так как порядок наследования ноды от элементов сета совпадал с порядком хранения сетов, после флипа на энд указатель попадал в нужный энд другого сета, но если делать флип энд с хранимым компаратором, то такого трюка не выйдет.