Skip to main content

BufferLinearStaticExample

Struct BufferLinearStaticExample 

Source
pub struct BufferLinearStaticExample<T, S> { /* private fields */ }
Expand description

🗃️ A static linear buffer over contiguous storage, made with buffer_linear!.


📍 data/layout/buffer::BufferLinearStaticExample

📦 size_of::<BufferLinearStaticExample<(), [(); 8]>>() == 1 bytes / 8 bits ⚗️Option<T> 🟰 T

📦 size_of::<BufferLinearStaticExample<u8, [u8; 8]>>() == 9 bytes / 72 bits ⚗️Option<T> 🟰 T

📦 size_of::<BufferLinearStaticExample<i32, [i32; 8]>>() == 36 bytes / 288 bits ⚗️Option<T> 🟰 T

📦 size_of::<BufferLinearStaticExample<char, &[i32]>>() == 12 bytes / 96 bits #️⃣ #[cfg(target_pointer_width = “32”)] ⚗️Option<T> 🟰 T

📦 size_of::<BufferLinearStaticExample<char, &[i32]>>() == 24 bytes / 192 bits #️⃣ #[cfg(target_pointer_width = “64”)] ⚗️Option<T> 🟰 T


§Methods

Implementations§

Source§

impl<T, S> BufferLinearStaticExample<T, S>

Common methods.

Source

pub const fn len(&self) -> NonValueU8<{ u8::MAX }>

Returns the number of elements currently stored in the buffer.

Source

pub const fn len_prim(&self) -> u8

Returns the number of elements currently stored in the buffer.

Source

pub const fn is_empty(&self) -> bool

Returns true if the buffer contains no elements.

Source§

impl<T, const CAP: usize> BufferLinearStaticExample<T, [T; CAP]>

Fully initialized linear array.

§Invariants

  • All CAP slots always contain a valid T.
  • len controls logical membership, not initialization.
  • Dropping the array drops all CAP elements.

§Consequences

  • Moving out T requires immediately installing another valid T.
  • Popping by value therefore requires Copy, Clone, or a replacement value.
  • Shrinking len does not affect drop behavior.
Source

pub const CAP: NonValueU8<{ u8::MAX }>

The fixed capacity of the buffer as the index type.

Source

pub const CAP_PRIM: u8

The fixed capacity of the buffer as the primitive type.

Source

pub const fn new(array: [T; CAP]) -> Self

Creates a buffer from an already initialized array, with logical length 0.

Source

pub const fn new_init() -> Self
where T: ConstInit,

Creates a new fully initialized buffer with logical length 0.

Source

pub const fn from_array_clamped( array: [T; CAP], max_len: NonValueU8<{ u8::MAX }>, ) -> Self

Creates a buffer from an already initialized array, limiting the logical length to max_len.

Source

pub const fn from_array_clamped_prim(array: [T; CAP], max_len: u8) -> Self

Primitive-index variant of from_array_clamped.

Source

pub fn from_slice_clone(src: &[T], init: T) -> Option<Self>
where T: Clone,

Creates a new buffer by cloning all the possible elements from src, after initializing the capacity with the init value.

Source

pub const fn from_slice_copy(src: &[T], init: T) -> Option<Self>
where T: Copy,

Creates a new buffer by copying all the possible elements from src, after initializing the capacity with the init value.

Source

pub fn from_slice_move_default(src: &mut [T]) -> Option<Self>
where T: Default,

Creates a new buffer by moving all the possible elements from src, and replacing them with the default value, after initializing the capacity with the default value.

Source

pub const fn capacity(&self) -> NonValueU8<{ u8::MAX }>

Returns the fixed capacity of the buffer.

Source

pub const fn capacity_prim(&self) -> u8

Returns the fixed capacity of the buffer.

Source

pub const fn remaining_capacity(&self) -> NonValueU8<{ u8::MAX }>

Returns the number of additional elements that fit within the current capacity.

Source

pub const fn remaining_capacity_prim(&self) -> u8

Returns the number of additional elements that fit within the current capacity.

Source

pub const fn is_full(&self) -> bool

Returns true if the buffer has reached its capacity.

Source

pub const fn clear(&mut self)

Sets the logical length to zero.

Does not drop elements.

Source

pub const fn truncate(&mut self, new_len: NonValueU8<{ u8::MAX }>)

Sets the logical length to min(new_len, len).

If new_len >= len, this is a no-op.

Source

pub const fn truncate_prim(&mut self, new_len: u8) -> Result<(), InvalidValue>

Primitive-index variant of truncate,

Source

pub fn push_back(&mut self, value: T) -> Result<(), T>

Appends a value to the back of the buffer.

Returns Err(value) if the buffer is full.

Source

pub const fn push_back_copy(&mut self, value: T) -> Result<(), T>
where T: Copy,

Appends a copy of value to the back of the buffer.

Returns Err(value) if the buffer is full.

Source

pub fn push_slice(&mut self, src: &[T]) -> usize
where T: Clone,

Appends as many cloned elements from src as fit.

Returns the number of elements appended.

Source

pub const fn push_slice_copy(&mut self, src: &[T]) -> usize
where T: Copy,

Appends as many copied elements from src as fit.

Returns the number of elements appended.

Source

pub const fn push_slice_copy_exact(&mut self, src: &[T]) -> Result<(), usize>
where T: Copy,

Appends all copied elements from src, or returns the number appended before running out of space.

Source

pub const fn pop_back(&mut self) -> Option<T>
where T: ConstInit,

Removes and returns the value at the back, replacing its storage slot with T::INIT.

Source

pub fn pop_back_with(&mut self, replacement: T) -> Option<T>

Removes and returns the value at the back, replacing its storage slot with replacement.

Source

pub fn pop_back_clone(&mut self) -> Option<T>
where T: Clone,

Removes and returns a cloned value from the back of the buffer.

Source

pub const fn pop_back_copy(&mut self) -> Option<T>
where T: Copy,

Removes and returns a copied value from the back of the buffer.

Source

pub const fn peek_back(&self) -> Option<&T>

Returns a shared reference to the last element without removing it.

Source

pub const fn peek_mut_back(&mut self) -> Option<&mut T>

Returns an exclusive reference to the last element without removing it.

Source

pub const fn get(&self, index: NonValueU8<{ u8::MAX }>) -> Option<&T>

Returns a shared reference to the element at index, or None if out of bounds.

Source

pub const fn get_mut( &mut self, index: NonValueU8<{ u8::MAX }>, ) -> Option<&mut T>

Returns an exclusive reference to the element at index, or None if out of bounds.

Source

pub fn take_default(&mut self, index: NonValueU8<{ u8::MAX }>) -> Option<T>
where T: Default,

Takes the value at index, replacing it with T::default().

Source

pub const fn take_init(&mut self, index: NonValueU8<{ u8::MAX }>) -> Option<T>
where T: ConstInit,

Takes the value at index, replacing it with T::INIT.

Source

pub fn take_with( &mut self, index: NonValueU8<{ u8::MAX }>, other: T, ) -> Option<T>

Takes the value at index, replacing it with other.

Source

pub const fn take_with_copy( &mut self, index: NonValueU8<{ u8::MAX }>, other: T, ) -> Option<T>
where T: Copy,

Takes the value at index, replacing it with a copy of other.

Source

pub const fn as_slice(&self) -> &[T]

Returns the active logical range as a slice.

Source

pub const fn as_mut_slice(&mut self) -> &mut [T]

Returns the active logical range as an exclusive slice.

Source

pub fn iter(&self) -> impl Iterator<Item = &T>

Iterates over the initialized elements.

Source

pub fn iter_mut(&mut self) -> impl Iterator<Item = &mut T>

Iterates mutably over the initialized elements.

Source

pub fn visit_each<F>(&self, f: F)
where for<'v> F: Fn(&'v T),

Visits each initialized element without exposing borrow identity.

