#pragma interface #include extern "C" { int stchar(const char *,char *,int); int blkfntl(const void *,int,int); int blkcmpr(const void *,const void *,int); long ldlong(const char *); void stlong(long, char *); short ldshort(const char *); void stshort(int,char *); } template class FBIN { protected: char str[size]; public: FBIN & operator = (const FBIN &a) { memcpy(str,a.str,size); return *this; } int compare(const FBIN &r) const { return blkcmpr(str,r.str,size); } friend int operator==(const FBIN &t,const FBIN &r) { return t.compare(r) == 0; } friend int operator!=(const FBIN &t,const FBIN &r) { return t.compare(r) != 0; } friend int operator>=(const FBIN &t,const FBIN &r) { return t.compare(r) >= 0; } friend int operator<=(const FBIN &t,const FBIN &r) { return t.compare(r) <= 0; } friend int operator<(const FBIN &t,const FBIN &r) { return t.compare(r) < 0; } friend int operator>(const FBIN &t,const FBIN &r) { return t.compare(r) > 0; } Keydata operator &() { return Keydata(str,size); } };