TypeCode decorator template.
More...
#include <Recursive_Type_TypeCode.h>
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. | |
| void | struct_parameters (char const *name, MemberArrayType const &fields, CORBA::ULong nfields) |
Set struct TypeCode parameters. | |
| void | union_parameters (char const *name, TypeCodeType const &discriminant_type, MemberArrayType const &cases, CORBA::ULong ncases, CORBA::Long default_index) |
Set union TypeCode parameters. | |
| void | 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_ |
Classes | |
| class | Reset |
| Reset flag to false in an exception-safe manner. More... | |
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_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE 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.
| ACE_INLINE 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.
| ACE_INLINE 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.
| ACE_INLINE TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::Recursive_Type | ( | CORBA::TCKind | kind, | |
| char const * | id | |||
| ) | [inline] |
Dynamic Recursive_Type TypeCode constructor.
| bool TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::tao_marshal_kind | ( | TAO_OutputCDR & | cdr | ) | const [inline, virtual] |
| TAO_BEGIN_VERSIONED_NAMESPACE_DECL bool TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::tao_marshal | ( | TAO_OutputCDR & | cdr, | |
| CORBA::ULong | offset | |||
| ) | const [inline, virtual] |
| 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] |
| ACE_INLINE void TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::struct_parameters | ( | char const * | name, | |
| MemberArrayType const & | fields, | |||
| CORBA::ULong | nfields | |||
| ) | [inline] |
Set struct TypeCode parameters.
| ACE_INLINE void 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.
| ACE_INLINE void 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.
TAO_SYNCH_RECURSIVE_MUTEX TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::lock_ [mutable, private] |
Internal state thread synchronization mutex.
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.
1.5.3