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;                                                                                       \
}