Function device_tree_source::line_to_byte_offset
[−]
[src]
pub fn line_to_byte_offset<K, I>(
bytes: I,
line: usize
) -> Result<usize, ParseError> where
K: Borrow<u8> + Eq,
I: Iterator<Item = K>,
Returns the byte offset of the starting character of line within the iterator.
Lines are assumed to be 1 indexed, and offsets are 0 indexed.
Errors
Will return an ParseError::NotFound
if the line cannot be found.
Example
use device_tree_source::line_to_byte_offset; use device_tree_source::ParseError; let string = "Howdy\nHow goes it\n\nI'm doing fine"; assert_eq!(line_to_byte_offset(string.as_bytes().iter(), 1), Ok(0)); assert_eq!(line_to_byte_offset(string.as_bytes().iter(), 3), Ok(18)); assert_eq!(line_to_byte_offset(string.as_bytes().iter(), 5), Err(ParseError::NotFound));