Source

pub fn visit_each_mut<F>(&mut self, f: F)
where for<'v> F: Fn(&'v mut T),

Visits each initialized element mutably without exposing borrow identity.

Source

pub fn visit_slice<F, R>(&self, f: F) -> R
where for<'v> F: FnOnce(&'v [T]) -> R,

Visits the active logical range as a shared slice of Some(T), without exposing borrow identity.

Source

pub fn visit_mut_slice<F, R>(&mut self, f: F) -> R
where for<'v> F: FnOnce(&'v mut [T]) -> R,

Visits the active logical range as an exclusive slice of Some(T), without exposing borrow identity.

Source§

impl<T, const CAP: usize> BufferLinearStaticExample<T, [MaybeUninit<T>; CAP]>

Partially initialized array.

§Invariants

  • Only slots 0 .. len are initialized
  • Slots len .. CAP are uninitialized and must never be dropped as T
  • Drop behavior depends on len

Consequences

  • pop_back can safely move out T
  • Real drop operations are meaningful
  • len controls both logical membership and initialization
Source

pub const CAP: NonValueU8<{ u8::MAX }>

Available on crate feature unsafe_array only.

The fixed capacity of the buffer as the index type.

Source

pub const CAP_PRIM: u8

Available on crate feature unsafe_array only.

The fixed capacity of the buffer as the primitive type.

Source

pub const fn new() -> Self

Available on crate feature unsafe_array only.

Creates an empty buffer with uninitialized storage.

Source

pub fn from_array_exact<const N: usize>(src: [T; N]) -> Self

Available on crate feature unsafe_array only.

Creates a buffer by moving all elements from an array.

Initializes exactly N elements.

§Panics

Panics if N > CAP.

Source

pub const unsafe fn from_array_unchecked( storage: [MaybeUninit<T>; CAP], len: NonValueU8<{ u8::MAX }>, ) -> Self

Available on crate feature unsafe_array only.

Creates a buffer from raw uninitialized storage.

§Panics

Panics in debug if len > CAP.

§Safety

Caller must guarantee:

  • storage[0..len] are initialized
  • storage[len..] are uninitialized
Source

pub fn from_slice_clone(src: &[T]) -> Option<Self>
where T: Clone,

Available on crate feature unsafe_array only.

Creates a new buffer by cloning all the possible elements from src.

Source

pub const fn from_slice_copy(src: &[T]) -> Option<Self>
where T: Copy,

Available on crate feature unsafe_array only.

Creates a new buffer by copying all the possible elements from src.

Source

pub fn from_slice_move_default(src: &mut [T]) -> Option<Self>
where T: Default,

Available on crate feature unsafe_array only.

Creates a new buffer by moving all the possible elements from src, and replacing them with the default value.

Source

pub const fn from_slice_move_init(src: &mut [T]) -> Option<Self>
where T: ConstInit,

Available on crate feature unsafe_array only.

Creates a new buffer by moving all the possible elements from src, and replacing them with the initializing value.

Source

pub const fn capacity(&self) -> NonValueU8<{ u8::MAX }>

Available on crate feature unsafe_array only.

Returns the fixed capacity of the buffer.

Source

pub const fn capacity_prim(&self) -> u8

Available on crate feature unsafe_array only.

Returns the fixed capacity of the buffer.

Source

pub const fn remaining_capacity(&self) -> NonValueU8<{ u8::MAX }>

Available on crate feature unsafe_array only.

Returns the number of additional elements that fit within the current capacity.

Source

pub const fn remaining_capacity_prim(&self) -> u8

Available on crate feature unsafe_array only.

Returns the number of additional elements that fit within the current capacity.

Source

pub const fn is_full(&self) -> bool

Available on crate feature unsafe_array only.

Returns true if the buffer has reached its capacity.

Source

pub fn clear(&mut self)

Available on crate feature unsafe_array only.

Drops all initialized elements and resets the buffer.

Source

pub const fn clear_copy(&mut self)
where T: Copy,

