00001
00002
00003
00004
00005 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00006
00007 template <class TypeCodeBase, typename TypeCodeType, typename MemberArrayType>
00008 ACE_INLINE
00009 TAO::TypeCode::Recursive_Type<TypeCodeBase,
00010 TypeCodeType,
00011 MemberArrayType>::Recursive_Type (
00012 CORBA::TCKind kind,
00013 char const * id,
00014 char const * name,
00015 MemberArrayType const & fields,
00016 CORBA::ULong nfields)
00017 : TypeCodeBase (kind, id, name, fields, nfields)
00018 , lock_ ()
00019 , in_recursion_ (false)
00020 {
00021
00022 }
00023
00024 template <class TypeCodeBase, typename TypeCodeType, typename MemberArrayType>
00025 ACE_INLINE
00026 TAO::TypeCode::Recursive_Type<TypeCodeBase,
00027 TypeCodeType,
00028 MemberArrayType>::Recursive_Type (
00029 char const * id,
00030 char const * name,
00031 #if defined (__BORLANDC__) && (__BORLANDC__ < 0x572)
00032 TypeCodeType discriminant_type,
00033 #else
00034 TypeCodeType const & discriminant_type,
00035 #endif
00036 MemberArrayType const & cases,
00037 CORBA::ULong ncases,
00038 CORBA::Long default_index)
00039 : TypeCodeBase (id,
00040 name,
00041 discriminant_type,
00042 cases,
00043 ncases,
00044 default_index)
00045 , lock_ ()
00046 , in_recursion_ (false)
00047 {
00048 }
00049
00050 template <class TypeCodeBase, typename TypeCodeType, typename MemberArrayType>
00051 ACE_INLINE
00052 TAO::TypeCode::Recursive_Type<TypeCodeBase,
00053 TypeCodeType,
00054 MemberArrayType>::Recursive_Type (
00055 CORBA::TCKind kind,
00056 char const * id,
00057 char const * name,
00058 CORBA::ValueModifier modifier,
00059 #if defined (__BORLANDC__) && (__BORLANDC__ < 0x572)
00060 TypeCodeType concrete_base,
00061 #else
00062 TypeCodeType const & concrete_base,
00063 #endif
00064 MemberArrayType const & fields,
00065 CORBA::ULong nfields)
00066 : TypeCodeBase (kind,
00067 id,
00068 name,
00069 modifier,
00070 concrete_base,
00071 fields,
00072 nfields)
00073 , lock_ ()
00074 , in_recursion_ (false)
00075 {
00076 }
00077
00078 template <class TypeCodeBase, typename TypeCodeType, typename MemberArrayType>
00079 ACE_INLINE
00080 TAO::TypeCode::Recursive_Type<TypeCodeBase,
00081 TypeCodeType,
00082 MemberArrayType>::Recursive_Type (
00083 CORBA::TCKind kind,
00084 char const * id)
00085 : TypeCodeBase (kind, id)
00086 , lock_ ()
00087 , in_recursion_ (false)
00088 {
00089
00090
00091
00092
00093 }
00094
00095 template <class TypeCodeBase, typename TypeCodeType, typename MemberArrayType>
00096 ACE_INLINE void
00097 TAO::TypeCode::Recursive_Type<TypeCodeBase,
00098 TypeCodeType,
00099 MemberArrayType>::struct_parameters (
00100 char const * name,
00101 MemberArrayType const & fields,
00102 CORBA::ULong nfields)
00103 {
00104 this->base_attributes_.name (name);
00105 this->fields_ = fields;
00106 this->nfields_ = nfields;
00107 }
00108
00109 template <class TypeCodeBase, typename TypeCodeType, typename MemberArrayType>
00110 ACE_INLINE void
00111 TAO::TypeCode::Recursive_Type<TypeCodeBase,
00112 TypeCodeType,
00113 MemberArrayType>::union_parameters (
00114 char const * name,
00115 #if defined (__BORLANDC__) && (__BORLANDC__ < 0x572)
00116 TypeCodeType discriminant_type,
00117 #else
00118 TypeCodeType const & discriminant_type,
00119 #endif
00120 MemberArrayType const & cases,
00121 CORBA::ULong ncases,
00122 CORBA::Long default_index)
00123 {
00124 this->base_attributes_.name (name);
00125 this->discriminant_type_ = discriminant_type;
00126 this->cases_ = cases;
00127 this->ncases_ = ncases;
00128 this->default_index_ = default_index;
00129 }
00130
00131 template <class TypeCodeBase, typename TypeCodeType, typename MemberArrayType>
00132 ACE_INLINE void
00133 TAO::TypeCode::Recursive_Type<TypeCodeBase,
00134 TypeCodeType,
00135 MemberArrayType>::valuetype_parameters (
00136 char const * name,
00137 CORBA::ValueModifier modifier,
00138 #if defined (__BORLANDC__) && (__BORLANDC__ < 0x572)
00139 TypeCodeType concrete_base,
00140 #else
00141 TypeCodeType const & concrete_base,
00142 #endif
00143 MemberArrayType const & fields,
00144 CORBA::ULong nfields)
00145 {
00146 this->base_attributes_.name (name);
00147 this->type_modifier_ = modifier;
00148 this->concrete_base_ = concrete_base;
00149 this->fields_ = fields;
00150 this->nfields_ = nfields;
00151 }
00152
00153 TAO_END_VERSIONED_NAMESPACE_DECL