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

## Constructor & Destructor Documentation

template<typename T>

Argus::UniqueObj< T >::UniqueObj | ( | T * | obj = `NULL` | ) |

inline explicit

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:

- include/Argus/Types.h