Libargus API Libargus Camera API

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

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 >:

List of all members.

## Public Member Functions
| UniqueObj (T *obj=NULL)
void | reset (T *obj=NULL)
T * | release ()
| UniqueObj (rv< UniqueObj > &moved)
UniqueObj & | operator= (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` | ) |
| inline explicit

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:

- include/Argus/Types.h