#include <Sequence_T.h>
Collaboration diagram for TAO_Pseudo_Object_Manager< T >:
Public Types | |
typedef T::_var_type | T_var_type |
Workaround for MSVC 6. | |
Public Member Functions | |
TAO_Pseudo_Object_Manager (const TAO_Pseudo_Object_Manager< T > &rhs) | |
TAO_Pseudo_Object_Manager (T **, CORBA::Boolean release) | |
~TAO_Pseudo_Object_Manager (void) | |
Destructor, only releases the object if <release_> is true. | |
TAO_Pseudo_Object_Manager< T > & | operator= (const TAO_Pseudo_Object_Manager< T > &rhs) |
TAO_Pseudo_Object_Manager< T > & | operator= (T *) |
Assignment from T *. | |
TAO_Pseudo_Object_Manager< T > & | operator= (const T_var_type &) |
Assignment from T_var. | |
T * | operator-> (void) const |
Return pointer. | |
operator const T * () const | |
Cast (read-only). | |
operator T *& () | |
Cast. | |
T * | in (void) const |
for in parameter. | |
T *& | inout (void) |
for inout parameter. | |
T *& | out (void) |
for out parameter. | |
T * | _retn (void) |
for return type | |
Private Attributes | |
T ** | ptr_ |
CORBA::Boolean | release_ |
release flag based on parent's flag | |
Friends | |
class | TAO_Unbounded_Pseudo_Sequence< T > |
typedef T::_var_type TAO_Pseudo_Object_Manager< T >::T_var_type |
Workaround for MSVC 6.
ACE_INLINE TAO_Pseudo_Object_Manager< T >::TAO_Pseudo_Object_Manager | ( | const TAO_Pseudo_Object_Manager< T > & | rhs | ) |
Copy constructor, the semantics are non-trivial: + The referenced element is duplicated or not according to the release value on the <rhs>. + In any case a new reference to the same object is created.
ACE_INLINE TAO_Pseudo_Object_Manager< T >::TAO_Pseudo_Object_Manager | ( | T ** | , | |
CORBA::Boolean | release | |||
) |
Constructor from address of an element, it should be private and only TAO_*_Object_Sequence would use it, but we have some problems with friendship and templates.
ACE_INLINE TAO_Pseudo_Object_Manager< T >::~TAO_Pseudo_Object_Manager | ( | void | ) |
Destructor, only releases the object if <release_> is true.
ACE_INLINE T * TAO_Pseudo_Object_Manager< T >::_retn | ( | void | ) |
for return type
ACE_INLINE T * TAO_Pseudo_Object_Manager< T >::in | ( | void | ) | const |
for in parameter.
ACE_INLINE T *& TAO_Pseudo_Object_Manager< T >::inout | ( | void | ) |
for inout parameter.
ACE_INLINE TAO_Pseudo_Object_Manager< T >::operator const T * | ( | ) | const |
Cast (read-only).
ACE_INLINE TAO_Pseudo_Object_Manager< T >::operator T *& | ( | ) |
Cast.
ACE_INLINE T * TAO_Pseudo_Object_Manager< T >::operator-> | ( | void | ) | const |
Return pointer.
TAO_Pseudo_Object_Manager< T > & TAO_Pseudo_Object_Manager< T >::operator= | ( | const T_var_type & | ) |
Assignment from T_var.
TAO_Pseudo_Object_Manager< T > & TAO_Pseudo_Object_Manager< T >::operator= | ( | T * | ) |
Assignment from T *.
TAO_Pseudo_Object_Manager< T > & TAO_Pseudo_Object_Manager< T >::operator= | ( | const TAO_Pseudo_Object_Manager< T > & | rhs | ) |
Assignment from another managed type, only release if <this->release_> is true. @ TODO what happens if rhs.release_ is true an this->relase_ is false?
ACE_INLINE T *& TAO_Pseudo_Object_Manager< T >::out | ( | void | ) |
for out parameter.
friend class TAO_Unbounded_Pseudo_Sequence< T > [friend] |
T** TAO_Pseudo_Object_Manager< T >::ptr_ [private] |
data member, notice that it is a pointer, to implement the reference behavior for assignment.
CORBA::Boolean TAO_Pseudo_Object_Manager< T >::release_ [private] |
release flag based on parent's flag