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

# TAO::TypeCode::Enum< StringType, EnumeratorArrayType, RefCountPolicy > Class Template Reference

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

`#include <Enum_TypeCode_Static.h>`

Inheritance diagram for TAO::TypeCode::Enum< StringType, EnumeratorArrayType, RefCountPolicy >:

[legend]
Collaboration diagram for TAO::TypeCode::Enum< StringType, EnumeratorArrayType, RefCountPolicy >:

[legend]
List of all members.

## Public Member Functions
| Enum (char const *id, char const *name, EnumeratorArrayType const &enumerators, CORBA::ULong nenumerators)
| Constructor.
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_enum` `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
## Private Attributes
Base_Attributes< StringType > | base_attributes_
CORBA::ULong const | nenumerators_
| The number of enumerators in the OMG IDL enumeration.
EnumeratorArrayType const | enumerators_

## Detailed Description

### template<typename StringType, class EnumeratorArrayType, class RefCountPolicy>
class TAO::TypeCode::Enum< StringType, EnumeratorArrayType, RefCountPolicy >

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

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

## Constructor & Destructor Documentation

template<typename StringType, class EnumeratorArrayType, class RefCountPolicy>
ACE_INLINE TAO::TypeCode::Enum< StringType, EnumeratorArrayType, RefCountPolicy >::Enum | ( | char const * | id,
|  | char const * | name,
|  | EnumeratorArrayType const & | enumerators,
|  | CORBA::ULong | nenumerators
| ) |

| Constructor.

## Member Function Documentation

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

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

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

| Implements CORBA::TypeCode.

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

| Reimplemented from CORBA::TypeCode.

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

| Reimplemented from CORBA::TypeCode.

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

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

| Reimplemented from CORBA::TypeCode.

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

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

template<typename StringType, class EnumeratorArrayType, class RefCountPolicy>
bool TAO::TypeCode::Enum< StringType, EnumeratorArrayType, 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, class EnumeratorArrayType, class RefCountPolicy>
void TAO::TypeCode::Enum< StringType, EnumeratorArrayType, RefCountPolicy >::tao_release | ( | void |  | ) | `[virtual]`

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

## Member Data Documentation

template<typename StringType, class EnumeratorArrayType, class RefCountPolicy>
Base_Attributes<StringType> TAO::TypeCode::Enum< StringType, EnumeratorArrayType, RefCountPolicy >::base_attributes_`[private]`

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

template<typename StringType, class EnumeratorArrayType, class RefCountPolicy>
EnumeratorArrayType const TAO::TypeCode::Enum< StringType, EnumeratorArrayType, RefCountPolicy >::enumerators_`[private]`

| Array of `TAO::TypeCode` enumerators representing enumerators in the OMG IDL defined `enum`.

template<typename StringType, class EnumeratorArrayType, class RefCountPolicy>
CORBA::ULong const TAO::TypeCode::Enum< StringType, EnumeratorArrayType, RefCountPolicy >::nenumerators_`[private]`

| The number of enumerators in the OMG IDL enumeration.

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

- Enum_TypeCode.h
- Enum_TypeCode.cpp
- Enum_TypeCode.inl