Libargus API
Libargus Camera API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Public Member Functions | Private Member Functions | Private Attributes
Argus::UniqueObj< T > Class Template Reference

Template helper emulating C++11 rvalue semantics. More...

#include <Types.h>

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

List of all members.

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

Private Member Functions

T * operator-> () const

Private Attributes

T * m_obj

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 465 of file Types.h.


Constructor & Destructor Documentation

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

Definition at line 468 of file Types.h.

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

Definition at line 475 of file Types.h.

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

Definition at line 478 of file Types.h.


Member Function Documentation

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

Definition at line 481 of file Types.h.

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

Definition at line 483 of file Types.h.

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

Definition at line 486 of file Types.h.

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

Definition at line 485 of file Types.h.

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

Definition at line 480 of file Types.h.

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

Definition at line 476 of file Types.h.

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

Definition at line 472 of file Types.h.

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

Definition at line 470 of file Types.h.


Member Data Documentation

template<typename T>
T* Argus::UniqueObj< T >::m_obj
private

Definition at line 489 of file Types.h.


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