Crates.io | arcmut |
lib.rs | arcmut |
version | 0.1.0 |
source | src |
created_at | 2024-01-10 15:10:09.374083 |
updated_at | 2024-01-10 15:10:09.374083 |
description | Introduce ArcMut, utility for FFI. |
homepage | https://github.com/al8n/arcmut |
repository | https://github.com/al8n/arcmut |
max_upload_size | |
id | 1095292 |
size | 53,376 |
ArcMut
is a reference-counted pointer to a value of type T
, which can be mutated.
Note: This struct is not thread-safe!!!
In normal Rust code, you are not expected to use this type, but when you
are writing FFI code, you may need to use this type to share a value between
Rust and other languages, and again, if the code in other languages is concurrent,
you are encouraged to use a Arc<Mutex<T>>
instead.
ArcMut<T>
provides shared ownership of a value of type T
, allocated
in the heap. Invoking clone
on ArcMut
produces another pointer to the
same allocation in the heap. When the last ArcMut
pointer to a given
allocation is destroyed, the value stored in that allocation (often
referred to as "inner value") is also dropped.
This is similar to std::sync::Arc
, but it allows interior mutability.
[dependencies]
arcmut = "0.1"
arcmut
is under the terms of both the MIT license and the
Apache License (Version 2.0).
See LICENSE-APACHE, LICENSE-MIT for details.
Copyright (c) 2024 Al Liu.