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 *)
 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 &   
 

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 *  
 

cast (read-only)

ACE_INLINE TAO_SeqElem_String_Manager & TAO_SeqElem_String_Manager::operator= char *   
 

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 *   
 

assignment from a constant char* will make a copy

TAO_SeqElem_String_Manager & TAO_SeqElem_String_Manager::operator= const CORBA::String_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 &   
 

assignment from another managed type

ACE_INLINE char *& TAO_SeqElem_String_Manager::out void   
 

for out parameter.


Friends And Related Function Documentation

friend 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 on Wed Jan 14 23:31:25 2004 for TAO by doxygen1.2.18