summaryrefslogtreecommitdiff
path: root/TAO/tao/Value_TypeCode.inl
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Value_TypeCode.inl')
-rw-r--r--TAO/tao/Value_TypeCode.inl61
1 files changed, 61 insertions, 0 deletions
diff --git a/TAO/tao/Value_TypeCode.inl b/TAO/tao/Value_TypeCode.inl
new file mode 100644
index 00000000000..f10676a12b1
--- /dev/null
+++ b/TAO/tao/Value_TypeCode.inl
@@ -0,0 +1,61 @@
+// -*- C++ -*-
+//
+// $Id$
+
+#include "TypeCode_Value_Field.h"
+
+
+template <typename StringType,
+ class FieldArrayType,
+ CORBA::TCKind Kind,
+ class RefCountPolicy>
+ACE_INLINE
+TAO::TypeCode::Value<StringType, FieldArrayType, Kind, RefCountPolicy>::Value (
+ char const * id,
+ char const * name,
+ CORBA::ValueModifier modifier,
+ CORBA::TypeCode_ptr * concrete_base,
+ Field<StringType> const * fields,
+ CORBA::ULong nfields)
+ : base_attributes_ (id, name)
+ , type_modifier_ (modifier)
+ , concrete_base_ (concrete_base)
+ , nfields_ (nfields)
+ , fields_ (fields)
+{
+}
+
+template <typename StringType,
+ class FieldArrayType,
+ CORBA::TCKind Kind,
+ class RefCountPolicy>
+ACE_INLINE TAO::TypeCode::Field<StringType> const *
+TAO::TypeCode::Value<StringType,
+ FieldArrayType,
+ Kind,
+ RefCountPolicy>::fields (void) const
+{
+ return this->fields_;
+}
+
+// -------------------------------------------------------------
+// Member specializations
+// -------------------------------------------------------------
+
+ACE_INLINE TAO::TypeCode::Field<CORBA::String_var> const *
+TAO::TypeCode::Value<CORBA::String_var,
+ ACE_Auto_Ptr_Array<Field<CORBA::String_var> const>,
+ CORBA::tk_value,
+ TAO::True_RefCount_Policy>::fields (void) const
+{
+ return this->fields_.get ();
+}
+
+ACE_INLINE TAO::TypeCode::Field<CORBA::String_var> const *
+TAO::TypeCode::Value<CORBA::String_var,
+ ACE_Auto_Ptr_Array<Field<CORBA::String_var> const>,
+ CORBA::tk_event,
+ TAO::True_RefCount_Policy>::fields (void) const
+{
+ return this->fields_.get ();
+}