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

# CORBA::TypeCode Class Reference

A representation of the structure of a given OMG IDL-declared type. More...

`#include <TypeCode.h>`

Inheritance diagram for CORBA::TypeCode:

[legend]
List of all members.

## Public Types
typedef CORBA::TypeCode_var | _var_type
## Public Member Functions
virtual bool | tao_marshal_kind (TAO_OutputCDR &cdr) const
| Marshal the `TypeCode` `TCKind`.
virtual bool | tao_marshal (TAO_OutputCDR &cdr, CORBA::ULong offset) const =0
| Marshal this `TypeCode` into a CDR output stream.
virtual void | tao_duplicate (void)=0
| Increase the reference count on this `TypeCode`.
virtual void | tao_release (void)=0
| Decrease the reference count on this object.
@c CORBA::TypeCode Methods
These methods are part of the public interface of `CORBA::TypeCode` class, as defined by the OMG CORBA specification and C++ mapping. The C++ mapping does not declare the methods in the public `CORBA::TypeCode` API as `virtual`, so work around that by making these methods inlined to forward all calls to the corresponding protected template method (i.e. the design pattern, not the C++ feature) listed below in the `protected` block.
Boolean | equal (TypeCode_ptr tc ACE_ENV_ARG_DECL) const
| Equality of two `TypeCodes`.
Boolean | equivalent (TypeCode_ptr tc ACE_ENV_ARG_DECL) const
| Equivalence of two `TypeCodes`.
TCKind | kind (ACE_ENV_SINGLE_ARG_DECL) const
| The kind of `TypeCode`.
TypeCode_ptr | get_compact_typecode (ACE_ENV_SINGLE_ARG_DECL) const
char const * | id (ACE_ENV_SINGLE_ARG_DECL) const
| The `RepositoryId` globally identifying the type.
char const * | name (ACE_ENV_SINGLE_ARG_DECL) const
ULong | member_count (ACE_ENV_SINGLE_ARG_DECL) const
| The type member count.
char const * | member_name (ULong index ACE_ENV_ARG_DECL) const
| The type member name.
TypeCode_ptr | member_type (ULong index ACE_ENV_ARG_DECL) const
| The type member `TypeCode`.
Any * | member_label (ULong index ACE_ENV_ARG_DECL) const
| The union member label.
TypeCode_ptr | discriminator_type (ACE_ENV_SINGLE_ARG_DECL) const
| The type of all non-default union member labels.
Long | default_index (ACE_ENV_SINGLE_ARG_DECL) const
| The index of the default union member.
ULong | length (ACE_ENV_SINGLE_ARG_DECL) const
| The length of the type.
TypeCode_ptr | content_type (ACE_ENV_SINGLE_ARG_DECL) const
| The underlying content type.
UShort | fixed_digits (ACE_ENV_SINGLE_ARG_DECL) const
| The number of significant digits.
UShort | fixed_scale (ACE_ENV_SINGLE_ARG_DECL) const
| The scale factor.
Visibility | member_visibility (ULong index ACE_ENV_ARG_DECL) const
ValueModifier | type_modifier (ACE_ENV_SINGLE_ARG_DECL) const
TypeCode_ptr | concrete_base_type (ACE_ENV_SINGLE_ARG_DECL) const
## Static Public Member Functions
CORBA::TypeCode_ptr | _duplicate (CORBA::TypeCode_ptr tc)
| Duplicate this `TypeCode`.
CORBA::TypeCode_ptr | _nil (void)
| Returns a NULL typecode.
void | _tao_any_destructor (void *x)
| Destruction callback for Anys.
## Static Public Attributes
CORBA::TypeCode_ptr const | _tc_Bounds
CORBA::TypeCode_ptr const | _tc_BadKind
## Protected Member Functions
| TypeCode (CORBA::TCKind kind)
| Constructor.
virtual | ~TypeCode (void)
| Destructor.
@c TypeCode Template Methods
Methods that must be implemented by `CORBA::TypeCode` subclasses if valid for those subclasses. The default implementations of the non-pure virtual methods throw the `CORBA::TypeCode::BadKind` exception since many of these methods are `TypeCode` type-specific. This reduces code duplication and bloat. The `TypeCode` `equal()`, `equivalent()`, `kind()` and `get_compact_typecode()` methods are valid for all `TypeCodes` which is why their template method "@c _i" counterparts are pure virtual.
virtual Boolean | equal_i (TypeCode_ptr tc ACE_ENV_ARG_DECL) const =0
virtual Boolean | equivalent_i (TypeCode_ptr tc ACE_ENV_ARG_DECL) const =0
virtual TypeCode_ptr | get_compact_typecode_i (ACE_ENV_SINGLE_ARG_DECL) const =0
virtual char const * | id_i (ACE_ENV_SINGLE_ARG_DECL) const
virtual char const * | name_i (ACE_ENV_SINGLE_ARG_DECL) const
virtual ULong | member_count_i (ACE_ENV_SINGLE_ARG_DECL) const
virtual char const * | member_name_i (ULong index ACE_ENV_ARG_DECL) const
virtual TypeCode_ptr | member_type_i (ULong index ACE_ENV_ARG_DECL) const
virtual Any * | member_label_i (ULong index ACE_ENV_ARG_DECL) const
virtual TypeCode_ptr | discriminator_type_i (ACE_ENV_SINGLE_ARG_DECL) const
virtual Long | default_index_i (ACE_ENV_SINGLE_ARG_DECL) const
virtual ULong | length_i (ACE_ENV_SINGLE_ARG_DECL) const
virtual TypeCode_ptr | content_type_i (ACE_ENV_SINGLE_ARG_DECL) const
virtual UShort | fixed_digits_i (ACE_ENV_SINGLE_ARG_DECL) const
virtual UShort | fixed_scale_i (ACE_ENV_SINGLE_ARG_DECL) const
virtual Visibility | member_visibility_i (ULong index ACE_ENV_ARG_DECL) const
virtual ValueModifier | type_modifier_i (ACE_ENV_SINGLE_ARG_DECL) const
virtual TypeCode_ptr | concrete_base_type_i (ACE_ENV_SINGLE_ARG_DECL) const
## Protected Attributes
TCKind const | kind_
| The kind of TypeCode.
## Private Member Functions
| TypeCode (TypeCode const &)
void | operator= (TypeCode const &)

