diff options
author | Arne Juul <arnej@verizonmedia.com> | 2020-12-03 11:21:09 +0000 |
---|---|---|
committer | Arne Juul <arnej@verizonmedia.com> | 2020-12-03 11:23:26 +0000 |
commit | 913f34b83a52ae90a6b88fcb1b7ad7acf8402731 (patch) | |
tree | 857247b38131d80ac8f28aff8fa844a6cd3a5de4 /eval/src | |
parent | 055dbdc3cbc9fcfb0e95246953f356835caa6fb6 (diff) |
be a Value directly
* move to vespalib::eval namespace
* do not inherit via DenseTensorView
Diffstat (limited to 'eval/src')
-rw-r--r-- | eval/src/vespa/eval/tensor/dense/mutable_dense_tensor_view.cpp | 11 | ||||
-rw-r--r-- | eval/src/vespa/eval/tensor/dense/mutable_dense_tensor_view.h | 22 |
2 files changed, 17 insertions, 16 deletions
diff --git a/eval/src/vespa/eval/tensor/dense/mutable_dense_tensor_view.cpp b/eval/src/vespa/eval/tensor/dense/mutable_dense_tensor_view.cpp index ae3e8ad9023..913a386418b 100644 --- a/eval/src/vespa/eval/tensor/dense/mutable_dense_tensor_view.cpp +++ b/eval/src/vespa/eval/tensor/dense/mutable_dense_tensor_view.cpp @@ -2,14 +2,13 @@ #include "mutable_dense_tensor_view.h" -using vespalib::eval::ValueType; +namespace vespalib::eval { -namespace vespalib::tensor { - -MutableDenseTensorView::MutableDenseTensorView(ValueType type_in) - : DenseTensorView(_type), - _type(type_in) +MutableDenseTensorView::MutableDenseTensorView(const ValueType &type_in) + : _type(type_in), + _cells() { + assert(_type.is_dense()); } } diff --git a/eval/src/vespa/eval/tensor/dense/mutable_dense_tensor_view.h b/eval/src/vespa/eval/tensor/dense/mutable_dense_tensor_view.h index 5e4a48462d7..f7efd651ab4 100644 --- a/eval/src/vespa/eval/tensor/dense/mutable_dense_tensor_view.h +++ b/eval/src/vespa/eval/tensor/dense/mutable_dense_tensor_view.h @@ -2,25 +2,27 @@ #pragma once -#include "dense_tensor_view.h" +#include <vespa/eval/eval/value.h> #include <cassert> -namespace vespalib::tensor { +namespace vespalib::eval { /** - * A mutable view to a dense tensor where all dimensions are indexed. + * A dense tensor with a cells reference that can be modified. */ -class MutableDenseTensorView : public DenseTensorView -{ +class MutableDenseTensorView : public Value { private: - eval::ValueType _type; - + const ValueType _type; + TypedCells _cells; public: - MutableDenseTensorView(eval::ValueType type_in); - MutableDenseTensorView(MutableDenseTensorView &&) = default; + MutableDenseTensorView(const ValueType &type_in); void setCells(TypedCells cells_in) { - initCellsRef(cells_in); + _cells = cells_in; } + const ValueType &type() const final override { return _type; } + TypedCells cells() const final override { return _cells; } + const Index &index() const final override { return TrivialIndex::get(); } + MemoryUsage get_memory_usage() const final override { return self_memory_usage<MutableDenseTensorView>(); } }; } |