TAO::TypeCode::Case< StringType, TypeCodeType > Class Template ReferenceAbstract base class for that represents an IDLunion case/member.
More...
Inheritance diagram for TAO::TypeCode::Case< StringType, TypeCodeType >:
Collaboration diagram for TAO::TypeCode::Case< StringType, TypeCodeType >:
Detailed Descriptiontemplate<typename StringType, typename TypeCodeType>
Abstract base class for that represents an IDL |
TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE TAO::TypeCode::Case< StringType, TypeCodeType >::Case | ( | char const * | name, | |
TypeCodeType | tc | |||
) | [inline] |
Constructor.
Constructor used when creating static union
TypeCodes
.
ACE_INLINE TAO::TypeCode::Case< StringType, TypeCodeType >::Case | ( | void | ) | [inline] |
Constructor.
Constructor used when creating dynamic union
TypeCodes
.
TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO::TypeCode::Case< StringType, TypeCodeType >::~Case | ( | void | ) | [inline, virtual] |
Destructor.
virtual Case* TAO::TypeCode::Case< StringType, TypeCodeType >::clone | ( | void | ) | const [pure virtual] |
Cloning/copying operation.
Implemented in TAO::TypeCode::Case_Enum_T< StringType, TypeCodeType >, and TAO::TypeCode::Case_T< DiscriminatorType, StringType, TypeCodeType >.
virtual CORBA::Any* TAO::TypeCode::Case< StringType, TypeCodeType >::label | ( | void | ) | const [pure virtual] |
Return the IDL union
case label value embedded within a CORBA::Any
.
Implemented in TAO::TypeCode::Case_Enum_T< StringType, TypeCodeType >, and TAO::TypeCode::Case_T< DiscriminatorType, StringType, TypeCodeType >.
ACE_INLINE char const * TAO::TypeCode::Case< StringType, TypeCodeType >::name | ( | void | ) | const [inline] |
Get the name of the union
case/member.
ACE_INLINE void TAO::TypeCode::Case< StringType, TypeCodeType >::name | ( | char const * | the_name | ) | [inline] |
Set the name of the union
case/member.
ACE_INLINE CORBA::TypeCode_ptr TAO::TypeCode::Case< StringType, TypeCodeType >::type | ( | void | ) | const [inline] |
Get the CORBA::TypeCode
of the union
case/member.
ACE_INLINE void TAO::TypeCode::Case< StringType, TypeCodeType >::type | ( | CORBA::TypeCode_ptr | tc | ) | [inline] |
Set the CORBA::TypeCode
of the union
case/member.
CORBA::TypeCode::_duplicate()
is called on the TypeCode
tc. ACE_INLINE bool TAO::TypeCode::Case< StringType, TypeCodeType >::marshal | ( | TAO_OutputCDR & | cdr, | |
CORBA::ULong | offset | |||
) | const [inline] |
Marshal this IDL union
member into the given output CDR stream.
bool TAO::TypeCode::Case< StringType, TypeCodeType >::equal | ( | CORBA::ULong | index, | |
CORBA::TypeCode_ptr | tc | |||
) | const [inline] |
Check for equality of the case
attributes contained by this class and the corresponding member attributes at index "index" in the given TypeCode
tc.
bool TAO::TypeCode::Case< StringType, TypeCodeType >::equivalent | ( | CORBA::ULong | index, | |
CORBA::TypeCode_ptr | tc | |||
) | const [inline] |
Check for equivalence of the case
attributes contained by this class and the corresponding member attributes at index "@a index" in the given TypeCode
tc.
virtual bool TAO::TypeCode::Case< StringType, TypeCodeType >::marshal_label | ( | TAO_OutputCDR & | cdr | ) | const [protected, pure virtual] |
Marshal the IDL union
case
label value into the given output CDR stream.
Implemented in TAO::TypeCode::Case_Enum_T< StringType, TypeCodeType >, and TAO::TypeCode::Case_T< DiscriminatorType, StringType, TypeCodeType >.
virtual bool TAO::TypeCode::Case< StringType, TypeCodeType >::equal_label | ( | CORBA::ULong | index, | |
CORBA::TypeCode_ptr | tc | |||
) | const [protected, pure 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. |
Implemented in TAO::TypeCode::Case_Enum_T< StringType, TypeCodeType >, and TAO::TypeCode::Case_T< DiscriminatorType, StringType, TypeCodeType >.
StringType TAO::TypeCode::Case< StringType, TypeCodeType >::name_ [private] |
The name of the case.
TypeCodeType TAO::TypeCode::Case< StringType, TypeCodeType >::type_ [private] |
Pointer to the CORBA::TypeCode
of the case.
A pointer to the CORBA::TypeCode_ptr
rather than the CORBA::TypeCode_ptr
itself is stored since that address is well-defined. We may not know the value of the CORBA::TypeCode_ptr
when creating this Case
statically at compile-time, hence the indirection.