NVIDIA NvNeural SDK
2022.2
GPU inference framework for NVIDIA Nsight Deep Learning Designer
|
Parameterized base class implementing common IRefObject operations. More...
#include <nvneural/RefObject.h>
Public Member Functions | |
IRefObject::RefCount | addRef () const noexcept |
Increment the object's reference count. More... | |
const void * | queryInterface (IRefObject::TypeId interfaceId) const noexcept |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
void * | queryInterface (IRefObject::TypeId interfaceId) noexcept |
Retrieves a new object interface pointer. More... | |
RefObjectBase () | |
Default constructor. Logs object creation. | |
IRefObject::RefCount | release () const noexcept |
Decrements the object's reference count and destroys the object if the reference count reaches zero. More... | |
Parameterized base class implementing common IRefObject operations.
Deriving from this base class is not required for ABI compatibility with IRefObject, but it is highly encouraged. Feel free to diverge if you need custom behavior (e.g., private inheritance) or other traits not provided in this version of the framework.
This class inherits publicly from all types referenced in Implements<>.
This class is thread-safe. Operations affecting the reference count are implemented using atomics.
Example 1: Simple object implementing ILibraryContext
Example 2: Simple object implementing ILibraryContext and IApiVersionQuery
Example 3: Linear blend layer indirectly implementing ILayer by using the BaseLayer helper class
ParameterList | List of Implements<T> and IndirectlyImplements<T,U> helper classes. |
|
inlinenoexcept |
Increment the object's reference count.
|
inlinenoexcept |
Retrieves a new object interface pointer.
interfaceId | TypeId of the interface to convert to. |
|
inlinenoexcept |
Decrements the object's reference count and destroys the object if the reference count reaches zero.