ShallowClone

Trait ShallowClone 

Source
pub trait ShallowClone: Clone {
    // Provided method
    fn shallow_clone(&self) -> Self { ... }
}
Expand description

A marker trait for types that support cloning without having to copy all indexed values.

This likely means that either:

  • The type uses persistent data structures internally (e.g., crate::index::im::BTreeIndex)
  • The type only works using aggregations that do not store all samples (e.g., crate::aggregation::Count)

Provided Methods§

Source

fn shallow_clone(&self) -> Self

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl ShallowClone for ()

Source§

impl ShallowClone for HashSet<Key>

Available on crate feature imbl only.
Source§

impl ShallowClone for OrdSet<Key>

Available on crate feature imbl only.
Source§

impl<Inner: ShallowClone> ShallowClone for Option<Inner>

Source§

impl<Ix0: ShallowClone, Ix1: ShallowClone> ShallowClone for (Ix0, Ix1)

Source§

impl<Ix0: ShallowClone, Ix1: ShallowClone, Ix2: ShallowClone> ShallowClone for (Ix0, Ix1, Ix2)

Source§

impl<Ix0: ShallowClone, Ix1: ShallowClone, Ix2: ShallowClone, Ix3: ShallowClone> ShallowClone for (Ix0, Ix1, Ix2, Ix3)

Source§

impl<Ix0: ShallowClone, Ix1: ShallowClone, Ix2: ShallowClone, Ix3: ShallowClone, Ix4: ShallowClone> ShallowClone for (Ix0, Ix1, Ix2, Ix3, Ix4)

Source§

impl<Ix0: ShallowClone, Ix1: ShallowClone, Ix2: ShallowClone, Ix3: ShallowClone, Ix4: ShallowClone, Ix5: ShallowClone> ShallowClone for (Ix0, Ix1, Ix2, Ix3, Ix4, Ix5)

Source§

impl<Ix0: ShallowClone, Ix1: ShallowClone, Ix2: ShallowClone, Ix3: ShallowClone, Ix4: ShallowClone, Ix5: ShallowClone, Ix6: ShallowClone> ShallowClone for (Ix0, Ix1, Ix2, Ix3, Ix4, Ix5, Ix6)

Source§

impl<Ix0: ShallowClone, Ix1: ShallowClone, Ix2: ShallowClone, Ix3: ShallowClone, Ix4: ShallowClone, Ix5: ShallowClone, Ix6: ShallowClone, Ix7: ShallowClone> ShallowClone for (Ix0, Ix1, Ix2, Ix3, Ix4, Ix5, Ix6, Ix7)

Source§

impl<Ix0: ShallowClone, Ix1: ShallowClone, Ix2: ShallowClone, Ix3: ShallowClone, Ix4: ShallowClone, Ix5: ShallowClone, Ix6: ShallowClone, Ix7: ShallowClone, Ix8: ShallowClone> ShallowClone for (Ix0, Ix1, Ix2, Ix3, Ix4, Ix5, Ix6, Ix7, Ix8)

Source§

impl<Ix0: ShallowClone, Ix1: ShallowClone, Ix2: ShallowClone, Ix3: ShallowClone, Ix4: ShallowClone, Ix5: ShallowClone, Ix6: ShallowClone, Ix7: ShallowClone, Ix8: ShallowClone, Ix9: ShallowClone> ShallowClone for (Ix0, Ix1, Ix2, Ix3, Ix4, Ix5, Ix6, Ix7, Ix8, Ix9)

Source§

impl<Ix0: ShallowClone, Ix1: ShallowClone, Ix2: ShallowClone, Ix3: ShallowClone, Ix4: ShallowClone, Ix5: ShallowClone, Ix6: ShallowClone, Ix7: ShallowClone, Ix8: ShallowClone, Ix9: ShallowClone, Ix10: ShallowClone> ShallowClone for (Ix0, Ix1, Ix2, Ix3, Ix4, Ix5, Ix6, Ix7, Ix8, Ix9, Ix10)

Source§

impl<Ix0: ShallowClone, Ix1: ShallowClone, Ix2: ShallowClone, Ix3: ShallowClone, Ix4: ShallowClone, Ix5: ShallowClone, Ix6: ShallowClone, Ix7: ShallowClone, Ix8: ShallowClone, Ix9: ShallowClone, Ix10: ShallowClone, Ix11: ShallowClone> ShallowClone for (Ix0, Ix1, Ix2, Ix3, Ix4, Ix5, Ix6, Ix7, Ix8, Ix9, Ix10, Ix11)

