pub fn is_enclosed<T>(
rows: usize,
cols: usize,
grid: &[T],
is_wall: impl Fn(&T) -> bool,
) -> bool
Expand description
Checks that the provided grid has walls on each edge.
ยงExamples
assert_eq!(
is_enclosed(5, 6, &[
b'#', b'#', b'#', b'#', b'#', b'#',
b'#', b'.', b'.', b'.', b'.', b'#',
b'#', b'.', b'.', b'.', b'.', b'#',
b'#', b'.', b'.', b'.', b'.', b'#',
b'#', b'#', b'#', b'#', b'#', b'#',
], |&b| b == b'#'),
true,
);
assert_eq!(
is_enclosed(5, 6, &[
b'#', b'#', b'#', b'#', b'#', b'#',
b'#', b'.', b'.', b'.', b'.', b'#',
b'#', b'.', b'.', b'.', b'.', b'#',
b'#', b'.', b'.', b'.', b'.', b'.',
b'#', b'#', b'#', b'#', b'#', b'#',
], |&b| b == b'#'),
false,
);