The ordered containers std::(multi_)set and std::(multi_)map are node-based containers that offer log(n) operation complexity for lookup, insertion and removal.
As with other node-based containers, we pay for the reference and iterator stability with performance.
Due to a relatively low constant overhead, ordered containers can sometimes outperform unordered containers.
Compiler Explorer link: https://compiler-explorer.com/z/na93K6dse