Listing 8 (th_int.hpp)

//
//  class IntThing -- an integer thing derived from
//              class Thing.
//
//  Version 1.01  -- 2/25/91
//
//  Michael Kelly -- Author
//
#if !defined(TH_INT_HPP)
#define TH_INT_HPP

#include "thing.hpp"

class IntThing : public Thing {

  public:

    IntThing()
    {
   thing = new int(0);
    }
    IntThing( int some_thing )
    {
   thing = new int(some_thing);
    }

    long type()
    {
   return ( (long)IntType << 16) | sizeof(int);
    }
    operator int() { return *( (int *)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

// End of File