soapy 0.2.9

Structure-of-arrays derive macro
Documentation
use crate::Soapy;

/// Similar to [`AsRef`], but for [`Soapy::Ref`].
///
/// This is primarily used to provide convenient implementations of standard
/// traits for [`Slice`].
///
/// [`Slice`]: crate::Slice
pub trait AsSoaRef {
    /// The type to get a reference of.
    ///
    /// When using the [`Soapy`] derive macro, this is the type that was derived
    /// from and which is the generic parameter of [`Slice`] and [`Soa`].
    ///
    /// [`Slice`]: crate::Slice
    /// [`Soa`]: crate::Soa
    type Item: Soapy;

    /// Converts this type to an SoA reference of the associated type.
    fn as_soa_ref(&self) -> <Self::Item as Soapy>::Ref<'_>;
}