...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Apply permutation to a sequence.
Alexander Zaitsev
namespace boost { namespace algorithm { template<typename RandomAccessIterator1, typename RandomAccessIterator2> void apply_permutation(RandomAccessIterator1 item_begin, RandomAccessIterator1 item_end, RandomAccessIterator2 ind_begin, RandomAccessIterator2 ind_end); template<typename RandomAccessIterator1, typename RandomAccessIterator2> void apply_reverse_permutation(RandomAccessIterator1 item_begin, RandomAccessIterator1 item_end, RandomAccessIterator2 ind_begin, RandomAccessIterator2 ind_end); template<typename Range1, typename Range2> void apply_permutation(Range1 & item_range, Range2 & ind_range); template<typename Range1, typename Range2> void apply_reverse_permutation(Range1 & item_range, Range2 & ind_range); } }