Available on crate feature unsafe_array only.

Resets the buffer of Copy elements.

Source

pub fn drop_back(&mut self) -> bool

Available on crate feature unsafe_array only.

Drops the last element without returning it.

Source

pub fn truncate(&mut self, new_len: NonValueU8<{ u8::MAX }>)

Available on crate feature unsafe_array only.

Sets the length to min(new_len, len), dropping the truncated elements.

If new_len >= len, this is a no-op.

Source

pub const fn truncate_copy(&mut self, new_len: NonValueU8<{ u8::MAX }>)
where T: Copy,

Available on crate feature unsafe_array only.

Shortens the buffer of Copy elements.

If new_len >= len, this is a no-op.

Source

pub fn truncate_prim(&mut self, new_len: u8) -> Result<(), InvalidValue>

Available on crate feature unsafe_array only.

Primitive-index variant of truncate,

Source

pub const fn truncate_prim_copy( &mut self, new_len: u8, ) -> Result<(), InvalidValue>
where T: Copy,

Available on crate feature unsafe_array only.

Primitive-index variant of truncate_copy,

Source

pub const fn push_back(&mut self, value: T) -> Result<(), T>

Available on crate feature unsafe_array only.

Appends a value to the back of the buffer.

Returns Err(value) if the buffer is full.

Source

pub fn push_slice(&mut self, src: &[T]) -> usize
where T: Clone,

Available on crate feature unsafe_array only.

Appends as many elements cloned from src as fit.

Returns the number of elements appended.

Source

pub const fn push_slice_copy(&mut self, src: &[T]) -> usize
where T: Copy,

Available on crate feature unsafe_array only.

Appends as many copied elements from src as fit.

Returns the number of elements appended.

Source

pub const fn push_slice_copy_exact(&mut self, src: &[T]) -> Result<(), usize>
where T: Copy,

Available on crate feature unsafe_array only.

Appends all copied elements from src, or none if insufficient capacity.

Returns Err(remaining_capacity) if not enough space is available.

Source

pub const fn pop_back(&mut self) -> Option<T>

Available on crate feature unsafe_array only.

Removes and returns the last element.

This moves the value out without requiring T: Copy or T: Clone.

Source

pub const fn peek_back(&self) -> Option<&T>

Available on crate feature unsafe_array only.

Returns a reference to the last element without removing it.

Source

pub const fn peek_mut_back(&mut self) -> Option<&mut T>

Available on crate feature unsafe_array only.

Returns an exclusive reference to the last element without removing it.

Source

pub const fn get(&self, index: NonValueU8<{ u8::MAX }>) -> Option<&T>

Available on crate feature unsafe_array only.

Returns a reference to the element at index, if within bounds.

Source

pub const fn get_mut( &mut self, index: NonValueU8<{ u8::MAX }>, ) -> Option<&mut T>

Available on crate feature unsafe_array only.

Returns an exclusive reference to the element at index, if within bounds.

Source

pub fn take_default(&mut self, index: NonValueU8<{ u8::MAX }>) -> Option<T>
where T: Default,

Available on crate feature unsafe_array only.

Takes the value at index, replacing it with T::default().

Source

pub const fn take_init(&mut self, index: NonValueU8<{ u8::MAX }>) -> Option<T>
where T: ConstInit,

Available on crate feature unsafe_array only.

Takes the value at index, replacing it with T::INIT.

Source

pub fn take_with( &mut self, index: NonValueU8<{ u8::MAX }>, value: T, ) -> Option<T>

Available on crate feature unsafe_array only.

Takes the value at index, replacing it with value.

Source

pub const fn as_slice(&self) -> &[T]

Available on crate feature unsafe_array only.

Returns the active logical range as a slice.

Source

pub const fn as_mut_slice(&mut self) -> &mut [T]

Available on crate feature unsafe_array only.

Returns the active logical range as a mutable slice.

Source

pub fn iter(&self) -> impl Iterator<Item = &T>

