macro_rules! new_child {
($rc:expr, left, $val:expr) => { ... };
($rc:expr, l, $val:expr) => { ... };
($rc:expr, L, $val:expr) => { ... };
($rc:expr, right, $val:expr) => { ... };
($rc:expr, r, $val:expr) => { ... };
($rc:expr, R, $val:expr) => { ... };
($rc:expr, [$left:expr, $right:expr]) => { ... };
}
Expand description
Rapidly create left & right children of the given node.
ยงExamples
use leetcode_test_utils::{new_child, btree};
use leetcode_test_utils::tree::shortcuts::new_node;
use leetcode_test_utils::tree::T;
let root = new_node(42);
new_child!(root.as_ref().unwrap(), left, 2);
assert_eq!(T(root.clone()), T(btree!(42, 2)));
new_child!(root.as_ref().unwrap(), l, 3);
assert_eq!(T(root.clone()), T(btree!(42, 3)));
new_child!(root.as_ref().unwrap(), L, 4);
assert_eq!(T(root.clone()), T(btree!(42, 4)));
new_child!(root.as_ref().unwrap(), right, 5);
assert_eq!(T(root.clone()), T(btree!(42, 4, 5)));
new_child!(root.as_ref().unwrap(), r, 6);
assert_eq!(T(root.clone()), T(btree!(42, 4, 6)));
new_child!(root.as_ref().unwrap(), R, 7);
assert_eq!(T(root.clone()), T(btree!(42, 4, 7)));
new_child!(root.as_ref().unwrap(), [8, 9]);
assert_eq!(T(root.clone()), T(btree!(42, 8, 9)));