#pragma once

#include <filesystem>
#include <string>
#include <vector>

class WordList : public std::vector<std::string> {
public:
  WordList &multiply(size_t factor);
  WordList &shuffle();

  static WordList oneCap();
  static WordList fourCaps();
  static WordList fromFile(const std::filesystem::path &path);
};

class WordRefList : public std::vector<const std::string *> {
public:
  WordRefList() = default;
  WordRefList(const WordList &source);
};
