aboutsummaryrefslogtreecommitdiffstats
path: root/streamingvisitors/src/vespa/vsm/vsm/docsumfieldspec.cpp
blob: 0bebc2b6f36340b8cbebccda314a52798cf3b54d (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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.

#include "docsumfieldspec.h"
#include <vespa/searchsummary/docsummary/slime_filler_filter.h>

namespace vsm {

DocsumFieldSpec::FieldIdentifier::FieldIdentifier() :
    _id(StringFieldIdTMap::npos),
    _path()
{ }

DocsumFieldSpec::FieldIdentifier::FieldIdentifier(FieldIdT id, FieldPath path) :
    _id(id),
    _path(std::move(path))
{ }

DocsumFieldSpec::FieldIdentifier::FieldIdentifier(FieldIdentifier &&) noexcept = default;
DocsumFieldSpec::FieldIdentifier & DocsumFieldSpec::FieldIdentifier::operator=(FieldIdentifier &&) noexcept = default;
DocsumFieldSpec::FieldIdentifier::~FieldIdentifier() = default;

DocsumFieldSpec::DocsumFieldSpec() :
    _struct_or_multivalue(false),
    _command(VsmsummaryConfig::Fieldmap::Command::NONE),
    _outputField(),
    _inputFields(),
    _filter()
{ }

DocsumFieldSpec::DocsumFieldSpec(VsmsummaryConfig::Fieldmap::Command command) :
    _struct_or_multivalue(false),
    _command(command),
    _outputField(),
    _inputFields(),
    _filter()
{ }

DocsumFieldSpec::DocsumFieldSpec(DocsumFieldSpec&&) noexcept = default;

DocsumFieldSpec::~DocsumFieldSpec() = default;

void
DocsumFieldSpec::set_filter(std::unique_ptr<search::docsummary::SlimeFillerFilter> filter)
{
    _filter = std::move(filter);
}

const search::docsummary::SlimeFillerFilter *
DocsumFieldSpec::get_filter() const noexcept
{
    return _filter.get();
}

}