aboutsummaryrefslogtreecommitdiffstats
path: root/vespalib/src/vespa/vespalib/fuzzy/fuzzy_matching_algorithm.h
blob: 7ab23dd880d667e7cf36aa75a0e923963ee543e2 (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/vespalib/stllike/string.h>
#include <ostream>

namespace vespalib {

/**
 * Algorithms that are supported for fuzzy matching.
 */
enum class FuzzyMatchingAlgorithm {
    BruteForce,
    DfaImplicit,
    DfaExplicit,
    DfaTable
};

vespalib::string to_string(FuzzyMatchingAlgorithm algo);

FuzzyMatchingAlgorithm fuzzy_matching_algorithm_from_string(const vespalib::string& algo,
                                                            FuzzyMatchingAlgorithm default_algo);

std::ostream& operator<<(std::ostream& out, FuzzyMatchingAlgorithm algo);

}