Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class 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 Member Functions

 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_Manageroperator= (const TAO_SeqElem_String_Manager &)
 assignment from another managed type
TAO_SeqElem_String_Manageroperator= (const CORBA::String_var &)
 assignment from var type will make a copy
TAO_SeqElem_String_Manageroperator= (const char *)
 assignment from a constant char* will make a copy
TAO_SeqElem_String_Manageroperator= (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 Member Functions

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

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 Fri Dec 31 15:32:26 2004 for TAO by  doxygen 1.3.9.1