Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

# TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy > Class Template Reference

`CORBA::TypeCode` implementation for an OMG IDL `union`. More...

`#include <Union_TypeCode_Static.h>`

Inheritance diagram for TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >:

[legend]
Collaboration diagram for TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >:

[legend]
List of all members.

## Public Types
typedef TAO::TypeCode::Case< StringType, TypeCodeType > | case_type
## Public Member Functions
| Union (char const *id, char const *name, TypeCodeType const &discriminant_type, CaseArrayType const &cases, CORBA::ULong ncases, CORBA::Long default_index)
| Constructor.
| Union (CORBA::TCKind kind, char const *id)
| Constructor used for recursive TypeCodes.
TAO-specific @c CORBA::TypeCode Methods
Methods required by TAO's implementation of the `CORBA::TypeCode` class. See also: `CORBA::TypeCode`
virtual bool | tao_marshal (TAO_OutputCDR &cdr, CORBA::ULong offset) const
| Marshal this `TypeCode` into a CDR output stream.
virtual void | tao_duplicate (void)
| Increase the reference count on this `TypeCode`.
virtual void | tao_release (void)
| Decrease the reference count on this object.
## Protected Member Functions
@c TAO CORBA::TypeCode Template Methods
`tk_union` `CORBA::TypeCode` -specific template methods. See also: `CORBA::TypeCode`
virtual CORBA::Boolean | equal_i (CORBA::TypeCode_ptr tc ACE_ENV_ARG_DECL) const
virtual CORBA::Boolean | equivalent_i (CORBA::TypeCode_ptr tc ACE_ENV_ARG_DECL) const
virtual CORBA::TypeCode_ptr | get_compact_typecode_i (ACE_ENV_SINGLE_ARG_DECL) const
virtual char const * | id_i (ACE_ENV_SINGLE_ARG_DECL) const
virtual char const * | name_i (ACE_ENV_SINGLE_ARG_DECL) const
virtual CORBA::ULong | member_count_i (ACE_ENV_SINGLE_ARG_DECL) const
virtual char const * | member_name_i (CORBA::ULong index ACE_ENV_ARG_DECL) const
virtual CORBA::TypeCode_ptr | member_type_i (CORBA::ULong index ACE_ENV_ARG_DECL) const
virtual CORBA::Any * | member_label_i (CORBA::ULong index ACE_ENV_ARG_DECL) const
virtual CORBA::TypeCode_ptr | discriminator_type_i (ACE_ENV_SINGLE_ARG_DECL) const
virtual CORBA::Long | default_index_i (ACE_ENV_SINGLE_ARG_DECL) const
## Protected Attributes
Base_Attributes< StringType > | base_attributes_
TypeCodeType | discriminant_type_
| Type of IDL `union` discriminant.
CORBA::Long | default_index_
| Index of the default union case.
CORBA::ULong | ncases_
CaseArrayType | cases_

## Detailed Description

### template<typename StringType, typename TypeCodeType, class CaseArrayType, class RefCountPolicy>
class TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >

`CORBA::TypeCode` implementation for an OMG IDL `union`.

This class implements a `CORBA::TypeCode` for an OMG IDL `union`.

## Member Typedef Documentation

template<typename StringType, typename TypeCodeType, class CaseArrayType, class RefCountPolicy>
typedef TAO::TypeCode::Case<StringType, TypeCodeType> TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >::case_type

## Constructor & Destructor Documentation

template<typename StringType, typename TypeCodeType, class CaseArrayType, class RefCountPolicy>
ACE_INLINE TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >::Union | ( | char const * | id,
|  | char const * | name,
|  | TypeCodeType const & | discriminant_type,
|  | CaseArrayType const & | cases,
|  | CORBA::ULong | ncases,
|  | CORBA::Long | default_index
| ) |

| Constructor.

template<typename StringType, typename TypeCodeType, class CaseArrayType, class RefCountPolicy>
ACE_INLINE TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >::Union | ( | CORBA::TCKind | kind,
|  | char const * | id
| ) |

| Constructor used for recursive TypeCodes.

## Member Function Documentation

template<typename StringType, typename TypeCodeType, class CaseArrayType, class RefCountPolicy>
CORBA::Long TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >::default_index_i | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const`[protected, virtual]`

| Reimplemented from CORBA::TypeCode.

template<typename StringType, typename TypeCodeType, class CaseArrayType, class RefCountPolicy>
CORBA::TypeCode_ptr TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >::discriminator_type_i | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const`[protected, virtual]`

| Reimplemented from CORBA::TypeCode.

template<typename StringType, typename TypeCodeType, class CaseArrayType, class RefCountPolicy>
CORBA::Boolean TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >::equal_i | ( | CORBA::TypeCode_ptr tc | ACE_ENV_ARG_DECL | ) | const`[protected, virtual]`

