UltraGrid
UltraGrid Low-Latency High-Resolution Transmission System
Loading...
Searching...
No Matches
out_ptr< Smart, Pointer > Class Template Reference

#include <misc.h>

Collaboration diagram for out_ptr< Smart, Pointer >:
Collaboration graph

Public Member Functions

 out_ptr (out_ptr &&)=delete
 
 out_ptr (Smart &out) noexcept
 
 ~out_ptr ()
 
 operator Pointer * () noexcept
 
 operator void ** () noexcept
 
out_ptr & operator= (out_ptr &&)=delete
 

Private Attributes

Pointer ptr = nullptr
 
Smart & smart_ptr
 

Detailed Description

template<class Smart, class Pointer = typename Smart::pointer>
class out_ptr< Smart, Pointer >

Definition at line 94 of file misc.h.

Constructor & Destructor Documentation

◆ out_ptr() [1/2]

template<class Smart , class Pointer = typename Smart::pointer>
out_ptr< Smart, Pointer >::out_ptr ( Smart & out)
inlinenoexcept

Definition at line 96 of file misc.h.

96: smart_ptr(out) { }
Smart & smart_ptr
Definition misc.h:107

◆ ~out_ptr()

template<class Smart , class Pointer = typename Smart::pointer>
out_ptr< Smart, Pointer >::~out_ptr ( )
inline

Definition at line 97 of file misc.h.

97 {
98 smart_ptr.reset(ptr);
99 }
Pointer ptr
Definition misc.h:108

References out_ptr< Smart, Pointer >::ptr, and out_ptr< Smart, Pointer >::smart_ptr.

◆ out_ptr() [2/2]

template<class Smart , class Pointer = typename Smart::pointer>
out_ptr< Smart, Pointer >::out_ptr ( out_ptr< Smart, Pointer > && )
delete

Member Function Documentation

◆ operator Pointer *()

template<class Smart , class Pointer = typename Smart::pointer>
out_ptr< Smart, Pointer >::operator Pointer * ( )
inlinenoexcept

Definition at line 104 of file misc.h.

104{ return &ptr; }

References out_ptr< Smart, Pointer >::ptr.

◆ operator void **()

template<class Smart , class Pointer = typename Smart::pointer>
out_ptr< Smart, Pointer >::operator void ** ( )
inlinenoexcept

Definition at line 105 of file misc.h.

105{ return &ptr; }

References out_ptr< Smart, Pointer >::ptr.

◆ operator=()

template<class Smart , class Pointer = typename Smart::pointer>
out_ptr & out_ptr< Smart, Pointer >::operator= ( out_ptr< Smart, Pointer > && )
delete

Member Data Documentation

◆ ptr

template<class Smart , class Pointer = typename Smart::pointer>
Pointer out_ptr< Smart, Pointer >::ptr = nullptr
private

◆ smart_ptr

template<class Smart , class Pointer = typename Smart::pointer>
Smart& out_ptr< Smart, Pointer >::smart_ptr
private

Definition at line 107 of file misc.h.

Referenced by out_ptr< Smart, Pointer >::~out_ptr().


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