ちょっと必要になったので、書いてみました。 vector中のbefore番目にある要素を、after番目に移動します。 #include <vector> #include <utility> // 要素の位置を移動させる template <class T> void move_position(std::vector<T>& v, std::size_t before, std::size_t after) { T x = std::move(v[before]); v.erase(v.begin() + before); v.insert(v.begin() + after, std::move(x)); } #include <boost/detail/lightweight_test.hpp> #include <boost/range/algorithm/equal.hpp>