Generic hash function for an arbitrary struct (or class).
This regards the input key as a string of bytes, and applies a hash function similar to one that has been used in perl. If the data in the input key has pointers to other classes, then the function will be hashing on the value of the pointer itself, not on the data it points to. It is imagined that this function will be used more for structs (with fully exposed data) than for general classes.
|InputType = TInput
|Self = StructHashFunction
|operator() (const InputType &key) const