#include <Auto_Functor.h>
Collaboration diagram for ACE_Utils::Auto_Functor< X, Functor >:

Public Types | |
| typedef X | element_type |
| typedef Functor | functor_type |
Public Member Functions | |
| Auto_Functor (X *p=0, Functor functor=Functor()) | |
| Constructor. | |
| Auto_Functor (Auto_Functor &rhs) | |
| Auto_Functor< X, Functor > & | operator= (Auto_Functor &rhs) |
| template<typename Y> | |
| Auto_Functor (Auto_Functor< Y, Functor > &rhs) | |
| template<typename Y> | |
| Auto_Functor< X, Functor > & | operator= (Auto_Functor< Y, Functor > &rhs) |
| ~Auto_Functor () | |
| X & | operator * () const |
| X * | operator-> () const |
| X * | get () |
| X * | release () |
| void | reset (X *p=0) |
| void | reset (X *p, Functor f) |
| Functor const & | functor () const |
| Auto_Functor (Auto_Functor_Ref< X, Functor > rhs) | |
| Auto_Functor< X, Functor > & | operator= (Auto_Functor_Ref< X, Functor > rhs) |
| template<typename Y> | |
| operator Auto_Functor_Ref () | |
| template<typename Y> | |
| operator Auto_Functor () | |
Private Attributes | |
| X * | p_ |
| Functor | f_ |
The functor is called in the destructor, and it must implement:
Functor() throw();
Functor(Functor const &) throw();
Functor & operator=(Functor const &) throw();
void operator()(X * p) throw();
Definition at line 58 of file Auto_Functor.h.
| typedef X ACE_Utils::Auto_Functor< X, Functor >::element_type |
Definition at line 61 of file Auto_Functor.h.
| typedef Functor ACE_Utils::Auto_Functor< X, Functor >::functor_type |
Definition at line 62 of file Auto_Functor.h.
| ACE_INLINE ACE_Utils::Auto_Functor< X, Functor >::Auto_Functor | ( | X * | p = 0, |
|
| Functor | functor = Functor() | |||
| ) | [explicit] |
| ACE_INLINE ACE_Utils::Auto_Functor< X, Functor >::Auto_Functor | ( | Auto_Functor< X, Functor > & | rhs | ) |
| ACE_INLINE ACE_Utils::Auto_Functor< X, Functor >::Auto_Functor | ( | Auto_Functor< Y, Functor > & | rhs | ) |
| ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_Utils::Auto_Functor< X, Functor >::~Auto_Functor | ( | ) |
Definition at line 15 of file Auto_Functor.cpp.
References ACE_Utils::Auto_Functor< X, Functor >::reset().
00016 { 00017 reset(0); 00018 }
| ACE_INLINE ACE_Utils::Auto_Functor< X, Functor >::Auto_Functor | ( | Auto_Functor_Ref< X, Functor > | rhs | ) |
| ACE_INLINE Functor const & ACE_Utils::Auto_Functor< X, Functor >::functor | ( | ) | const |
Definition at line 86 of file Auto_Functor.inl.
References ACE_Utils::Auto_Functor< X, Functor >::f_.
00087 { 00088 return f_; 00089 }
| ACE_INLINE X * ACE_Utils::Auto_Functor< X, Functor >::get | ( | ) |
Definition at line 70 of file Auto_Functor.inl.
References ACE_Utils::Auto_Functor< X, Functor >::p_.
00071 { 00072 return p_; 00073 }
| ACE_INLINE X & ACE_Utils::Auto_Functor< X, Functor >::operator * | ( | ) | const |
Definition at line 56 of file Auto_Functor.inl.
References ACE_Utils::Auto_Functor< X, Functor >::p_.
00057 { 00058 return *p_; 00059 }
| ACE_Utils::Auto_Functor< X, Functor >::operator Auto_Functor | ( | ) |
| ACE_Utils::Auto_Functor< X, Functor >::operator Auto_Functor_Ref | ( | ) |
| ACE_INLINE X * ACE_Utils::Auto_Functor< X, Functor >::operator-> | ( | ) | const |
Definition at line 63 of file Auto_Functor.inl.
References ACE_Utils::Auto_Functor< X, Functor >::p_.
00064 { 00065 return p_; 00066 }
| ACE_INLINE ACE_Utils::Auto_Functor< X, Functor > & ACE_Utils::Auto_Functor< X, Functor >::operator= | ( | Auto_Functor_Ref< X, Functor > | rhs | ) |
Definition at line 100 of file Auto_Functor.inl.
References ACE_Utils::Auto_Functor_Ref< X, Functor >::f_, ACE_Utils::Auto_Functor< X, Functor >::f_, ACE_Utils::Auto_Functor< X, Functor >::p_, ACE_Utils::Auto_Functor_Ref< X, Functor >::p_, and ACE_Utils::Auto_Functor< X, Functor >::reset().
00101 { 00102 if(rhs.p_ != p_) 00103 { 00104 reset(rhs.p_); 00105 f_ = rhs.f_; 00106 } 00107 return *this; 00108 }
| ACE_INLINE ACE_Utils::Auto_Functor< X, Functor > & ACE_Utils::Auto_Functor< X, Functor >::operator= | ( | Auto_Functor< Y, Functor > & | rhs | ) |
Definition at line 48 of file Auto_Functor.inl.
References ACE_Utils::Auto_Functor< X, Functor >::release(), and ACE_Utils::Auto_Functor< X, Functor >::reset().
00049 { 00050 reset(rhs.release()); 00051 return *this; 00052 }
| ACE_INLINE ACE_Utils::Auto_Functor< X, Functor > & ACE_Utils::Auto_Functor< X, Functor >::operator= | ( | Auto_Functor< X, Functor > & | rhs | ) |
Definition at line 31 of file Auto_Functor.inl.
References ACE_Utils::Auto_Functor< X, Functor >::f_, ACE_Utils::Auto_Functor< X, Functor >::release(), and ACE_Utils::Auto_Functor< X, Functor >::reset().
| ACE_INLINE X * ACE_Utils::Auto_Functor< X, Functor >::release | ( | ) |
Definition at line 77 of file Auto_Functor.inl.
References ACE_Utils::Auto_Functor< X, Functor >::p_.
Referenced by ACE_Utils::Auto_Functor< X, Functor >::operator=().
| void ACE_Utils::Auto_Functor< X, Functor >::reset | ( | X * | p, | |
| Functor | f | |||
| ) |
Definition at line 31 of file Auto_Functor.cpp.
References ACE_Utils::Auto_Functor< X, Functor >::f_, and ACE_Utils::Auto_Functor< X, Functor >::reset().
| void ACE_Utils::Auto_Functor< X, Functor >::reset | ( | X * | p = 0 |
) |
Definition at line 21 of file Auto_Functor.cpp.
References ACE_Utils::Auto_Functor< X, Functor >::f_, and ACE_Utils::Auto_Functor< X, Functor >::p_.
Referenced by ACE_Utils::Auto_Functor< X, Functor >::operator=(), ACE_Utils::Auto_Functor< X, Functor >::reset(), and ACE_Utils::Auto_Functor< X, Functor >::~Auto_Functor().
Functor ACE_Utils::Auto_Functor< X, Functor >::f_ [private] |
Definition at line 111 of file Auto_Functor.h.
Referenced by ACE_Utils::Auto_Functor< X, Functor >::functor(), ACE_Utils::Auto_Functor< X, Functor >::operator=(), and ACE_Utils::Auto_Functor< X, Functor >::reset().
X* ACE_Utils::Auto_Functor< X, Functor >::p_ [private] |
Definition at line 109 of file Auto_Functor.h.
Referenced by ACE_Utils::Auto_Functor< X, Functor >::get(), ACE_Utils::Auto_Functor< X, Functor >::operator *(), ACE_Utils::Auto_Functor< X, Functor >::operator->(), ACE_Utils::Auto_Functor< X, Functor >::operator=(), ACE_Utils::Auto_Functor< X, Functor >::release(), and ACE_Utils::Auto_Functor< X, Functor >::reset().
1.4.7