pub fn from_rows_auto<Rows, Row>(elems: Rows) -> Option<Self>
        where Rows: IntoIterator<Item = Row>,
              Row: IntoIterator<Item = T>,
              N: TypeNat,
              M: TypeNat
    {
        Self::from_rows(N::get_sing(), M::get_sing(), elems)
    }
/// Efficiently creates a matrix with the given rows, where the sizes are
/// implicitly given by the types.
///
/// Returns `None` if any of the row lengths are too short or not enough
/// rows are provided.
Efficiently creates a matrix with the given rows, where the sizes are
implicitly given by the types.

Returns `None` if any of the row lengths are too short or not enough
rows are provided.
Efficiently creates a matrix with the given rows where the sizes are implicitly given by the types . Returns ` None ` if any of the row lengths are too short or not enough rows are provided .
pub fn from_rows_auto<Rows, Row>(elems: Rows) -> Option<Self>
        where Rows: IntoIterator<Item = Row>,
              Row: IntoIterator<Item = T>,
              N: TypeNat,
              M: TypeNat
    {
        Self::from_rows(N::get_sing(), M::get_sing(), elems)
    }
pub fn from_rows_auto < Rows , Row > ( elems : Rows ) -> Option < Self > where Rows : IntoIterator < Item = Row > , Row : IntoIterator < Item = T > , N : TypeNat , M : TypeNat { Self :: from_rows ( N :: get_sing ( ) , M :: get_sing ( ) , elems ) }
Efficiently creates a matrix with the given rows, where the sizes are
implicitly given by the types.
Efficiently creates a matrix with the given rows where the sizes are implicitly given by the types .
elems
Rows
elems
Rows