#[repr(C)]pub struct SequenceRaw<T> {
pub data: *mut T,
pub size: usize,
pub capacity: usize,
}Expand description
Raw sequence type for FFI compatibility
This represents a dynamically-sized sequence of elements as used in ROS2 C API.
§Memory Management
- With
rclfeature: Memory is managed by ROS2 C libraries through FFI. UseTryClonefor proper copying via FFI functions. - Without
rclfeature: Memory can be managed by Rust usingfrom_vec(). The sequence takes ownership and will free memory on drop.
Fields§
§data: *mut TPointer to the data array
size: usizeCurrent number of elements
capacity: usizeAllocated capacity
Implementations§
Source§impl<T> SequenceRaw<T>
impl<T> SequenceRaw<T>
pub fn iter(&self) -> Iter<'_, T>
Sourcepub fn as_slice_mut(&mut self) -> &mut [T]
👎Deprecated: use as_mut_slice instead
pub fn as_slice_mut(&mut self) -> &mut [T]
use as_mut_slice instead
Get a mutable slice of the sequence data
Sourcepub fn as_mut_slice(&mut self) -> &mut [T]
pub fn as_mut_slice(&mut self) -> &mut [T]
Get a mutable slice of the sequence data
pub fn iter_mut(&mut self) -> IterMut<'_, T>
Trait Implementations§
Source§impl<T: Clone> Clone for SequenceRaw<T>
Available on non-crate feature rcl only.
impl<T: Clone> Clone for SequenceRaw<T>
Available on non-crate feature
rcl only.Source§impl<T: Debug> Debug for SequenceRaw<T>
impl<T: Debug> Debug for SequenceRaw<T>
Source§impl<T> Default for SequenceRaw<T>
impl<T> Default for SequenceRaw<T>
Source§impl<'de, T: Deserialize<'de>> Deserialize<'de> for SequenceRaw<T>
Available on non-crate feature rcl only.
impl<'de, T: Deserialize<'de>> Deserialize<'de> for SequenceRaw<T>
Available on non-crate feature
rcl only.Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<T> Drop for SequenceRaw<T>
Available on non-crate feature rcl only.
impl<T> Drop for SequenceRaw<T>
Available on non-crate feature
rcl only.Source§impl<T: PartialEq> PartialEq for SequenceRaw<T>
impl<T: PartialEq> PartialEq for SequenceRaw<T>
Source§impl<T: Serialize> Serialize for SequenceRaw<T>
Available on non-crate feature rcl only.
impl<T: Serialize> Serialize for SequenceRaw<T>
Available on non-crate feature
rcl only.impl<T: Send> Send for SequenceRaw<T>
impl<T: Sync> Sync for SequenceRaw<T>
Auto Trait Implementations§
impl<T> Freeze for SequenceRaw<T>
impl<T> RefUnwindSafe for SequenceRaw<T>where
T: RefUnwindSafe,
impl<T> Unpin for SequenceRaw<T>
impl<T> UnsafeUnpin for SequenceRaw<T>
impl<T> UnwindSafe for SequenceRaw<T>where
T: RefUnwindSafe,
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
Mutably borrows from an owned value. Read more