[][src]Trait refpool::PoolDefaultImpl

pub trait PoolDefaultImpl: Default { }

A marker trait for types which should be fully initialised.

Implementing this trait for a type provides a PoolDefault implementation which writes the result of Default::default() to its memory location.

For types which implement Clone, this will also provide an implementation of PoolClone that writes the result of Clone::clone() to its memory location.

This makes sense for most types, and these implementations are always correct, but you may wish to provide your own implementations for types which don't have to fully initialise their allocated memory regions, which is why we don't implement PoolDefault for anything that implements Default and PoolClone for anything that implements Clone, given the absence of trait specialisation.

Implementations on Foreign Types

impl PoolDefaultImpl for bool[src]

impl PoolDefaultImpl for u8[src]

impl PoolDefaultImpl for u16[src]

impl PoolDefaultImpl for u32[src]

impl PoolDefaultImpl for u64[src]

impl PoolDefaultImpl for u128[src]

impl PoolDefaultImpl for usize[src]

impl PoolDefaultImpl for i8[src]

impl PoolDefaultImpl for i16[src]

impl PoolDefaultImpl for i32[src]

impl PoolDefaultImpl for i64[src]

impl PoolDefaultImpl for i128[src]

impl PoolDefaultImpl for isize[src]

impl<A> PoolDefaultImpl for Option<A>[src]

impl PoolDefaultImpl for String[src]

impl PoolDefaultImpl for PathBuf[src]

impl<A> PoolDefaultImpl for Vec<A>[src]

impl<A> PoolDefaultImpl for VecDeque<A>[src]

impl<A: Hash + Eq, S: BuildHasher + Default> PoolDefaultImpl for HashSet<A, S>[src]

impl<A: Hash + Eq, B, S: BuildHasher + Default> PoolDefaultImpl for HashMap<A, B, S>[src]

impl<A: Ord, B> PoolDefaultImpl for BTreeMap<A, B>[src]

impl<A: Ord> PoolDefaultImpl for BTreeSet<A>[src]

impl<A: Ord> PoolDefaultImpl for BinaryHeap<A>[src]

impl<A> PoolDefaultImpl for LinkedList<A>[src]

impl<A, B> PoolDefaultImpl for (A, B) where
    A: PoolDefaultImpl,
    B: PoolDefaultImpl
[src]

impl<A, B, C> PoolDefaultImpl for (A, B, C) where
    A: PoolDefaultImpl,
    B: PoolDefaultImpl,
    C: PoolDefaultImpl
[src]

impl<A, B, C, D> PoolDefaultImpl for (A, B, C, D) where
    A: PoolDefaultImpl,
    B: PoolDefaultImpl,
    C: PoolDefaultImpl,
    D: PoolDefaultImpl
[src]

impl<A, B, C, D, E> PoolDefaultImpl for (A, B, C, D, E) where
    A: PoolDefaultImpl,
    B: PoolDefaultImpl,
    C: PoolDefaultImpl,
    D: PoolDefaultImpl,
    E: PoolDefaultImpl
[src]

impl<A, B, C, D, E, F> PoolDefaultImpl for (A, B, C, D, E, F) where
    A: PoolDefaultImpl,
    B: PoolDefaultImpl,
    C: PoolDefaultImpl,
    D: PoolDefaultImpl,
    E: PoolDefaultImpl,
    F: PoolDefaultImpl
[src]

impl<A, B, C, D, E, F, G> PoolDefaultImpl for (A, B, C, D, E, F, G) where
    A: PoolDefaultImpl,
    B: PoolDefaultImpl,
    C: PoolDefaultImpl,
    D: PoolDefaultImpl,
    E: PoolDefaultImpl,
    F: PoolDefaultImpl,
    G: PoolDefaultImpl
[src]

impl<A, B, C, D, E, F, G, H> PoolDefaultImpl for (A, B, C, D, E, F, G, H) where
    A: PoolDefaultImpl,
    B: PoolDefaultImpl,
    C: PoolDefaultImpl,
    D: PoolDefaultImpl,
    E: PoolDefaultImpl,
    F: PoolDefaultImpl,
    G: PoolDefaultImpl,
    H: PoolDefaultImpl
[src]

Loading content...

Implementors

Loading content...