pub struct ScanCodeVec {
pub run_destructor: bool,
/* private fields */
}Fields§
§run_destructor: boolWhether to run the destructor on drop (prevents double-free when cloned to C)
Implementations§
Source§impl ScanCodeVec
impl ScanCodeVec
pub fn new() -> ScanCodeVec
pub fn with_capacity(cap: usize) -> Self
pub const fn from_const_slice(input: &'static [ScanCode]) -> Self
pub fn from_vec(input: Vec<ScanCode>) -> Self
pub fn iter(&self) -> Iter<'_, ScanCode>
pub fn ptr_as_usize(&self) -> usize
pub const fn len(&self) -> usize
pub const fn capacity(&self) -> usize
pub const fn is_empty(&self) -> bool
Sourcepub fn get(&self, index: usize) -> Option<&ScanCode>
pub fn get(&self, index: usize) -> Option<&ScanCode>
Returns a reference to the element at the given index (Rust-only, inline).
Sourcepub fn c_get(&self, index: usize) -> OptionU32
pub fn c_get(&self, index: usize) -> OptionU32
C-API compatible get function. Returns a copy of the element at the given index. Returns None if the index is out of bounds.
Sourcepub fn as_slice(&self) -> &[ScanCode] ⓘ
pub fn as_slice(&self) -> &[ScanCode] ⓘ
Returns the vec as a Rust slice (Rust-only, not C-API compatible).
Sourcepub fn as_c_slice(&self) -> ScanCodeVecSlice
pub fn as_c_slice(&self) -> ScanCodeVecSlice
Returns a C-compatible slice of the entire Vec.
Sourcepub fn as_c_slice_range(&self, start: usize, end: usize) -> ScanCodeVecSlice
pub fn as_c_slice_range(&self, start: usize, end: usize) -> ScanCodeVecSlice
Returns a C-compatible slice of a range within the Vec. If the range is out of bounds, it is clamped to the valid range.
Source§impl ScanCodeVec
impl ScanCodeVec
pub fn from_copy_on_write(input: Cow<'static, [ScanCode]>) -> ScanCodeVec
Sourcepub unsafe fn copy_from_ptr(ptr: *const ScanCode, len: usize) -> Self
pub unsafe fn copy_from_ptr(ptr: *const ScanCode, len: usize) -> Self
Copies elements from a C array pointer into a new Vec.
§Safety
ptrmust be valid for readinglenelements- The memory must be properly aligned for
$struct_type - The elements are cloned, so
$struct_typemust implementClone
Sourcepub fn clone_self(&self) -> Self
pub fn clone_self(&self) -> Self
NOTE: CLONES the memory if the memory is external or &’static Moves the memory out if the memory is library-allocated
Sourcepub fn into_library_owned_vec(self) -> Vec<ScanCode> ⓘ
pub fn into_library_owned_vec(self) -> Vec<ScanCode> ⓘ
NOTE: CLONES the memory if the memory is external or &’static Moves the memory out if the memory is library-allocated
Source§impl ScanCodeVec
impl ScanCodeVec
pub fn insert_hm_item(&mut self, item: ScanCode)
pub fn remove_hm_item(&mut self, remove_key: &ScanCode)
pub fn contains_hm_item(&self, searched: &ScanCode) -> bool
Trait Implementations§
Source§impl AsRef<[u32]> for ScanCodeVec
impl AsRef<[u32]> for ScanCodeVec
Source§impl Clone for ScanCodeVec
impl Clone for ScanCodeVec
Source§impl Debug for ScanCodeVec
impl Debug for ScanCodeVec
Source§impl Default for ScanCodeVec
impl Default for ScanCodeVec
Source§impl Drop for ScanCodeVec
impl Drop for ScanCodeVec
Source§impl From<&'static [u32]> for ScanCodeVec
impl From<&'static [u32]> for ScanCodeVec
Source§fn from(input: &'static [ScanCode]) -> ScanCodeVec
fn from(input: &'static [ScanCode]) -> ScanCodeVec
Source§impl FromIterator<u32> for ScanCodeVec
impl FromIterator<u32> for ScanCodeVec
Source§impl Hash for ScanCodeVec
impl Hash for ScanCodeVec
Source§impl Ord for ScanCodeVec
impl Ord for ScanCodeVec
Source§impl PartialEq for ScanCodeVec
impl PartialEq for ScanCodeVec
Source§impl PartialOrd for ScanCodeVec
impl PartialOrd for ScanCodeVec
impl Eq for ScanCodeVec
impl Send for ScanCodeVec
impl Sync for ScanCodeVec
Auto Trait Implementations§
impl Freeze for ScanCodeVec
impl RefUnwindSafe for ScanCodeVec
impl Unpin for ScanCodeVec
impl UnsafeUnpin for ScanCodeVec
impl UnwindSafe for ScanCodeVec
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more