#include <unordered_set>
#include <iostream>

struct node
{
    std::string node_id;
    double value;
    node(std::string id, double val) : node_id(id), value(val) {}
};

int main() {
    auto hash = [](const node& n){ return std::hash<std::string>()(n.node_id); };
    auto equal = [](const node& n1, const node& n2){ return n1.node_id == n2.node_id; };
    std::unordered_set<node, decltype(hash), decltype(equal)> set(8, hash, equal);

    set.insert(node("1001", 100));
    if (set.find(node("1001", 0)) != set.end())
        std::cout << "1001 found" << std::endl;
	
    return 0;
}