template<typename StringType, typename TypeCodeType, class CaseArrayType, class RefCountPolicy>
CORBA::Boolean TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >::equivalent_i | ( | CORBA::TypeCode_ptr tc | ACE_ENV_ARG_DECL | ) | const`[protected, virtual]`

template<typename StringType, typename TypeCodeType, class CaseArrayType, class RefCountPolicy>
CORBA::TypeCode_ptr TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >::get_compact_typecode_i | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const`[protected, virtual]`

| Implements CORBA::TypeCode.

template<typename StringType, typename TypeCodeType, class CaseArrayType, class RefCountPolicy>
char const * TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >::id_i | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const`[protected, virtual]`

| Reimplemented from CORBA::TypeCode.

template<typename StringType, typename TypeCodeType, class CaseArrayType, class RefCountPolicy>
CORBA::ULong TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >::member_count_i | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const`[protected, virtual]`

| Reimplemented from CORBA::TypeCode.

template<typename StringType, typename TypeCodeType, class CaseArrayType, class RefCountPolicy>
CORBA::Any * TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >::member_label_i | ( | CORBA::ULong index | ACE_ENV_ARG_DECL | ) | const`[protected, virtual]`

template<typename StringType, typename TypeCodeType, class CaseArrayType, class RefCountPolicy>
char const * TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >::member_name_i | ( | CORBA::ULong index | ACE_ENV_ARG_DECL | ) | const`[protected, virtual]`

template<typename StringType, typename TypeCodeType, class CaseArrayType, class RefCountPolicy>
CORBA::TypeCode_ptr TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >::member_type_i | ( | CORBA::ULong index | ACE_ENV_ARG_DECL | ) | const`[protected, virtual]`

template<typename StringType, typename TypeCodeType, class CaseArrayType, class RefCountPolicy>
char const * TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >::name_i | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const`[protected, virtual]`

| Reimplemented from CORBA::TypeCode.

template<typename StringType, typename TypeCodeType, class CaseArrayType, class RefCountPolicy>
void TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >::tao_duplicate | ( | void |  | ) | `[virtual]`

| Increase the reference count on this `TypeCode`. Implements CORBA::TypeCode.

template<typename StringType, typename TypeCodeType, class CaseArrayType, class RefCountPolicy>
bool TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >::tao_marshal | ( | TAO_OutputCDR & | cdr,
|  | CORBA::ULong | offset
| ) | const`[virtual]`

  | Marshal this `TypeCode` into a CDR output stream. Marshal this `TypeCode` into the cdr output CDR stream, excluding the `TypeCode` kind. Existing cdr contents will not be altered. The marshaled `TypeCode` will be appended to the given cdr CDR output stream. Parameters:
  | cdr | Output CDR stream into which the `TypeCode` will be marshaled.
  | offset | Number of bytes currently in the output CDR stream, including the top-level TypeCode `TCKind`. This argument is useful for recursive `TypeCodes`. `TypeCodes` that contain other `TypeCodes` should pass an updated offset value to the marshaling operation for those contained `TypeCodes`.
Returns: `true` if marshaling was successful. Note: This is a TAO-specific method that is not part of the standard `CORBA::TypeCode` interface. If this method returns , the contents of the cdr output CDR stream are undefined. Implements CORBA::TypeCode.

template<typename StringType, typename TypeCodeType, class CaseArrayType, class RefCountPolicy>
void TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >::tao_release | ( | void |  | ) | `[virtual]`

| Decrease the reference count on this object. Implements CORBA::TypeCode.

## Member Data Documentation

template<typename StringType, typename TypeCodeType, class CaseArrayType, class RefCountPolicy>
Base_Attributes<StringType> TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >::base_attributes_`[protected]`

| Base attributes containing repository ID and name of union type.

template<typename StringType, typename TypeCodeType, class CaseArrayType, class RefCountPolicy>
CaseArrayType TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >::cases_`[protected]`

| Array of `TAO::TypeCode::Case` representing structure of the OMG IDL defined `union`.

template<typename StringType, typename TypeCodeType, class CaseArrayType, class RefCountPolicy>
CORBA::Long TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >::default_index_`[protected]`

| Index of the default union case. This value will be -1 if no default case is found in the union.

template<typename StringType, typename TypeCodeType, class CaseArrayType, class RefCountPolicy>
TypeCodeType TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >::discriminant_type_`[protected]`

| Type of IDL `union` discriminant.

template<typename StringType, typename TypeCodeType, class CaseArrayType, class RefCountPolicy>
CORBA::ULong TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >::ncases_`[protected]`

| The number of cases in the OMG IDL union, excluding the `default` case.

The documentation for this class was generated from the following files:

- Union_TypeCode.h
- Union_TypeCode.cpp
- Union_TypeCode.inl
- Union_TypeCode_Static.cpp