ranges::move
ranges::move (범위 이동 — ranges)
범위의 요소를 목적지로 이동시키는 ranges 버전 알고리즘이에요. <algorithm> 헤더에 있어요.
출처: cppreference
본문
std::ranges::move는 범위의 요소를 이동 생성/대입으로 목적지 result에 옮겨요.
namespace std::ranges {
template< std::input_iterator I, std::sentinel_for<I> S,
std::weakly_incrementable O >
requires std::indirectly_movable<I, O>
constexpr move_result<I, O> move( I first, S last, O result );
}
- 반환 타입
move_result{in, out}. result가 소스 범위 안에 있으면 미정의 동작이에요(겹치면ranges::move_backward사용).
std::vector<std::string> src{"a", "b", "c"};
std::vector<std::string> dst(3);
std::ranges::move(src, dst.begin());
std::move(캐스트)와 달리 이건 범위를 이동하는 알고리즘이에요. ranges 버전으로 이름이 혼동에 주의해야 해요.