This question with an added constraint.
I\'m willing to allow not-uniform selection as long as it\'s not to lop sided.
Given that \"sets are typically imple
You may be able to make a randomly-ordered copy of the map by using this constructor
template
set(InputIterator f, InputIterator l,
const key_compare& comp)
..and passing a comparator that compares hashes of the keys (or some other deterministic spreading function.) Then take the "smallest" keys according to this new map.
You could construct the map once and amortize the cost across several requests for a "random" element.