PSDTranslator: DataArray class improvements
This commit is contained in:
@@ -57,106 +57,132 @@ BDataArray::WriteToStream(BPositionIO *stream)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
status_t
|
BDataArray&
|
||||||
BDataArray::Append(uint8 val)
|
BDataArray::Append(uint8 val)
|
||||||
{
|
{
|
||||||
status_t status = _ReallocArrayFor(sizeof(val));
|
status_t status = _ReallocArrayFor(sizeof(val));
|
||||||
if (status != B_OK)
|
if (status == B_OK) {
|
||||||
return status;
|
fData[fDataSize] = val;
|
||||||
fData[fDataSize] = val;
|
fDataSize++;
|
||||||
fDataSize++;
|
}
|
||||||
return B_OK;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
status_t
|
BDataArray&
|
||||||
BDataArray::Append(int8 val)
|
BDataArray::Append(int8 val)
|
||||||
{
|
{
|
||||||
return Append((uint8)val);
|
return Append((uint8)val);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
status_t
|
BDataArray&
|
||||||
BDataArray::Append(uint16 val)
|
BDataArray::Append(uint16 val)
|
||||||
{
|
{
|
||||||
status_t status = _ReallocArrayFor(sizeof(val));
|
status_t status = _ReallocArrayFor(sizeof(val));
|
||||||
if (status != B_OK)
|
if (status == B_OK) {
|
||||||
return status;
|
val = B_HOST_TO_BENDIAN_INT16(val);
|
||||||
val = B_HOST_TO_BENDIAN_INT16(val);
|
memcpy(fData + fDataSize, &val, sizeof(val));
|
||||||
memcpy(fData + fDataSize, &val, sizeof(val));
|
fDataSize += sizeof(val);
|
||||||
fDataSize += sizeof(val);
|
}
|
||||||
return B_OK;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
status_t
|
BDataArray&
|
||||||
BDataArray::Append(int16 val)
|
BDataArray::Append(int16 val)
|
||||||
{
|
{
|
||||||
return Append((uint16)val);
|
return Append((uint16)val);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
status_t
|
BDataArray&
|
||||||
BDataArray::Append(uint32 val)
|
BDataArray::Append(uint32 val)
|
||||||
{
|
{
|
||||||
status_t status = _ReallocArrayFor(sizeof(val));
|
status_t status = _ReallocArrayFor(sizeof(val));
|
||||||
if (status != B_OK)
|
if (status == B_OK) {
|
||||||
return status;
|
val = B_HOST_TO_BENDIAN_INT32(val);
|
||||||
val = B_HOST_TO_BENDIAN_INT32(val);
|
memcpy(fData + fDataSize, &val, sizeof(val));
|
||||||
memcpy(fData + fDataSize, &val, sizeof(val));
|
fDataSize += sizeof(val);
|
||||||
fDataSize += sizeof(val);
|
}
|
||||||
return B_OK;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
status_t
|
BDataArray&
|
||||||
|
BDataArray::Append(int64 val)
|
||||||
|
{
|
||||||
|
return Append((uint64)val);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
BDataArray&
|
||||||
|
BDataArray::Append(uint64 val)
|
||||||
|
{
|
||||||
|
status_t status = _ReallocArrayFor(sizeof(val));
|
||||||
|
if (status == B_OK) {
|
||||||
|
val = B_HOST_TO_BENDIAN_INT64(val);
|
||||||
|
memcpy(fData + fDataSize, &val, sizeof(val));
|
||||||
|
fDataSize += sizeof(val);
|
||||||
|
}
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
BDataArray&
|
||||||
BDataArray::Append(int32 val)
|
BDataArray::Append(int32 val)
|
||||||
{
|
{
|
||||||
return Append((uint32)val);
|
return Append((uint32)val);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BDataArray&
|
||||||
status_t
|
|
||||||
BDataArray::Append(const char *str)
|
BDataArray::Append(const char *str)
|
||||||
{
|
{
|
||||||
int32 len = strlen(str);
|
int32 len = strlen(str);
|
||||||
status_t status = _ReallocArrayFor(len);
|
status_t status = _ReallocArrayFor(len);
|
||||||
if (status != B_OK)
|
if (status == B_OK) {
|
||||||
return status;
|
memcpy(fData + fDataSize, str, len);
|
||||||
memcpy(fData + fDataSize, str, len);
|
fDataSize += len;
|
||||||
fDataSize += len;
|
}
|
||||||
return B_OK;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
status_t
|
BDataArray&
|
||||||
BDataArray::Append(BString str)
|
BDataArray::Append(BString& str)
|
||||||
{
|
{
|
||||||
return Append(str.String());
|
return Append(str.String());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
status_t
|
BDataArray&
|
||||||
BDataArray::Append(uint8 *ptr, int32 len)
|
BDataArray::Append(BDataArray& array)
|
||||||
{
|
{
|
||||||
status_t status = _ReallocArrayFor(len);
|
return Append(array.Buffer(), array.Length());
|
||||||
if (status != B_OK)
|
|
||||||
return status;
|
|
||||||
memcpy(fData + fDataSize, ptr, len);
|
|
||||||
fDataSize += len;
|
|
||||||
return B_OK;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
status_t
|
BDataArray&
|
||||||
|
BDataArray::Append(uint8 *ptr, int32 len)
|
||||||
|
{
|
||||||
|
status_t status = _ReallocArrayFor(len);
|
||||||
|
if (status == B_OK) {
|
||||||
|
memcpy(fData + fDataSize, ptr, len);
|
||||||
|
fDataSize += len;
|
||||||
|
}
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
BDataArray&
|
||||||
BDataArray::Repeat(uint8 byte, int32 count)
|
BDataArray::Repeat(uint8 byte, int32 count)
|
||||||
{
|
{
|
||||||
status_t status = _ReallocArrayFor(count);
|
status_t status = _ReallocArrayFor(count);
|
||||||
if (status != B_OK)
|
if (status == B_OK) {
|
||||||
return status;
|
memset(fData + fDataSize, byte, count);
|
||||||
memset(fData + fDataSize, byte, count);
|
fDataSize += count;
|
||||||
fDataSize += count;
|
}
|
||||||
return B_OK;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -208,9 +234,33 @@ BDataArray::operator<<(uint32 val)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
BDataArray&
|
||||||
|
BDataArray::operator<<(int64 val)
|
||||||
|
{
|
||||||
|
Append(val);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
BDataArray&
|
||||||
|
BDataArray::operator<<(uint64 val)
|
||||||
|
{
|
||||||
|
Append(val);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
BDataArray&
|
BDataArray&
|
||||||
BDataArray::operator<<(const char* str)
|
BDataArray::operator<<(const char* str)
|
||||||
{
|
{
|
||||||
Append(str);
|
Append(str);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
BDataArray&
|
||||||
|
BDataArray::operator<<(BDataArray& array)
|
||||||
|
{
|
||||||
|
Append(array);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|||||||
@@ -23,17 +23,20 @@ public:
|
|||||||
BDataArray(int32 blockSize = DATAARRAY_BLOCK_SIZE);
|
BDataArray(int32 blockSize = DATAARRAY_BLOCK_SIZE);
|
||||||
~BDataArray();
|
~BDataArray();
|
||||||
|
|
||||||
status_t Append(int8 val);
|
BDataArray& Append(int8 val);
|
||||||
status_t Append(uint8 val);
|
BDataArray& Append(uint8 val);
|
||||||
status_t Append(int16 val);
|
BDataArray& Append(int16 val);
|
||||||
status_t Append(uint16 val);
|
BDataArray& Append(uint16 val);
|
||||||
status_t Append(int32 val);
|
BDataArray& Append(int32 val);
|
||||||
status_t Append(uint32 val);
|
BDataArray& Append(uint32 val);
|
||||||
status_t Append(const char *str);
|
BDataArray& Append(int64 val);
|
||||||
status_t Append(BString str);
|
BDataArray& Append(uint64 val);
|
||||||
status_t Append(uint8 *ptr, int32 len);
|
BDataArray& Append(const char *str);
|
||||||
|
BDataArray& Append(BString& str);
|
||||||
|
BDataArray& Append(BDataArray& str);
|
||||||
|
BDataArray& Append(uint8 *ptr, int32 len);
|
||||||
|
|
||||||
status_t Repeat(uint8 byte, int32 count);
|
BDataArray& Repeat(uint8 byte, int32 count);
|
||||||
|
|
||||||
BDataArray& operator<<(int8);
|
BDataArray& operator<<(int8);
|
||||||
BDataArray& operator<<(uint8);
|
BDataArray& operator<<(uint8);
|
||||||
@@ -41,7 +44,10 @@ public:
|
|||||||
BDataArray& operator<<(uint16);
|
BDataArray& operator<<(uint16);
|
||||||
BDataArray& operator<<(int32);
|
BDataArray& operator<<(int32);
|
||||||
BDataArray& operator<<(uint32);
|
BDataArray& operator<<(uint32);
|
||||||
|
BDataArray& operator<<(int64);
|
||||||
|
BDataArray& operator<<(uint64);
|
||||||
BDataArray& operator<<(const char*);
|
BDataArray& operator<<(const char*);
|
||||||
|
BDataArray& operator<<(BDataArray&);
|
||||||
|
|
||||||
uint8 *Buffer(void);
|
uint8 *Buffer(void);
|
||||||
int32 Length(void);
|
int32 Length(void);
|
||||||
|
|||||||
Reference in New Issue
Block a user