TensorRT 10.0.1
nvinfer1::v_1_0::IPluginCreator Class Referenceabstract

#include <NvInferRuntimePlugin.h>

Inheritance diagram for nvinfer1::v_1_0::IPluginCreator:
nvinfer1::v_1_0::IPluginCreatorInterface nvinfer1::IVersionedInterface nvinfer1::consistency::IPluginChecker

Public Member Functions

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 need 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
 
 ~IPluginCreator () override=default
 
InterfaceInfo getInterfaceInfo () const noexcept override
 Return version information associated with this interface. Applications must not override this method. More...
 
- Public Member Functions inherited from nvinfer1::v_1_0::IPluginCreatorInterface
 ~IPluginCreatorInterface () noexcept override=default
 
- Public Member Functions inherited from nvinfer1::IVersionedInterface
virtual APILanguage getAPILanguage () const noexcept
 The language used to build the implementation of this Interface. More...
 
virtual ~IVersionedInterface () noexcept=default
 

Additional Inherited Members

- Protected Member Functions inherited from nvinfer1::v_1_0::IPluginCreatorInterface
 IPluginCreatorInterface ()=default
 
 IPluginCreatorInterface (IPluginCreatorInterface const &)=default
 
 IPluginCreatorInterface (IPluginCreatorInterface &&)=default
 
IPluginCreatorInterfaceoperator= (IPluginCreatorInterface const &) &=default
 
IPluginCreatorInterfaceoperator= (IPluginCreatorInterface &&) &=default
 
- Protected Member Functions inherited from nvinfer1::IVersionedInterface
 IVersionedInterface ()=default
 
 IVersionedInterface (IVersionedInterface const &)=default
 
 IVersionedInterface (IVersionedInterface &&)=default
 
IVersionedInterfaceoperator= (IVersionedInterface const &) &=default
 
IVersionedInterfaceoperator= (IVersionedInterface &&) &=default
 

Constructor & Destructor Documentation

◆ IPluginCreator()

nvinfer1::v_1_0::IPluginCreator::IPluginCreator ( )
default

◆ ~IPluginCreator()

nvinfer1::v_1_0::IPluginCreator::~IPluginCreator ( )
overridedefault

Member Function Documentation

◆ createPlugin()

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

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

Parameters
nameA NULL-terminated name string of length 1024 or less, including the NULL terminator.
fcA pointer to a collection of fields needed for constructing the plugin.


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::v_1_0::IPluginCreator::deserializePlugin ( AsciiChar const *  name,
void const *  serialData,
size_t  serialLength 
)
pure virtualnoexcept

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

Parameters
nameA NULL-terminated name string of length 1024 or less, including the NULL terminator.
serialDataThe start address of a byte array with the serialized plugin representation.
serialLengthThe length in bytes of the byte array with the serialized plugin representation.
Returns
A deserialized 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::v_1_0::IPluginCreator::getFieldNames ( )
pure virtualnoexcept

Return a list of fields that need 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.

◆ getInterfaceInfo()

InterfaceInfo nvinfer1::v_1_0::IPluginCreator::getInterfaceInfo ( ) const
inlineoverridevirtualnoexcept

Return version information associated with this interface. Applications must not override this method.

Implements nvinfer1::IVersionedInterface.

◆ getPluginName()

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

Return the plugin name.

Warning
The string returned must be NULL-terminated and have a length of 1024 bytes or less including the NULL terminator.


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::v_1_0::IPluginCreator::getPluginNamespace ( ) const
pure virtualnoexcept

Return the namespace of the plugin creator object.

Warning
The string returned must be NULL-terminated and have a length of 1024 bytes or less including the NULL terminator.


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::v_1_0::IPluginCreator::getPluginVersion ( ) const
pure virtualnoexcept

Return the plugin version.

Warning
The string returned must be NULL-terminated and have a length of 1024 bytes or less including the NULL terminator.


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.

◆ setPluginNamespace()

virtual void nvinfer1::v_1_0::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.

Parameters
pluginNamespaceA NULL-terminated namespace string of length 1024 or less, including the NULL terminator
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:

  Copyright © 2024 NVIDIA Corporation
  Privacy Policy | Manage My Privacy | Do Not Sell or Share My Data | Terms of Service | Accessibility | Corporate Policies | Product Security | Contact