Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

TAO_Pseudo_Object_Manager< T > Class Template Reference

Manager for Pseudo Objects. More...

#include <Sequence_T.h>

Collaboration diagram for TAO_Pseudo_Object_Manager< T >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef T::_var_type T_var_type
 Workaround for MSVC 6.


Public Methods

 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 >

Detailed Description

template<typename T>
class TAO_Pseudo_Object_Manager< T >

Manager for Pseudo Objects.


Member Typedef Documentation

template<typename T>
typedef T::_var_type TAO_Pseudo_Object_Manager< T >::T_var_type
 

Workaround for MSVC 6.


Constructor & Destructor Documentation

template<typename T>
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.

template<typename T>
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.

template<typename T>
ACE_INLINE TAO_Pseudo_Object_Manager< T >::~TAO_Pseudo_Object_Manager (  void    ) 
 

Destructor, only releases the object if <release_> is true.


Member Function Documentation

template<typename T>
ACE_INLINE T * TAO_Pseudo_Object_Manager< T >::_retn (  void    ) 
 

for return type

template<typename T>
ACE_INLINE T * TAO_Pseudo_Object_Manager< T >::in (  void    )  const
 

for in parameter.

template<typename T>
ACE_INLINE T *& TAO_Pseudo_Object_Manager< T >::inout (  void    ) 
 

for inout parameter.

template<typename T>
ACE_INLINE TAO_Pseudo_Object_Manager< T >::operator const T * (    ) 
 

Cast (read-only).

template<typename T>
ACE_INLINE TAO_Pseudo_Object_Manager< T >::operator T *& (    ) 
 

Cast.

template<typename T>
ACE_INLINE T * TAO_Pseudo_Object_Manager< T >::operator-> (  void    )  const
 

Return pointer.

template<typename T>
TAO_Pseudo_Object_Manager< T > & TAO_Pseudo_Object_Manager< T >::operator= (  const T_var_type &    ) 
 

Assignment from T_var.

template<typename T>
TAO_Pseudo_Object_Manager< T > & TAO_Pseudo_Object_Manager< T >::operator= (  T *    ) 
 

Assignment from T *.

template<typename 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?

template<typename T>
ACE_INLINE T *& TAO_Pseudo_Object_Manager< T >::out (  void    ) 
 

for out parameter.


Friends And Related Function Documentation

template<typename T>
friend class TAO_Unbounded_Pseudo_Sequence< T > [friend]
 


Member Data Documentation

template<typename T>
T** TAO_Pseudo_Object_Manager< T >::ptr_ [private]
 

data member, notice that it is a pointer, to implement the reference behavior for assignment.

template<typename T>
CORBA::Boolean TAO_Pseudo_Object_Manager< T >::release_ [private]
 

release flag based on parent's flag


The documentation for this class was generated from the following files:
Generated on Wed Jan 14 23:30:53 2004 for TAO by doxygen1.2.18