[][src]Function query_range::shift_range_in_content

pub fn shift_range_in_content<T>(
    range: Range<T>,
    shift: Shift<T>,
    content: &str
) -> Option<Range<T>> where
    T: PrimInt

Creates a new range with the start and end values shifted by the given amount and checks that the range is valid in the given content. If new range falls outside of the given content, None will be returned.

Example:

use query_range::{shift_range_in_content, Shift};

let test_str = "this is a test";

let range = 0..5;
assert_eq!(shift_range_in_content(range, Shift::Up(2), test_str), Some(2..7));

let range = 0..5;
assert_eq!(shift_range_in_content(range, Shift::Up(20), test_str), None);