//---------------------------------------------------------------------------- // Serializer.h // Copyright (c) 2006 Move Interactive // // //---------------------------------------------------------------------------- #ifndef _FLOWENGINE_CORE_SERIALIZATION_IARCHIVE_H_ #define _FLOWENGINE_CORE_SERIALIZATION_IARCHIVE_H_ #include "math/Vector.h" #include "math/Quaternion.h" #include "core/container/Vector.h" namespace FlowEngine { class Serializer; class IArchive { public: virtual void Serialize(bool& t) = 0; virtual void Serialize(int32& t) = 0; virtual void Serialize(int16& t) = 0; virtual void Serialize(int8& t) = 0; virtual void Serialize(uint32& t) = 0; virtual void Serialize(uint16& t) = 0; virtual void Serialize(uint8& t) = 0; virtual void Serialize(float& t) = 0; virtual void Serialize(std::string& t) = 0; virtual void Serialize(Vector2f & t) = 0; virtual void Serialize(Vector2i & t) = 0; virtual void Serialize(Vector3f & t) = 0; virtual void Serialize(Vector3i & t) = 0; virtual void Serialize(Vector4f & t) = 0; virtual void Serialize(Vector4i & t) = 0; virtual void Serialize(Quaternion & t) = 0; virtual void Serialize(Matrix33 & t) = 0; virtual void Serialize(Matrix44 & t) = 0; virtual void Serialize(void * data, size_t size) = 0; virtual void Serialize(Serializer& t) = 0; virtual void Serialize(Serializer* t) = 0; }; } #endif