summaryrefslogtreecommitdiffstats
path: root/document
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@broadpark.no>2019-02-15 15:24:21 +0100
committerTor Egge <Tor.Egge@broadpark.no>2019-02-15 15:29:05 +0100
commitf19f513649513a3da73de779ca53ee641d89b25e (patch)
tree94a394a47cd2adb2147ba5e160b8be8ee5487c73 /document
parent8cb47edf86487817d3391ecfa63bf6d0707b3c55 (diff)
The tensor data type for a tensor field value is immutable.
Diffstat (limited to 'document')
-rw-r--r--document/src/vespa/document/fieldvalue/tensorfieldvalue.cpp5
-rw-r--r--document/src/vespa/document/fieldvalue/tensorfieldvalue.h2
2 files changed, 3 insertions, 4 deletions
diff --git a/document/src/vespa/document/fieldvalue/tensorfieldvalue.cpp b/document/src/vespa/document/fieldvalue/tensorfieldvalue.cpp
index d16f0bbaee6..99ee030942f 100644
--- a/document/src/vespa/document/fieldvalue/tensorfieldvalue.cpp
+++ b/document/src/vespa/document/fieldvalue/tensorfieldvalue.cpp
@@ -29,7 +29,7 @@ TensorFieldValue::TensorFieldValue()
TensorFieldValue::TensorFieldValue(const TensorDataType &dataType)
: FieldValue(),
- _dataType(&dataType),
+ _dataType(dataType),
_tensor(),
_altered(true)
{
@@ -66,7 +66,6 @@ TensorFieldValue &
TensorFieldValue::operator=(const TensorFieldValue &rhs)
{
if (this != &rhs) {
- _dataType = rhs._dataType;
if (rhs._tensor) {
_tensor = rhs._tensor->clone();
} else {
@@ -105,7 +104,7 @@ TensorFieldValue::accept(ConstFieldValueVisitor &visitor) const
const DataType *
TensorFieldValue::getDataType() const
{
- return _dataType;
+ return &_dataType;
}
diff --git a/document/src/vespa/document/fieldvalue/tensorfieldvalue.h b/document/src/vespa/document/fieldvalue/tensorfieldvalue.h
index 071726622dc..80b18be55a0 100644
--- a/document/src/vespa/document/fieldvalue/tensorfieldvalue.h
+++ b/document/src/vespa/document/fieldvalue/tensorfieldvalue.h
@@ -15,7 +15,7 @@ class TensorDataType;
*/
class TensorFieldValue : public FieldValue {
private:
- const TensorDataType *_dataType;
+ const TensorDataType &_dataType;
std::unique_ptr<vespalib::tensor::Tensor> _tensor;
bool _altered;
public: