
I've attached a fully functional revision that only has a 9% speed penalty from using randomaccessiterator types instead of directly using pointers (as opposed to 15% before). std::sort has a 6% penalty in my tests, so 9% doesn't seem unreasonable to me. The only additional modifications I'm considering making at this point is whatever formatting Boost requires (where's the best place to look that up?). The question is: is this code sufficiently useful, fast, and easy to use to include in Boost? I think it is because of its speedup across many different data types and usage of only >> and <, but I'm looking for input. If this is accepted, I can add versions that accept a functor, float_sort, and string_sort, but I'd like to go through the acceptance process with just this simpler code, so I know exactly what to do with the others. Steve