CORBA::TypeCode
implementation for OMG IDL string types.
More...
#include <String_TypeCode.h>
Inheritance diagram for TAO::TypeCode::String< RefCountPolicy >:
@c TAO CORBA::TypeCode Template Methods | |
CORBA::TypeCode template methods specific to tk_string TypeCodes .
| |
virtual CORBA::Boolean | equal_i (CORBA::TypeCode_ptr tc) const |
virtual CORBA::Boolean | equivalent_i (CORBA::TypeCode_ptr tc) const |
virtual CORBA::TypeCode_ptr | get_compact_typecode_i (void) const |
virtual CORBA::ULong | length_i (void) const |
CORBA::ULong const | length_ |
Public Member Functions | |
String (CORBA::TCKind kind, CORBA::ULong length) | |
Constructor. | |
TAO-specific @c CORBA::TypeCode Methods | |
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. |
CORBA::TypeCode
implementation for OMG IDL string types.
This class implements a CORBA::TypeCode
for OMG IDL string types, including wstring
.
Definition at line 44 of file String_TypeCode.h.
|
Constructor.
Definition at line 9 of file String_TypeCode.inl.
00011 : ::CORBA::TypeCode (kind) 00012 , RefCountPolicy () 00013 , length_ (length) 00014 { 00015 // ACE_ASSERT (kind == CORBA::tk_string || kind == CORBA::tk_wstring); 00016 } |
|
Implements CORBA::TypeCode. Definition at line 45 of file String_TypeCode.cpp. Referenced by TAO::TypeCode::String< RefCountPolicy >::equivalent_i().
00047 { 00048 // The following call won't throw since CORBA::TypeCode::equal() has 00049 // already established the kind of tc is the same as our kind. 00050 CORBA::ULong const tc_length = tc->length (); 00051 00052 return (this->length_ == tc_length); 00053 } |
|
Implements CORBA::TypeCode. Definition at line 57 of file String_TypeCode.cpp. References TAO::TypeCode::String< RefCountPolicy >::equal_i().
00059 { 00060 // Since TCKind comparisons must be performed before equal_i() is 00061 // called, we can also call it to determine equivalence of 00062 // tk_string-based TypeCodes. 00063 return this->equal_i (tc); 00064 } |
|
Implements CORBA::TypeCode. Definition at line 68 of file String_TypeCode.cpp. References CORBA::TypeCode::_duplicate().
00069 { 00070 // Already compact since tk_string and tk_wstring TypeCodes have no 00071 // name or member names, meaning that we can simply call 00072 // _duplicate() on this TypeCode. 00073 00074 CORBA::TypeCode_ptr mutable_tc = 00075 const_cast<TAO::TypeCode::String<RefCountPolicy> *> (this); 00076 00077 return CORBA::TypeCode::_duplicate (mutable_tc); 00078 } |
|
Reimplemented from CORBA::TypeCode. Definition at line 82 of file String_TypeCode.cpp.
00083 { 00084 return this->length_; 00085 } |
|
Increase the reference count on this
Implements CORBA::TypeCode. Definition at line 31 of file String_TypeCode.cpp.
00032 { 00033 this->RefCountPolicy::add_ref (); 00034 } |
|
Marshal this
Marshal this
Implements CORBA::TypeCode. Definition at line 17 of file String_TypeCode.cpp.
00019 { 00020 // A tk_string TypeCode has a "simple" parameter list type (see 00021 // Table 15-2 in Section 15.3.5.1 "TypeCode" in the CDR section of 00022 // the CORBA specification), meaning that its parameter(s) must be 00023 // marshaled immediately following the TCKind. No CDR encapsulation 00024 // is to be created. 00025 00026 return (cdr << this->length_); 00027 } |
|
Decrease the reference count on this object.
Implements CORBA::TypeCode. Definition at line 38 of file String_TypeCode.cpp.
00039 { 00040 this->RefCountPolicy::remove_ref (); 00041 } |
|
Length of the Definition at line 91 of file String_TypeCode.h. |