mirror of https://github.com/smol-rs/vec-arena
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
2 years ago | |
---|---|---|
.github/workflows | 2 years ago | |
examples | 3 years ago | |
src | 2 years ago | |
tests | 3 years ago | |
.gitignore | 7 years ago | |
CHANGELOG.md | 2 years ago | |
Cargo.toml | 2 years ago | |
LICENSE-APACHE | 7 years ago | |
LICENSE-MIT | 7 years ago | |
README.md | 2 years ago |
README.md
vec-arena (deprecated)
This crate is now deprecated in favor of slab.
What is this?
A simple object arena.
You want to build a doubly linked list? Or maybe a bidirectional tree? Perhaps an even more complicated object graph?
Managing ownership and lifetimes might be tough then. Your options boil down to:
- Use unsafe code to escape Rust's ownership rules.
- Wrap every object in
Rc<RefCell<T>>
. - Use
Vec<T>
to store objects, then access them using indices.
If the last option seems most appealing to you, perhaps Arena<T>
is for you.
It will provide a more convenient API than a plain Vec<T>
.
Examples
Some data structures built using Arena<T>
: