Merge pull request #689 from CapeLeidokos/pr_MatrixAddr_fix

Force explicit type conversion for MatrixAddr
pull/692/head
Jesse Vincent 5 years ago committed by GitHub
commit bea3826033
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -66,8 +66,15 @@ class MatrixAddr {
ThisType &operator=(ThisType &&) = default; ThisType &operator=(ThisType &&) = default;
template<typename MatrixAddr__> template<typename MatrixAddr__>
explicit
constexpr MatrixAddr(const MatrixAddr__ &other) constexpr MatrixAddr(const MatrixAddr__ &other)
: MatrixAddr(other.row(), other.col()) {} : MatrixAddr(other.row(), other.col())
{
static_assert(MatrixAddr__::rows <= ThisType::rows,
"Matrix type conversion failed. Source type must not have greater row size than target type");
static_assert(MatrixAddr__::cols <= ThisType::cols,
"Matrix type conversion failed. Source type must not have greater col size than target type");
}
constexpr uint8_t row() const { constexpr uint8_t row() const {
return offset_ / cols; return offset_ / cols;

Loading…
Cancel
Save