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. More...
| TAO_SeqElem_String_Manager (char **buffer, CORBA::Boolean release)
| constructor from address of an element. More...
| ~TAO_SeqElem_String_Manager (void)
| destructor. More...
TAO_SeqElem_String_Manager & | operator= (const TAO_SeqElem_String_Manager &)
| assignment from another managed type. More...
TAO_SeqElem_String_Manager & | operator= (const CORBA::String_var &)
| assignment from var type will make a copy. More...
TAO_SeqElem_String_Manager & | operator= (const char *)
| assignment from a constant char* will make a copy. More...
TAO_SeqElem_String_Manager & | operator= (char *)
| assignment from char* will not make a copy. The SeqElem_String_Manager will now own the string. More...
| operator const char * () const
| cast (read-only). More...
const char * | in (void) const
| for in parameter. More...
char *& | inout (void)
| for inout parameter. More...
char *& | out (void)
| for out parameter. More...
char * | _retn (void)
| for string of return type. More...
## Private Methods
| TAO_SeqElem_String_Manager (void)
| default ctor. More...
## Private Attributes
char ** | ptr_
| Address of string element from the parent's buffer. More...
CORBA::Boolean | release_
| control memory managment semantics. More...
## 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

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:

- Managed_Types.h
- Managed_Types.cpp
- Managed_Types.i