TAO_AnyTypeCode 4.0.0
|
Representation of an OMG IDL defined union
case
.
More...
#include <TypeCode_Case_T.h>
Public Member Functions | |
Case_T (DiscriminatorType member_label, char const *member_name, TypeCodeType member_type) | |
Constructor. | |
Case_T (DiscriminatorType member_label) | |
Constructor. | |
![]() | |
Case (char const *name, TypeCodeType tc) | |
Constructor. | |
Case () | |
Constructor. | |
virtual | ~Case () |
Destructor. | |
char const * | name () const |
Get the name of the union case/member. | |
void | name (char const *the_name) |
Set the name of the union case/member. | |
CORBA::TypeCode_ptr | type () const |
Get the CORBA::TypeCode of the union case/member. | |
void | type (CORBA::TypeCode_ptr tc) |
Set the CORBA::TypeCode of the union case/member. | |
bool | marshal (TAO_OutputCDR &cdr, CORBA::ULong offset) const |
bool | equal (CORBA::ULong index, CORBA::TypeCode_ptr tc) const |
bool | equivalent (CORBA::ULong index, CORBA::TypeCode_ptr tc) const |
@c TAO::TypeCode::Case Methods | |
Methods required by the
| |
DiscriminatorType const | label_ |
IDL union case/member label value. | |
Case< StringType, TypeCodeType > * | clone () const |
IDL union case/member label value. | |
virtual CORBA::Any * | label () const |
IDL union case/member label value. | |
virtual bool | marshal_label (TAO_OutputCDR &cdr) const |
IDL union case/member label value. | |
virtual bool | equal_label (CORBA::ULong index, CORBA::TypeCode_ptr tc) const |
IDL union case/member label value. | |
Additional Inherited Members |
Representation of an OMG IDL defined union
case
.
A Case_T
contains the corresponding case label value, name and pointer to the CORBA::TypeCode
for a given OMG IDL union
case
. For example, the cases in following OMG IDL union:
would be represented using the following statically instantiated TAO::TypeCode::Case_T
array:
The default
index is passed directly to the TAO::TypeCode::Union
constructor.
The template parameter DISCRIMINATOR_TYPE is the corresponding C++ type for the IDL defined union
discriminator type. For example, a union
with an IDL short
discriminator will have a corresponding CORBA::Short
C++ type. This template parameter is necessary to allow the actual case
label value to be stored as its actual type, which is particularly important when marshaling that value into a CDR stream.
The template parameter StringType is either char
const
*
or CORBA::String_var
. The latter is only used when creating CORBA::tk_union
TypeCode
dynamically, such as through the TypeCodeFactory.
TAO::TypeCode::Case_T< DiscriminatorType, StringType, TypeCodeType >::Case_T | ( | DiscriminatorType | member_label, |
char const * | member_name, | ||
TypeCodeType | member_type ) |
Constructor.
TAO::TypeCode::Case_T< DiscriminatorType, StringType, TypeCodeType >::Case_T | ( | DiscriminatorType | member_label | ) |
Constructor.
Constructor only used in the dynamically constructed union
TypeCode
case.
|
virtual |
IDL union
case/member label value.
Implements TAO::TypeCode::Case< StringType, TypeCodeType >.
|
virtual |
IDL union
case/member label value.
Implements TAO::TypeCode::Case< StringType, TypeCodeType >.
|
virtual |
IDL union
case/member label value.
Implements TAO::TypeCode::Case< StringType, TypeCodeType >.
|
virtual |
IDL union
case/member label value.
Implements TAO::TypeCode::Case< StringType, TypeCodeType >.
|
private |
IDL union
case/member label value.