Available on crate feature unsafe_array only.

Iterates over the initialized elements.

Source

pub fn iter_mut(&mut self) -> impl Iterator<Item = &mut T>

Available on crate feature unsafe_array only.

Iterates mutably over the initialized elements.

Source

pub fn visit_each<F>(&self, f: F)
where for<'v> F: Fn(&'v T),

Available on crate feature unsafe_array only.

Visits each initialized element without exposing borrow identity.

Source

pub fn visit_each_mut<F>(&mut self, f: F)
where for<'v> F: Fn(&'v mut T),

Available on crate feature unsafe_array only.

Visits each initialized element mutably without exposing borrow identity.

Source

pub fn visit_slice<F, R>(&self, f: F) -> R
where for<'v> F: FnOnce(&'v [T]) -> R,

Available on crate feature unsafe_array only.

Visits the active logical range as a shared slice of Some(T), without exposing borrow identity.

Source

pub fn visit_mut_slice<F, R>(&mut self, f: F) -> R
where for<'v> F: FnOnce(&'v mut [T]) -> R,

Available on crate feature unsafe_array only.

Visits the active logical range as an exclusive slice of Some(T), without exposing borrow identity.

Source§

impl<T, const CAP: usize> BufferLinearStaticExample<T, [Option<T>; CAP]>

Fully initialized array using Option<T> as a drop boundary.

§Invariants

  • Slots 0 .. len are Some
  • Slots len .. CAP are logically outside the buffer
  • No holes are permitted in the active logical range.

§Notes

  • Option<T> is used to control initialization and dropping, not sparsity
  • len is the number of elements
  • Methods never access storage past len
Source

pub const CAP: NonValueU8<{ u8::MAX }>

The fixed capacity of the buffer as the index type.

Source

pub const CAP_PRIM: u8

The fixed capacity of the buffer as the primitive type.

Source

pub const fn new() -> Self

Creates a buffer from a fully initialized array with logical length 0.

Source

pub fn from_array_clone<const N: usize>(src: [T; N]) -> Self
where T: Clone,

Creates a buffer from a fully initialized array of clonable elements.

§Panic

Panics if N > CAP.

Source

pub const fn from_array_copy<const N: usize>(src: [T; N]) -> Self
where T: Copy,

Creates a buffer of Copy elements from a fully initialized array.

§Panic

Panics if N > CAP.

Source

pub const unsafe fn from_array_unchecked( array: [Option<T>; CAP], len: NonValueU8<{ u8::MAX }>, ) -> Self

Available on crate feature unsafe_array only.

Creates a buffer from an array of options and an explicit logical length, without validating the linear invariant.

§Panics

Panics in debug if len > CAP.

§Safety

Caller must guarantee:

  • len <= CAP
  • storage[0..len] are Some
  • storage[len..CAP] are None
Source

pub fn from_array_linear(array: [Option<T>; CAP]) -> Option<Self>

Creates a buffer from an array of options, validating the linear invariant.

Returns None if:

  • a None appears before a Some
  • any element after the active logical range is Some
Source

pub fn from_array_prefix(array: [Option<T>; CAP]) -> Option<Self>

Creates a buffer from an array of options by taking the prefix of Some values.

The logical length is inferred as the index of the first None. Elements after the first None are ignored and need not be None.

Returns None if a None appears before a Some in the prefix.

Source

pub fn from_slice_clone(src: &[T]) -> Option<Self>
where T: Clone,

Creates a new buffer by cloning all the possible elements from src.

Source

pub const fn from_slice_copy(src: &[T]) -> Option<Self>
where T: Copy,

Creates a new buffer by copying all the possible elements from src.

Source

pub const fn capacity(&self) -> NonValueU8<{ u8::MAX }>

Returns the fixed capacity of the buffer.

Source

pub const fn capacity_prim(&self) -> u8

Returns the fixed capacity of the buffer.

Source

pub const fn remaining_capacity(&self) -> NonValueU8<{ u8::MAX }>

