#ifndef _Keydata_h #define _Keydata_h #pragma interface class Keydata { char *adr[8]; short len[8]; short cnt; public: Keydata() { cnt = 0; } Keydata(void *p,int s) { adr[0] = (char *)p; len[0] = s; cnt = 1; } Keydata(const Keydata &r) { *this = r; } Keydata(const Keydata &r,int len); void append(void *p,int s); int compare(const char *,int = -1) const; int compare(const Keydata &) const; Keydata &operator +=(const Keydata &r); Keydata operator +(const Keydata &r) const { Keydata tmp(*this); return tmp += r; } int operator==(const void *buf) const { return compare((const char *)buf) == 0; } int operator!=(const void *buf) const { return compare((const char *)buf) != 0; } int operator==(const Keydata &k) const { return compare(k) == 0; } int operator!=(const Keydata &k) const { return compare(k) != 0; } struct keydesc operator-(const void *buf) const; int size() const; int store(char *) const; int load(const char *) const; int parmget() const; void parmput() const; void printOn(class ostream &) const; }; #endif