I am wondering whether it is possible to use a template as a key for a map. For instance:

```
std::map< <T> , Node> nodes;

```

In essence, what I want to do is be able to have a bunch of nodes that contain arbitrary types data, and are keyed by that data. I think I could do it by converting said data to binary and keying by that, but that is messy and I want to avoid it.

To clarify, I want to be able to use a variable of any type as the key. For example if I have 2 nodes, one that contains an int as its data, and another that contains a Foo as its data, I want to be able to put those in the same map using their data as the key. Maybe a map is not what I want, I am not sure...

Thoughts?
Thanks!