## Detailed Description

A representation of the structure of a given OMG IDL-declared type.

`TypeCodes` are primarily used by `CORBA::Anys`, the CORBA Interface Repository and the CORBA Dynamic Invocation Interface.

## Member Typedef Documentation

typedef CORBA::TypeCode_var CORBA::TypeCode::_var_type

## Constructor & Destructor Documentation

ACE_INLINE CORBA::TypeCode::TypeCode | ( | CORBA::TCKind | kind | ) | `[protected]`

| Constructor.

CORBA::TypeCode::~TypeCode | ( | void |  | ) | `[protected, virtual]`

| Destructor. Protected destructor to enforce proper memory management through the reference counting mechanism.

CORBA::TypeCode::TypeCode | ( | TypeCode const & |  | ) | `[private]`

## Member Function Documentation

ACE_INLINE CORBA::TypeCode_ptr CORBA::TypeCode::_duplicate | ( | CORBA::TypeCode_ptr | tc | ) | `[static]`

| Duplicate this `TypeCode`. Statically instantiated `TypeCodes` incur no reference count manipulation, i.e. reference counting is a no-op. Dynamically instantiated `TypeCodes` will have their reference count incremented by one each time this function is called.

ACE_INLINE CORBA::TypeCode_ptr CORBA::TypeCode::_nil | ( | void |  | ) | `[static]`

| Returns a NULL typecode.

ACE_INLINE void CORBA::TypeCode::_tao_any_destructor | ( | void * | x | ) | `[static]`

| Destruction callback for Anys.

ACE_INLINE CORBA::TypeCode_ptr CORBA::TypeCode::concrete_base_type | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const

| This method is valid for the following kinds of `TypeCodes:` `tk_value` `tk_event` Returns: `TypeCode` corresponding to the concrete base `valuetype` or `eventtype`. `CORBA::TypeCode::_nil()` if no concrete base exists.

CORBA::TypeCode_ptr CORBA::TypeCode::concrete_base_type_i | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const`[protected, virtual]`

| Reimplemented in TAO::TypeCode::Value< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, and TAO::TypeCode::Value< char const *, CORBA::TypeCode_ptr const *, Value_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >.

ACE_INLINE CORBA::TypeCode_ptr CORBA::TypeCode::content_type | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const

