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

TAO_SeqElem_String_Manager Class Reference

TAO_SeqElem_String_Manager. More...

#include <Managed_Types.h>

List of all members.

Public Methods

 TAO_SeqElem_String_Manager (const TAO_SeqElem_String_Manager &)
 copy constructor.

 TAO_SeqElem_String_Manager (char **buffer, CORBA::Boolean release)
 constructor from address of an element.

 ~TAO_SeqElem_String_Manager (void)
 destructor.

TAO_SeqElem_String_Manager& operator= (const TAO_SeqElem_String_Manager&)
 assignment from another managed type.

TAO_SeqElem_String_Manager& operator= (const CORBA::String_var&)
 assignment from var type will make a copy.

TAO_SeqElem_String_Manager& operator= (const char *)
 assignment from a constant char* will make a copy.

TAO_SeqElem_String_Manager& operator= (char *)
 assignment from char* will not make a copy. The SeqElem_String_Manager will now own the string.

 operator const char * () const
 cast (read-only).

const char* in (void) const
 for in parameter.

char*& inout (void)
 for inout parameter.

char*& out (void)
 for out parameter.

char* _retn (void)
 for string of return type.


Private Methods

 TAO_SeqElem_String_Manager (void)
 default ctor.


Private Attributes

char** ptr_
 Address of string element from the parent's buffer.

CORBA::Boolean release_
 control memory managment semantics.


Friends

class  TAO_Unbounded_String_Sequence


Detailed Description

TAO_SeqElem_String_Manager.

Manager for strings that are the element type of sequences. Similar to the mapping for sequences of objects (and other pseudo objects) the mapping for sequences of strings requires an auxiliar class or <Manager> to handle the allocation and deallocation of the string. The main difference with respect to String_var classes is that automatic release is not controlled on a per-item basis, but for the sequence as a whole. The difference wrt Object_Manager is that strings are duplicated using CORBA::string_dup () as opposed to T::_duplicate(), and released using CORBA::string_free() instead of CORBA::release() This class implements the generic string manager and is used to instantiate the proper sequence types. This class will have the same semantics as the string manager classes defined earlier with respect to the various assignment operators. However, the freeing of old storage will be dependent on the "release" value of the parent sequence class.


Constructor & Destructor Documentation

ACE_INLINE TAO_SeqElem_String_Manager::TAO_SeqElem_String_Manager ( const TAO_SeqElem_String_Manager & rhs )
 

copy constructor.

ACE_INLINE TAO_SeqElem_String_Manager::TAO_SeqElem_String_Manager ( char ** buffer,
CORBA::Boolean release )
 

constructor from address of an element.

ACE_INLINE TAO_SeqElem_String_Manager::~TAO_SeqElem_String_Manager ( void )
 

destructor.

TAO_SeqElem_String_Manager::TAO_SeqElem_String_Manager ( void ) [private]
 

default ctor.


Member Function Documentation

ACE_INLINE char * TAO_SeqElem_String_Manager::_retn ( void )
 

for string of return type.

ACE_INLINE const char * TAO_SeqElem_String_Manager::in ( void ) const
 

for in parameter.

ACE_INLINE char *& TAO_SeqElem_String_Manager::inout ( void )
 

for inout parameter.

ACE_INLINE TAO_SeqElem_String_Manager::operator const char * ( void ) const
 

cast (read-only).

ACE_INLINE TAO_SeqElem_String_Manager & TAO_SeqElem_String_Manager::operator= ( char * p )
 

assignment from char* will not make a copy. The SeqElem_String_Manager will now own the string.

ACE_INLINE TAO_SeqElem_String_Manager & TAO_SeqElem_String_Manager::operator= ( const char * p )
 

assignment from a constant char* will make a copy.

TAO_SeqElem_String_Manager & TAO_SeqElem_String_Manager::operator= ( const CORBA::String_var & var )
 

assignment from var type will make a copy.

ACE_INLINE TAO_SeqElem_String_Manager & TAO_SeqElem_String_Manager::operator= ( const TAO_SeqElem_String_Manager & rhs )
 

assignment from another managed type.

ACE_INLINE char *& TAO_SeqElem_String_Manager::out ( void )
 

for out parameter.


Friends And Related Function Documentation

class TAO_Unbounded_String_Sequence [friend]
 


Member Data Documentation

char ** TAO_SeqElem_String_Manager::ptr_ [private]
 

Address of string element from the parent's buffer.

CORBA::Boolean TAO_SeqElem_String_Manager::release_ [private]
 

control memory managment semantics.


The documentation for this class was generated from the following files:
Generated at Wed Nov 21 11:45:32 2001 for TAO by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000