labs-edaf30/lab2/word.h

26 lines
630 B
C
Raw Normal View History

2024-11-20 17:46:21 +01:00
#pragma once
2021-10-27 15:15:47 +02:00
#include <string>
#include <vector>
2024-11-20 17:46:21 +01:00
/*
* Contains a word and its triagrams
*/
2021-10-27 15:15:47 +02:00
class Word {
2024-11-20 17:46:21 +01:00
public:
/** Creates a word w with the sorted trigrams t */
Word(const std::string &w, const std::vector<std::string> &t);
/** Returns the word */
std::string get_word() const;
2021-10-27 15:15:47 +02:00
2024-11-20 17:46:21 +01:00
/** Returns how many of the trigrams in t that are present
in this word's trigram vector */
unsigned int get_matches(const std::vector<std::string> &t) const;
private:
const std::string word;
2024-11-20 19:11:48 +01:00
std::vector<std::string> triagrams;
2024-11-20 17:46:21 +01:00
friend std::ostream &operator<<(std::ostream &out, const Word &o);
};