WinStd
Additional templates and function helpers for Microsoft Windows using Standard C++ classes
Public Member Functions | Protected Attributes | List of all members
winstd::ref_unique_ptr< _Ty[], _Dx > Class Template Reference

Helper class for returning pointers to std::unique_ptr (specialization for arrays) More...

#include <Common.h>

Public Member Functions

 ref_unique_ptr (_Inout_ std::unique_ptr< _Ty[], _Dx > &owner) noexcept
 Takes ownership of the pointer. More...
 
ref_unique_ptroperator= (_Inout_ std::unique_ptr< _Ty[], _Dx > &owner) noexcept
 Takes ownership of the pointer. More...
 
 ref_unique_ptr (_Inout_ ref_unique_ptr< _Ty[], _Dx > &&other)
 Moves object. More...
 
ref_unique_ptroperator= (_Inout_ ref_unique_ptr< _Ty[], _Dx > &&other)
 Moves object. More...
 
virtual ~ref_unique_ptr ()
 Returns ownership of the pointer.
 
 operator typename _Ty ** () noexcept
 Operator for pointer-to-pointer parameters by value use-cases. More...
 
 operator typename _Ty *& ()
 Operator for reverence-to-pointer parameters by value use-cases. More...
 

Protected Attributes

std::unique_ptr< _Ty[], _Dx > & m_own
 Original owner of the pointer.
 
_Ty * m_ptr
 Pointer.
 

Detailed Description

template<class _Ty, class _Dx>
class winstd::ref_unique_ptr< _Ty[], _Dx >

Helper class for returning pointers to std::unique_ptr (specialization for arrays)

Constructor & Destructor Documentation

◆ ref_unique_ptr() [1/2]

template<class _Ty , class _Dx >
winstd::ref_unique_ptr< _Ty[], _Dx >::ref_unique_ptr ( _Inout_ std::unique_ptr< _Ty[], _Dx > &  owner)
inlinenoexcept

Takes ownership of the pointer.

Parameters
[in,out]ownerObject to attach helper to

◆ ref_unique_ptr() [2/2]

template<class _Ty , class _Dx >
winstd::ref_unique_ptr< _Ty[], _Dx >::ref_unique_ptr ( _Inout_ ref_unique_ptr< _Ty[], _Dx > &&  other)
inline

Moves object.

Parameters
[in,out]otherSource object

Member Function Documentation

◆ operator typename _Ty *&()

template<class _Ty , class _Dx >
winstd::ref_unique_ptr< _Ty[], _Dx >::operator typename _Ty *& ( )
inline

Operator for reverence-to-pointer parameters by value use-cases.

Returns
Reference to the pointer

◆ operator typename _Ty **()

template<class _Ty , class _Dx >
winstd::ref_unique_ptr< _Ty[], _Dx >::operator typename _Ty ** ( )
inlinenoexcept

Operator for pointer-to-pointer parameters by value use-cases.

Returns
Pointer to the pointer

◆ operator=() [1/2]

template<class _Ty , class _Dx >
ref_unique_ptr & winstd::ref_unique_ptr< _Ty[], _Dx >::operator= ( _Inout_ ref_unique_ptr< _Ty[], _Dx > &&  other)
inline

Moves object.

Parameters
[in,out]otherSource object
Returns
Reference to this object

◆ operator=() [2/2]

template<class _Ty , class _Dx >
ref_unique_ptr & winstd::ref_unique_ptr< _Ty[], _Dx >::operator= ( _Inout_ std::unique_ptr< _Ty[], _Dx > &  owner)
inlinenoexcept

Takes ownership of the pointer.

Parameters
[in,out]ownerObject to attach helper to
Returns
Reference to this object

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