//
//	class LongThing	--  a long thing derived from
//			    class Thing.
//
//	Version 1.01	--  2/25/91
//
//	Michael Kelly	--  Author
//
#if !defined(TH_LONG_HPP)
#define TH_LONG_HPP

#include "thing.hpp"

class LongThing : public Thing  {

  public:

    LongThing()
    {
	thing = new long(0L); 
    }
    LongThing( long &some_thing ) 
    { 
	thing = new long(some_thing); 
    }

    long type()	
    { 
	return ( (long)LongType << 16) | sizeof(long); 
    }


    operator long() { return *( (long *)ptr() ); }

    void print();
    int  printable() { return 1; }
    int  sortable()  { return 1; }


    operator ==(Thing &some_thing);
    operator !=(Thing &some_thing);
    operator < (Thing &some_thing);
    operator <=(Thing &some_thing);
    operator > (Thing &some_thing);
    operator >=(Thing &some_thing);
};

#endif
