ordered set cpp