Set with custom compare
As a side note, you pass the element by copy not by const reference. This might also have some real preformance effects. SO rather do

 void Insert(const T&amp;) 


Also you could use emplace_back to enable inplace construction of the elements in the vector. On the other hand std::find only takes const T&amp; so I would guess, that move semantics do not really buy you anything here.