diff options
Diffstat (limited to 'TAO/tao/Value_TypeCode.inl')
-rw-r--r-- | TAO/tao/Value_TypeCode.inl | 61 |
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 (); +} |