185 if (size_ != rhs.size_) {
189 if (size_ == 0 && rhs.size_ == 0) {
195 if (std::memcmp(data_, rhs.data_, size_) == 0) {
218 uint32_t sizeToRead = 0;
220 if (data_ !=
nullptr && position_ <
GetSize()) {
224 sizeToRead =
GetSize() - position_;
226 if (size < sizeToRead) {
230 static_cast<uint8_t*>(data_) + position_,
231 static_cast<uint32_t>(sizeToRead));
232 position_ += sizeToRead;
240 if (data_ !=
nullptr) {
247 if (data_ !=
nullptr) {
251 delete[]
static_cast<uint8_t*
>(data_);
270 std::swap(data_, rhs.data_);
271 std::swap(position_, rhs.position_);
272 std::swap(size_, rhs.size_);
278 if (&source ==
this) {
283 Assign(source.data_, source.size_);
301 if (data !=
nullptr && size > 0) {
302 data_ =
static_cast<void*
>(
new uint8_t[size]);
314 data_ =
static_cast<void*
>(
new uint8_t[size]);
321 delete[]
static_cast<uint8_t*
>(data_);
347 void* newData =
nullptr;
348 uint32_t newSize =
GetSize() + size;
351 newData =
static_cast<void*
>(
new uint8_t[newSize]);
356 if (newData !=
nullptr) {
367 newSize -
GetSize(), data, size);
370 if (data_ !=
nullptr) {
371 delete[]
static_cast<uint8_t*
>(data_);
391 data_ =
static_cast<void*
>(
new uint8_t[size]);
EXPORT void Release_Data()
EXPORT void swap(OTData &rhs)
EXPORT OTData & operator=(OTData rhs)
static EXPORT bool randomizeMemory_uint8(uint8_t *destination, uint32_t size)
EXPORT bool operator!=(const OTData &rhs) const
EXPORT bool Exists() const
EXPORT void Assign(const OTData &source)
EXPORT bool operator==(const OTData &rhs) const
void SetSize(uint32_t size)
EXPORT bool GetData(OTData &theData, bool bLineBreaks=true) const
EXPORT OTData & operator+=(const OTData &rhs)
EXPORT uint32_t OTfread(uint8_t *data, uint32_t size)
EXPORT bool IsEmpty() const
virtual EXPORT void Release()
EXPORT bool Randomize(uint32_t size)
static EXPORT void * safe_memcpy(void *dest, uint32_t dsize, const void *src, uint32_t ssize, bool zeroSource=false)
EXPORT void Concatenate(const void *data, uint32_t size)
EXPORT void zeroMemory() const