#[non_exhaustive]
pub enum Order {
    RowMajor,
    ColumnMajor,
}
Expand description

Array order

Order refers to indexing order, or how a linear sequence is translated into a two-dimensional or multi-dimensional array.

  • RowMajor means that the index along the row is the most rapidly changing
  • ColumnMajor means that the index along the column is the most rapidly changing

Given a sequence like: 1, 2, 3, 4, 5, 6

If it is laid it out in a 2 x 3 matrix using row major ordering, it results in:

1  2  3
4  5  6

If it is laid using column major ordering, it results in:

1  3  5
2  4  6

It can be seen as filling in “rows first” or “columns first”.

Order can be used both to refer to logical ordering as well as memory ordering or memory layout. The orderings have common short names, also seen in other environments, where row major is called “C” order (after the C programming language) and column major is called “F” or “Fortran” order.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

RowMajor

Row major or “C” order

§

ColumnMajor

Column major or “F” order

Implementations§

“C” is an alias for row major ordering

“F” (for Fortran) is an alias for column major ordering

Return true if input is Order::RowMajor, false otherwise

Return true if input is Order::ColumnMajor, false otherwise

Return Order::RowMajor if the input is true, Order::ColumnMajor otherwise

Return Order::ColumnMajor if the input is true, Order::RowMajor otherwise

Return the transpose: row major becomes column major and vice versa.

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.