22 lines
439 B
C++
22 lines
439 B
C++
#pragma once
|
|
|
|
#include <optional>
|
|
#include <memory>
|
|
|
|
class GuessCorrector {
|
|
const char *m_word;
|
|
size_t m_word_length;
|
|
std::shared_ptr<std::optional<char>[]> m_parts_guessed;
|
|
|
|
public:
|
|
GuessCorrector(const char *word);
|
|
|
|
[[nodiscard]] bool has_char(char to_check) const;
|
|
|
|
void add(char to_add);
|
|
|
|
[[nodiscard]] bool is_filled_out() const;
|
|
|
|
[[nodiscard]] std::weak_ptr<std::optional<char>[]> guessed() const;
|
|
};
|