// Copyright 1994 by Jon Dart.
#ifndef __HASHABLE_H__
#define __HASHABLE_H__

// This is an abstract class that represents a data type
// storable in a hashtable.

#include "types.h"

class Hashable 
{
public:
    Hashable()
    {
    }
    
    virtual ~Hashable()
    {
    }
    
    virtual BOOL is_equal(const Hashable &) const = 0;
    virtual hash_t hash_code() const =0;
};

#endif

