18#ifndef NV_INFER_PLUGIN_BASE_H
19#define NV_INFER_PLUGIN_BASE_H
21#if !defined(NV_INFER_INTERNAL_INCLUDE)
22static_assert(
false,
"Do not directly include this file. Include NvInferRuntime.h or NvInferPluginUtils.h");
25#define NV_INFER_INTERNAL_INCLUDE 1
27#undef NV_INFER_INTERNAL_INCLUDE
An Interface class for version control.
Definition: NvInferRuntimeBase.h:260
Version information associated with a TRT interface.
Definition: NvInferRuntimeBase.h:225
Structure containing plugin attribute field names and associated data This information can be parsed ...
Definition: NvInferPluginBase.h:74
AsciiChar const * name
Plugin field attribute name.
Definition: NvInferPluginBase.h:77
PluginField(AsciiChar const *const name_=nullptr, void const *const data_=nullptr, PluginFieldType const type_=PluginFieldType::kUNKNOWN, int32_t const length_=0) noexcept
Definition: NvInferPluginBase.h:85
void const * data
Plugin field attribute data.
Definition: NvInferPluginBase.h:79
int32_t length
Number of data entries in the Plugin attribute.
Definition: NvInferPluginBase.h:83
PluginFieldType type
Plugin field attribute type.
Definition: NvInferPluginBase.h:81
Definition: NvInferPluginBase.h:139
Definition: NvInferPluginBase.h:191
~IPluginCreatorInterface() noexcept override=default
Definition: NvInferPluginBase.h:143
virtual IPluginResource * clone() noexcept=0
Clone the resource object.
virtual int32_t release() noexcept=0
Free the underlying resource.
InterfaceInfo getInterfaceInfo() const noexcept override
Return version information associated with this interface. Applications must not override this method...
Definition: NvInferPluginBase.h:148
Definition: NvInferPluginBase.h:204
virtual IPluginV3 * clone() noexcept=0
Clone the plugin object. This copies over internal plugin parameters and returns a new plugin object ...
virtual IPluginCapability * getCapabilityInterface(PluginCapabilityType type) noexcept=0
Return a pointer to plugin object implementing the specified PluginCapabilityType.
InterfaceInfo getInterfaceInfo() const noexcept override
Return version information associated with this interface. Applications must not override this method...
Definition: NvInferPluginBase.h:209
The TensorRT API version 1 namespace.
PluginFieldType
The possible field types for custom layer.
Definition: NvInferPluginBase.h:37
@ kUNKNOWN
Unknown field type.
@ kINT64
INT64 field type.
@ kFLOAT32
FP32 field type.
@ kINT16
INT16 field type.
@ kDIMS
nvinfer1::Dims field type.
@ kFLOAT64
FP64 field type.
@ kFLOAT16
FP16 field type.
@ kINT32
INT32 field type.
PluginCapabilityType
Enumerates the different capability types a IPluginV3 object may have.
Definition: NvInferPluginBase.h:127
@ kBUILD
Build capability. IPluginV3 objects provided to TensorRT build phase must have this.
@ kRUNTIME
Runtime capability. IPluginV3 objects provided to TensorRT build and execution phases must have this.
@ kCORE
Core capability. Every IPluginV3 object must have this.
char_t AsciiChar
Definition: NvInferRuntimeBase.h:105
TensorRTPhase
Indicates a phase of operation of TensorRT.
Definition: NvInferPluginBase.h:114
@ kBUILD
Build phase of TensorRT.
@ kRUNTIME
Execution phase of TensorRT.
Plugin field collection struct.
Definition: NvInferPluginBase.h:101
PluginField const * fields
Pointer to PluginField entries.
Definition: NvInferPluginBase.h:105
int32_t nbFields
Number of PluginField entries.
Definition: NvInferPluginBase.h:103