aboutsummaryrefslogtreecommitdiffstats
path: root/searchcore/src/vespa/searchcore/proton/attribute/attribute_factory.h
blob: 7901b55801cf37ef6ae5aa9c9596744c63991e85 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.

#pragma once

#include "i_attribute_factory.h"

namespace proton {

/**
 * Concrete factory for creating attribute vectors by using the search::AttributeFactory.
 */
class AttributeFactory : public IAttributeFactory
{
public:
    using SP = std::shared_ptr<AttributeFactory>;
    AttributeFactory();

    AttributeVectorSP create(const vespalib::string &name, const search::attribute::Config &cfg) const override;
    void setupEmpty(const AttributeVectorSP &vec, std::optional<search::SerialNum> serialNum) const override;
};

}