summaryrefslogtreecommitdiff
path: root/TAO/tao/AnyTypeCode/Struct_TypeCode.inl
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/AnyTypeCode/Struct_TypeCode.inl')
-rw-r--r--TAO/tao/AnyTypeCode/Struct_TypeCode.inl50
1 files changed, 50 insertions, 0 deletions
diff --git a/TAO/tao/AnyTypeCode/Struct_TypeCode.inl b/TAO/tao/AnyTypeCode/Struct_TypeCode.inl
new file mode 100644
index 00000000000..d064338ee22
--- /dev/null
+++ b/TAO/tao/AnyTypeCode/Struct_TypeCode.inl
@@ -0,0 +1,50 @@
+// -*- C++ -*-
+//
+// $Id$
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+template <typename StringType,
+ typename TypeCodeType,
+ class FieldArrayType,
+ class RefCountPolicy>
+ACE_INLINE
+TAO::TypeCode::Struct<StringType,
+ TypeCodeType,
+ FieldArrayType,
+ RefCountPolicy>::Struct (
+ CORBA::TCKind kind,
+ char const * id,
+ char const * name,
+ FieldArrayType const & fields,
+ CORBA::ULong nfields)
+ : ::CORBA::TypeCode (kind)
+ , RefCountPolicy ()
+ , base_attributes_ (id, name)
+ , nfields_ (nfields)
+ , fields_ (fields)
+{
+}
+
+template <typename StringType,
+ typename TypeCodeType,
+ class FieldArrayType,
+ class RefCountPolicy>
+ACE_INLINE
+TAO::TypeCode::Struct<StringType,
+ TypeCodeType,
+ FieldArrayType,
+ RefCountPolicy>::Struct (
+ CORBA::TCKind kind,
+ char const * id)
+ : ::CORBA::TypeCode (kind)
+ , RefCountPolicy ()
+ , base_attributes_ (id)
+ , nfields_ (0)
+ , fields_ ()
+{
+ // CORBA::tk_except is not allowed in the recursive TypeCode case.
+ // ACE_ASSERT (kind == CORBA::tk_struct);
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL