Zen API
 All Classes Files Functions Variables Typedefs Friends Macros Modules Pages
kSerializer Class Reference

Description

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.

Inheritance diagram for kSerializer:
Inheritance graph

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.
 

The documentation for this class was generated from the following file: