Main Page Class List Class Members

# sdk/extensions/serialization/source/NvBlastExtSerializationInternal.h File Reference

`#include "NvBlastExtSerialization.h"`
`#include <cstring>`

Go to the source code of this file.

## Classes
class | Nv::Blast::ExtIStream
class | Nv::Blast::ExtSerializationInternal
class | Nv::Blast::ExtSerializer
## Namespaces
namespace | Nv
namespace | Nv::Blast
## Defines
#define | ExtSerializerBoilerplate(_name, _description, _objectTypeID, _encodingID)
#define | ExtSerializerDefaultFactoryAndRelease(_classname)
#define | ExtSerializerReadOnly(_name)
## Functions
template<typename Factory , size_t N>
size_t | Nv::Blast::ExtSerializationLoadSet (Nv::Blast::ExtSerializationInternal &serialization, Factory(&factories)[N])
template<typename T >
NV_INLINE ExtIStream & | Nv::Blast::operator>> (ExtIStream &s, T &x)

## Define Documentation

#define ExtSerializerBoilerplate | ( | _name,
|  | _description,
|  | _objectTypeID,
|  | _encodingID |  | ) |

Value:

    virtual const char* getName() const override { return _name; }                      \
    virtual const char* getDescription() const override { return _description; }        \
    virtual uint32_t    getObjectTypeID() const override { return _objectTypeID; }      \
    virtual uint32_t    getEncodingID() const override { return _encodingID; }

#define ExtSerializerDefaultFactoryAndRelease | ( | _classname |  | ) |

Value:

    static ExtSerializer*   create()                            \
    {                                                           \
        return NVBLAST_NEW(_classname) ();                      \
    }                                                           \
    virtual void release() override                             \
    {                                                           \
        NVBLAST_DELETE(this, _classname);                       \
    }

#define ExtSerializerReadOnly | ( | _name |  | ) |

Value:

    virtual bool        isReadOnly() const override { return true; }                                    \
    virtual uint64_t    serializeIntoBuffer                                                             \
    (                                                                                                   \
        void*& buffer,                                                                                  \
        ExtSerialization::BufferProvider& bufferProvider,                                               \
        const void* object,                                                                             \
        uint64_t offset = 0                                                                             \
    ) override                                                                                          \
    {                                                                                                   \
        NVBLAST_LOG_WARNING(#_name "::serializeIntoBuffer: ExtPxAsset_RAW serializer is read-only.");   \
        NV_UNUSED(buffer);                                                                              \
        NV_UNUSED(bufferProvider);                                                                      \
        NV_UNUSED(object);                                                                              \
        NV_UNUSED(offset);                                                                              \
        return 0;                                                                                       \
    }