#ifndef ID_H
#define ID_H


namespace MM
{

class ID
{
public:    
    virtual ~ID();
    virtual ID * clone() const =0;

    virtual bool    is_equal(const ID & id) const = 0;
    virtual bool    operator == ( const ID & id )const {return  is_equal( id );}
    virtual bool    operator != ( const ID & id )const {return !is_equal( id );}
};

}//MM

#endif //ID_H
