|
sandbox
|
Public Types | |
| enum class | direction : std::uint8_t { column = 0u , row = 1u } |
| using | value_type = Type |
| using | reference = value_type & |
| using | const_reference = const value_type & |
| using | size_type = std::size_t |
| using | column_type = basic_vector< Rows, Type > |
Public Member Functions | |
|
template<scalar Other = value_type> requires (Columns > 1u && Rows > 1u) | |
| constexpr | basic_matrix (const Other value) noexcept |
|
template<scalar Other = value_type> requires (Columns > 1u && Rows > 1u) | |
| constexpr | basic_matrix (const basic_matrix< Columns, Rows, Other > &other) noexcept |
| constexpr | basic_matrix (const basic_matrix &other) noexcept=default |
| constexpr | basic_matrix (basic_matrix &&other) noexcept=default |
| auto | operator= (const basic_matrix &other) noexcept -> basic_matrix &=default |
| auto | operator= (basic_matrix &&other) noexcept -> basic_matrix &=default |
| constexpr auto | operator[] (size_type index) noexcept -> column_type & |
| constexpr auto | operator[] (size_type index) const noexcept -> const column_type & |
|
template<scalar Other> requires (Columns > 1u && Rows > 1u) | |
| constexpr auto | operator+= (const basic_matrix< Columns, Rows, Other > &other) noexcept -> basic_matrix & |
|
template<scalar Other> requires (Columns > 1u && Rows > 1u) | |
| constexpr auto | operator-= (const basic_matrix< Columns, Rows, Other > &other) noexcept -> basic_matrix & |
|
template<scalar Other> requires (Columns > 1u && Rows > 1u) | |
| constexpr auto | operator*= (Other scalar) noexcept -> basic_matrix & |
|
template<scalar Other> requires (Columns > 1u && Rows > 1u) | |
| constexpr auto | operator/= (Other scalar) noexcept -> basic_matrix & |
| constexpr auto | row (const size_type row) const noexcept -> basic_vector< Columns, value_type > |
| constexpr auto | data () noexcept -> value_type * |
| constexpr auto | data () const noexcept -> const value_type * |
Static Public Attributes | |
| static constexpr auto | columns = Columns |
| static constexpr auto | rows = Rows |
Protected Types | |
| template<scalar Other> | |
| using | column_type_for = basic_vector< Rows, Other > |
Protected Member Functions | |
|
template<typename... Args> requires (Columns > 1u && Rows > 1u) | |
| constexpr | basic_matrix (Args &&... args) noexcept |
Static Protected Member Functions | |
| static constexpr auto | identity (const value_type value=static_cast< value_type >(1)) noexcept -> basic_matrix |