Jetson Linux API Reference

32.7.1 Release
Argus::UniqueObj< T > Class Template Reference

Detailed Description

template<typename T>
class Argus::UniqueObj< T >

Template helper emulating C++11 rvalue semantics.

Movable smart pointer mimicking std::unique_ptr.

Definition at line 441 of file Types.h.

Inheritance diagram for Argus::UniqueObj< T >:
Collaboration diagram for Argus::UniqueObj< T >:

Public Member Functions

 UniqueObj (T *obj=NULL)
 
void reset (T *obj=NULL)
 
T * release ()
 
 UniqueObj (rv< UniqueObj > &moved)
 
UniqueObjoperator= (rv< UniqueObj > &moved)
 
 ~UniqueObj ()
 
T & operator* () const
 
T * get () const
 
 operator bool () const
 
 operator rv< UniqueObj > & ()
 
 operator const rv< UniqueObj > & () const
 

Constructor & Destructor Documentation

◆ UniqueObj() [1/2]

template<typename T >
Argus::UniqueObj< T >::UniqueObj ( T *  obj = NULL)
inlineexplicit

Definition at line 444 of file Types.h.

◆ UniqueObj() [2/2]

template<typename T >
Argus::UniqueObj< T >::UniqueObj ( rv< UniqueObj< T > > &  moved)
inline

Definition at line 451 of file Types.h.

◆ ~UniqueObj()

template<typename T >
Argus::UniqueObj< T >::~UniqueObj ( )
inline

Definition at line 454 of file Types.h.

References Argus::UniqueObj< T >::reset().

Member Function Documentation

◆ get()

template<typename T >
T* Argus::UniqueObj< T >::get ( ) const
inline

Definition at line 457 of file Types.h.

Referenced by Argus::interface_cast().

◆ operator bool()

template<typename T >
Argus::UniqueObj< T >::operator bool ( ) const
inline

Definition at line 459 of file Types.h.

◆ operator const rv< UniqueObj > &()

template<typename T >
Argus::UniqueObj< T >::operator const rv< UniqueObj > & ( ) const
inline

Definition at line 462 of file Types.h.

◆ operator rv< UniqueObj > &()

template<typename T >
Argus::UniqueObj< T >::operator rv< UniqueObj > & ( )
inline

Definition at line 461 of file Types.h.

◆ operator*()

template<typename T >
T& Argus::UniqueObj< T >::operator* ( ) const
inline

Definition at line 456 of file Types.h.

◆ operator=()

template<typename T >
UniqueObj& Argus::UniqueObj< T >::operator= ( rv< UniqueObj< T > > &  moved)
inline

Definition at line 452 of file Types.h.

References Argus::UniqueObj< T >::reset().

◆ release()

template<typename T >
T* Argus::UniqueObj< T >::release ( )
inline

Definition at line 448 of file Types.h.

◆ reset()

template<typename T >
void Argus::UniqueObj< T >::reset ( T *  obj = NULL)
inline

Definition at line 446 of file Types.h.

Referenced by Argus::UniqueObj< T >::operator=(), and Argus::UniqueObj< T >::~UniqueObj().


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