// Lee archivos del curso. Se les da hecho.
#ifndef LOAD_WORDS_H
#define LOAD_WORDS_H

#include <cstdlib>
#include <fstream>
#include <iostream>
#include <sstream>
#include <string>
#include <vector>

// Una palabra por línea.
inline std::vector<std::string> load_lines(const std::string& path) {
    std::ifstream in(path);
    if (!in) {
        std::cerr << "no se pudo abrir " << path << "\n";
        std::exit(2);
    }
    std::vector<std::string> lines;
    std::string line;
    while (std::getline(in, line)) {
        if (!line.empty()) {
            lines.push_back(line);
        }
    }
    return lines;
}

// Todo el archivo en una cadena.
inline std::string load_text(const std::string& path) {
    std::ifstream in(path);
    if (!in) {
        std::cerr << "no se pudo abrir " << path << "\n";
        std::exit(2);
    }
    std::stringstream buffer;
    buffer << in.rdbuf();
    return buffer.str();
}

#endif
