// class StructThing -- a struct thing derived from
// class Thing.
//
// Version 1.01 -- 2/25/91
//
// Michael Kelly -- Author
//
#include <stdio.h>
#include <string.h>
#include "th_struc.hpp"
void StructThing::print()
{
printf(
"%d %s\n",
((a_struct)*this).id,
((a_struct)*this).key
);
}
StructThing::operator == (Thing &some_thing)
{
return (type() == some_thing.type() ) ?
( strcmp( ((a_struct *)ptr())->key,
((a_struct *)some_thing.ptr())->key) == 0 ) : 0;
}
StructThing::operator !=(Thing &some_thing)
{
return !( *this :: some_thing );
}
StructThing::operator < (Thing &some_thing)
{
return (type() == some_thing.type() ) ?
( strcmp( ((a_struct *)ptr())->key,
((a struct *)some_thing.ptr())->key) < 0 ) : 0;
}
StructThing::operator <=(Thing &some_thing)
{
return ( type() == some_thing.type() ) ?
( strcmp( ((a_struct *)ptr())->key,
((a_struct *)some_thing.ptr())->key) <= 0 ) : 0;
}
StructThing:: operator > (Thing &some_thing)
{
return ( type() == some_thing.type() ) ?
( strcmp( ((a_struct *)ptr())->key,
((a_struct *)some_thing.ptr())->key) > 0 ) : 0;
}
StructThing::operator >=(Thing &some_thing)
{
return ( type() == some_thing.type() ) ?
( strcmp( ((a_struct *)ptr())->key,
((a_struct *)some_thing.ptr())->key) >= 0 ) : 0;
}
// End of File