start moving to binarystream
This commit is contained in:
@@ -27,9 +27,7 @@
|
||||
#define PIBYTEARRAY_H
|
||||
|
||||
#include "pichar.h"
|
||||
#include "pibitarray.h"
|
||||
#include "pimap.h"
|
||||
#include "pivector2d.h"
|
||||
#include "pibinarystream.h"
|
||||
#include <stdio.h>
|
||||
|
||||
class PIString;
|
||||
@@ -79,12 +77,15 @@ public:
|
||||
public:
|
||||
//! \~english Constructs data block
|
||||
//! \~russian Создает блок данных
|
||||
RawData(void * data = 0, int size = 0) {d = data; s = size;}
|
||||
RawData(void * data_ = 0, int size_ = 0) {d = data_; s = size_;}
|
||||
RawData(const RawData & o) {d = o.d; s = o.s;}
|
||||
//! \~english Constructs data block
|
||||
//! \~russian Создает блок данных
|
||||
RawData(const void * data, const int size) {d = const_cast<void * >(data); s = size;}
|
||||
RawData(const void * data_, const int size_) {d = const_cast<void * >(data_); s = size_;}
|
||||
RawData & operator =(const RawData & o) {d = o.d; s = o.s; return *this;}
|
||||
void * data() {return d;}
|
||||
const void * data() const {return d;}
|
||||
int size() const {return s;}
|
||||
private:
|
||||
void * d;
|
||||
int s;
|
||||
@@ -676,6 +677,30 @@ inline PIByteArray & operator >>(PIByteArray & s, T & ) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
BINARY_STREAM_STORE(PIByteArray::RawData) {
|
||||
s.binaryStreamAppend(v.data(), v.size());
|
||||
return s;
|
||||
}
|
||||
BINARY_STREAM_RESTORE(PIByteArray::RawData) {
|
||||
s.binaryStreamTake(v.data(), v.size());
|
||||
return s;
|
||||
}
|
||||
|
||||
|
||||
BINARY_STREAM_STORE(PIByteArray) {
|
||||
s.binaryStreamAppend((int)v.size_s());
|
||||
s.binaryStreamAppend(v.data(), v.size());
|
||||
return s;
|
||||
}
|
||||
BINARY_STREAM_RESTORE(PIByteArray) {
|
||||
v.resize(s.binaryStreamTakeInt());
|
||||
s.binaryStreamTake(v.data(), v.size());
|
||||
return s;
|
||||
}
|
||||
|
||||
|
||||
//! \relatesalso PIByteArray
|
||||
//! \~english Returns PIByteArray::hash() of "ba"
|
||||
//! \~russian Возвращает PIByteArray::hash() от "ba"
|
||||
|
||||
Reference in New Issue
Block a user