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


Constructor & Destructor Documentation

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

Definition at line 407 of file Types.h.

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

Definition at line 414 of file Types.h.

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

Definition at line 417 of file Types.h.


Member Function Documentation

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

Definition at line 420 of file Types.h.

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

Definition at line 422 of file Types.h.

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

Definition at line 425 of file Types.h.

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

Definition at line 424 of file Types.h.

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

Definition at line 419 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 415 of file Types.h.

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

Definition at line 411 of file Types.h.

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

Definition at line 409 of file Types.h.


Member Data Documentation

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

Definition at line 428 of file Types.h.


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