| The underlying content type. This method is valid for the following kinds of `TypeCodes:` `tk_sequence` `tk_array` `tk_value_box` `tk_alias`

CORBA::TypeCode_ptr CORBA::TypeCode::content_type_i | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const`[protected, virtual]`

| Reimplemented in TAO::TypeCode::Alias< StringType, TypeCodeType, RefCountPolicy >, TAO::TypeCode::Alias< char const *, CORBA::TypeCode_ptr const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Sequence< TypeCodeType, RefCountPolicy >, and TAO::TypeCode::Sequence< CORBA::TypeCode_ptr const *, TAO::Null_RefCount_Policy >.

ACE_INLINE CORBA::Long CORBA::TypeCode::default_index | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const

| The index of the default union member. This method is valid for the following kinds of `TypeCodes:` `tk_union`

CORBA::Long CORBA::TypeCode::default_index_i | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const`[protected, virtual]`

| Reimplemented in TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >, and TAO::TypeCode::Union< char const *, CORBA::TypeCode_ptr const *, Case< char const *, CORBA::TypeCode_ptr const * > const *const *, TAO::Null_RefCount_Policy >.

ACE_INLINE CORBA::TypeCode_ptr CORBA::TypeCode::discriminator_type | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const

| The type of all non-default union member labels. This method is valid for the following kinds of `TypeCodes:` `tk_union`

CORBA::TypeCode_ptr CORBA::TypeCode::discriminator_type_i | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const`[protected, virtual]`

| Reimplemented in TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >, and TAO::TypeCode::Union< char const *, CORBA::TypeCode_ptr const *, Case< char const *, CORBA::TypeCode_ptr const * > const *const *, TAO::Null_RefCount_Policy >.

CORBA::Boolean CORBA::TypeCode::equal | ( | TypeCode_ptr tc | ACE_ENV_ARG_DECL | ) | const

| Equality of two `TypeCodes`. Returns: `true` if and only if the set of legal operations is the same and invoking any operation on the this `TypeCode` and tc returns identical results.

virtual Boolean CORBA::TypeCode::equal_i | ( | TypeCode_ptr tc | ACE_ENV_ARG_DECL | ) | const`[protected, pure virtual]`

CORBA::Boolean CORBA::TypeCode::equivalent | ( | TypeCode_ptr tc | ACE_ENV_ARG_DECL | ) | const

| Equivalence of two `TypeCodes`. Equivalence of two `TypeCodes` satisfies a subset of the requirements necessary for equality. See also: equal

virtual Boolean CORBA::TypeCode::equivalent_i | ( | TypeCode_ptr tc | ACE_ENV_ARG_DECL | ) | const`[protected, pure virtual]`

ACE_INLINE CORBA::UShort CORBA::TypeCode::fixed_digits | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const

| The number of significant digits. This method is valid for the following kinds of `TypeCodes:` `tk_fixed`

CORBA::UShort CORBA::TypeCode::fixed_digits_i | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const`[protected, virtual]`

| Reimplemented in TAO::TypeCode::Fixed< RefCountPolicy >.

ACE_INLINE CORBA::UShort CORBA::TypeCode::fixed_scale | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const

| The scale factor. This method is valid for the following kinds of `TypeCodes:` `tk_fixed`

CORBA::UShort CORBA::TypeCode::fixed_scale_i | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const`[protected, virtual]`

| Reimplemented in TAO::TypeCode::Fixed< RefCountPolicy >.

ACE_INLINE CORBA::TypeCode_ptr CORBA::TypeCode::get_compact_typecode | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const

| Note: Calling this method will incur additional run-time memory consumption since TAO's implementation relies on the TypeCodeFactory to dynamically create a compact `TypeCode`; the exception being `TypeCodes` with empty parameter lists. Those `TypeCodes` are already compact, meaning that call this method on such `TypeCodes` incurs no additional run-time memory requirements. Unless you need to send compact `TypeCodes` "over-the-wire" or your `TypeCode` corresponds to a type with a large number of members, try to stick with the existing potentially non-compact `TypeCode`. Note: Compact `TypeCodes` may also be generated statically by the TAO_IDL compiler by invoking it with its "-Gt" (i.e. enable optimized TypeCodes) command line option.

virtual TypeCode_ptr CORBA::TypeCode::get_compact_typecode_i | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const`[protected, pure virtual]`

