I have a "Tools" class which contains a lot of functions I commonly use. One is a parallel sort. I pass it a vector of Objects and a vector of indices, and it sorts the Objects and sorts the indices the same way (so the corresponding index is in the same position as its original corresponding object). The problem is, if I want to do this with a type that is unknown to Tools, it complains (makes sense... haha). Is there a way to define the < operator for Object somehow such that I can do this without having to modify Tools?