<commit_before>#pragma once

#include <functional>
#include <memory>
#include <string>

#include "Runtime/RetroTypes.hpp"

namespace urde {
class CArchitectureMessage;
class CArchitectureQueue;

class CIOWin {
  std::string x4_name;
  size_t m_nameHash;

public:
  enum class EMessageReturn { Normal = 0, Exit = 1, RemoveIOWinAndExit = 2, RemoveIOWin = 3 };
  virtual ~CIOWin() {}
  CIOWin(std::string_view name) : x4_name(name) { m_nameHash = std::hash<std::string_view>()(name); }
  virtual EMessageReturn OnMessage(const CArchitectureMessage&, CArchitectureQueue&) = 0;
  virtual bool GetIsContinueDraw() const { return true; }
  virtual void Draw() const {}
  virtual void PreDraw() const {}
  std::string_view GetName() const { return x4_name; }
  size_t GetNameHash() const { return m_nameHash; }
};

} // namespace urde<commit_msg>CIOWin: Default the virtual destructor<commit_after>#pragma once

#include <functional>
#include <memory>
#include <string>

#include "Runtime/RetroTypes.hpp"

namespace urde {
class CArchitectureMessage;
class CArchitectureQueue;

class CIOWin {
  std::string x4_name;
  size_t m_nameHash;

public:
  enum class EMessageReturn { Normal = 0, Exit = 1, RemoveIOWinAndExit = 2, RemoveIOWin = 3 };
  CIOWin(std::string_view name) : x4_name(name) { m_nameHash = std::hash<std::string_view>()(name); }

  virtual ~CIOWin() = default;
  virtual EMessageReturn OnMessage(const CArchitectureMessage&, CArchitectureQueue&) = 0;
  virtual bool GetIsContinueDraw() const { return true; }
  virtual void Draw() const {}
  virtual void PreDraw() const {}

  std::string_view GetName() const { return x4_name; }
  size_t GetNameHash() const { return m_nameHash; }
};

} // namespace urde
{'fraction_non_alphanumeric': 0.11747516072472239, 'fraction_numerical': 0.009351256575102279, 'mean_word_length': 5.43609022556391, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6494004', 'n_tokens_mistral': 591, 'n_tokens_neox': 568, 'n_words': 150}