STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Platform::Details::AgileHelper< T > Class Template Reference

#include <agile.h>

Public Member Functions

 AgileHelper (__abi_IUnknown *p, bool release=true)
 
 AgileHelper (AgileHelper &&other)
 
AgileHelper operator= (AgileHelper &&other)
 
 ~AgileHelper ()
 
 __declspec (no_refcount) __declspec(no_release_return) T^operator->()
 
 __declspec (no_refcount) __declspec(no_release_return) operator T^()
 

Private Member Functions

 AgileHelper (const AgileHelper &)
 
AgileHelper operator= (const AgileHelper &)
 

Private Attributes

__abi_IUnknown * _p
 
bool _release
 

Constructor & Destructor Documentation

template<typename T >
Platform::Details::AgileHelper< T >::AgileHelper ( __abi_IUnknown *  p,
bool  release = true 
)
inline
48  : _p(p), _release(release)
49  {
50  }
bool _release
Definition: agile.h:46
__abi_IUnknown * _p
Definition: agile.h:45
template<typename T >
Platform::Details::AgileHelper< T >::AgileHelper ( AgileHelper< T > &&  other)
inline
51  : _p(other._p), _release(other._release)
52  {
53  _other._p = nullptr;
54  _other._release = true;
55  }
bool _release
Definition: agile.h:46
__abi_IUnknown * _p
Definition: agile.h:45
template<typename T >
Platform::Details::AgileHelper< T >::~AgileHelper ( )
inline
66  {
67  if (_release && _p)
68  {
69  _p->__abi_Release();
70  }
71  }
bool _release
Definition: agile.h:46
__abi_IUnknown * _p
Definition: agile.h:45
template<typename T >
Platform::Details::AgileHelper< T >::AgileHelper ( const AgileHelper< T > &  )
private

Member Function Documentation

template<typename T >
Platform::Details::AgileHelper< T >::__declspec ( no_refcount  ) -> ()
inline
75  {
76  return reinterpret_cast<T^>(_p);
77  }
__abi_IUnknown * _p
Definition: agile.h:45
template<typename T >
Platform::Details::AgileHelper< T >::__declspec ( no_refcount  )
inline
81  {
82  return reinterpret_cast<T^>(_p);
83  }
__abi_IUnknown * _p
Definition: agile.h:45
template<typename T >
AgileHelper Platform::Details::AgileHelper< T >::operator= ( AgileHelper< T > &&  other)
inline
57  {
58  _p = other._p;
59  _release = other._release;
60  _other._p = nullptr;
61  _other._release = true;
62  return *this;
63  }
bool _release
Definition: agile.h:46
__abi_IUnknown * _p
Definition: agile.h:45
template<typename T >
AgileHelper Platform::Details::AgileHelper< T >::operator= ( const AgileHelper< T > &  )
private

Member Data Documentation

template<typename T >
__abi_IUnknown* Platform::Details::AgileHelper< T >::_p
private
template<typename T >
bool Platform::Details::AgileHelper< T >::_release
private

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