| Implemented in TAO::TypeCode::Alias< StringType, TypeCodeType, RefCountPolicy >, TAO::TypeCode::Alias< char const *, CORBA::TypeCode_ptr const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Empty_Param, TAO::TypeCode::Enum< StringType, EnumeratorArrayType, RefCountPolicy >, TAO::TypeCode::Enum< char const *, char const *const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Fixed< RefCountPolicy >, TAO::TypeCode::Objref< StringType, RefCountPolicy >, TAO::TypeCode::Objref< char const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Sequence< TypeCodeType, RefCountPolicy >, TAO::TypeCode::Sequence< CORBA::TypeCode_ptr const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::String< RefCountPolicy >, TAO::TypeCode::String< TAO::Null_RefCount_Policy >, TAO::TypeCode::Struct< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, TAO::TypeCode::Struct< char const *, CORBA::TypeCode_ptr const *, Struct_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >, TAO::TypeCode::Union< char const *, CORBA::TypeCode_ptr const *, Case< char const *, CORBA::TypeCode_ptr const * > const *const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Value< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, and TAO::TypeCode::Value< char const *, CORBA::TypeCode_ptr const *, Value_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >.

ACE_INLINE char const * CORBA::TypeCode::id | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const

| The `RepositoryId` globally identifying the type. This method is valid for the following kinds of `TypeCodes:` `tk_objref` `tk_struct` `tk_union` `tk_enum` `tk_alias` `tk_value` `tk_value_box` `tk_native` `tk_abstract_interface` `tk_local_interface` `tk_except` `tk_component` `tk_home` `tk_event` Note: CORBA::TypeCode::id() does not follow the usual parameter passing rules defined by the C++ mapping. This behavior is required by the C++ mapping. In particular, ownership is maintained by the `TypeCode`.

char const * CORBA::TypeCode::id_i | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const`[protected, virtual]`

| Reimplemented in TAO::TypeCode::Alias< StringType, TypeCodeType, RefCountPolicy >, TAO::TypeCode::Alias< char const *, CORBA::TypeCode_ptr const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Enum< StringType, EnumeratorArrayType, RefCountPolicy >, TAO::TypeCode::Enum< char const *, char const *const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Objref< StringType, RefCountPolicy >, TAO::TypeCode::Objref< char const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Struct< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, TAO::TypeCode::Struct< char const *, CORBA::TypeCode_ptr const *, Struct_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >, TAO::TypeCode::Union< char const *, CORBA::TypeCode_ptr const *, Case< char const *, CORBA::TypeCode_ptr const * > const *const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Value< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, and TAO::TypeCode::Value< char const *, CORBA::TypeCode_ptr const *, Value_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >.

ACE_INLINE CORBA::TCKind CORBA::TypeCode::kind | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const

| The kind of `TypeCode`.

ACE_INLINE CORBA::ULong CORBA::TypeCode::length | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const

| The length of the type. This method is valid for the following kinds of `TypeCodes:` `tk_string` `tk_wstring` `tk_sequence` `tk_array`

CORBA::ULong CORBA::TypeCode::length_i | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const`[protected, virtual]`

| Reimplemented in TAO::TypeCode::Sequence< TypeCodeType, RefCountPolicy >, TAO::TypeCode::Sequence< CORBA::TypeCode_ptr const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::String< RefCountPolicy >, and TAO::TypeCode::String< TAO::Null_RefCount_Policy >.

ACE_INLINE CORBA::ULong CORBA::TypeCode::member_count | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const

| The type member count. This method is valid for the following kinds of `TypeCodes:` `tk_struct` `tk_union` `tk_enum` `tk_value` `tk_except` `tk_event`

CORBA::ULong CORBA::TypeCode::member_count_i | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const`[protected, virtual]`

| Reimplemented in TAO::TypeCode::Enum< StringType, EnumeratorArrayType, RefCountPolicy >, TAO::TypeCode::Enum< char const *, char const *const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Struct< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, TAO::TypeCode::Struct< char const *, CORBA::TypeCode_ptr const *, Struct_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >, TAO::TypeCode::Union< char const *, CORBA::TypeCode_ptr const *, Case< char const *, CORBA::TypeCode_ptr const * > const *const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Value< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, and TAO::TypeCode::Value< char const *, CORBA::TypeCode_ptr const *, Value_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >.

