// La tabla de variables del evaluador, sobre su HashMap. Es lo único que el evaluador
// sabe de sus variables: lean en given/evaluator.h cómo la usa.
#ifndef VAR_TABLE_H
#define VAR_TABLE_H

#include <cstddef>
#include <string>

#include "hash_map.h"

class VarTable {
public:
    void assign(const std::string&, long long) {
        not_written("VarTable::assign");
    }

    // Si la variable existe, deja su valor en value y devuelve true.
    bool lookup(const std::string&, long long&) const {
        not_written("VarTable::lookup");
    }

    bool erase(const std::string&) {
        not_written("VarTable::erase");
    }

    std::size_t count() const {
        not_written("VarTable::count");
    }

private:
    HashMap<long long> table_;
};

#endif
