Step

Step (후속·선행 연산 트레이트)

*후속자(successor)*와 선행자(predecessor) 연산의 개념을 가진 객체를 위한 트레이트예요. 범위(range) 반복을 구현하는 데 쓰여요.

출처: Rust 공식 문서

본문

후속자 연산은 더 큰 값을 비교하는 방향으로 이동하고, 선행자 연산은 더 작은 값을 비교하는 방향으로 이동해요.

시그니처는 다음과 같아요.

pub trait Step:
    Sized
    + Clone
    + PartialOrd {
    // 필수 메서드
    fn steps_between(start: &Self, end: &Self) -> (usize, Option<usize>);
    fn forward_checked(start: Self, count: usize) -> Option<Self>;
    fn backward_checked(start: Self, count: usize) -> Option<Self>;

    // 제공되는 메서드
    fn forward(start: Self, count: usize) -> Self { ... }
    unsafe fn forward_unchecked(start: Self, count: usize) -> Self { ... }
    fn backward(start: Self, count: usize) -> Self { ... }
    unsafe fn backward_unchecked(start: Self, count: usize) -> Self { ... }
}

더 알아보기 (Learn more)

Rust 공식 문서