1#[macro_export]
3macro_rules! to_mut_ptr {
4 ($collection:expr) => {{
5 use $crate::GetRef;
6 let mut vec = $collection.iter().map(|v| v.get_ref()).collect::<Vec<_>>();
7 if vec.is_empty() {
8 std::ptr::null_mut()
9 } else {
10 vec.as_mut_ptr()
11 }
12 }};
13}
14
15#[macro_export]
17macro_rules! map_mut_ptr {
18 ($collection:expr, $map_fn:expr) => {{
19 let mut vec = $collection.iter().map($map_fn).collect::<Vec<_>>();
20 if vec.is_empty() {
21 std::ptr::null_mut()
22 } else {
23 vec.as_mut_ptr()
24 }
25 }};
26}