aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src/vespa/searchlib/aggregation/hit.h
blob: 09a48c11fdc12a6f1f977a2d0fa602a69ec423d3 (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
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once

#include "rawrank.h"
#include <vespa/searchlib/common/identifiable.h>
#include <vespa/searchlib/common/hitrank.h>

namespace search::aggregation {

class Hit : public vespalib::Identifiable
{
private:
    RawRank _rank;

public:
    DECLARE_IDENTIFIABLE_ABSTRACT_NS2(search, aggregation, Hit);
    DECLARE_NBO_SERIALIZE;
    using UP = std::unique_ptr<Hit>;

    Hit() : _rank() {}
    Hit(RawRank rank) : _rank(rank) {}
    RawRank getRank() const { return _rank; }
    virtual Hit *clone() const = 0;
    int onCmp(const Identifiable &b) const override;
    void visitMembers(vespalib::ObjectVisitor &visitor) const override;
};

}