Returns the number of additional elements that fit within the current capacity.

Source

pub const fn remaining_capacity_prim(&self) -> u8

Returns the number of additional elements that fit within the current capacity.

Source

pub const fn is_full(&self) -> bool

Returns true if the buffer has reached its capacity.

Source

pub fn clear(&mut self)

Clears the buffer, dropping all elements.

Source

pub const fn clear_copy(&mut self)
where T: Copy,

Clears the buffer of Copy elements.

Source

pub fn truncate(&mut self, new_len: NonValueU8<{ u8::MAX }>)

Truncates the buffer to new_len, dropping excess elements.

If new_len >= len this is a no-op.

Source

pub const fn truncate_copy(&mut self, new_len: NonValueU8<{ u8::MAX }>)
where T: Copy,

Truncates the buffer of Copy elements to new_len.

If new_len >= len this is a no-op.

Source

pub fn truncate_prim(&mut self, new_len: u8) -> Result<(), InvalidValue>

Primitive-index variant of truncate,

Source

pub const fn truncate_prim_copy( &mut self, new_len: u8, ) -> Result<(), InvalidValue>
where T: Copy,

Primitive-index variant of truncate_copy,

Source

pub fn push_back(&mut self, value: T) -> Result<(), T>

Appends a value to the back of the buffer.

Returns Err(value) if the buffer is full.

Source

pub const fn push_back_copy(&mut self, value: T) -> Result<(), T>
where T: Copy,

Appends a copy of value to the back of the buffer.

Returns Err(value) if the buffer is full.

Source

pub fn push_slice(&mut self, src: &[T]) -> usize
where T: Clone,

Appends as many elements cloned from src as fit.

Returns the number of elements appended.

Source

pub const fn push_slice_copy(&mut self, src: &[T]) -> usize
where T: Copy,

Appends as many copied elements from src as fit.

Returns the number of elements appended.

Source

pub const fn push_slice_copy_exact(&mut self, src: &[T]) -> Result<(), usize>
where T: Copy,

Appends all copied elements from src, or none if insufficient capacity.

Returns Err(remaining_capacity) if not enough space is available.

Source

pub const fn pop_back(&mut self) -> Option<T>

Removes and returns a value from the back of the buffer.

Source

pub const fn peek_back(&self) -> Option<&T>

Returns a reference to the last element without removing it.

Source

pub const fn peek_mut_back(&mut self) -> Option<&mut T>

Returns a reference to the last element without removing it.

Source

pub const fn get(&self, index: NonValueU8<{ u8::MAX }>) -> Option<&T>

Returns a shared reference to the element at index, or None if out of bounds.

Source

pub const fn get_mut( &mut self, index: NonValueU8<{ u8::MAX }>, ) -> Option<&mut T>

Returns an exclusive reference to the element at index, or None if out of bounds.

Source

pub fn swap_remove(&mut self, index: NonValueU8<{ u8::MAX }>) -> Option<T>

Removes and returns the value at index, filling the gap with the last element.

Decrements len. Does not preserve order.

Source

pub fn swap_remove_prim(&mut self, index: u8) -> Result<Option<T>, InvalidValue>

Primitive-index variant of swap_remove.

Source

pub const fn swap_remove_copy( &mut self, index: NonValueU8<{ u8::MAX }>, ) -> Option<T>
where T: Copy,

Removes and returns the value at index, filling the gap with the last element.

Decrements len. Does not preserve order.

Source

pub fn swap_remove_copy_prim( &mut self, index: u8, ) -> Result<Option<T>, InvalidValue>
where T: Copy,

Primitive-index variant of swap_remove_copy.

Source

pub const fn as_slice(&self) -> &[Option<T>]

Returns the active logical range as a slice.

Source

pub const fn as_mut_slice(&mut self) -> &mut [Option<T>]

Returns the active logical range as a mutable slice.

Source

pub fn iter(&self) -> impl Iterator<Item = &T>

Iterates over the initialized elements.

Source

