TAO_AnyTypeCode
2.3.1
|
Recursive type TypeCode
decorator template.
More...
#include <Recursive_Type_TypeCode.h>
Classes | |
class | Reset |
Reset flag to false in an exception-safe manner. More... | |
Public Member Functions | |
Recursive_Type (CORBA::TCKind kind, char const *id, char const *name, MemberArrayType const &fields, CORBA::ULong nfields) | |
Recursive struct constructor. More... | |
Recursive_Type (char const *id, char const *name, TypeCodeType const &discriminant_type, MemberArrayType const &cases, CORBA::ULong ncases, CORBA::Long default_index) | |
Recursive union constructor. More... | |
Recursive_Type (CORBA::TCKind kind, char const *id, char const *name, CORBA::ValueModifier modifier, TypeCodeType const &concrete_base, MemberArrayType const &fields, CORBA::ULong nfields) | |
Recursive valuetype constructor. More... | |
Recursive_Type (CORBA::TCKind kind, char const *id) | |
Dynamic Recursive_Type TypeCode constructor. More... | |
bool | struct_parameters (char const *name, MemberArrayType const &fields, CORBA::ULong nfields) |
Set struct TypeCode parameters. More... | |
bool | union_parameters (char const *name, TypeCodeType const &discriminant_type, MemberArrayType const &cases, CORBA::ULong ncases, CORBA::Long default_index) |
Set union TypeCode parameters. More... | |
bool | valuetype_parameters (char const *name, CORBA::ValueModifier modifier, TypeCodeType const &concrete_base, MemberArrayType const &fields, CORBA::ULong nfields) |
Set valuetype or eventtype TypeCode parameters. More... | |
TAO-specific @c CORBA::TypeCode Methods | |
Methods required by TAO's implementation of the These are recursive type
| |
virtual bool | tao_marshal_kind (TAO_OutputCDR &cdr) const |
virtual bool | tao_marshal (TAO_OutputCDR &cdr, CORBA::ULong offset) const |
Protected Member Functions | |
TAO @c CORBA::TypeCode Template Methods | |
Recursive type
| |
virtual CORBA::Boolean | equal_i (CORBA::TypeCode_ptr tc) const |
virtual CORBA::Boolean | equivalent_i (CORBA::TypeCode_ptr tc) const |
Private Attributes | |
TAO_SYNCH_RECURSIVE_MUTEX | lock_ |
Internal state thread synchronization mutex. More... | |
CORBA::ULong | recursion_start_offset_ |
bool | data_initialized_ |
Track whether data has been initialized. More... | |
Recursive type TypeCode
decorator template.
This class template decorates the underlying TypeCode
implementation TypeCodeBase to provide support for IDL defined recursive types. Only an IDL struct
, union
or valuetype
may be recursive, which is why this decorator only supports constructors for the corresponding TypeCode
implementations.
TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::Recursive_Type | ( | CORBA::TCKind | kind, |
char const * | id, | ||
char const * | name, | ||
MemberArrayType const & | fields, | ||
CORBA::ULong | nfields | ||
) |
Recursive struct
constructor.
TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::Recursive_Type | ( | char const * | id, |
char const * | name, | ||
TypeCodeType const & | discriminant_type, | ||
MemberArrayType const & | cases, | ||
CORBA::ULong | ncases, | ||
CORBA::Long | default_index | ||
) |
Recursive union
constructor.
TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::Recursive_Type | ( | CORBA::TCKind | kind, |
char const * | id, | ||
char const * | name, | ||
CORBA::ValueModifier | modifier, | ||
TypeCodeType const & | concrete_base, | ||
MemberArrayType const & | fields, | ||
CORBA::ULong | nfields | ||
) |
Recursive valuetype
constructor.
TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::Recursive_Type | ( | CORBA::TCKind | kind, |
char const * | id | ||
) |
Dynamic Recursive_Type
TypeCode constructor.
|
protectedvirtual |
|
protectedvirtual |
bool TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::struct_parameters | ( | char const * | name, |
MemberArrayType const & | fields, | ||
CORBA::ULong | nfields | ||
) |
Set struct
TypeCode
parameters.
|
virtual |
|
virtual |
bool TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::union_parameters | ( | char const * | name, |
TypeCodeType const & | discriminant_type, | ||
MemberArrayType const & | cases, | ||
CORBA::ULong | ncases, | ||
CORBA::Long | default_index | ||
) |
Set union
TypeCode
parameters.
bool TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::valuetype_parameters | ( | char const * | name, |
CORBA::ValueModifier | modifier, | ||
TypeCodeType const & | concrete_base, | ||
MemberArrayType const & | fields, | ||
CORBA::ULong | nfields | ||
) |
Set valuetype
or eventtype
TypeCode
parameters.
|
private |
Track whether data has been initialized.
|
mutableprivate |
Internal state thread synchronization mutex.
|
mutableprivate |
true
if equality or equivalence is being determined recursively. This flag is used to prevent TypeCode
equality and equivalence operations from recursing indefinitely.