# `soars` ![Rust Version][rustc-image] [![crates.io][crate-image]][crate-link] [![Documentation][docs-image]][docs-link] [![Dependency Status][deps-image]][deps-link] Struct of Arrays (SoA) in Rust (rs). ## Example ```rustc use soars::Soa; #[derive(Soa)] struct Foo { a: u64, b: bool, } ``` This Generates a new struct `SoaFoo` that is similar to: ```rust struct SoaFoo { a: Vec, b: Vec } ``` There are a number of attributes that can be applied to the struct or fields to control the generated behavior and implementation. ## License This crate is licensed under either of * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) * [MIT license](http://opensource.org/licenses/MIT) at your option. ### Contribution Unless you explicitly note otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions. [//]: # (badges) [rustc-image]: https://img.shields.io/badge/rustc-1.59+-blue.svg [crate-image]: https://img.shields.io/crates/v/soars.svg [crate-link]: https://crates.io/crates/soars [docs-image]: https://docs.rs/soars/badge.svg [docs-link]: https://docs.rs/soars [deps-image]: https://deps.rs/repo/github/kbknapp/soars/status.svg [deps-link]: https://deps.rs/repo/github/kbknapp/soars [//]: # (links) [rustup]: https://rustup.rs