Skip to content
Snippets Groups Projects

added const overload for operator [] in matrix view, added stddef.h include,...

Merged Oliver Heidmann requested to merge m300433/develop into develop
1 file
+ 11
4
Compare changes
  • Side-by-side
  • Inline
+ 11
4
@@ -3,6 +3,8 @@
// Modified code from https://github.com/pwwiur/Matrix
#include <stddef.h>
template <typename T>
class MatrixView
{
@@ -10,10 +12,10 @@ private:
T *arr;
size_t numRows, numColumns;
class Proxy
class VectorView
{
public:
Proxy(T *arr, size_t columns, size_t x) : px_arr(arr), px_columns(columns), px_x(x) {}
VectorView(T *arr, size_t columns, size_t x) : px_arr(arr), px_columns(columns), px_x(x) {}
T &
operator[](size_t y)
{
@@ -31,10 +33,15 @@ public:
if (rows == 0 || columns == 0) throw "Matrix initialization arguments rows and columns must be greater than zero.";
}
Proxy
VectorView
operator[](size_t x)
{
return Proxy(arr, numColumns, x);
return VectorView(arr, numColumns, x);
}
const VectorView
operator[](size_t x) const
{
return VectorView(arr, numColumns, x);
}
};
Loading