MCPcopy Create free account
hub / github.com/comaps/comaps / Token

Class Token

libs/search/query_params.hpp:23–71  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

21 using Langs = ankerl::unordered_dense::set<int8_t>;
22
23 class Token
24 {
25 public:
26 Token() = default;
27 Token(String const & original) : m_original(original) {}
28
29 void AddSynonym(std::string const & s);
30
31 template <typename Fn>
32 void ForEachSynonym(Fn && fn) const
33 {
34 std::for_each(m_synonyms.begin(), m_synonyms.end(), std::forward<Fn>(fn));
35 }
36
37 template <typename Fn>
38 void ForOriginalAndSynonyms(Fn && fn) const
39 {
40 fn(m_original);
41 ForEachSynonym(std::forward<Fn>(fn));
42 }
43
44 template <typename Fn>
45 bool AnyOfSynonyms(Fn && fn) const
46 {
47 return std::any_of(m_synonyms.begin(), m_synonyms.end(), std::forward<Fn>(fn));
48 }
49
50 template <typename Fn>
51 bool AnyOfOriginalOrSynonyms(Fn && fn) const
52 {
53 if (fn(m_original))
54 return true;
55 return std::any_of(m_synonyms.begin(), m_synonyms.end(), std::forward<Fn>(fn));
56 }
57
58 String const & GetOriginal() const { return m_original; }
59
60 void Clear()
61 {
62 m_original.clear();
63 m_synonyms.clear();
64 }
65
66 private:
67 friend std::string DebugPrint(QueryParams::Token const & token);
68
69 String m_original;
70 std::vector<String> m_synonyms;
71 };
72
73 QueryParams() = default;
74

Callers 1

InitMethod · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected