17 #define mDeclBinDataDescConstr(T,ii,is) \ 18 BinDataDesc( const T* ) { set( ii, is, sizeof(T) ); } \ 19 BinDataDesc( const T& ) { set( ii, is, sizeof(T) ); } 49 : isint_(ii), issigned_(is), nrbytes_(b) {}
51 : isint_(ii), issigned_(is),
52 nrbytes_(nearestByteCount(ii,b)) {}
59 inline bool isSigned()
const {
return issigned_; }
62 { isint_ = ii; issigned_ = is; nrbytes_ = b; }
63 inline void set(
bool ii,
bool is,
int b )
64 { isint_ = ii; issigned_ = is;
65 nrbytes_ = nearestByteCount(ii,b); }
70 { nrbytes_ = nearestByteCount(isint_,n); }
75 virtual void set(
const char*);
76 virtual void dump(
unsigned char&,
unsigned char&)
const;
77 virtual void set(
unsigned char,
unsigned char);
88 inline
bool operator ==( const BinDataDesc& dc )
const 89 {
return isEqual(dc); }
91 {
return !isEqual(dc); }
92 inline bool isEqual(
const BinDataDesc& dc )
const 94 unsigned char c11=0, c12=0, c21=0, c22=0;
95 dump(c11,c12); dc.
dump(c21,c22);
96 return c11 == c21 && c12 == c22;
99 int sizeFor(
int n )
const {
return nrbytes_ * n; }
100 virtual bool convertsWellTo(
const BinDataDesc&)
const;
104 if ( !is_int )
return s > 6 ? N8 : N4;
106 else if ( s > 2 ) s = 4;
107 else if ( s < 2 ) s = 1;
113 if ( s < 0 || s > 8 )
return -1;
114 if ( s == 0 )
return is_int ? 1 : 4;
115 if ( !is_int )
return s == 4 ? 8 : -1;
116 return s == 1 ? 2 : ( s == 2 ? 4 : 8 );
125 void setFrom(
unsigned char,
bool);
129 #undef mDeclBinDataDescConstr #define mExpClass(module)
Definition: commondefs.h:157
BinDataDesc(const char *s)
Definition: bindatadesc.h:55
BinDataDesc(bool ii, bool is, int b)
Definition: bindatadesc.h:50
ByteCount
Definition: bindatadesc.h:45
virtual ~BinDataDesc()
Definition: bindatadesc.h:56
bool isint_
Definition: bindatadesc.h:121
void setInteger(bool yn)
Definition: bindatadesc.h:66
static ByteCount nearestByteCount(bool is_int, int s)
Definition: bindatadesc.h:102
void setSigned(bool yn)
Definition: bindatadesc.h:67
bool isEqual(const BinDataDesc &dc) const
Definition: bindatadesc.h:92
static int nextSize(bool is_int, int s)
Definition: bindatadesc.h:111
ByteCount nrBytes() const
Definition: bindatadesc.h:60
BinDataDesc(bool ii=false, bool is=true, ByteCount b=N4)
Definition: bindatadesc.h:47
ByteCount nrbytes_
Definition: bindatadesc.h:123
void setNrBytes(int n)
Definition: bindatadesc.h:69
bool issigned_
Definition: bindatadesc.h:122
virtual void dump(unsigned char &, unsigned char &) const
bool operator!=(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:60
virtual int maxStringifiedSize() const
Definition: bindatadesc.h:73
BufferString toString(const DBKey &ky)
Definition: dbkey.h:115
bool isInteger() const
Definition: bindatadesc.h:58
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
BinDataDesc(unsigned char c1, unsigned char c2)
Definition: bindatadesc.h:53
#define mDeclBinDataDescConstr(T, ii, is)
Definition: bindatadesc.h:17
int sizeFor(int n) const
Definition: bindatadesc.h:99
Description of binary data.
Definition: bindatadesc.h:41
bool isSigned() const
Definition: bindatadesc.h:59
void setNrBytes(ByteCount n)
Definition: bindatadesc.h:68