Source§

impl<Ix0: ShallowClone, Ix1: ShallowClone, Ix2: ShallowClone, Ix3: ShallowClone, Ix4: ShallowClone, Ix5: ShallowClone, Ix6: ShallowClone, Ix7: ShallowClone, Ix8: ShallowClone, Ix9: ShallowClone, Ix10: ShallowClone, Ix11: ShallowClone, Ix12: ShallowClone> ShallowClone for (Ix0, Ix1, Ix2, Ix3, Ix4, Ix5, Ix6, Ix7, Ix8, Ix9, Ix10, Ix11, Ix12)

Source§

impl<Ix0: ShallowClone, Ix1: ShallowClone, Ix2: ShallowClone, Ix3: ShallowClone, Ix4: ShallowClone, Ix5: ShallowClone, Ix6: ShallowClone, Ix7: ShallowClone, Ix8: ShallowClone, Ix9: ShallowClone, Ix10: ShallowClone, Ix11: ShallowClone, Ix12: ShallowClone, Ix13: ShallowClone> ShallowClone for (Ix0, Ix1, Ix2, Ix3, Ix4, Ix5, Ix6, Ix7, Ix8, Ix9, Ix10, Ix11, Ix12, Ix13)

Source§

impl<Ix0: ShallowClone, Ix1: ShallowClone, Ix2: ShallowClone, Ix3: ShallowClone, Ix4: ShallowClone, Ix5: ShallowClone, Ix6: ShallowClone, Ix7: ShallowClone, Ix8: ShallowClone, Ix9: ShallowClone, Ix10: ShallowClone, Ix11: ShallowClone, Ix12: ShallowClone, Ix13: ShallowClone, Ix14: ShallowClone> ShallowClone for (Ix0, Ix1, Ix2, Ix3, Ix4, Ix5, Ix6, Ix7, Ix8, Ix9, Ix10, Ix11, Ix12, Ix13, Ix14)

Source§

impl<Ix0: ShallowClone, Ix1: ShallowClone, Ix2: ShallowClone, Ix3: ShallowClone, Ix4: ShallowClone, Ix5: ShallowClone, Ix6: ShallowClone, Ix7: ShallowClone, Ix8: ShallowClone, Ix9: ShallowClone, Ix10: ShallowClone, Ix11: ShallowClone, Ix12: ShallowClone, Ix13: ShallowClone, Ix14: ShallowClone, Ix15: ShallowClone> ShallowClone for (Ix0, Ix1, Ix2, Ix3, Ix4, Ix5, Ix6, Ix7, Ix8, Ix9, Ix10, Ix11, Ix12, Ix13, Ix14, Ix15)

Source§

impl<Left: ShallowClone, Right: ShallowClone> ShallowClone for Result<Left, Right>

Implementors§

Source§

impl ShallowClone for Boolean

Source§

impl ShallowClone for Count

Source§

impl<In, GroupKey: Clone, InnerIndex: ShallowClone, S: Clone> ShallowClone for Grouped<In, GroupKey, InnerIndex, S>

Source§

impl<In, Ix, S> ShallowClone for Collection<In, Ix, S>
where In: Clone, Ix: ShallowClone, S: ShallowClone,

Source§

impl<In, Out, Inner: ShallowClone> ShallowClone for Filtered<In, Out, Inner>

Source§

impl<In: Clone, Query: Clone, State: Clone> ShallowClone for GenericAggregate<In, Query, State>

Source§

impl<KeySet: ShallowClone> ShallowClone for Keys<KeySet>

Source§

impl<T> ShallowClone for Mean<T>
where T: Clone,

Source§

impl<T, S: Clone, O> ShallowClone for MonoidalAggregate<T, S, O>

Source§

impl<T: Clone> ShallowClone for StdDev<T>

Source§

impl<T: Clone> ShallowClone for Sum<T>

Source§

impl<T: Clone, KeySet_: Clone> ShallowClone for BTree<T, KeySet_>

Source§

impl<T: Clone, KeySet_: Clone> ShallowClone for HashTable<T, KeySet_>