pub type ArcArray<A, D> = ArrayBase<OwnedArcRepr<A>, D>;
Expand description
An array where the data has shared ownership and is copy on write.
The ArcArray<A, D>
is parameterized by A
for the element type and D
for
the dimensionality.
It can act as both an owner as the data as well as a shared reference (view
like).
Calling a method for mutating elements on ArcArray
, for example
view_mut()
or
get_mut()
, will break sharing and
require a clone of the data (if it is not uniquely held).
ArcArray
uses atomic reference counting like Arc
, so it is Send
and
Sync
(when allowed by the element type of the array too).
ArrayBase
is used to implement both the owned
arrays and the views; see its docs for an overview of all array features.
See also:
Aliased Type§
struct ArcArray<A, D> {
pub(crate) data: OwnedArcRepr<A>,
pub(crate) ptr: NonNull<A>,
pub(crate) dim: D,
pub(crate) strides: D,
}
Fields§
§data: OwnedArcRepr<A>
§ptr: NonNull<A>
§dim: D
§strides: D