3 #ifndef OSL_MISC_REORDER_H 
    4 #define OSL_MISC_REORDER_H 
   14       template <
class RandomIterator, 
class OrderArray>
 
   15       static void reorder(RandomIterator first, RandomIterator last,
 
   16                           const OrderArray& indices)
 
   18         const int size = last - first;
 
   19         for (
int i=0; i<size-1; ++i)    
 
   21           int swap_target = indices[i];
 
   22           while (swap_target < i)
 
   23             swap_target = indices[swap_target];
 
   24           std::swap(*(first+i), *(first+swap_target));