Make Predicate, Unary, and Binary Operator template parameter names consistent
Current the template names for the Predicate, or Operator changes for each Device Adapter algorithm. Shouldn't we have consistent names?
Maybe the following names should be used.
- Predicate: takes a single parameter, and returns bool
- BinaryCompare: takes two parameters, and returns bool, used for strict weak ordering
- BinaryEquiv: takes two parameters, and returns bool, used for equivilancy