# deSerialize

assign the type instance the serilaized value

          typedef void* TypeInstanceID;

            void deSerialize
            const char* buffer
            int bufferLen
            TypeInstanceID instance

## Arguments

`instance`

  The value of this type instance will be changed to the one of the `buffer`.

`buffer`

  This is a pointer to an buffer of size `bufferLen`. The buffer holds the value that is assigned to the `instance` type object. The buffer will not be changed.

`bufferLen`

  This is the size of the `buffer` in bytes.

## Description

The function `deSerialize` gets a `buffer` with a serialized value of the type and a instance of the same type. After calling this function the value of type instance is changed to the one in the serialized buffer. The caller must ensure that the value in the `buffer`, the `instance` typeobject and the `deSerialize` function have the same type.

This function is optional. A type plugin that provides (de)serialisation functionality must also implement the inverse function `serialize`.