Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
string.h
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4#include <set>
5#include <string>
6#include <vector>
7
8namespace storm {
9namespace utility {
10namespace string {
11
13 public:
20 SimilarStrings(std::string reference, double similarityFactor = 0.6, bool caseSensitive = true);
21
25 bool isSimilar(std::string const& string) const;
26
31 bool add(std::string const& string);
32
36 std::vector<std::string> toList() const;
37
42 std::string toDidYouMeanString() const;
43
44 private:
45 std::string reference;
46 double similarityFactor;
47 bool caseSensitive;
48
49 struct comp {
50 bool operator()(std::pair<uint64_t, std::string> const& lhs, std::pair<uint64_t, std::string> const& rhs) const {
51 return lhs.first < rhs.first ? true : (lhs.first == rhs.first && lhs.second < rhs.second);
52 }
53 };
54 std::set<std::pair<uint64_t, std::string>, comp> distances;
55};
56
60uint64_t levenshteinDistance(std::string const& lhs, std::string const& rhs, bool caseSensitive = true);
61} // namespace string
62} // namespace utility
63} // namespace storm
bool add(std::string const &string)
Adds the given string to the set of similar strings (if it is similar)
Definition string.cpp:18
std::string toDidYouMeanString() const
Returns a "Did you mean abc?" string.
Definition string.cpp:34
bool isSimilar(std::string const &string) const
Definition string.cpp:13
std::vector< std::string > toList() const
Gets a list of all added strings that are similar to the reference string.
Definition string.cpp:26
uint64_t levenshteinDistance(std::string const &lhs, std::string const &rhs, bool caseSensitive)
Levenstein distance to find similar strings.
Definition string.cpp:46
LabParser.cpp.
Definition cli.cpp:18