ACE_INLINE CORBA::Any * CORBA::TypeCode::member_label | ( | ULong index | ACE_ENV_ARG_DECL | ) | const

| The union member label. This method is valid for the following kinds of `TypeCodes:` `tk_union`

virtual Any* CORBA::TypeCode::member_label_i | ( | ULong index | ACE_ENV_ARG_DECL | ) | const`[protected, virtual]`

ACE_INLINE char const * CORBA::TypeCode::member_name | ( | ULong index | ACE_ENV_ARG_DECL | ) | const

| The type member name. This method is valid for the following kinds of `TypeCodes:` `tk_struct` `tk_union` `tk_enum` `tk_value` `tk_except` `tk_event` Note: CORBA::TypeCode::member_name() does not follow the usual parameter passing rules defined by the C++ mapping. This behavior is required by the C++ mapping. In particular, ownership is maintained by the `TypeCode`.

virtual char const* CORBA::TypeCode::member_name_i | ( | ULong index | ACE_ENV_ARG_DECL | ) | const`[protected, virtual]`

ACE_INLINE CORBA::TypeCode_ptr CORBA::TypeCode::member_type | ( | ULong index | ACE_ENV_ARG_DECL | ) | const

| The type member `TypeCode`. This method is valid for the following kinds of `TypeCodes:` `tk_struct` `tk_union` `tk_value` `tk_except` `tk_event`

virtual TypeCode_ptr CORBA::TypeCode::member_type_i | ( | ULong index | ACE_ENV_ARG_DECL | ) | const`[protected, virtual]`

ACE_INLINE CORBA::Visibility CORBA::TypeCode::member_visibility | ( | ULong index | ACE_ENV_ARG_DECL | ) | const

| This method is valid for the following kinds of `TypeCodes:` `tk_value` `tk_event`

virtual Visibility CORBA::TypeCode::member_visibility_i | ( | ULong index | ACE_ENV_ARG_DECL | ) | const`[protected, virtual]`

ACE_INLINE char const * CORBA::TypeCode::name | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const

| This method is valid for the following kinds of `TypeCodes:` `tk_objref` `tk_struct` `tk_union` `tk_enum` `tk_alias` `tk_value` `tk_value_box` `tk_native` `tk_abstract_interface` `tk_local_interface` `tk_except` `tk_component` `tk_home` `tk_event` Note: CORBA::TypeCode::name() does not follow the usual parameter passing rules defined by the C++ mapping. This behavior is required by the C++ mapping. In particular, ownership is maintained by the `TypeCode`.

char const * CORBA::TypeCode::name_i | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const`[protected, virtual]`

| Reimplemented in TAO::TypeCode::Alias< StringType, TypeCodeType, RefCountPolicy >, TAO::TypeCode::Alias< char const *, CORBA::TypeCode_ptr const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Enum< StringType, EnumeratorArrayType, RefCountPolicy >, TAO::TypeCode::Enum< char const *, char const *const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Objref< StringType, RefCountPolicy >, TAO::TypeCode::Objref< char const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Struct< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, TAO::TypeCode::Struct< char const *, CORBA::TypeCode_ptr const *, Struct_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >, TAO::TypeCode::Union< char const *, CORBA::TypeCode_ptr const *, Case< char const *, CORBA::TypeCode_ptr const * > const *const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Value< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, and TAO::TypeCode::Value< char const *, CORBA::TypeCode_ptr const *, Value_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >.

void CORBA::TypeCode::operator= | ( | TypeCode const & |  | ) | `[private]`

virtual void CORBA::TypeCode::tao_duplicate | ( | void |  | ) | `[pure virtual]`

| Increase the reference count on this `TypeCode`. Implemented in TAO::TypeCode::Alias< StringType, TypeCodeType, RefCountPolicy >, TAO::TypeCode::Alias< char const *, CORBA::TypeCode_ptr const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Empty_Param, TAO::TypeCode::Enum< StringType, EnumeratorArrayType, RefCountPolicy >, TAO::TypeCode::Enum< char const *, char const *const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Fixed< RefCountPolicy >, TAO::TypeCode::Objref< StringType, RefCountPolicy >, TAO::TypeCode::Objref< char const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Sequence< TypeCodeType, RefCountPolicy >, TAO::TypeCode::Sequence< CORBA::TypeCode_ptr const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::String< RefCountPolicy >, TAO::TypeCode::String< TAO::Null_RefCount_Policy >, TAO::TypeCode::Struct< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, TAO::TypeCode::Struct< char const *, CORBA::TypeCode_ptr const *, Struct_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >, TAO::TypeCode::Union< char const *, CORBA::TypeCode_ptr const *, Case< char const *, CORBA::TypeCode_ptr const * > const *const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Value< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, and TAO::TypeCode::Value< char const *, CORBA::TypeCode_ptr const *, Value_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >.

