macro_rules! soa {
() => { ... };
($x:expr $(,$xs:expr)* $(,)?) => { ... };
($elem:expr; 0) => { ... };
($elem:expr; 1) => { ... };
($elem:expr; $n:expr) => { ... };
}
Expand description
Creates a Soa
containing the arguments.
soa!
allows Soa
s to be defined with the same syntax as array
expressions. There are two forms of this macro:
- Create a
Soa
containing a given list of elements:
let soa = soa![Foo(1, 2), Foo(3, 4)];
assert_eq!(soa, soa![Foo(1, 2), Foo(3, 4)]);
- Create a
Soa
from a given element and size:
let soa = soa![Foo(1, 2); 2];
assert_eq!(soa, soa![Foo(1, 2), Foo(1, 2)]);