// Lugar para su tabla de la semana 7. REEMPLACEN este archivo por su hash_map.h:
//
//     cp ../week-07/lab/hash_map.h lab/hash_map.h
//
// Mientras no lo hagan, compila, pero el programa se detiene al usar la tabla.
#ifndef HASH_MAP_H
#define HASH_MAP_H

#include <cstddef>
#include <cstdint>
#include <string>

#include "not_implemented.h"

inline std::uint64_t fnv1a(const std::string&) { not_implemented("fnv1a: copien su hash_map.h"); }

template <typename V>
class HashMap {
public:
    HashMap() { not_implemented("HashMap: copien su hash_map.h"); }
    void set(const std::string&, const V&) {}
    const V* get(const std::string&) const { return nullptr; }
    bool contains(const std::string&) const { return false; }
    bool remove(const std::string&) { return false; }
    std::size_t size() const { return 0; }
    std::size_t capacity() const { return 0; }
    bool check_invariants() const { return false; }
    void set_max_load_factor(double) {}
};

#endif
