TAO_AnyTypeCode
2.1.5
|
Representation of an OMG IDL defined union
case
for unions with Enum discriminators.
More...
#include <TypeCode_Case_Enum_T.h>
Public Member Functions | |
Case_Enum_T (CORBA::TypeCode_ptr discriminator_tc, CORBA::ULong member_label, char const *member_name, TypeCodeType member_type) | |
Constructor. | |
Case_Enum_T (CORBA::TypeCode_ptr discriminator_tc, CORBA::ULong member_label) | |
Constructor. | |
@c TAO::TypeCode::Case Methods | |
Methods required by the
| |
Case< StringType, TypeCodeType > * | clone (void) const |
Cloning/copying operation. | |
virtual CORBA::Any * | label (void) const |
virtual bool | marshal_label (TAO_OutputCDR &cdr) const |
virtual bool | equal_label (CORBA::ULong index, CORBA::TypeCode_ptr tc) const |
Verify equality of member labels. | |
Public Member Functions inherited from TAO::TypeCode::Case< StringType, TypeCodeType > | |
Case (char const *name, TypeCodeType tc) | |
Constructor. | |
Case (void) | |
Constructor. | |
virtual | ~Case (void) |
Destructor. | |
char const * | name (void) 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 (void) 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 |
Private Attributes | |
::CORBA::ULong const | label_ |
IDL union case/member label value. | |
CORBA::TypeCode_var | discriminator_tc_ |
IDL union discriminator typecode. | |
Representation of an OMG IDL defined union
case
for unions with Enum discriminators.
When dynamically creating a union type with a enum discriminator, there is not way that the template parameter DiscriminatorType can be specified at runtime.
Since enums are encoded as ULongs, DiscriminatorType has been replaced with CORBA::ULong.
TAO::TypeCode::Case_Enum_T< StringType, TypeCodeType >::Case_Enum_T | ( | CORBA::TypeCode_ptr | discriminator_tc, |
CORBA::ULong | member_label, | ||
char const * | member_name, | ||
TypeCodeType | member_type | ||
) |
Constructor.
TAO::TypeCode::Case_Enum_T< StringType, TypeCodeType >::Case_Enum_T | ( | CORBA::TypeCode_ptr | discriminator_tc, |
CORBA::ULong | member_label | ||
) |
Constructor.
Constructor only used in the dynamically constructed union
TypeCode
case.
|
virtual |
Cloning/copying operation.
Implements TAO::TypeCode::Case< StringType, TypeCodeType >.
|
virtual |
Verify equality of member labels.
Performing member label equality comparisons in the Case
subclass allows us to avoid performing interpretive extraction of the value from the Any
returned from the "right hand side" operand TypeCode
since the Case
subclass already knows what type and value should be extracted from the Any
.
index | Member index of given TypeCode tc being tested. |
tc | The TypeCode whose member "@a index" label is being tested. |
Implements TAO::TypeCode::Case< StringType, TypeCodeType >.
|
virtual |
Return the IDL union
case label value embedded within a CORBA::Any
.
Implements TAO::TypeCode::Case< StringType, TypeCodeType >.
|
virtual |
Marshal the IDL union
case
label value into the given output CDR stream.
Implements TAO::TypeCode::Case< StringType, TypeCodeType >.
|
private |
IDL union
discriminator typecode.
|
private |
IDL union
case/member label value.