106 lines
1.8 KiB
C++
106 lines
1.8 KiB
C++
#include "Precompiled.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#include "RakiEngine/Data/MemoryBlock/MemoryBlock.h"
|
|
#include "RakiEngine/Data/Serialization/Serializer.h"
|
|
#include "RakiEngine/Data/Serialization/SerializedObject.h"
|
|
#include "RakiEngine/Data/Stream/MemoryStream/MemoryStream.h"
|
|
#include "RakiEngine/Initializer/TestInitializer.h"
|
|
|
|
|
|
|
|
namespace raki
|
|
{
|
|
|
|
class TestObject : public SerializedObject
|
|
{
|
|
public:
|
|
|
|
virtual void serialize( Serializer & serializer )
|
|
{
|
|
serializer % a;
|
|
serializer % b;
|
|
serializer % c;
|
|
serializer % d;
|
|
}
|
|
|
|
int a;
|
|
u64 b;
|
|
int c;
|
|
u64 d;
|
|
|
|
};
|
|
|
|
void TestSerialization()
|
|
{
|
|
TestInitializer initializer;
|
|
|
|
RAKI_OUTPUT("entering TestSerialization...\n");
|
|
|
|
/*
|
|
raki::ms_stlAllocator = system.getAllocator();
|
|
|
|
{
|
|
std::list<char, raki::StlAllocator<char> > intList;
|
|
intList.push_back( 3 );
|
|
intList.push_back( 5 );
|
|
}
|
|
|
|
*/
|
|
|
|
MemoryBlock memBlock( 0x1000 );
|
|
MemoryStream memStream( &memBlock, false );
|
|
|
|
//int intParam = 3;
|
|
|
|
Serializer serializer( &memStream );
|
|
|
|
serializer.setIsWriting();
|
|
|
|
TestObject object;
|
|
object.a = 1;
|
|
object.b = 2;
|
|
object.c = 3;
|
|
object.d = 4;
|
|
|
|
object.serialize( serializer );
|
|
|
|
object.a = -1;
|
|
object.b = (u64)-2;
|
|
object.c = -3;
|
|
object.d = (u64)-4;
|
|
|
|
serializer.setIsReading();
|
|
|
|
memStream.seekBeginning();
|
|
|
|
object.serialize( serializer );
|
|
|
|
RAKI_ASSERT( object.a == 1 );
|
|
RAKI_ASSERT( object.b == 2 );
|
|
RAKI_ASSERT( object.c == 3 );
|
|
RAKI_ASSERT( object.d == 4 );
|
|
|
|
|
|
RAKI_OUTPUT("leaving TestSerialization...\n");
|
|
|
|
}
|
|
|
|
} // namespace raki
|
|
|
|
|
|
#if defined ( RAKI_USING_XAUDIO2 )
|
|
int _tmain(int argc, _TCHAR* argv[])
|
|
#else // RAKI_USING_XAUDIO2
|
|
int main( int argc, char *argv[] )
|
|
#endif // RAKI_USING_XAUDIO2
|
|
{
|
|
raki::TestSerialization();
|
|
|
|
return 0;
|
|
}
|
|
|