A type of ESerializer suitable for serialization and deserialization to and from memory buffers. More...
#include <eVision/Easy/EMemorySerializer.h>
Public Member Functions | |
| EMemorySerializer (eVision::ESerializerMode mode) | |
| Initializes an EMemorySerializer object in read or write mode. | |
| EMemorySerializer (eVision::ESerializerMode mode, const std::vector< uint8_t > &bytes) | |
| Initializes an EMemorySerializer object in read or write mode. | |
| EMemorySerializer (eVision::ESerializerMode mode, void *externalBuffer, uint32_t externalBufferSize) | |
| Initializes an EMemorySerializer object in read or write mode. | |
| virtual | ~EMemorySerializer () throw () |
| virtual eVision::ESerializerMode | GetMode () const |
| The current mode of the serializer. | |
| void | SetMode (eVision::ESerializerMode mode) |
| Sets the current mode of the EMemorySerializer. | |
| virtual void | Close () |
| This method has no effect in EMemorySerializer::EMemorySerializer. | |
| virtual bool | GetClosed () const |
| Always false in EMemorySerializer::EMemorySerializer. | |
| const void * | GetBuffer () const |
| Address of the internal buffer. | |
| uint32_t | GetBufferSize () const |
| Size of the internal buffer. | |
| std::vector< uint8_t > | GetBufferAsVector () const |
| The internal buffer as a vector of bytes. | |
| uint32_t | GetCurrentPosition () |
| Current position in the buffer. | |
| void | SetCurrentPosition (uint32_t currentPosition) |
| Current position in the buffer. | |
| EMemorySerializer (CppWrapperInternal::InternalConstructor) | |
| Public Member Functions inherited from eVision::ESerializer | |
| virtual | ~ESerializer () throw () |
| virtual bool | GetWriting () const |
| Returns true if the ESerializer object has been created for writing and false otherwise. | |
| ESerializer (CppWrapperInternal::InternalConstructor) | |
Additional Inherited Members | |
| Static Public Member Functions inherited from eVision::ESerializer | |
| static std::unique_ptr< eVision::ESerializer > | CreateFileWriter (const std::string &filePath, eVision::ESerializerFileWriterMode mode) |
| Returns an ESerializer object suitable for opening a file and writing into it. | |
| static std::unique_ptr< eVision::ESerializer > | CreateFileWriter (const std::string &filePath) |
| Returns an ESerializer object suitable for opening a file and writing into it. | |
| static std::unique_ptr< eVision::ESerializer > | CreateFileReader (const std::string &filePath) |
| Returns an ESerializer object suitable for reading from a file. | |
| static std::unique_ptr< eVision::ESerializer > | CreateMemoryWriter () |
| Returns an ESerializer object suitable for serializing into a buffer. | |
| static std::unique_ptr< eVision::ESerializer > | CreateMemoryWriter (uint32_t initialBufferSize) |
| Returns an ESerializer object suitable for serializing into a buffer. | |
| static std::unique_ptr< eVision::ESerializer > | CreateMemoryWriter (void *buffer, uint32_t size) |
| Returns an ESerializer object suitable for serializing into a buffer. | |
| static std::unique_ptr< eVision::ESerializer > | CreateMemoryReader (void *buffer, uint32_t size) |
| Returns an ESerializer object suitable for reading from a buffer. | |
| static std::unique_ptr< eVision::ESerializer > | CreateMemoryReader (const std::vector< uint8_t > &bytes) |
| Returns an ESerializer object suitable for reading from a buffer. | |
| static std::unique_ptr< eVision::ESerializer > | CreateCallbackWriter (void *isEOS, void *setCurrentPos, void *getCurrentPos, void *serializeMemory, void *close, void *cookie) |
| static std::unique_ptr< eVision::ESerializer > | CreateCallbackReader (void *isEOS, void *setCurrentPos, void *getCurrentPos, void *serializeMemory, void *close, void *cookie) |
| Public Attributes inherited from eVision::ESerializer | |
| CppWrapperInternal::WrappedClass | wrappedClass_ |
A type of ESerializer suitable for serialization and deserialization to and from memory buffers.
License(s): None
| eVision::EMemorySerializer::EMemorySerializer | ( | eVision::ESerializerMode | mode | ) |
Initializes an EMemorySerializer object in read or write mode.
| mode | The serializer mode, read or write. |
In read mode:
A buffer should be provided, either using a vector of bytes or an external buffer, in order to read the bytes from it.
In write mode:
If an external buffer is not provided, a internal buffer will be automatically created. In the case where an internal buffer is used that buffer will automatically be resized as needed during serialization operations.
| eVision::EMemorySerializer::EMemorySerializer | ( | eVision::ESerializerMode | mode, |
| const std::vector< uint8_t > & | bytes ) |
Initializes an EMemorySerializer object in read or write mode.
| mode | The serializer mode, read or write. |
| bytes | A vector containing bytes to read. Can only be used in read mode. |
Those bytes will be copied into EMemorySerializer's internal buffer.
In read mode:
A buffer should be provided, either using a vector of bytes or an external buffer, in order to read the bytes from it.
In write mode:
If an external buffer is not provided, a internal buffer will be automatically created. In the case where an internal buffer is used that buffer will automatically be resized as needed during serialization operations.
| eVision::EMemorySerializer::EMemorySerializer | ( | eVision::ESerializerMode | mode, |
| void * | externalBuffer, | ||
| uint32_t | externalBufferSize ) |
Initializes an EMemorySerializer object in read or write mode.
| mode | The serializer mode, read or write. |
| externalBuffer | Address of an external buffer to be used by the memory serializer. |
Can be used in both read and write mode. When using an external buffer that buffer is not managed by EMemorySerializer. It is the responsability of the user to ensure this buffer is available during read and write operations.
| externalBufferSize | Must be specified if the buffer parameter is used. Size of the external memory buffer. |
In read mode:
A buffer should be provided, either using a vector of bytes or an external buffer, in order to read the bytes from it.
In write mode:
If an external buffer is not provided, a internal buffer will be automatically created. In the case where an internal buffer is used that buffer will automatically be resized as needed during serialization operations.
|
virtual | ||||||||||||
| eVision::EMemorySerializer::EMemorySerializer | ( | CppWrapperInternal::InternalConstructor | ) |
|
virtual |
This method has no effect in EMemorySerializer::EMemorySerializer.
Reimplemented from eVision::ESerializer.
| const void * eVision::EMemorySerializer::GetBuffer | ( | ) | const |
Address of the internal buffer.
| std::vector< uint8_t > eVision::EMemorySerializer::GetBufferAsVector | ( | ) | const |
The internal buffer as a vector of bytes.
| uint32_t eVision::EMemorySerializer::GetBufferSize | ( | ) | const |
Size of the internal buffer.
|
virtual |
Always false in EMemorySerializer::EMemorySerializer.
Implements eVision::ESerializer.
| uint32_t eVision::EMemorySerializer::GetCurrentPosition | ( | ) |
Current position in the buffer.
|
virtual |
The current mode of the serializer.
Implements eVision::ESerializer.
| void eVision::EMemorySerializer::SetCurrentPosition | ( | uint32_t | currentPosition | ) |
Current position in the buffer.
| void eVision::EMemorySerializer::SetMode | ( | eVision::ESerializerMode | mode | ) |
Sets the current mode of the EMemorySerializer.
Calling this method also resets the position of the cursor in the serializer.
| mode | The mode |