#include <hash.h>
Public Methods | |
Hash (Map const &map) | |
Hash (Map const &map, std::vector< int > const &positions) | |
Hash (Hash const &other_hash) | |
~Hash () | |
Hash & | operator= (Hash const &other_hash) |
bool | operator== (Hash const &other_hash) const |
bool | operator!= (Hash const &other_hash) const |
bool | operator< (Hash const &other_hash) const |
Private Methods | |
void | calcHash (Map const &map, std::vector< int > const &positions) |
bool | onHeap () const |
Private Attributes | |
Q_UINT32 | m_data0 |
Hash:: { ... } | rest |
Note that unlike a real hash, it always allows you to differentiate between different states of the same map.
|
Constructs the hash.
|
|
Constructs the hash. The positions in the given vector are used in the hash calculation. Note that the vector holds the indices of all nonwall, nonoutside and nondeadlock fields, the result is equivalent to that of the normal hash function, if the vector is sorted.
|
|
The copy constructor.
|
|
Releasy the resources.
|
|
Calculates the actual hash value.
|
|
Returns true, if we have allocated on the heap.
|
|
True if the two hashs are not the same.
|
|
Used for associative containers.
|
|
Copies a hash.
|
|
True if the two hashs are the same.
|
|
If the LSB is set, we use the freestore.
|
|
The union used to store the pieces.
|