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> { /* private fields */ }
Implementations§
Trait Implementations§
source§impl<A, D> IntoIterator for ArcArray<A, D>
impl<A, D> IntoIterator for ArcArray<A, D>
source§impl<'a, A, D> IntoParallelIterator for &'a ArcArray<A, D>
impl<'a, A, D> IntoParallelIterator for &'a ArcArray<A, D>
Requires crate feature rayon
.
source§impl<'a, A, D> IntoParallelIterator for &'a mut ArcArray<A, D>
impl<'a, A, D> IntoParallelIterator for &'a mut ArcArray<A, D>
Requires crate feature rayon
.