use super::*;
use crate::col::{Col, ColMut, ColRef};
#[derive(Debug)]
pub struct Diag<E: Entity> {
pub(crate) inner: Col<E>,
}
impl<E: Entity> Diag<E> {
#[inline(always)]
pub fn column_vector(&self) -> ColRef<'_, E> {
self.as_ref().column_vector()
}
#[inline(always)]
pub fn column_vector_mut(&mut self) -> ColMut<'_, E> {
self.as_mut().column_vector_mut()
}
#[inline(always)]
pub fn into_column_vector(self) -> Col<E> {
self.inner
}
#[inline(always)]
pub fn as_ref(&self) -> DiagRef<'_, E> {
DiagRef {
inner: self.inner.as_ref(),
}
}
#[inline(always)]
pub fn as_mut(&mut self) -> DiagMut<'_, E> {
DiagMut {
inner: self.inner.as_mut(),
}
}
}