virtual bool CORBA::TypeCode::tao_marshal | ( | TAO_OutputCDR & | cdr,
|  | CORBA::ULong | offset
| ) | const`[pure 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. Implemented in TAO::TypeCode::Alias< StringType, TypeCodeType, RefCountPolicy >, TAO::TypeCode::Alias< char const *, CORBA::TypeCode_ptr const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Empty_Param, TAO::TypeCode::Enum< StringType, EnumeratorArrayType, RefCountPolicy >, TAO::TypeCode::Enum< char const *, char const *const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Fixed< RefCountPolicy >, TAO::TypeCode::Objref< StringType, RefCountPolicy >, TAO::TypeCode::Objref< char const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Sequence< TypeCodeType, RefCountPolicy >, TAO::TypeCode::Sequence< CORBA::TypeCode_ptr const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::String< RefCountPolicy >, TAO::TypeCode::String< TAO::Null_RefCount_Policy >, TAO::TypeCode::Struct< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, TAO::TypeCode::Struct< char const *, CORBA::TypeCode_ptr const *, Struct_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >, TAO::TypeCode::Union< char const *, CORBA::TypeCode_ptr const *, Case< char const *, CORBA::TypeCode_ptr const * > const *const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Value< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, and TAO::TypeCode::Value< char const *, CORBA::TypeCode_ptr const *, Value_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >.

bool CORBA::TypeCode::tao_marshal_kind | ( | TAO_OutputCDR & | cdr | ) | const`[virtual]`

| Marshal the `TypeCode` `TCKind`.

virtual void CORBA::TypeCode::tao_release | ( | void |  | ) | `[pure virtual]`

| Decrease the reference count on this object. Implemented in TAO::TypeCode::Alias< StringType, TypeCodeType, RefCountPolicy >, TAO::TypeCode::Alias< char const *, CORBA::TypeCode_ptr const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Empty_Param, TAO::TypeCode::Enum< StringType, EnumeratorArrayType, RefCountPolicy >, TAO::TypeCode::Enum< char const *, char const *const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Fixed< RefCountPolicy >, TAO::TypeCode::Objref< StringType, RefCountPolicy >, TAO::TypeCode::Objref< char const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Sequence< TypeCodeType, RefCountPolicy >, TAO::TypeCode::Sequence< CORBA::TypeCode_ptr const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::String< RefCountPolicy >, TAO::TypeCode::String< TAO::Null_RefCount_Policy >, TAO::TypeCode::Struct< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, TAO::TypeCode::Struct< char const *, CORBA::TypeCode_ptr const *, Struct_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >, TAO::TypeCode::Union< char const *, CORBA::TypeCode_ptr const *, Case< char const *, CORBA::TypeCode_ptr const * > const *const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Value< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, and TAO::TypeCode::Value< char const *, CORBA::TypeCode_ptr const *, Value_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >.

ACE_INLINE CORBA::ValueModifier CORBA::TypeCode::type_modifier | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const

| This method is valid for the following kinds of `TypeCodes:` `tk_value` `tk_event`

CORBA::ValueModifier CORBA::TypeCode::type_modifier_i | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | const`[protected, virtual]`

| Reimplemented in TAO::TypeCode::Value< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, and TAO::TypeCode::Value< char const *, CORBA::TypeCode_ptr const *, Value_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >.

## Member Data Documentation

CORBA::TypeCode_ptr const CORBA::TypeCode::_tc_BadKind`[static]`

| Initial value:
      &TAO::TypeCode::tc_BadKind

CORBA::TypeCode_ptr const CORBA::TypeCode::_tc_Bounds`[static]`

| Initial value:
      &TAO::TypeCode::tc_Bounds

TCKind const CORBA::TypeCode::kind_`[protected]`

| The kind of TypeCode.

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

- TypeCode.h
- TypeCode.cpp
- TypeCode.inl
- TypeCodeA.cpp