pub fn iter_mut(&mut self) -> impl Iterator<Item = &mut T>

Iterates mutably over the initialized elements.

Source

pub fn visit_each<F>(&self, f: F)
where for<'v> F: Fn(&'v T),

Visits each initialized element without exposing borrow identity.

Source

pub fn visit_each_mut<F>(&mut self, f: F)
where for<'v> F: Fn(&'v mut T),

Visits each initialized element mutably without exposing borrow identity.

Source

pub fn visit_slice<F, R>(&self, f: F) -> R
where for<'v> F: FnOnce(&'v [Option<T>]) -> R,

Visits the active logical range as a shared slice of Some(T), without exposing borrow identity.

Source

pub fn visit_mut_slice<F, R>(&mut self, f: F) -> R
where for<'v> F: FnOnce(&'v mut [Option<T>]) -> R,

Visits the active logical range as an exclusive slice of Some(T), without exposing borrow identity.

Trait Implementations§

Source§

impl<T: Clone, S: Clone> Clone for BufferLinearStaticExample<T, S>

Source§

fn clone(&self) -> BufferLinearStaticExample<T, S>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T: Copy, S: Copy> Copy for BufferLinearStaticExample<T, S>

Source§

impl<T: Debug, S: Debug> Debug for BufferLinearStaticExample<T, S>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T, const CAP: usize> Default for BufferLinearStaticExample<T, [MaybeUninit<T>; CAP]>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<T, const CAP: usize> Default for BufferLinearStaticExample<T, [Option<T>; CAP]>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<T: Eq, S: Eq> Eq for BufferLinearStaticExample<T, S>

Source§

impl<T: Hash, S: Hash> Hash for BufferLinearStaticExample<T, S>

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl<T: Ord, S: Ord> Ord for BufferLinearStaticExample<T, S>

Source§

