|
Zen API
|
Base class for serialization/deserialization classes.
kSerializer is a base class for serialization/deserialization classes, where each derived class typically implements a specific object serialization format.
kSerializer itself is also an instantiable class. The kSerializer base class does not provide the ability to serialize/deserialize objects or type information, but can be used to read/write primitive data and arrays.
kSerializer does not automatically flush its internal write buffer when the serializer is destroyed. The Flush method must be used to ensure that all bytes are written to the underlying stream.

Public Member Functions | |
| kStatus | kSerializer_AdvanceRead (kSerializer serializer, kSize offset) |
| Reads and discards a specified number of bytes. More... | |
| kStatus | kSerializer_BeginRead (kSerializer serializer, kType sizeType, kBool includeSize) |
| Begins reading a measured data section. More... | |
| kStatus | kSerializer_BeginWrite (kSerializer serializer, kType sizeType, kBool includeSize) |
| Begins writing a measured section of data, using an 8, 16, 32, or 64-bit integer to record the size. More... | |
| kStatus | kSerializer_Construct (kSerializer *serializer, kStream stream, kType serializerType, kAlloc allocator) |
| Constructs a serializer object using the specified serialization format. More... | |
| kStatus | kSerializer_EndRead (kSerializer serializer) |
| Ends reading a measured data section. More... | |
| kStatus | kSerializer_EndWrite (kSerializer serializer) |
| Ends writing a measured data section. More... | |
| kStatus | kSerializer_Flush (kSerializer serializer) |
| Flushes the serializer write buffer to the underlying stream. More... | |
| kStatus | kSerializer_LoadObject (kObject *object, kType serializerType, const kChar *filePath, kAlloc readAlloc) |
| Loads an object from file using the specified serializer type. More... | |
| kStatus | kSerializer_Read16s (kSerializer serializer, k16s *data) |
| Reads a k16s value. More... | |
| kStatus | kSerializer_Read16sArray (kSerializer serializer, k16s *data, kSize count) |
| Reads a k16s array. More... | |
| kStatus | kSerializer_Read16u (kSerializer serializer, k16u *data) |
| Reads a k16u value. More... | |
| kStatus | kSerializer_Read16uArray (kSerializer serializer, k16u *data, kSize count) |
| Reads a k16u array. More... | |
| kStatus | kSerializer_Read32f (kSerializer serializer, k32f *data) |
| Reads a k32f value. More... | |
| kStatus | kSerializer_Read32fArray (kSerializer serializer, k32f *data, kSize count) |
| Reads a k32f array. More... | |
| kStatus | kSerializer_Read32s (kSerializer serializer, k32s *data) |
| Reads a k32s value. More... | |
| kStatus | kSerializer_Read32sArray (kSerializer serializer, k32s *data, kSize count) |
| Reads a k32s array. More... | |
| kStatus | kSerializer_Read32u (kSerializer serializer, k32u *data) |
| Reads a k32u value. More... | |
| kStatus | kSerializer_Read32uArray (kSerializer serializer, k32u *data, kSize count) |
| Reads a k32u array. More... | |
| kStatus | kSerializer_Read64f (kSerializer serializer, k64f *data) |
| Reads a k64f value. More... | |
| kStatus | kSerializer_Read64fArray (kSerializer serializer, k64f *data, kSize count) |
| Reads a k64f array. More... | |
| kStatus | kSerializer_Read64s (kSerializer serializer, k64s *data) |
| Reads a k64s value. More... | |
| kStatus | kSerializer_Read64sArray (kSerializer serializer, k64s *data, kSize count) |
| Reads a k64s array. More... | |
| kStatus | kSerializer_Read64u (kSerializer serializer, k64u *data) |
| Reads a k64u value. More... | |
| kStatus | kSerializer_Read64uArray (kSerializer serializer, k64u *data, kSize count) |
| Reads a k64u array. More... | |
| kStatus | kSerializer_Read8s (kSerializer serializer, k8s *data) |
| Reads a k8s value. More... | |
| kStatus | kSerializer_Read8sArray (kSerializer serializer, k8s *data, kSize count) |
| Reads a k8s array. More... | |
| kStatus | kSerializer_Read8u (kSerializer serializer, k8u *data) |
| Reads a k8u value. More... | |
| kStatus | kSerializer_Read8uArray (kSerializer serializer, k8u *data, kSize count) |
| Reads a k8u array. More... | |
| kStatus | kSerializer_ReadByte (kSerializer serializer, kByte *data) |
| Reads a kByte value. More... | |
| kStatus | kSerializer_ReadByteArray (kSerializer serializer, kByte *data, kSize count) |
| Reads a kByte array. More... | |
| kStatus | kSerializer_ReadChar (kSerializer serializer, kChar *data) |
| Reads a kChar value. More... | |
| kStatus | kSerializer_ReadCharArray (kSerializer serializer, kChar *data, kSize count) |
| Reads a kChar array. More... | |
| kBool | kSerializer_ReadCompleted (kSerializer serializer) |
| Determines whether the current measured read section has more bytes. More... | |
| kStatus | kSerializer_ReadItems (kSerializer serializer, kType type, kTypeVersion version, void *items, kSize count) |
| Reads an array of values or objects. More... | |
| kStatus | kSerializer_ReadObject (kSerializer serializer, kObject *object, kAlloc allocator) |
| Reads an object from the underlying stream. More... | |
| kStatus | kSerializer_ReadSize (kSerializer serializer, kSize *data) |
| Reads a kSize value. More... | |
| kStatus | kSerializer_ReadSizeArray (kSerializer serializer, kSize *data, kSize count) |
| Reads a kSize array. More... | |
| kStatus | kSerializer_ReadSSize (kSerializer serializer, kSSize *data) |
| Reads a kSSize value. More... | |
| kStatus | kSerializer_ReadSSizeArray (kSerializer serializer, kSSize *data, kSize count) |
| Reads a kSSize array. More... | |
| kStatus | kSerializer_ReadText (kSerializer serializer, kChar *data, kSize capacity) |
| Reads a null-terminated kChar array. More... | |
| kStatus | kSerializer_ReadType (kSerializer serializer, kType *type, kTypeVersion *version) |
| Reads a type code. More... | |
| kStatus | kSerializer_Reset (kSerializer serializer) |
| Discards any streaming context accumulated by the serializer. More... | |
| kStatus | kSerializer_SaveObject (kObject object, kType serializerType, const kChar *filePath) |
| Saves an object to file using the specified serializer type. More... | |
| kStatus | kSerializer_SetSizeEncoding (kSerializer serializer, k32u byteCount) |
| Explicitly sets the number of bytes used to encode/decode kSize and kSSize values. More... | |
| kStatus | kSerializer_SetVersion (kSerializer serializer, kAssembly assembly, kVersion version) |
| Sets the version to use when serializing types. More... | |
| kStream | kSerializer_Stream (kSerializer serializer) |
| Gets the underlying stream. More... | |
| kStatus | kSerializer_Write16s (kSerializer serializer, k16s data) |
| Writes a k16s value. More... | |
| kStatus | kSerializer_Write16sArray (kSerializer serializer, const k16s *data, kSize count) |
| Writes a k16s array. More... | |
| kStatus | kSerializer_Write16u (kSerializer serializer, k16u data) |
| Writes a k16u value. More... | |
| kStatus | kSerializer_Write16uArray (kSerializer serializer, const k16u *data, kSize count) |
| Writes a k16u array. More... | |
| kStatus | kSerializer_Write32f (kSerializer serializer, k32f data) |
| Writes a k32f value. More... | |
| kStatus | kSerializer_Write32fArray (kSerializer serializer, const k32f *data, kSize count) |
| Writes a k32f array. More... | |
| kStatus | kSerializer_Write32s (kSerializer serializer, k32s data) |
| Writes a k32s value. More... | |
| kStatus | kSerializer_Write32sArray (kSerializer serializer, const k32s *data, kSize count) |
| Writes a k32s array. More... | |
| kStatus | kSerializer_Write32u (kSerializer serializer, k32u data) |
| Writes a k32u value. More... | |
| kStatus | kSerializer_Write32uArray (kSerializer serializer, const k32u *data, kSize count) |
| Writes a k32u array. More... | |
| kStatus | kSerializer_Write64f (kSerializer serializer, k64f data) |
| Writes a k64f value. More... | |
| kStatus | kSerializer_Write64fArray (kSerializer serializer, const k64f *data, kSize count) |
| Writes a k64f array. More... | |
| kStatus | kSerializer_Write64s (kSerializer serializer, k64s data) |
| Writes a k64s value. More... | |
| kStatus | kSerializer_Write64sArray (kSerializer serializer, const k64s *data, kSize count) |
| Writes a k64s array. More... | |
| kStatus | kSerializer_Write64u (kSerializer serializer, k64u data) |
| Writes a k64u value. More... | |
| kStatus | kSerializer_Write64uArray (kSerializer serializer, const k64u *data, kSize count) |
| Writes a k64u array. More... | |
| kStatus | kSerializer_Write8s (kSerializer serializer, k8s data) |
| Writes a k8s value. More... | |
| kStatus | kSerializer_Write8sArray (kSerializer serializer, const k8s *data, kSize count) |
| Writes a k8s array. More... | |
| kStatus | kSerializer_Write8u (kSerializer serializer, k8u data) |
| Writes a k8u value. More... | |
| kStatus | kSerializer_Write8uArray (kSerializer serializer, const k8u *data, kSize count) |
| Writes a k8u array. More... | |
| kStatus | kSerializer_WriteByte (kSerializer serializer, kByte data) |
| Writes a kByte value. More... | |
| kStatus | kSerializer_WriteByteArray (kSerializer serializer, const kByte *data, kSize count) |
| Writes a kByte array. More... | |
| kStatus | kSerializer_WriteChar (kSerializer serializer, kChar data) |
| Writes a kChar value. More... | |
| kStatus | kSerializer_WriteCharArray (kSerializer serializer, const kChar *data, kSize count) |
| Writes a kChar array. More... | |
| kStatus | kSerializer_WriteItems (kSerializer serializer, kType type, kTypeVersion version, const void *items, kSize count) |
| Writes an array of values or objects. More... | |
| kStatus | kSerializer_WriteObject (kSerializer serializer, kObject object) |
| Writes an object to the underlying stream. More... | |
| kStatus | kSerializer_WriteSize (kSerializer serializer, kSize data) |
| Writes a kSize value. More... | |
| kStatus | kSerializer_WriteSizeArray (kSerializer serializer, const kSize *data, kSize count) |
| Writes a kSize array. More... | |
| kStatus | kSerializer_WriteSSize (kSerializer serializer, kSSize data) |
| Writes a kSSize value. More... | |
| kStatus | kSerializer_WriteSSizeArray (kSerializer serializer, const kSSize *data, kSize count) |
| Writes a kSSize array. More... | |
| kStatus | kSerializer_WriteText (kSerializer serializer, const kChar *data) |
| Writes a null-terminated kChar array. More... | |
| kStatus | kSerializer_WriteType (kSerializer serializer, kType type, kTypeVersion *version) |
| Writes a type code. More... | |
Public Member Functions inherited from kObject | |
| kAlloc | kObject_Alloc (kObject object) |
| Gets the memory allocator associated with this object. More... | |
| kStatus | kObject_Clone (kObject *object, kObject source, kAlloc allocator) |
| Constructs a new object by copying an existing object, including any aggregated child elements. More... | |
| kStatus | kObject_Destroy (kObject object) |
| Destroys the object. More... | |
| kStatus | kObject_Dispose (kObject object) |
| Destroys the object and any aggregated child elements. More... | |
| kBool | kObject_Equals (kObject object, kObject other) |
| Determines whether the object is equal to another object. More... | |
| kSize | kObject_HashCode (kObject object) |
| Gets a hash code representing the state of this object. More... | |
| kBool | kObject_Is (kObject object, kType type) |
| Determines whether this object is an instance of the specified type. More... | |
| kBool | kObject_IsShared (kObject object) |
| Reports whether the object is currently shared (reference count greater than one). More... | |
| kStatus | kObject_SetPool (kObject object, kObjectPool pool) |
| Sets the object pool associated with this object. More... | |
| kStatus | kObject_Share (kObject object) |
| Increments the reference count associated with this object. More... | |
| kSize | kObject_Size (kObject object) |
| Estimates the memory consumed by this object, including any aggregated child elements. More... | |
| kType | kObject_Type (kObject object) |
| Returns the type of the object. More... | |
Related | |
| #define | kSerializer_WriteObject_(S, D) kxSerializer_WriteObject_(S, D) |
| Macro version of kSerializer_WriteObject. | |
| #define | kSerializer_ReadObject_(S, D, A) kxSerializer_ReadObject_(S, D, A) |
| Macro version of kSerializer_ReadObject. | |
| #define | kSerializer_WriteByte_(S, D) kxSerializer_WriteByte_(S, D) |
| Macro version of kSerializer_WriteByte. | |
| #define | kSerializer_WriteByteArray_(S, D, C) kxSerializer_WriteByteArray_(S, D, C) |
| Macro version of kSerializer_WriteByteArray. | |
| #define | kSerializer_ReadByte_(S, D) kxSerializer_ReadByte_(S, D) |
| Macro version of kSerializer_ReadByte. | |
| #define | kSerializer_ReadByteArray_(S, D, C) kxSerializer_ReadByteArray_(S, D, C) |
| Macro version of kSerializer_ReadByteArray. | |
| #define | kSerializer_WriteChar_(S, D) kxSerializer_WriteChar_(S, D) |
| Macro version of kSerializer_WriteChar. | |
| #define | kSerializer_WriteCharArray_(S, D, C) kxSerializer_WriteCharArray_(S, D, C) |
| Macro version of kSerializer_WriteCharArray. | |
| #define | kSerializer_ReadChar_(S, D) kxSerializer_ReadChar_(S, D) |
| Macro version of kSerializer_ReadChar. | |
| #define | kSerializer_ReadCharArray_(S, D, C) kxSerializer_ReadCharArray_(S, D, C) |
| Macro version of kSerializer_ReadCharArray. | |
| #define | kSerializer_Write8u_(S, D) kxSerializer_Write8u_(S, D) |
| Macro version of kSerializer_Write8u. | |
| #define | kSerializer_Write8uArray_(S, D, C) kxSerializer_Write8uArray_(S, D, C) |
| Macro version of kSerializer_Write8uArray. | |
| #define | kSerializer_Read8u_(S, D) kxSerializer_Read8u_(S, D) |
| Macro version of kSerializer_Read8u. | |
| #define | kSerializer_Read8uArray_(S, D, C) kxSerializer_Read8uArray_(S, D, C) |
| Macro version of kSerializer_Read8uArray. | |
| #define | kSerializer_Write8s_(S, D) kxSerializer_Write8s_(S, D) |
| Macro version of kSerializer_Write8s. | |
| #define | kSerializer_Write8sArray_(S, D, C) kxSerializer_Write8sArray_(S, D, C) |
| Macro version of kSerializer_Write8sArray. | |
| #define | kSerializer_Read8s_(S, D) kxSerializer_Read8s_(S, D) |
| Macro version of kSerializer_Read8s. | |
| #define | kSerializer_Read8sArray_(S, D, C) kxSerializer_Read8sArray_(S, D, C) |
| Macro version of kSerializer_Read8sArray. | |
| #define | kSerializer_Write16u_(S, D) kxSerializer_Write16u_(S, D) |
| Macro version of kSerializer_Write16u. | |
| #define | kSerializer_Write16uArray_(S, D, C) kxSerializer_Write16uArray_(S, D, C) |
| Macro version of kSerializer_Write16uArray. | |
| #define | kSerializer_Read16u_(S, D) kxSerializer_Read16u_(S, D) |
| Macro version of kSerializer_Read16u. | |
| #define | kSerializer_Read16uArray_(S, D, C) kxSerializer_Read16uArray_(S, D, C) |
| Macro version of kSerializer_Read16uArray. | |
| #define | kSerializer_Write16s_(S, D) kxSerializer_Write16s_(S, D) |
| Macro version of kSerializer_Write16s. | |
| #define | kSerializer_Write16sArray_(S, D, C) kxSerializer_Write16sArray_(S, D, C) |
| Macro version of kSerializer_Write16sArray. | |
| #define | kSerializer_Read16s_(S, D) kxSerializer_Read16s_(S, D) |
| Macro version of kSerializer_Read16s. | |
| #define | kSerializer_Read16sArray_(S, D, C) kxSerializer_Read16sArray_(S, D, C) |
| Macro version of kSerializer_Read16sArray. | |
| #define | kSerializer_Write32u_(S, D) kxSerializer_Write32u_(S, D) |
| Macro version of kSerializer_Write32u. | |
| #define | kSerializer_Write32uArray_(S, D, C) kxSerializer_Write32uArray_(S, D, C) |
| Macro version of kSerializer_Write32uArray. | |
| #define | kSerializer_Read32u_(S, D) kxSerializer_Read32u_(S, D) |
| Macro version of kSerializer_Read32u. | |
| #define | kSerializer_Read32uArray_(S, D, C) kxSerializer_Read32uArray_(S, D, C) |
| Macro version of kSerializer_Read32uArray. | |
| #define | kSerializer_Write32s_(S, D) kxSerializer_Write32s_(S, D) |
| Macro version of kSerializer_Write32s. | |
| #define | kSerializer_Write32sArray_(S, D, C) kxSerializer_Write32sArray_(S, D, C) |
| Macro version of kSerializer_Write32sArray. | |
| #define | kSerializer_Read32s_(S, D) kxSerializer_Read32s_(S, D) |
| Macro version of kSerializer_Read32s. | |
| #define | kSerializer_Read32sArray_(S, D, C) kxSerializer_Read32sArray_(S, D, C) |
| Macro version of kSerializer_Read32sArray. | |
| #define | kSerializer_Write64u_(S, D) kxSerializer_Write64u_(S, D) |
| Macro version of kSerializer_Write64u. | |
| #define | kSerializer_Write64uArray_(S, D, C) kxSerializer_Write64uArray_(S, D, C) |
| Macro version of kSerializer_Write64uArray. | |
| #define | kSerializer_Read64u_(S, D) kxSerializer_Read64u_(S, D) |
| Macro version of kSerializer_Read64u. | |
| #define | kSerializer_Read64uArray_(S, D, C) kxSerializer_Read64uArray_(S, D, C) |
| Macro version of kSerializer_Read64uArray. | |
| #define | kSerializer_Write64s_(S, D) kxSerializer_Write64s_(S, D) |
| Macro version of kSerializer_Write64s. | |
| #define | kSerializer_Write64sArray_(S, D, C) kxSerializer_Write64sArray_(S, D, C) |
| Macro version of kSerializer_Write64sArray. | |
| #define | kSerializer_Read64s_(S, D) kxSerializer_Read64s_(S, D) |
| Macro version of kSerializer_Read64s. | |
| #define | kSerializer_Read64sArray_(S, D, C) kxSerializer_Read64sArray_(S, D, C) |
| Macro version of kSerializer_Read64sArray. | |
| #define | kSerializer_Write32f_(S, D) kxSerializer_Write32f_(S, D) |
| Macro version of kSerializer_Write32f. | |
| #define | kSerializer_Write32fArray_(S, D, C) kxSerializer_Write32fArray_(S, D, C) |
| Macro version of kSerializer_Write32fArray. | |
| #define | kSerializer_Read32f_(S, D) kxSerializer_Read32f_(S, D) |
| Macro version of kSerializer_Read32f. | |
| #define | kSerializer_Read32fArray_(S, D, C) kxSerializer_Read32fArray_(S, D, C) |
| Macro version of kSerializer_Read32fArray. | |
| #define | kSerializer_Write64f_(S, D) kxSerializer_Write64f_(S, D) |
| Macro version of kSerializer_Write64f. | |
| #define | kSerializer_Write64fArray_(S, D, C) kxSerializer_Write64fArray_(S, D, C) |
| Macro version of kSerializer_Write64fArray. | |
| #define | kSerializer_Read64f_(S, D) kxSerializer_Read64f_(S, D) |
| Macro version of kSerializer_Read64f. | |
| #define | kSerializer_Read64fArray_(S, D, C) kxSerializer_Read64fArray_(S, D, C) |
| Macro version of kSerializer_Read64fArray. | |
| #define | kSerializer_WriteSize_(S, D) kxSerializer_WriteSize_(S, D) |
| Macro version of kSerializer_WriteSize. | |
| #define | kSerializer_WriteSizeArray_(S, D, C) kxSerializer_WriteSizeArray_(S, D, C) |
| Macro version of kSerializer_WriteSizeArray. | |
| #define | kSerializer_ReadSize_(S, D) kxSerializer_ReadSize_(S, D) |
| Macro version of kSerializer_ReadSize. | |
| #define | kSerializer_ReadSizeArray_(S, D, C) kxSerializer_ReadSizeArray_(S, D, C) |
| Macro version of kSerializer_ReadSizeArray. | |
| #define | kSerializer_WriteSSize_(S, D) kxSerializer_WriteSSize_(S, D) |
| Macro version of kSerializer_WriteSSize. | |
| #define | kSerializer_WriteSSizeArray_(S, D, C) kxSerializer_WriteSSizeArray_(S, D, C) |
| Macro version of kSerializer_WriteSSizeArray. | |
| #define | kSerializer_ReadSSize_(S, D) kxSerializer_ReadSSize_(S, D) |
| Macro version of kSerializer_ReadSSize. | |
| #define | kSerializer_ReadSSizeArray_(S, D, C) kxSerializer_ReadSSizeArray_(S, D, C) |
| Macro version of kSerializer_ReadSSizeArray. | |
| #define | kSerializer_WriteType_(S, T, V) kxSerializer_WriteType_(S, T, V) |
| Macro version of kSerializer_WriteType. | |
| #define | kSerializer_ReadType_(S, T, V) kxSerializer_ReadType_(S, T, V) |
| Macro version of kSerializer_ReadType. | |
| #define | kSerializer_WriteItems_(S, T, V, I, C) kxSerializer_WriteItems_(S, T, V, I, C) |
| Macro version of kSerializer_WriteItems. | |
| #define | kSerializer_ReadItems_(S, T, V, I, C) kxSerializer_ReadItems_(S, T, V, I, C) |
| Macro version of kSerializer_ReadItems. | |
| #define | kSerializer_BeginWrite_(S, T, I) kxSerializer_BeginWrite_(S, T, I) |
| Macro version of kSerializer_BeginWrite. | |
| #define | kSerializer_EndWrite_(S) kxSerializer_EndWrite_(S) |
| Macro version of kSerializer_EndWrite. | |
| #define | kSerializer_BeginRead_(S, T, I) kxSerializer_BeginRead_(S, T, I) |
| Macro version of kSerializer_BeginRead. | |
| #define | kSerializer_EndRead_(S) kxSerializer_EndRead_(S) |
| Macro version of kSerializer_EndRead. | |
| #define | kSerializer_ReadCompleted_(S) kxSerializer_ReadCompleted_(S) |
| Macro version of kSerializer_ReadCompleted. | |
| #define | kSerializer_AdvanceRead_(S, O) kxSerializer_AdvanceRead_(S, O) |
| Macro version of kSerializer_AdvanceRead. | |
| #define | kSerializer_Flush_(S) kxSerializer_Flush_(S) |
| Macro version of kSerializer_Flush. | |
| #define | kSerializer_Reset_(S) kxSerializer_Reset_(S) |
| Macro version of kSerializer_Reset. | |
| #define | kSerializer_Stream_(S) kxSerializer_Stream_(S) |
| Macro version of kSerializer_Stream. | |
Related inherited from kObject | |
| #define | kObject_Type_(OBJ) kxObject_Type_(OBJ) |
| Macro version of kObject_Type. | |
| #define | kObject_Is_(OBJ, TYPE) kxObject_Is_(OBJ, TYPE) |
| Macro version of kObject_Is. | |
| #define | kObject_Alloc_(OBJ) kxObject_Allocator_(OBJ) |
| Macro version of kObject_Alloc. | |