Пример #1
0
void EditSerializer::WritePersistentArray(DataField field, const CPtrArray& a)
{
	WriteBegin(field, 0);
	WriteUInt32(DataField_Length, a.GetSize());

	char itemName[16];

    for (int i=0; i<a.GetSize(); i++)
    {
		sprintf(itemName, "[%d]", i);
		const Persistent_c* const p = (const Persistent_c* const)a.GetAt(i);
        WritePersistent(itemName, *p);
    }

    WriteEnd();
}
Пример #2
0
void NetworkBuffer::Write(const MemoryData& val)
{
	EnsureWritableCount(val.Size());
	Memory::SafeCopy(WriteBegin(), WritableCount(), val.Data(), val.Size());
	HasWritten(val.Size());
}
Пример #3
0
void NetworkBuffer::Write(const byte* data, size_t len)
{
	EnsureWritableCount(len);
	Memory::SafeCopy(WriteBegin(), WritableCount(), data, len);
	HasWritten(len);
}
Пример #4
0
void NetworkBuffer::RetrieveUntil(const byte* end)
{
	assert(ReadBegin() <= end);
	assert(end <= WriteBegin());
	Retrieve(end - ReadBegin());
}
Пример #5
0
void EditSerializer::WritePersistent(DataField field, const Persistent_c& p)
{
	WriteBegin(field, p.GetTypeName());
	p.WriteData(*this);
	WriteEnd();
}