Posted 21 April 2011 - 01:17 AM
Whatever the reason for the sorting is, you should be able to determine it by looking at the code for the Arbiter class in its entirety. (Most likely there's an operator or other function somewhere in the class that relies on the two bodies being in a pre-determined order.)
In this case, operator<() simply sorts based on pointer values. Without looking at the source code I can't tell you exactly what the context is, but one reason you might do this would be to facilitate easy comparison of Arbiter objects (assuming that b1, b2 and b2, b1 should be considered to be the same pair).