blob: d1c480ac4147546b28ced31bd3ac7596fcf89b3f (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
#include <vespa/searchlib/fef/featureexecutor.h>
#include <vespa/eval/eval/value.h>
#include "mutable_dense_value_view.h"
namespace search::tensor { class ITensorAttribute; }
namespace search::features {
/**
* Executor for extracting dense tensors from an underlying dense tensor attribute
* without copying cells data.
*/
class DenseTensorAttributeExecutor : public fef::FeatureExecutor
{
private:
const search::tensor::ITensorAttribute& _attribute;
mutable_value::MutableDenseValueView _tensorView;
public:
DenseTensorAttributeExecutor(const search::tensor::ITensorAttribute& attribute);
void execute(uint32_t docId) override;
};
}
|