NVIDIA DeepStream SDK API Reference

6.4 Release
obj.hpp File Reference

Go to the source code of this file.

Data Structures

class  ds3d::abiRefCast< From, To >
 
class  ds3d::SharedRefObj< Tp >
 
class  ds3d::CBObjT< Args >
 
class  ds3d::GuardRef< ref, >
 Guard to wrapper all abiRefObj& data. More...
 
class  ds3d::GuardCB< abiCB >
 
class  ds3d::GuardDataT< Tp >
 

Namespaces

 ds3d
 

Macros

#define DS3D_REF_COPY_DESTROY_IMPL(clss)
 

Typedefs

template<class T >
using ds3d::ShrdPtr = std::shared_ptr< T >
 
template<class T >
using ds3d::UniqPtr = std::unique_ptr< T, std::function< void(T *)> >
 
template<class T >
using ds3d::Ptr = ShrdPtr< T >
 
template<typename T >
using ds3d::_EnableIfValidIdType = typename std::enable_if_t< TpId< std::remove_cv_t< T > >::__typeid() >=0, bool >
 
template<typename T , typename... Args>
using ds3d::_IsConstructible = typename std::is_constructible< T, Args... >::value
 
template<typename T , typename... Args>
using ds3d::_EnableIfConstructible = typename std::enable_if< std::is_constructible< T, Args... >::value, bool >::type
 
template<class From , class To >
using ds3d::_Convertible = std::enable_if_t< std::is_convertible< From, To >::value||std::is_constructible< std::remove_reference< To >, std::remove_reference< From > >::value, bool >
 
template<class Base , class Derived >
using ds3d::_EnableIfBaseOf = std::enable_if_t< std::is_base_of< Base, Derived >::value, bool >
 
template<class From , class To >
using ds3d::_PtrConvertible = std::enable_if_t< std::is_convertible< From *, To * >::value||std::is_constructible< std::remove_reference< To * >, std::remove_reference< From * > >::value||std::is_base_of< From, To >::value, bool >
 
using ds3d::RefDataMapObj = SharedRefObj< abiRefDataMap >
 

Functions

template<class T >
void ds3d::DeleteTFunc (T *t)
 
template<class From , class To , class convertType >
To * ds3d::pointerCast (From *a)
 
template<class Tp >
abiRefT< Tp > * ds3d::NewAbiRef (Tp *rawAbiObj)
 
template<class From , class To = From>
SharedRefObj< To > * ds3d::PtrToAbiRef (ShrdPtr< From > &&p)
 
template<class From , class To = From>
ShrdPtr< To > ds3d::AbiRefToPtr (const abiRefT< From > &p)
 

Macro Definition Documentation

◆ DS3D_REF_COPY_DESTROY_IMPL

#define DS3D_REF_COPY_DESTROY_IMPL (   clss)
Value:
void destroy() final { delete this; } \
~clss() override = default; \
abiRefObj* refCopy_i() const final { return new clss(*this); }

Definition at line 21 of file obj.hpp.