Trait MoveType

Source
pub trait MoveType: Default + Sized {
    const MOVE: CSTL_MoveType = _;

    // Provided method
    unsafe extern "C" fn raw_move(
        first: NonNull<Self>,
        last: NonNull<Self>,
        dest: NonNull<Self>,
    ) { ... }
}
Expand description

Trait for types that can be moved with C++ semantics.

A C++ move is not destructive, so it has to leave an initialized value in its place, which is why this trait requires Default.

Provides a CSTL_MoveType table.

Provided Associated Constants§

Source

const MOVE: CSTL_MoveType = _

CSTL movable type table.

Provided Methods§

Source

unsafe extern "C" fn raw_move( first: NonNull<Self>, last: NonNull<Self>, dest: NonNull<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.

Implementors§

Source§

impl<T: Default> MoveType for T