TensorRT 8.6.1
nvinfer1::IPluginCreator Class Referenceabstract

Plugin creator class for user implemented layers. More...

#include <NvInferRuntimePlugin.h>

Inheritance diagram for nvinfer1::IPluginCreator:
nvinfer1::consistency::IPluginChecker

Public Member Functions

virtual int32_t getTensorRTVersion () const noexcept
 Return the version of the API the plugin creator was compiled with. More...
 
virtual AsciiChar const * getPluginName () const noexcept=0
 Return the plugin name. More...
 
virtual AsciiChar const * getPluginVersion () const noexcept=0
 Return the plugin version. More...
 
virtual PluginFieldCollection const * getFieldNames () noexcept=0
 Return a list of fields that needs to be passed to createPlugin. More...
 
virtual IPluginV2createPlugin (AsciiChar const *name, PluginFieldCollection const *fc) noexcept=0
 Return a plugin object. Return nullptr in case of error. More...
 
virtual IPluginV2deserializePlugin (AsciiChar const *name, void const *serialData, size_t serialLength) noexcept=0
 Called during deserialization of plugin layer. Return a plugin object. More...
 
virtual void setPluginNamespace (AsciiChar const *pluginNamespace) noexcept=0
 Set the namespace of the plugin creator based on the plugin library it belongs to. This can be set while registering the plugin creator. More...
 
virtual AsciiChar const * getPluginNamespace () const noexcept=0
 Return the namespace of the plugin creator object. More...
 
 IPluginCreator ()=default
 
virtual ~IPluginCreator ()=default
 

Detailed Description

Plugin creator class for user implemented layers.

See also
IPlugin and IPluginFactory

Constructor & Destructor Documentation

◆ IPluginCreator()

nvinfer1::IPluginCreator::IPluginCreator ( )
default

◆ ~IPluginCreator()

virtual nvinfer1::IPluginCreator::~IPluginCreator ( )
virtualdefault

Member Function Documentation

◆ createPlugin()

virtual IPluginV2 * nvinfer1::IPluginCreator::createPlugin ( AsciiChar const *  name,
PluginFieldCollection const *  fc 
)
pure virtualnoexcept

Return a plugin object. Return nullptr in case of error.


Usage considerations

  • Allowed context for the API call
    • Thread-safe: Yes, this method is required to be thread-safe and may be called from multiple threads when building networks on multiple devices sharing the same plugin or when deserializing multiple engines concurrently sharing plugins.

◆ deserializePlugin()

virtual IPluginV2 * nvinfer1::IPluginCreator::deserializePlugin ( AsciiChar const *  name,
void const *  serialData,
size_t  serialLength 
)
pure virtualnoexcept

Called during deserialization of plugin layer. Return a plugin object.


Usage considerations

  • Allowed context for the API call
    • Thread-safe: Yes, this method is required to be thread-safe and may be called from multiple threads when building networks on multiple devices sharing the same plugin or when deserializing multiple engines concurrently sharing plugins.

◆ getFieldNames()

virtual PluginFieldCollection const * nvinfer1::IPluginCreator::getFieldNames ( )
pure virtualnoexcept

Return a list of fields that needs to be passed to createPlugin.

See also
PluginFieldCollection


Usage considerations

  • Allowed context for the API call
    • Thread-safe: Yes, this method is required to be thread-safe and may be called from multiple threads when building networks on multiple devices sharing the same plugin or when deserializing multiple engines concurrently sharing plugins.

◆ getPluginName()

virtual AsciiChar const * nvinfer1::IPluginCreator::getPluginName ( ) const
pure virtualnoexcept

Return the plugin name.

Warning
The string returned must be 1024 bytes or less including the NULL terminator and must be NULL terminated.


Usage considerations

  • Allowed context for the API call
    • Thread-safe: Yes, this method is required to be thread-safe and may be called from multiple threads when building networks on multiple devices sharing the same plugin or when deserializing multiple engines concurrently sharing plugins.

◆ getPluginNamespace()

virtual AsciiChar const * nvinfer1::IPluginCreator::getPluginNamespace ( ) const
pure virtualnoexcept

Return the namespace of the plugin creator object.

Warning
The string returned must be 1024 bytes or less including the NULL terminator and must be NULL terminated.


Usage considerations

  • Allowed context for the API call
    • Thread-safe: Yes, this method is required to be thread-safe and may be called from multiple threads when building networks on multiple devices sharing the same plugin or when deserializing multiple engines concurrently sharing plugins.

◆ getPluginVersion()

virtual AsciiChar const * nvinfer1::IPluginCreator::getPluginVersion ( ) const
pure virtualnoexcept

Return the plugin version.

Warning
The string returned must be 1024 bytes or less including the NULL terminator and must be NULL terminated.


Usage considerations

  • Allowed context for the API call
    • Thread-safe: Yes, this method is required to be thread-safe and may be called from multiple threads when building networks on multiple devices sharing the same plugin or when deserializing multiple engines concurrently sharing plugins.

◆ getTensorRTVersion()

virtual int32_t nvinfer1::IPluginCreator::getTensorRTVersion ( ) const
inlinevirtualnoexcept

Return the version of the API the plugin creator was compiled with.


Usage considerations

  • Allowed context for the API call
    • Thread-safe: Yes, the implementation provided here is safe to call from any thread.

◆ setPluginNamespace()

virtual void nvinfer1::IPluginCreator::setPluginNamespace ( AsciiChar const *  pluginNamespace)
pure virtualnoexcept

Set the namespace of the plugin creator based on the plugin library it belongs to. This can be set while registering the plugin creator.

See also
IPluginRegistry::registerCreator()


Usage considerations

  • Allowed context for the API call
    • Thread-safe: Yes, this method is required to be thread-safe and may be called from multiple threads when building networks on multiple devices sharing the same plugin or when deserializing multiple engines concurrently sharing plugins.

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