pub struct TableRow<T>(/* private fields */);Implementations§
Source§impl<T> TableRow<T>
impl<T> TableRow<T>
pub fn from_element(element: T, length: usize) -> Selfwhere
T: Clone,
Sourcepub fn from_vec(data: Vec<T>, expected_length: usize) -> Self
pub fn from_vec(data: Vec<T>, expected_length: usize) -> Self
Constructs a TableRow from a Vec<T>, panicking if the length does not match expected_length.
Use this when you want to ensure at construction time that the row has the correct number of columns. This enforces the rectangular invariant for table data, preventing accidental creation of malformed rows.
§Panics
Panics if data.len() != expected_length.
Sourcepub fn try_from_vec(data: Vec<T>, expected_len: usize) -> Result<Self, String>
pub fn try_from_vec(data: Vec<T>, expected_len: usize) -> Result<Self, String>
Attempts to construct a TableRow from a Vec<T>, returning an error if the length does not match expected_len.
This is a fallible alternative to from_vec, allowing you to handle inconsistent row lengths gracefully.
Returns Ok(TableRow) if the length matches, or an Err with a descriptive message otherwise.
Sourcepub fn expect_get(&self, col: impl Into<usize>) -> &T
pub fn expect_get(&self, col: impl Into<usize>) -> &T
Returns reference to element by column index.
§Panics
Panics if col is out of bounds (i.e., col >= self.cols()).
pub fn get(&self, col: impl Into<usize>) -> Option<&T>
pub fn as_slice(&self) -> &[T]
pub fn into_vec(self) -> Vec<T>
Sourcepub fn map_cloned<F, U>(&self, f: F) -> TableRow<U>
pub fn map_cloned<F, U>(&self, f: F) -> TableRow<U>
Like [map], but borrows the row and clones each element before mapping.
This is useful when you want to map over a borrowed row without consuming it, but your mapping function requires ownership of each element.
§Difference
map_clonedtakes&self, clones each element, and appliesf(T) -> U.- [
map] takesselfby value and appliesf(T) -> Udirectly, consuming the row. - [
map_ref] takes&selfand appliesf(&T) -> Uto references of each element.
Sourcepub fn map<F, U>(self, f: F) -> TableRow<U>where
F: FnMut(T) -> U,
pub fn map<F, U>(self, f: F) -> TableRow<U>where
F: FnMut(T) -> U,
Consumes the row and transforms all elements within it in a length-safe way.
§Difference
maptakes ownership of the row (self) and appliesf(T) -> Uto each element.- Use this when you want to transform and consume the row in one step.
- See also [
map_cloned] (for mapping over a borrowed row with cloning) and [map_ref] (for mapping over references).
Sourcepub fn map_ref<F, U>(&self, f: F) -> TableRow<U>
pub fn map_ref<F, U>(&self, f: F) -> TableRow<U>
Borrows the row and transforms all elements by reference in a length-safe way.
§Difference
map_reftakes&selfand appliesf(&T) -> Uto each element by reference.- Use this when you want to map over a borrowed row without cloning or consuming it.
- See also [
map] (for consuming the row) and [map_cloned] (for mapping with cloning).
Trait Implementations§
impl<T: Eq> Eq for TableRow<T>
Source§impl<T: PartialEq> PartialEq for TableRow<T>
impl<T: PartialEq> PartialEq for TableRow<T>
impl<T: PartialEq> StructuralPartialEq for TableRow<T>
Auto Trait Implementations§
impl<T> Freeze for TableRow<T>
impl<T> RefUnwindSafe for TableRow<T>where
T: RefUnwindSafe,
impl<T> Send for TableRow<T>where
T: Send,
impl<T> Sync for TableRow<T>where
T: Sync,
impl<T> Unpin for TableRow<T>where
T: Unpin,
impl<T> UnsafeUnpin for TableRow<T>
impl<T> UnwindSafe for TableRow<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
Source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
Source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
Source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
Source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
Source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
Source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
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<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
Source§type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn cam16_into_unclamped(
self,
parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>,
) -> T
fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
Source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> FromAngle<T> for T
impl<T> FromAngle<T> for T
Source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
angle.Source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
Source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
other into Self, while performing the appropriate scaling,
rounding and clamping.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
Source§fn into_angle(self) -> U
fn into_angle(self) -> U
T.Source§impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
Source§type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn into_cam16_unclamped(
self,
parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>,
) -> T
fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
Source§fn into_color(self) -> U
fn into_color(self) -> U
Source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
Source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
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 moreSource§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
Source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
self into T, while performing the appropriate scaling,
rounding and clamping.Source§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
Source§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
try_into_colors fails to cast.Source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
Source§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
Source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
OutOfBounds error is returned which contains
the unclamped color. Read more