Files
Sun1602/ProgramCommon/SCStream.cpp
T
2022-10-26 12:25:11 +08:00

56 lines
1.6 KiB
C++

#include "stdafx.h"
#include "./SCStream.h"
//==================================================================================================
SCStream::~SCStream()
{
if (stream_) {
::free(stream_);
stream_ = NULL;
};
}
/*
// (f100804.5L) full stream serialize
bool SCStream::Serialize(uint8_t* stream, int size, eSERIALIZE serialize_type)
{
const size_t total_size = size_of_item_ * number_of_items_;
if (FlowControl::FCAssert(total_size > 0 &&
total_size == static_cast<size_t>(size)) == false)
{
return false;
};
//
if (serialize_type == SERIALIZE_STORE) {
CopyMemory(stream_, stream, total_size);
return true;
}
else if (serialize_type == SERIALIZE_LOAD) {
CopyMemory(stream, stream_, total_size);
return true;
}
return false;
}
// (f100804.5L) token stream serialize
bool SCStream::Serialize(int position, uint8_t* stream, eSERIALIZE serialize_type)
{
if (FlowControl::FCAssert(position >= 0 && position < number_of_items_) == false) {
return false;
}
//
const size_t index_position = size_of_item_ * position;
//
if (serialize_type == SERIALIZE_STORE) {
CopyMemory(&stream_[index_position], stream, size_of_item_);
return true;
}
else if (serialize_type == SERIALIZE_LOAD) {
CopyMemory(stream, &stream_[index_position], size_of_item_);
return true;
}
return false;
}
*/
//==================================================================================================