fn cmp(&self, other: &BufferLinearStaticExample<T, S>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 (const: unstable) · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 (const: unstable) · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 (const: unstable) · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

fn clamp_to<R>(self, range: R) -> Self
where Self: Sized, R: ClampBounds<Self>,

🔬This is a nightly-only experimental API. (clamp_to)
Restrict a value to a certain range. Read more
Source§

impl<T: PartialEq, S: PartialEq> PartialEq for BufferLinearStaticExample<T, S>

Source§

fn eq(&self, other: &BufferLinearStaticExample<T, S>) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl<T: PartialOrd, S: PartialOrd> PartialOrd for BufferLinearStaticExample<T, S>

Source§

fn partial_cmp( &self, other: &BufferLinearStaticExample<T, S>, ) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 (const: unstable) · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 (const: unstable) · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 (const: unstable) · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 (const: unstable) · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl<T: PartialEq, S: PartialEq> StructuralPartialEq for BufferLinearStaticExample<T, S>

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> AnyExt for T
where T: Any + ?Sized,

Source§

fn type_id() -> TypeId

Returns the TypeId of Self. Read more
Source§

fn type_of(&self) -> TypeId

Returns the TypeId of self. Read more
Source§

fn type_name(&self) -> &'static str

Returns the type name of self. Read more
Source§

fn type_is<T: 'static>(&self) -> bool

Returns true if Self is of type T. Read more
Source§

fn type_hash(&self) -> u64

Returns a deterministic hash of the TypeId of Self.
Source§

fn type_hash_with<H: Hasher>(&self, hasher: H) -> u64

Returns a deterministic hash of the TypeId of Self using a custom hasher.
Source§

fn as_any_ref(&self) -> &dyn Any
where Self: Sized,

Upcasts &self as &dyn Any. Read more
Source§

fn as_any_mut(&mut self) -> &mut dyn Any
where Self: Sized,

Upcasts &mut self as &mut dyn Any. Read more
Source§

fn as_any_box(self: Box<Self>) -> Box<dyn Any>
where Self: Sized,

Available on crate feature alloc only.
Upcasts Box<self> as Box<dyn Any>. Read more
Source§

fn downcast_ref<T: 'static>(&self) -> Option<&T>

Available on crate feature unsafe_layout and non-crate feature safe_code only.
Returns some shared reference to the inner value if it is of type T. Read more
Source§

fn downcast_mut<T: 'static>(&mut self) -> Option<&mut T>

Available on crate feature unsafe_layout and non-crate feature safe_code only.
Returns some exclusive reference to the inner value if it is of type T. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> ByteSized for T

Source§

const BYTE_ALIGN: usize = _

The alignment of this type in bytes.
Source§

const BYTE_SIZE: usize = _

The size of this type in bytes.
Source§

fn byte_align(&self) -> usize

Returns the alignment of this type in bytes.
Source§

fn byte_size(&self) -> usize

Returns the size of this type in bytes. Read more
Source§

fn ptr_size_ratio(&self) -> [usize; 2]

Returns the size ratio between Ptr::BYTES and BYTE_SIZE. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Hook for T

Source§

fn hook<F>(self, f: F) -> Self
where F: FnOnce(&mut Self),

Hooks a mutation step into the value and returns it. Read more
Source§

fn tap<F>(self, f: F) -> Self
where F: FnOnce(&Self),

Taps into the value for observation and returns it unchanged. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> MemExt for T
where T: ?Sized,

Source§

const NEEDS_DROP: bool = _

Know whether dropping values of this type matters, in compile-time.
Source§

fn mem_align_of<T>() -> usize

Returns the minimum alignment of the type in bytes. Read more
Source§

fn mem_align_of_val(&self) -> usize

Returns the alignment of the pointed-to value in bytes. Read more
Source§

fn mem_size_of<T>() -> usize

Returns the size of a type in bytes. Read more
Source§

fn mem_size_of_val(&self) -> usize

Returns the size of the pointed-to value in bytes. Read more
Source§

fn mem_copy(&self) -> Self
where Self: Copy,

Bitwise-copies a value. Read more
Source§

fn mem_needs_drop(&self) -> bool

Returns true if dropping values of this type matters. Read more
Source§

fn mem_drop(self)
where Self: Sized,

Drops self by running its destructor. Read more
Source§

fn mem_forget(self)
where Self: Sized,

Forgets about self without running its destructor. Read more
Source§

fn mem_replace(&mut self, other: Self) -> Self
where Self: Sized,

Replaces self with other, returning the previous value of self. Read more
Source§

fn mem_take(&mut self) -> Self
where Self: Default,

Replaces self with its default value, returning the previous value of self. Read more
Source§

fn mem_swap(&mut self, other: &mut Self)
where Self: Sized,

Swaps the value of self and other without deinitializing either one. Read more
Source§

unsafe fn mem_zeroed<T>() -> T

Available on crate feature unsafe_layout only.
Returns the value of type T represented by the all-zero byte-pattern. Read more
Source§

unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst

Available on crate feature unsafe_layout only.
Returns the value of type T represented by the all-zero byte-pattern. Read more
Source§

fn mem_as_bytes(&self) -> &[u8]
where Self: Sync + Unpin,

Available on crate feature unsafe_slice only.
View a Sync + Unpin self as &[u8]. Read more
Source§

fn mem_as_bytes_mut(&mut self) -> &mut [u8]
where Self: Sync + Unpin,

Available on crate feature unsafe_slice only.
View a Sync + Unpin self as &mut [u8]. Read more
Source§

impl<T, R> Morph<R> for T
where T: ?Sized,

Source§

fn morph<F>(self, f: F) -> R
where F: FnOnce(Self) -> R, Self: Sized,

Morphs the value into a new one and returns it. Read more
Source§

fn morph_ref<F>(&self, f: F) -> R
where F: FnOnce(&Self) -> R,

Morphs the value by shared reference and returns the result. Read more
Source§

fn morph_mut<F>(&mut self, f: F) -> R
where F: FnOnce(&mut Self) -> R,

Morphs the value by exclusive reference and returns the result. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.