pub struct NodeDataVec {
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 NodeDataVec
impl NodeDataVec
pub fn new() -> NodeDataVec
pub fn with_capacity(cap: usize) -> Self
pub const fn from_const_slice(input: &'static [NodeData]) -> Self
pub fn from_vec(input: Vec<NodeData>) -> Self
pub fn iter(&self) -> Iter<'_, NodeData>
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<&NodeData>
pub fn get(&self, index: usize) -> Option<&NodeData>
Returns a reference to the element at the given index (Rust-only, inline).
Sourcepub fn c_get(&self, index: usize) -> OptionNodeData
pub fn c_get(&self, index: usize) -> OptionNodeData
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) -> &[NodeData]
pub fn as_slice(&self) -> &[NodeData]
Returns the vec as a Rust slice (Rust-only, not C-API compatible).
Sourcepub fn as_c_slice(&self) -> NodeDataVecSlice
pub fn as_c_slice(&self) -> NodeDataVecSlice
Returns a C-compatible slice of the entire Vec.
Sourcepub fn as_c_slice_range(&self, start: usize, end: usize) -> NodeDataVecSlice
pub fn as_c_slice_range(&self, start: usize, end: usize) -> NodeDataVecSlice
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 NodeDataVec
impl NodeDataVec
pub fn from_copy_on_write(input: Cow<'static, [NodeData]>) -> NodeDataVec
Sourcepub unsafe fn copy_from_ptr(ptr: *const NodeData, len: usize) -> Self
pub unsafe fn copy_from_ptr(ptr: *const NodeData, 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<NodeData>
pub fn into_library_owned_vec(self) -> Vec<NodeData>
NOTE: CLONES the memory if the memory is external or &’static Moves the memory out if the memory is library-allocated
Source§impl NodeDataVec
impl NodeDataVec
pub fn as_mut_slice_extended<'a>(&mut self) -> &'a mut [NodeData]
pub fn as_mut_ptr(&mut self) -> *mut NodeData
pub fn sort_by<F: FnMut(&NodeData, &NodeData) -> Ordering>( &mut self, compare: F, )
pub fn push(&mut self, value: NodeData)
pub fn insert(&mut self, index: usize, element: NodeData)
pub fn remove(&mut self, index: usize)
pub fn pop(&mut self) -> Option<NodeData>
pub fn iter_mut(&mut self) -> IterMut<'_, NodeData>
pub fn into_iter(self) -> IntoIter<NodeData>
pub fn append(&mut self, other: &mut Self)
pub fn reserve(&mut self, additional: usize)
pub fn truncate(&mut self, len: usize)
pub fn retain<F>(&mut self, f: F)
Source§impl NodeDataVec
impl NodeDataVec
pub fn as_container<'a>(&'a self) -> NodeDataContainerRef<'a, NodeData>
pub fn as_container_mut<'a>( &'a mut self, ) -> NodeDataContainerRefMut<'a, NodeData>
Trait Implementations§
Source§impl AsMut<[NodeData]> for NodeDataVec
impl AsMut<[NodeData]> for NodeDataVec
Source§impl AsRef<[NodeData]> for NodeDataVec
impl AsRef<[NodeData]> for NodeDataVec
Source§impl Clone for NodeDataVec
impl Clone for NodeDataVec
Source§impl Debug for NodeDataVec
impl Debug for NodeDataVec
Source§impl Default for NodeDataVec
impl Default for NodeDataVec
Source§impl Drop for NodeDataVec
impl Drop for NodeDataVec
Source§impl Extend<NodeData> for NodeDataVec
impl Extend<NodeData> for NodeDataVec
Source§fn extend<T: IntoIterator<Item = NodeData>>(&mut self, iter: T)
fn extend<T: IntoIterator<Item = NodeData>>(&mut self, iter: T)
Source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one)Source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one)Source§impl From<&'static [NodeData]> for NodeDataVec
impl From<&'static [NodeData]> for NodeDataVec
Source§fn from(input: &'static [NodeData]) -> NodeDataVec
fn from(input: &'static [NodeData]) -> NodeDataVec
Source§impl FromIterator<NodeData> for NodeDataVec
impl FromIterator<NodeData> for NodeDataVec
Source§impl Hash for NodeDataVec
impl Hash for NodeDataVec
Source§impl Ord for NodeDataVec
impl Ord for NodeDataVec
Source§impl PartialEq for NodeDataVec
impl PartialEq for NodeDataVec
Source§impl PartialOrd for NodeDataVec
impl PartialOrd for NodeDataVec
impl Eq for NodeDataVec
impl Send for NodeDataVec
impl Sync for NodeDataVec
Auto Trait Implementations§
impl Freeze for NodeDataVec
impl RefUnwindSafe for NodeDataVec
impl Unpin for NodeDataVec
impl UnsafeUnpin for NodeDataVec
impl UnwindSafe for NodeDataVec
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