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
msclr::auto_handle< _element_type > Class Template Reference

#include <msclr/auto_handle.h>

Public Member Functions

 auto_handle ()
 
 auto_handle (_element_type^_ptr)
 
 auto_handle (auto_handle< _element_type >%_right)
 
template<typename _other_type >
 auto_handle (auto_handle< _other_type >%_right)
 
auto_handle< _element_type > operator= (auto_handle< _element_type >%_right)
 
template<typename _other_type >
auto_handle< _element_type > operator= (auto_handle< _other_type >%_right)
 
_element_type get ()
 
_element_type operator-> ()
 
 operator _detail_class::_safe_bool ()
 
bool operator! ()
 
template<typename _other_type >
 operator auto_handle< _other_type > ()
 
void swap (auto_handle< _element_type >%_right)
 
void reset (_element_type^_new_ptr)
 
void reset ()
 
_element_type release ()
 
 ~auto_handle ()
 

Private Member Functions

bool operator== (_detail_class::_safe_bool)
 
bool operator!= (_detail_class::_safe_bool)
 
bool valid ()
 

Private Attributes

_element_type m_handle
 

Constructor & Destructor Documentation

template<typename _element_type>
msclr::auto_handle< _element_type >::auto_handle ( )
inline
39  : m_handle( nullptr )
40  {
41  }
_element_type m_handle
Definition: auto_handle.h:158
template<typename _element_type>
msclr::auto_handle< _element_type >::auto_handle ( _element_type^  _ptr)
inline
45  : m_handle( _ptr )
46  {
47  }
_element_type m_handle
Definition: auto_handle.h:158
template<typename _element_type>
msclr::auto_handle< _element_type >::auto_handle ( auto_handle< _element_type >%  _right)
inline
51  : m_handle( _right.release() )
52  {
53  }
_element_type m_handle
Definition: auto_handle.h:158
template<typename _element_type>
template<typename _other_type >
msclr::auto_handle< _element_type >::auto_handle ( auto_handle< _other_type >%  _right)
inline
57  : m_handle( _right.release() )
58  {
59  }
_element_type m_handle
Definition: auto_handle.h:158
template<typename _element_type>
msclr::auto_handle< _element_type >::~auto_handle ( )
inline
141  {
142  if( valid() )
143  {
144  delete m_handle;
145  }
146  }
bool valid()
Definition: auto_handle.h:150
_element_type m_handle
Definition: auto_handle.h:158

Member Function Documentation

template<typename _element_type>
_element_type msclr::auto_handle< _element_type >::get ( )
inline
79  {
80  return m_handle;
81  }
_element_type m_handle
Definition: auto_handle.h:158
template<typename _element_type>
msclr::auto_handle< _element_type >::operator _detail_class::_safe_bool ( )
inline
91  {
93  }
static _safe_bool const _safe_false
Definition: safebool.h:39
static _safe_bool const _safe_true
Definition: safebool.h:38
bool valid()
Definition: auto_handle.h:150
template<typename _element_type>
template<typename _other_type >
msclr::auto_handle< _element_type >::operator auto_handle< _other_type > ( )
inline
104  {
105  return auto_handle<_other_type>( *this );
106  }
template<typename _element_type>
bool msclr::auto_handle< _element_type >::operator! ( )
inline
97  {
98  return ! valid();
99  }
bool valid()
Definition: auto_handle.h:150
template<typename _element_type>
bool msclr::auto_handle< _element_type >::operator!= ( _detail_class::_safe_bool  )
private
template<typename _element_type>
_element_type msclr::auto_handle< _element_type >::operator-> ( )
inline
85  {
86  return m_handle;
87  }
_element_type m_handle
Definition: auto_handle.h:158
template<typename _element_type>
auto_handle<_element_type> msclr::auto_handle< _element_type >::operator= ( auto_handle< _element_type >%  _right)
inline
64  {
65  reset( _right.release() );
66  return *this;
67  }
void reset()
Definition: auto_handle.h:127
template<typename _element_type>
template<typename _other_type >
auto_handle<_element_type> msclr::auto_handle< _element_type >::operator= ( auto_handle< _other_type >%  _right)
inline
73  {
74  reset( _right.release() );
75  return *this;
76  }
void reset()
Definition: auto_handle.h:127
template<typename _element_type>
bool msclr::auto_handle< _element_type >::operator== ( _detail_class::_safe_bool  )
private
template<typename _element_type>
_element_type msclr::auto_handle< _element_type >::release ( )
inline
133  {
134  _element_type ^_tmp_ptr = m_handle;
135  m_handle = nullptr;
136  return _tmp_ptr;
137  }
_element_type m_handle
Definition: auto_handle.h:158
template<typename _element_type>
void msclr::auto_handle< _element_type >::reset ( _element_type^  _new_ptr)
inline
116  {
117  if( m_handle != _new_ptr )
118  {
119  if( valid() )
120  {
121  delete m_handle;
122  }
123  m_handle = _new_ptr;
124  }
125  }
bool valid()
Definition: auto_handle.h:150
_element_type m_handle
Definition: auto_handle.h:158
template<typename _element_type>
void msclr::auto_handle< _element_type >::reset ( )
inline
128  {
129  reset(nullptr);
130  }
void reset()
Definition: auto_handle.h:127
template<typename _element_type>
void msclr::auto_handle< _element_type >::swap ( auto_handle< _element_type >%  _right)
inline
109  {
110  auto_handle<_element_type> tmp = _right;
111  _right = *this;
112  *this = tmp;
113  }
template<typename _element_type>
bool msclr::auto_handle< _element_type >::valid ( )
inlineprivate
151  {
152  // see if the managed resource is in the invalid state.
153  return m_handle != nullptr;
154 
155  }
_element_type m_handle
Definition: auto_handle.h:158

Member Data Documentation

template<typename _element_type>
_element_type msclr::auto_handle< _element_type >::m_handle
private

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