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. | |
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. | |
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. | |
Recursive_Type (CORBA::TCKind kind, char const *id) | |
Dynamic Recursive_Type TypeCode constructor. | |
bool | struct_parameters (char const *name, MemberArrayType const &fields, CORBA::ULong nfields) |
Set struct TypeCode parameters. | |
bool | union_parameters (char const *name, TypeCodeType const &discriminant_type, MemberArrayType const &cases, CORBA::ULong ncases, CORBA::Long default_index) |
Set union TypeCode parameters. | |
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. | |
TAO-specific @c CORBA::TypeCode Methods | |
Methods required by TAO's implementation of the CORBA::TypeCode class.
TypeCode marshaling operation overrides.
| |
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 | |
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. | |
bool | in_recursion_ |
bool | data_initialized_ |
Track whether data has been initialized. |
TypeCode
decorator template.
This class template decorates the underlying TypeCode
implementation TypeCodeBase to provide support for IDL defined recursive types. Only IDL an 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 | |||
) | [inline] |
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 | |||
) | [inline] |
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 | |||
) | [inline] |
Recursive valuetype
constructor.
TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::Recursive_Type | ( | CORBA::TCKind | kind, | |
char const * | id | |||
) | [inline] |
Dynamic Recursive_Type
TypeCode constructor.
CORBA::Boolean TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::equal_i | ( | CORBA::TypeCode_ptr | tc | ) | const [inline, protected, virtual] |
CORBA::Boolean TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::equivalent_i | ( | CORBA::TypeCode_ptr | tc | ) | const [inline, protected, virtual] |
bool TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::struct_parameters | ( | char const * | name, | |
MemberArrayType const & | fields, | |||
CORBA::ULong | nfields | |||
) | [inline] |
Set struct
TypeCode
parameters.
bool TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::tao_marshal | ( | TAO_OutputCDR & | cdr, | |
CORBA::ULong | offset | |||
) | const [inline, virtual] |
bool TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::tao_marshal_kind | ( | TAO_OutputCDR & | cdr | ) | const [inline, 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 | |||
) | [inline] |
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 | |||
) | [inline] |
Set valuetype
or eventtype
TypeCode
parameters.
bool TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::data_initialized_ [private] |
Track whether data has been initialized.
bool TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::in_recursion_ [mutable, private] |
true
if equality or equivalence is being determined recursively. This flag is used to prevent TypeCode
equality and equivalence operations from recursing indefinitely.
TAO_SYNCH_RECURSIVE_MUTEX TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::lock_ [mutable, private] |
Internal state thread synchronization mutex.