// -*- C++ -*-
//
// IFR_ExtendedC.cpp,v 1.30 2004/04/22 06:38:18 jwillemsen Exp

// ****  Code generated by the The ACE ORB (TAO) IDL Compiler ****
// TAO and the TAO IDL Compiler have been developed by:
//       Center for Distributed Object Computing
//       Washington University
//       St. Louis, MO
//       USA
//       http://www.cs.wustl.edu/~schmidt/doc-center.html
// and
//       Distributed Object Computing Laboratory
//       University of California at Irvine
//       Irvine, CA
//       USA
//       http://doc.ece.uci.edu/
// and
//       Institute for Software Integrated Systems
//       Vanderbilt University
//       Nashville, TN
//       USA
//       http://www.isis.vanderbilt.edu/
//
// Information about TAO is available at:
//     http://www.cs.wustl.edu/~schmidt/TAO.html

// TAO_IDL - Generated from
// be\be_codegen.cpp:323


#include "IFR_ExtendedC.h"
#include "tao/CDR.h"
#include "tao/Exception_Data.h"
#include "tao/Invocation_Adapter.h"
#include "tao/Object_T.h"
#include "tao/Basic_Arguments.h"
#include "tao/Object_Argument_T.h"
#include "tao/Special_Basic_Arguments.h"
#include "tao/UB_String_Arguments.h"
#include "tao/Var_Size_Argument_T.h"
#include "ace/OS_NS_string.h"

#if defined (__BORLANDC__)
#pragma option -w-rvl -w-rch -w-ccc -w-aus -w-sig
#endif /* __BORLANDC__ */

#if !defined (__ACE_INLINE__)
#include "IFR_ExtendedC.i"
#endif /* !defined INLINE */

// TAO_IDL - Generated from
// be\be_visitor_arg_traits.cpp:64

// Arg traits specializations.
namespace TAO
{
  
  // TAO_IDL - Generated from
  // be\be_visitor_arg_traits.cpp:582

#if !defined (_CORBA_ANY__ARG_TRAITS_CS_)
#define _CORBA_ANY__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::Any>
    : public
        Var_Size_Arg_Traits_T<
            CORBA::Any,
            CORBA::Any_var,
            CORBA::Any_out
          >
  {
  };

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be\be_visitor_arg_traits.cpp:537

#if !defined (_CORBA_DEFINITIONKIND__ARG_TRAITS_CS_)
#define _CORBA_DEFINITIONKIND__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::DefinitionKind>
    : public
        Basic_Arg_Traits_T<
            CORBA::DefinitionKind
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_CORBA_CONTAINER__ARG_TRAITS_CS_)
#define _CORBA_CONTAINER__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::Container>
    : public
        Object_Arg_Traits_T<
            CORBA::Container_ptr,
            CORBA::Container_var,
            CORBA::Container_out,
            TAO::Objref_Traits<CORBA::Container>
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_CORBA_IDLTYPE__ARG_TRAITS_CS_)
#define _CORBA_IDLTYPE__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::IDLType>
    : public
        Object_Arg_Traits_T<
            CORBA::IDLType_ptr,
            CORBA::IDLType_var,
            CORBA::IDLType_out,
            TAO::Objref_Traits<CORBA::IDLType>
          >
  {
  };

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be\be_visitor_arg_traits.cpp:379

#if !defined (_CORBA_INTERFACEDEFSEQ__ARG_TRAITS_CS_)
#define _CORBA_INTERFACEDEFSEQ__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::InterfaceDefSeq>
    : public
        Var_Size_Arg_Traits_T<
            CORBA::InterfaceDefSeq,
            CORBA::InterfaceDefSeq_var,
            CORBA::InterfaceDefSeq_out
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_CORBA_VALUEDEF__ARG_TRAITS_CS_)
#define _CORBA_VALUEDEF__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::ValueDef>
    : public
        Object_Arg_Traits_T<
            CORBA::ValueDef_ptr,
            CORBA::ValueDef_var,
            CORBA::ValueDef_out,
            TAO::Objref_Traits<CORBA::ValueDef>
          >
  {
  };

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be\be_visitor_arg_traits.cpp:618

#if !defined (_CORBA_VALUEDEF_FULLVALUEDESCRIPTION__ARG_TRAITS_CS_)
#define _CORBA_VALUEDEF_FULLVALUEDESCRIPTION__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::ValueDef::FullValueDescription>
    : public
        Var_Size_Arg_Traits_T<
            CORBA::ValueDef::FullValueDescription,
            CORBA::ValueDef::FullValueDescription_var,
            CORBA::ValueDef::FullValueDescription_out
          >
  {
  };

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be\be_visitor_arg_traits.cpp:379

#if !defined (_CORBA_INITIALIZERSEQ__ARG_TRAITS_CS_)
#define _CORBA_INITIALIZERSEQ__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::InitializerSeq>
    : public
        Var_Size_Arg_Traits_T<
            CORBA::InitializerSeq,
            CORBA::InitializerSeq_var,
            CORBA::InitializerSeq_out
          >
  {
  };

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be\be_visitor_arg_traits.cpp:379

#if !defined (_CORBA_VALUEDEFSEQ__ARG_TRAITS_CS_)
#define _CORBA_VALUEDEFSEQ__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::ValueDefSeq>
    : public
        Var_Size_Arg_Traits_T<
            CORBA::ValueDefSeq,
            CORBA::ValueDefSeq_var,
            CORBA::ValueDefSeq_out
          >
  {
  };

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be\be_visitor_arg_traits.cpp:379

#if !defined (_CORBA_ABSTRACTINTERFACEDEFSEQ__ARG_TRAITS_CS_)
#define _CORBA_ABSTRACTINTERFACEDEFSEQ__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::AbstractInterfaceDefSeq>
    : public
        Var_Size_Arg_Traits_T<
            CORBA::AbstractInterfaceDefSeq,
            CORBA::AbstractInterfaceDefSeq_var,
            CORBA::AbstractInterfaceDefSeq_out
          >
  {
  };

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be\be_visitor_arg_traits.cpp:618

#if !defined (_CORBA_EXTVALUEDEF_EXTFULLVALUEDESCRIPTION__ARG_TRAITS_CS_)
#define _CORBA_EXTVALUEDEF_EXTFULLVALUEDESCRIPTION__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::ExtValueDef::ExtFullValueDescription>
    : public
        Var_Size_Arg_Traits_T<
            CORBA::ExtValueDef::ExtFullValueDescription,
            CORBA::ExtValueDef::ExtFullValueDescription_var,
            CORBA::ExtValueDef::ExtFullValueDescription_out
          >
  {
  };

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be\be_visitor_arg_traits.cpp:379

#if !defined (_CORBA_EXTINITIALIZERSEQ__ARG_TRAITS_CS_)
#define _CORBA_EXTINITIALIZERSEQ__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::ExtInitializerSeq>
    : public
        Var_Size_Arg_Traits_T<
            CORBA::ExtInitializerSeq,
            CORBA::ExtInitializerSeq_var,
            CORBA::ExtInitializerSeq_out
          >
  {
  };

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be\be_visitor_arg_traits.cpp:379

#if !defined (_CORBA_STRUCTMEMBERSEQ__ARG_TRAITS_CS_)
#define _CORBA_STRUCTMEMBERSEQ__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::StructMemberSeq>
    : public
        Var_Size_Arg_Traits_T<
            CORBA::StructMemberSeq,
            CORBA::StructMemberSeq_var,
            CORBA::StructMemberSeq_out
          >
  {
  };

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be\be_visitor_arg_traits.cpp:379

#if !defined (_CORBA_UNIONMEMBERSEQ__ARG_TRAITS_CS_)
#define _CORBA_UNIONMEMBERSEQ__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::UnionMemberSeq>
    : public
        Var_Size_Arg_Traits_T<
            CORBA::UnionMemberSeq,
            CORBA::UnionMemberSeq_var,
            CORBA::UnionMemberSeq_out
          >
  {
  };

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be\be_visitor_arg_traits.cpp:379

#if !defined (_CORBA_ENUMMEMBERSEQ__ARG_TRAITS_CS_)
#define _CORBA_ENUMMEMBERSEQ__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::EnumMemberSeq>
    : public
        Var_Size_Arg_Traits_T<
            CORBA::EnumMemberSeq,
            CORBA::EnumMemberSeq_var,
            CORBA::EnumMemberSeq_out
          >
  {
  };

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be\be_visitor_arg_traits.cpp:537

#if !defined (_CORBA_PRIMITIVEKIND__ARG_TRAITS_CS_)
#define _CORBA_PRIMITIVEKIND__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::PrimitiveKind>
    : public
        Basic_Arg_Traits_T<
            CORBA::PrimitiveKind
          >
  {
  };

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be\be_visitor_arg_traits.cpp:379

#if !defined (_CORBA_EXCEPTIONDEFSEQ__ARG_TRAITS_CS_)
#define _CORBA_EXCEPTIONDEFSEQ__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::ExceptionDefSeq>
    : public
        Var_Size_Arg_Traits_T<
            CORBA::ExceptionDefSeq,
            CORBA::ExceptionDefSeq_var,
            CORBA::ExceptionDefSeq_out
          >
  {
  };

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be\be_visitor_arg_traits.cpp:537

#if !defined (_CORBA_ATTRIBUTEMODE__ARG_TRAITS_CS_)
#define _CORBA_ATTRIBUTEMODE__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::AttributeMode>
    : public
        Basic_Arg_Traits_T<
            CORBA::AttributeMode
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_CORBA_ATTRIBUTEDEF__ARG_TRAITS_CS_)
#define _CORBA_ATTRIBUTEDEF__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::AttributeDef>
    : public
        Object_Arg_Traits_T<
            CORBA::AttributeDef_ptr,
            CORBA::AttributeDef_var,
            CORBA::AttributeDef_out,
            TAO::Objref_Traits<CORBA::AttributeDef>
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_CORBA_EXTATTRIBUTEDEF__ARG_TRAITS_CS_)
#define _CORBA_EXTATTRIBUTEDEF__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::ExtAttributeDef>
    : public
        Object_Arg_Traits_T<
            CORBA::ExtAttributeDef_ptr,
            CORBA::ExtAttributeDef_var,
            CORBA::ExtAttributeDef_out,
            TAO::Objref_Traits<CORBA::ExtAttributeDef>
          >
  {
  };

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be\be_visitor_arg_traits.cpp:537

#if !defined (_CORBA_OPERATIONMODE__ARG_TRAITS_CS_)
#define _CORBA_OPERATIONMODE__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::OperationMode>
    : public
        Basic_Arg_Traits_T<
            CORBA::OperationMode
          >
  {
  };

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be\be_visitor_arg_traits.cpp:379

#if !defined (_CORBA_PARDESCRIPTIONSEQ__ARG_TRAITS_CS_)
#define _CORBA_PARDESCRIPTIONSEQ__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::ParDescriptionSeq>
    : public
        Var_Size_Arg_Traits_T<
            CORBA::ParDescriptionSeq,
            CORBA::ParDescriptionSeq_var,
            CORBA::ParDescriptionSeq_out
          >
  {
  };

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be\be_visitor_arg_traits.cpp:379

#if !defined (_CORBA_CONTEXTIDSEQ__ARG_TRAITS_CS_)
#define _CORBA_CONTEXTIDSEQ__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::ContextIdSeq>
    : public
        Var_Size_Arg_Traits_T<
            CORBA::ContextIdSeq,
            CORBA::ContextIdSeq_var,
            CORBA::ContextIdSeq_out
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_CORBA_OPERATIONDEF__ARG_TRAITS_CS_)
#define _CORBA_OPERATIONDEF__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::OperationDef>
    : public
        Object_Arg_Traits_T<
            CORBA::OperationDef_ptr,
            CORBA::OperationDef_var,
            CORBA::OperationDef_out,
            TAO::Objref_Traits<CORBA::OperationDef>
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_CORBA_VALUEMEMBERDEF__ARG_TRAITS_CS_)
#define _CORBA_VALUEMEMBERDEF__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::ValueMemberDef>
    : public
        Object_Arg_Traits_T<
            CORBA::ValueMemberDef_ptr,
            CORBA::ValueMemberDef_var,
            CORBA::ValueMemberDef_out,
            TAO::Objref_Traits<CORBA::ValueMemberDef>
          >
  {
  };

#endif /* end #if !defined */
}


// TAO_IDL - Generated from
// be\be_visitor_interface/interface_cs.cpp:60

// Traits specializations for CORBA::FixedDef.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::FixedDef_ptr
TAO::Objref_Traits<CORBA::FixedDef>::tao_duplicate (
    CORBA::FixedDef_ptr p
  )
{
  return CORBA::FixedDef::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CORBA::FixedDef>::tao_release (
    CORBA::FixedDef_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::FixedDef_ptr
TAO::Objref_Traits<CORBA::FixedDef>::tao_nil (void)
{
  return CORBA::FixedDef::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CORBA::FixedDef>::tao_marshal (
    CORBA::FixedDef_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

// Function pointer for collocation factory initialization.
TAO::Collocation_Proxy_Broker * 
(*CORBA__TAO_FixedDef_Proxy_Broker_Factory_function_pointer) (
    CORBA::Object_ptr obj
  ) = 0;

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

CORBA::UShort CORBA::FixedDef::digits (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_FixedDef_Proxy_Broker_ == 0)
    {
      CORBA_FixedDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::UShort>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "_get_digits",
      11,
      this->the_TAO_FixedDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

void CORBA::FixedDef::digits (
    CORBA::UShort digits
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_FixedDef_Proxy_Broker_ == 0)
    {
      CORBA_FixedDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<void>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::UShort>::in_arg_val _tao_digits (digits);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_digits
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "_set_digits",
      11,
      this->the_TAO_FixedDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

CORBA::Short CORBA::FixedDef::scale (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_FixedDef_Proxy_Broker_ == 0)
    {
      CORBA_FixedDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::Short>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "_get_scale",
      10,
      this->the_TAO_FixedDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

void CORBA::FixedDef::scale (
    CORBA::Short scale
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_FixedDef_Proxy_Broker_ == 0)
    {
      CORBA_FixedDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<void>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::Short>::in_arg_val _tao_scale (scale);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_scale
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "_set_scale",
      10,
      this->the_TAO_FixedDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

CORBA::FixedDef::FixedDef (void)
 : the_TAO_FixedDef_Proxy_Broker_ (0)
{
  this->CORBA_FixedDef_setup_collocation ();
}

void
CORBA::FixedDef::CORBA_FixedDef_setup_collocation ()
{
  if (::CORBA__TAO_FixedDef_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_FixedDef_Proxy_Broker_ =
        ::CORBA__TAO_FixedDef_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CORBA_IDLType_setup_collocation ();
}

CORBA::FixedDef::~FixedDef (void)
{}

void 
CORBA::FixedDef::_tao_any_destructor (void *_tao_void_pointer)
{
  FixedDef *_tao_tmp_pointer =
    ACE_static_cast (FixedDef *, _tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

CORBA::FixedDef_ptr
CORBA::FixedDef::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<FixedDef>::narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/FixedDef:1.0",
        CORBA__TAO_FixedDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::FixedDef_ptr
CORBA::FixedDef::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<FixedDef>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/FixedDef:1.0",
        CORBA__TAO_FixedDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::FixedDef_ptr
CORBA::FixedDef::_duplicate (FixedDef_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
CORBA::FixedDef::_is_a (
    const char *value
    ACE_ENV_ARG_DECL
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/IRObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/IDLType:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/FixedDef:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Object:1.0"
        )
     )
    {
      return 1; // success using local knowledge
    }
  else
    {
      return this->ACE_NESTED_CLASS (CORBA, Object)::_is_a (
          value
          ACE_ENV_ARG_PARAMETER
        );
    }
}

const char* CORBA::FixedDef::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/FixedDef:1.0";
}

CORBA::Boolean
CORBA::FixedDef::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

// TAO_IDL - Generated from 
// be\be_visitor_structure/structure_cs.cpp:66

void 
CORBA::ValueMember::_tao_any_destructor (
    void *_tao_void_pointer
  )
{
  ValueMember *_tao_tmp_pointer =
    ACE_static_cast (ValueMember *, _tao_void_pointer);
  delete _tao_tmp_pointer;
}

// TAO_IDL - Generated from 
// be\be_visitor_sequence/sequence_cs.cpp:65

#if !defined (_CORBA_VALUEMEMBERSEQ_CS_)
#define _CORBA_VALUEMEMBERSEQ_CS_

CORBA::ValueMemberSeq::ValueMemberSeq (void)
{}

CORBA::ValueMemberSeq::ValueMemberSeq (
    CORBA::ULong max
  )
  : TAO_Unbounded_Sequence<
        CORBA::ValueMember
      >
    (max)
{}

CORBA::ValueMemberSeq::ValueMemberSeq (
    CORBA::ULong max,
    CORBA::ULong length,
    CORBA::ValueMember * buffer,
    CORBA::Boolean release
  )
  : TAO_Unbounded_Sequence<
        CORBA::ValueMember
      >
    (max, length, buffer, release)
{}

CORBA::ValueMemberSeq::ValueMemberSeq (
    const ValueMemberSeq &seq
  )
  : TAO_Unbounded_Sequence<
        CORBA::ValueMember
      >
    (seq)
{}

CORBA::ValueMemberSeq::~ValueMemberSeq (void)
{}

void CORBA::ValueMemberSeq::_tao_any_destructor (
    void * _tao_void_pointer
  )
{
  ValueMemberSeq * _tao_tmp_pointer =
    ACE_static_cast (ValueMemberSeq *, _tao_void_pointer);
  delete _tao_tmp_pointer;
}

#endif /* end #if !defined */

// TAO_IDL - Generated from
// be\be_visitor_interface/interface_cs.cpp:60

// Traits specializations for CORBA::ValueMemberDef.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ValueMemberDef_ptr
TAO::Objref_Traits<CORBA::ValueMemberDef>::tao_duplicate (
    CORBA::ValueMemberDef_ptr p
  )
{
  return CORBA::ValueMemberDef::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CORBA::ValueMemberDef>::tao_release (
    CORBA::ValueMemberDef_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ValueMemberDef_ptr
TAO::Objref_Traits<CORBA::ValueMemberDef>::tao_nil (void)
{
  return CORBA::ValueMemberDef::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CORBA::ValueMemberDef>::tao_marshal (
    CORBA::ValueMemberDef_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

// Function pointer for collocation factory initialization.
TAO::Collocation_Proxy_Broker * 
(*CORBA__TAO_ValueMemberDef_Proxy_Broker_Factory_function_pointer) (
    CORBA::Object_ptr obj
  ) = 0;

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

CORBA::TypeCode_ptr CORBA::ValueMemberDef::type (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ValueMemberDef_Proxy_Broker_ == 0)
    {
      CORBA_ValueMemberDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::TypeCode>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "_get_type",
      9,
      this->the_TAO_ValueMemberDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

::CORBA::IDLType_ptr CORBA::ValueMemberDef::type_def (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ValueMemberDef_Proxy_Broker_ == 0)
    {
      CORBA_ValueMemberDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::IDLType>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "_get_type_def",
      13,
      this->the_TAO_ValueMemberDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

void CORBA::ValueMemberDef::type_def (
    CORBA::IDLType_ptr type_def
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ValueMemberDef_Proxy_Broker_ == 0)
    {
      CORBA_ValueMemberDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<void>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::IDLType>::in_arg_val _tao_type_def (type_def);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_type_def
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "_set_type_def",
      13,
      this->the_TAO_ValueMemberDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

CORBA::Visibility CORBA::ValueMemberDef::access (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ValueMemberDef_Proxy_Broker_ == 0)
    {
      CORBA_ValueMemberDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::Visibility>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "_get_access",
      11,
      this->the_TAO_ValueMemberDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

void CORBA::ValueMemberDef::access (
    CORBA::Visibility access
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ValueMemberDef_Proxy_Broker_ == 0)
    {
      CORBA_ValueMemberDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<void>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::Visibility>::in_arg_val _tao_access (access);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_access
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "_set_access",
      11,
      this->the_TAO_ValueMemberDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

CORBA::ValueMemberDef::ValueMemberDef (void)
 : the_TAO_ValueMemberDef_Proxy_Broker_ (0)
{
  this->CORBA_ValueMemberDef_setup_collocation ();
}

void
CORBA::ValueMemberDef::CORBA_ValueMemberDef_setup_collocation ()
{
  if (::CORBA__TAO_ValueMemberDef_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_ValueMemberDef_Proxy_Broker_ =
        ::CORBA__TAO_ValueMemberDef_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CORBA_Contained_setup_collocation ();
}

CORBA::ValueMemberDef::~ValueMemberDef (void)
{}

void 
CORBA::ValueMemberDef::_tao_any_destructor (void *_tao_void_pointer)
{
  ValueMemberDef *_tao_tmp_pointer =
    ACE_static_cast (ValueMemberDef *, _tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

CORBA::ValueMemberDef_ptr
CORBA::ValueMemberDef::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<ValueMemberDef>::narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ValueMemberDef:1.0",
        CORBA__TAO_ValueMemberDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ValueMemberDef_ptr
CORBA::ValueMemberDef::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<ValueMemberDef>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ValueMemberDef:1.0",
        CORBA__TAO_ValueMemberDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ValueMemberDef_ptr
CORBA::ValueMemberDef::_duplicate (ValueMemberDef_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
CORBA::ValueMemberDef::_is_a (
    const char *value
    ACE_ENV_ARG_DECL
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/IRObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Contained:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/ValueMemberDef:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Object:1.0"
        )
     )
    {
      return 1; // success using local knowledge
    }
  else
    {
      return this->ACE_NESTED_CLASS (CORBA, Object)::_is_a (
          value
          ACE_ENV_ARG_PARAMETER
        );
    }
}

const char* CORBA::ValueMemberDef::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ValueMemberDef:1.0";
}

CORBA::Boolean
CORBA::ValueMemberDef::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

// TAO_IDL - Generated from
// be\be_visitor_interface/interface_cs.cpp:60

// Traits specializations for CORBA::ValueDef.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ValueDef_ptr
TAO::Objref_Traits<CORBA::ValueDef>::tao_duplicate (
    CORBA::ValueDef_ptr p
  )
{
  return CORBA::ValueDef::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CORBA::ValueDef>::tao_release (
    CORBA::ValueDef_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ValueDef_ptr
TAO::Objref_Traits<CORBA::ValueDef>::tao_nil (void)
{
  return CORBA::ValueDef::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CORBA::ValueDef>::tao_marshal (
    CORBA::ValueDef_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

// Function pointer for collocation factory initialization.
TAO::Collocation_Proxy_Broker * 
(*CORBA__TAO_ValueDef_Proxy_Broker_Factory_function_pointer) (
    CORBA::Object_ptr obj
  ) = 0;

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

::CORBA::InterfaceDefSeq * CORBA::ValueDef::supported_interfaces (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ValueDef_Proxy_Broker_ == 0)
    {
      CORBA_ValueDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::InterfaceDefSeq>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "_get_supported_interfaces",
      25,
      this->the_TAO_ValueDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

void CORBA::ValueDef::supported_interfaces (
    const CORBA::InterfaceDefSeq & supported_interfaces
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ValueDef_Proxy_Broker_ == 0)
    {
      CORBA_ValueDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<void>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::InterfaceDefSeq>::in_arg_val _tao_supported_interfaces (supported_interfaces);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_supported_interfaces
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "_set_supported_interfaces",
      25,
      this->the_TAO_ValueDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

::CORBA::InitializerSeq * CORBA::ValueDef::initializers (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ValueDef_Proxy_Broker_ == 0)
    {
      CORBA_ValueDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::InitializerSeq>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "_get_initializers",
      17,
      this->the_TAO_ValueDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

void CORBA::ValueDef::initializers (
    const CORBA::InitializerSeq & initializers
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ValueDef_Proxy_Broker_ == 0)
    {
      CORBA_ValueDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<void>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::InitializerSeq>::in_arg_val _tao_initializers (initializers);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_initializers
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "_set_initializers",
      17,
      this->the_TAO_ValueDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

::CORBA::ValueDef_ptr CORBA::ValueDef::base_value (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ValueDef_Proxy_Broker_ == 0)
    {
      CORBA_ValueDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::ValueDef>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "_get_base_value",
      15,
      this->the_TAO_ValueDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

void CORBA::ValueDef::base_value (
    CORBA::ValueDef_ptr base_value
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ValueDef_Proxy_Broker_ == 0)
    {
      CORBA_ValueDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<void>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::ValueDef>::in_arg_val _tao_base_value (base_value);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_base_value
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "_set_base_value",
      15,
      this->the_TAO_ValueDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

::CORBA::ValueDefSeq * CORBA::ValueDef::abstract_base_values (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ValueDef_Proxy_Broker_ == 0)
    {
      CORBA_ValueDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::ValueDefSeq>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "_get_abstract_base_values",
      25,
      this->the_TAO_ValueDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

void CORBA::ValueDef::abstract_base_values (
    const CORBA::ValueDefSeq & abstract_base_values
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ValueDef_Proxy_Broker_ == 0)
    {
      CORBA_ValueDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<void>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::ValueDefSeq>::in_arg_val _tao_abstract_base_values (abstract_base_values);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_abstract_base_values
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "_set_abstract_base_values",
      25,
      this->the_TAO_ValueDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

CORBA::Boolean CORBA::ValueDef::is_abstract (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ValueDef_Proxy_Broker_ == 0)
    {
      CORBA_ValueDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<ACE_InputCDR::to_boolean>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "_get_is_abstract",
      16,
      this->the_TAO_ValueDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

void CORBA::ValueDef::is_abstract (
    CORBA::Boolean is_abstract
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ValueDef_Proxy_Broker_ == 0)
    {
      CORBA_ValueDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<void>::ret_val _tao_retval;
  TAO::Arg_Traits<ACE_InputCDR::to_boolean>::in_arg_val _tao_is_abstract (is_abstract);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_is_abstract
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "_set_is_abstract",
      16,
      this->the_TAO_ValueDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

CORBA::Boolean CORBA::ValueDef::is_custom (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ValueDef_Proxy_Broker_ == 0)
    {
      CORBA_ValueDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<ACE_InputCDR::to_boolean>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "_get_is_custom",
      14,
      this->the_TAO_ValueDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

void CORBA::ValueDef::is_custom (
    CORBA::Boolean is_custom
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ValueDef_Proxy_Broker_ == 0)
    {
      CORBA_ValueDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<void>::ret_val _tao_retval;
  TAO::Arg_Traits<ACE_InputCDR::to_boolean>::in_arg_val _tao_is_custom (is_custom);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_is_custom
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "_set_is_custom",
      14,
      this->the_TAO_ValueDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

CORBA::Boolean CORBA::ValueDef::is_truncatable (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ValueDef_Proxy_Broker_ == 0)
    {
      CORBA_ValueDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<ACE_InputCDR::to_boolean>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "_get_is_truncatable",
      19,
      this->the_TAO_ValueDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

void CORBA::ValueDef::is_truncatable (
    CORBA::Boolean is_truncatable
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ValueDef_Proxy_Broker_ == 0)
    {
      CORBA_ValueDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<void>::ret_val _tao_retval;
  TAO::Arg_Traits<ACE_InputCDR::to_boolean>::in_arg_val _tao_is_truncatable (is_truncatable);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_is_truncatable
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "_set_is_truncatable",
      19,
      this->the_TAO_ValueDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

CORBA::Boolean CORBA::ValueDef::is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ValueDef_Proxy_Broker_ == 0)
    {
      CORBA_ValueDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<ACE_InputCDR::to_boolean>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::RepositoryId>::in_arg_val _tao_id (id);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_id
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "is_a",
      4,
      this->the_TAO_ValueDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

// TAO_IDL - Generated from 
// be\be_visitor_structure/structure_cs.cpp:66

void 
CORBA::ValueDef::FullValueDescription::_tao_any_destructor (
    void *_tao_void_pointer
  )
{
  FullValueDescription *_tao_tmp_pointer =
    ACE_static_cast (FullValueDescription *, _tao_void_pointer);
  delete _tao_tmp_pointer;
}

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

::CORBA::ValueDef::FullValueDescription * CORBA::ValueDef::describe_value (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ValueDef_Proxy_Broker_ == 0)
    {
      CORBA_ValueDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::ValueDef::FullValueDescription>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "describe_value",
      14,
      this->the_TAO_ValueDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

::CORBA::ValueMemberDef_ptr CORBA::ValueDef::create_value_member (
    const char * id,
    const char * name,
    const char * version,
    CORBA::IDLType_ptr type,
    CORBA::Visibility access
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ValueDef_Proxy_Broker_ == 0)
    {
      CORBA_ValueDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::ValueMemberDef>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::RepositoryId>::in_arg_val _tao_id (id);
  TAO::Arg_Traits<CORBA::Identifier>::in_arg_val _tao_name (name);
  TAO::Arg_Traits<CORBA::VersionSpec>::in_arg_val _tao_version (version);
  TAO::Arg_Traits<CORBA::IDLType>::in_arg_val _tao_type (type);
  TAO::Arg_Traits<CORBA::Visibility>::in_arg_val _tao_access (access);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_id,
      &_tao_name,
      &_tao_version,
      &_tao_type,
      &_tao_access
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      6,
      "create_value_member",
      19,
      this->the_TAO_ValueDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

::CORBA::AttributeDef_ptr CORBA::ValueDef::create_attribute (
    const char * id,
    const char * name,
    const char * version,
    CORBA::IDLType_ptr type,
    CORBA::AttributeMode mode
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ValueDef_Proxy_Broker_ == 0)
    {
      CORBA_ValueDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::AttributeDef>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::RepositoryId>::in_arg_val _tao_id (id);
  TAO::Arg_Traits<CORBA::Identifier>::in_arg_val _tao_name (name);
  TAO::Arg_Traits<CORBA::VersionSpec>::in_arg_val _tao_version (version);
  TAO::Arg_Traits<CORBA::IDLType>::in_arg_val _tao_type (type);
  TAO::Arg_Traits<CORBA::AttributeMode>::in_arg_val _tao_mode (mode);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_id,
      &_tao_name,
      &_tao_version,
      &_tao_type,
      &_tao_mode
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      6,
      "create_attribute",
      16,
      this->the_TAO_ValueDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

::CORBA::OperationDef_ptr CORBA::ValueDef::create_operation (
    const char * id,
    const char * name,
    const char * version,
    CORBA::IDLType_ptr result,
    CORBA::OperationMode mode,
    const CORBA::ParDescriptionSeq & params,
    const CORBA::ExceptionDefSeq & exceptions,
    const CORBA::ContextIdSeq & contexts
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ValueDef_Proxy_Broker_ == 0)
    {
      CORBA_ValueDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::OperationDef>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::RepositoryId>::in_arg_val _tao_id (id);
  TAO::Arg_Traits<CORBA::Identifier>::in_arg_val _tao_name (name);
  TAO::Arg_Traits<CORBA::VersionSpec>::in_arg_val _tao_version (version);
  TAO::Arg_Traits<CORBA::IDLType>::in_arg_val _tao_result (result);
  TAO::Arg_Traits<CORBA::OperationMode>::in_arg_val _tao_mode (mode);
  TAO::Arg_Traits<CORBA::ParDescriptionSeq>::in_arg_val _tao_params (params);
  TAO::Arg_Traits<CORBA::ExceptionDefSeq>::in_arg_val _tao_exceptions (exceptions);
  TAO::Arg_Traits<CORBA::ContextIdSeq>::in_arg_val _tao_contexts (contexts);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_id,
      &_tao_name,
      &_tao_version,
      &_tao_result,
      &_tao_mode,
      &_tao_params,
      &_tao_exceptions,
      &_tao_contexts
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      9,
      "create_operation",
      16,
      this->the_TAO_ValueDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

CORBA::ValueDef::ValueDef (void)
 : the_TAO_ValueDef_Proxy_Broker_ (0)
{
  this->CORBA_ValueDef_setup_collocation ();
}

void
CORBA::ValueDef::CORBA_ValueDef_setup_collocation ()
{
  if (::CORBA__TAO_ValueDef_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_ValueDef_Proxy_Broker_ =
        ::CORBA__TAO_ValueDef_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CORBA_Container_setup_collocation ();
  this->CORBA_Contained_setup_collocation ();
  this->CORBA_IDLType_setup_collocation ();
}

CORBA::ValueDef::~ValueDef (void)
{}

void 
CORBA::ValueDef::_tao_any_destructor (void *_tao_void_pointer)
{
  ValueDef *_tao_tmp_pointer =
    ACE_static_cast (ValueDef *, _tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

CORBA::ValueDef_ptr
CORBA::ValueDef::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<ValueDef>::narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ValueDef:1.0",
        CORBA__TAO_ValueDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ValueDef_ptr
CORBA::ValueDef::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<ValueDef>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ValueDef:1.0",
        CORBA__TAO_ValueDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ValueDef_ptr
CORBA::ValueDef::_duplicate (ValueDef_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
CORBA::ValueDef::_is_a (
    const char *value
    ACE_ENV_ARG_DECL
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/IRObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Container:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Contained:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/IDLType:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/ValueDef:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Object:1.0"
        )
     )
    {
      return 1; // success using local knowledge
    }
  else
    {
      return this->ACE_NESTED_CLASS (CORBA, Object)::_is_a (
          value
          ACE_ENV_ARG_PARAMETER
        );
    }
}

const char* CORBA::ValueDef::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ValueDef:1.0";
}

CORBA::Boolean
CORBA::ValueDef::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

// TAO_IDL - Generated from 
// be\be_visitor_structure/structure_cs.cpp:66

void 
CORBA::ValueDescription::_tao_any_destructor (
    void *_tao_void_pointer
  )
{
  ValueDescription *_tao_tmp_pointer =
    ACE_static_cast (ValueDescription *, _tao_void_pointer);
  delete _tao_tmp_pointer;
}

// TAO_IDL - Generated from
// be\be_visitor_interface/interface_cs.cpp:60

// Traits specializations for CORBA::ExtValueDef.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ExtValueDef_ptr
TAO::Objref_Traits<CORBA::ExtValueDef>::tao_duplicate (
    CORBA::ExtValueDef_ptr p
  )
{
  return CORBA::ExtValueDef::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CORBA::ExtValueDef>::tao_release (
    CORBA::ExtValueDef_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ExtValueDef_ptr
TAO::Objref_Traits<CORBA::ExtValueDef>::tao_nil (void)
{
  return CORBA::ExtValueDef::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CORBA::ExtValueDef>::tao_marshal (
    CORBA::ExtValueDef_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

// Function pointer for collocation factory initialization.
TAO::Collocation_Proxy_Broker * 
(*CORBA__TAO_ExtValueDef_Proxy_Broker_Factory_function_pointer) (
    CORBA::Object_ptr obj
  ) = 0;

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

::CORBA::ExtInitializerSeq * CORBA::ExtValueDef::ext_initializers (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ExtValueDef_Proxy_Broker_ == 0)
    {
      CORBA_ExtValueDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::ExtInitializerSeq>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "_get_ext_initializers",
      21,
      this->the_TAO_ExtValueDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

void CORBA::ExtValueDef::ext_initializers (
    const CORBA::ExtInitializerSeq & ext_initializers
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ExtValueDef_Proxy_Broker_ == 0)
    {
      CORBA_ExtValueDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<void>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::ExtInitializerSeq>::in_arg_val _tao_ext_initializers (ext_initializers);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_ext_initializers
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "_set_ext_initializers",
      21,
      this->the_TAO_ExtValueDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

// TAO_IDL - Generated from 
// be\be_visitor_structure/structure_cs.cpp:66

void 
CORBA::ExtValueDef::ExtFullValueDescription::_tao_any_destructor (
    void *_tao_void_pointer
  )
{
  ExtFullValueDescription *_tao_tmp_pointer =
    ACE_static_cast (ExtFullValueDescription *, _tao_void_pointer);
  delete _tao_tmp_pointer;
}

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

::CORBA::ExtValueDef::ExtFullValueDescription * CORBA::ExtValueDef::describe_ext_value (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ExtValueDef_Proxy_Broker_ == 0)
    {
      CORBA_ExtValueDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::ExtValueDef::ExtFullValueDescription>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "describe_ext_value",
      18,
      this->the_TAO_ExtValueDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

::CORBA::ExtAttributeDef_ptr CORBA::ExtValueDef::create_ext_attribute (
    const char * id,
    const char * name,
    const char * version,
    CORBA::IDLType_ptr type,
    CORBA::AttributeMode mode,
    const CORBA::ExceptionDefSeq & get_exceptions,
    const CORBA::ExceptionDefSeq & set_exceptions
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ExtValueDef_Proxy_Broker_ == 0)
    {
      CORBA_ExtValueDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::ExtAttributeDef>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::RepositoryId>::in_arg_val _tao_id (id);
  TAO::Arg_Traits<CORBA::Identifier>::in_arg_val _tao_name (name);
  TAO::Arg_Traits<CORBA::VersionSpec>::in_arg_val _tao_version (version);
  TAO::Arg_Traits<CORBA::IDLType>::in_arg_val _tao_type (type);
  TAO::Arg_Traits<CORBA::AttributeMode>::in_arg_val _tao_mode (mode);
  TAO::Arg_Traits<CORBA::ExceptionDefSeq>::in_arg_val _tao_get_exceptions (get_exceptions);
  TAO::Arg_Traits<CORBA::ExceptionDefSeq>::in_arg_val _tao_set_exceptions (set_exceptions);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_id,
      &_tao_name,
      &_tao_version,
      &_tao_type,
      &_tao_mode,
      &_tao_get_exceptions,
      &_tao_set_exceptions
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      8,
      "create_ext_attribute",
      20,
      this->the_TAO_ExtValueDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

CORBA::ExtValueDef::ExtValueDef (void)
 : the_TAO_ExtValueDef_Proxy_Broker_ (0)
{
  this->CORBA_ExtValueDef_setup_collocation ();
}

void
CORBA::ExtValueDef::CORBA_ExtValueDef_setup_collocation ()
{
  if (::CORBA__TAO_ExtValueDef_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_ExtValueDef_Proxy_Broker_ =
        ::CORBA__TAO_ExtValueDef_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CORBA_ValueDef_setup_collocation ();
}

CORBA::ExtValueDef::~ExtValueDef (void)
{}

void 
CORBA::ExtValueDef::_tao_any_destructor (void *_tao_void_pointer)
{
  ExtValueDef *_tao_tmp_pointer =
    ACE_static_cast (ExtValueDef *, _tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

CORBA::ExtValueDef_ptr
CORBA::ExtValueDef::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<ExtValueDef>::narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ExtValueDef:1.0",
        CORBA__TAO_ExtValueDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ExtValueDef_ptr
CORBA::ExtValueDef::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<ExtValueDef>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ExtValueDef:1.0",
        CORBA__TAO_ExtValueDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ExtValueDef_ptr
CORBA::ExtValueDef::_duplicate (ExtValueDef_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
CORBA::ExtValueDef::_is_a (
    const char *value
    ACE_ENV_ARG_DECL
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/IRObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Container:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Contained:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/IDLType:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/ValueDef:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/ExtValueDef:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Object:1.0"
        )
     )
    {
      return 1; // success using local knowledge
    }
  else
    {
      return this->ACE_NESTED_CLASS (CORBA, Object)::_is_a (
          value
          ACE_ENV_ARG_PARAMETER
        );
    }
}

const char* CORBA::ExtValueDef::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ExtValueDef:1.0";
}

CORBA::Boolean
CORBA::ExtValueDef::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

// TAO_IDL - Generated from
// be\be_visitor_interface/interface_cs.cpp:60

// Traits specializations for CORBA::ValueBoxDef.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ValueBoxDef_ptr
TAO::Objref_Traits<CORBA::ValueBoxDef>::tao_duplicate (
    CORBA::ValueBoxDef_ptr p
  )
{
  return CORBA::ValueBoxDef::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CORBA::ValueBoxDef>::tao_release (
    CORBA::ValueBoxDef_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ValueBoxDef_ptr
TAO::Objref_Traits<CORBA::ValueBoxDef>::tao_nil (void)
{
  return CORBA::ValueBoxDef::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CORBA::ValueBoxDef>::tao_marshal (
    CORBA::ValueBoxDef_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

// Function pointer for collocation factory initialization.
TAO::Collocation_Proxy_Broker * 
(*CORBA__TAO_ValueBoxDef_Proxy_Broker_Factory_function_pointer) (
    CORBA::Object_ptr obj
  ) = 0;

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

::CORBA::IDLType_ptr CORBA::ValueBoxDef::original_type_def (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ValueBoxDef_Proxy_Broker_ == 0)
    {
      CORBA_ValueBoxDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::IDLType>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "_get_original_type_def",
      22,
      this->the_TAO_ValueBoxDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

// TAO_IDL - Generated from
// be\be_visitor_operation/operation_cs.cpp:78

void CORBA::ValueBoxDef::original_type_def (
    CORBA::IDLType_ptr original_type_def
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ValueBoxDef_Proxy_Broker_ == 0)
    {
      CORBA_ValueBoxDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<void>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::IDLType>::in_arg_val _tao_original_type_def (original_type_def);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_original_type_def
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "_set_original_type_def",
      22,
      this->the_TAO_ValueBoxDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

CORBA::ValueBoxDef::ValueBoxDef (void)
 : the_TAO_ValueBoxDef_Proxy_Broker_ (0)
{
  this->CORBA_ValueBoxDef_setup_collocation ();
}

void
CORBA::ValueBoxDef::CORBA_ValueBoxDef_setup_collocation ()
{
  if (::CORBA__TAO_ValueBoxDef_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_ValueBoxDef_Proxy_Broker_ =
        ::CORBA__TAO_ValueBoxDef_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CORBA_TypedefDef_setup_collocation ();
}

CORBA::ValueBoxDef::~ValueBoxDef (void)
{}

void 
CORBA::ValueBoxDef::_tao_any_destructor (void *_tao_void_pointer)
{
  ValueBoxDef *_tao_tmp_pointer =
    ACE_static_cast (ValueBoxDef *, _tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

CORBA::ValueBoxDef_ptr
CORBA::ValueBoxDef::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<ValueBoxDef>::narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ValueBoxDef:1.0",
        CORBA__TAO_ValueBoxDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ValueBoxDef_ptr
CORBA::ValueBoxDef::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<ValueBoxDef>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ValueBoxDef:1.0",
        CORBA__TAO_ValueBoxDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ValueBoxDef_ptr
CORBA::ValueBoxDef::_duplicate (ValueBoxDef_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
CORBA::ValueBoxDef::_is_a (
    const char *value
    ACE_ENV_ARG_DECL
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/IRObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Contained:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/IDLType:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/TypedefDef:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/ValueBoxDef:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Object:1.0"
        )
     )
    {
      return 1; // success using local knowledge
    }
  else
    {
      return this->ACE_NESTED_CLASS (CORBA, Object)::_is_a (
          value
          ACE_ENV_ARG_PARAMETER
        );
    }
}

const char* CORBA::ValueBoxDef::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ValueBoxDef:1.0";
}

CORBA::Boolean
CORBA::ValueBoxDef::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

// TAO_IDL - Generated from
// be\be_visitor_interface/cdr_op_cs.cpp:63

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CORBA::FixedDef_ptr _tao_objref
  )
{
  CORBA::Object_ptr _tao_corba_obj = _tao_objref;
  return (strm << _tao_corba_obj);
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CORBA::FixedDef_ptr &_tao_objref
  )
{
  CORBA::Object_var obj;
  
  if ((strm >> obj.inout ()) == 0)
    {
      return 0;
    }
  
  typedef ::CORBA::FixedDef RHS_SCOPED_NAME;
  
  // Narrow to the right type.
  _tao_objref =
    TAO::Narrow_Utils<RHS_SCOPED_NAME>::unchecked_narrow (
        obj.in (),
        CORBA__TAO_FixedDef_Proxy_Broker_Factory_function_pointer
      );
    
  return 1;
}

// TAO_IDL - Generated from
// be\be_visitor_structure/cdr_op_cs.cpp:61

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CORBA::ValueMember &_tao_aggregate
  )
{
  return
    (strm << _tao_aggregate.name.in ()) &&
    (strm << _tao_aggregate.id.in ()) &&
    (strm << _tao_aggregate.defined_in.in ()) &&
    (strm << _tao_aggregate.version.in ()) &&
    (strm << _tao_aggregate.type.in ()) &&
    CORBA::Object::marshal (
        _tao_aggregate.type_def.in (),
        strm
      ) &&
    (strm << _tao_aggregate.access);
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CORBA::ValueMember &_tao_aggregate
  )
{
  return
    (strm >> _tao_aggregate.name.out ()) &&
    (strm >> _tao_aggregate.id.out ()) &&
    (strm >> _tao_aggregate.defined_in.out ()) &&
    (strm >> _tao_aggregate.version.out ()) &&
    (strm >> _tao_aggregate.type.out ()) &&
    (strm >> _tao_aggregate.type_def.out ()) &&
    (strm >> _tao_aggregate.access);
}

// TAO_IDL - Generated from
// be\be_visitor_sequence/cdr_op_cs.cpp:96

#if !defined _TAO_CDR_OP_CORBA_ValueMemberSeq_CPP_
#define _TAO_CDR_OP_CORBA_ValueMemberSeq_CPP_

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CORBA::ValueMemberSeq &_tao_sequence
  )
{
  CORBA::ULong _tao_seq_len = _tao_sequence.length ();
  
  if (strm << _tao_seq_len)
    {
      // Encode all elements.
      CORBA::Boolean _tao_marshal_flag = 1;
      
      for (CORBA::ULong i = 0; i < _tao_seq_len && _tao_marshal_flag; ++i)
        {
          _tao_marshal_flag = (strm << _tao_sequence[i]);
        }
      
      return _tao_marshal_flag;
    }
  
  return 0;
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CORBA::ValueMemberSeq &_tao_sequence
  )
{
  CORBA::ULong _tao_seq_len;
  
  if (strm >> _tao_seq_len)
    {
      // Add a check to the length of the sequence
      // to make sure it does not exceed the length
      // of the stream. (See bug 58.)
      if (_tao_seq_len > strm.length ())
        {
          return 0;
        }
      
      // Set the length of the sequence.
      _tao_sequence.length (_tao_seq_len);
      
      // If length is 0 we return true.
      if (0 >= _tao_seq_len) 
        {
          return 1;
        }
      
      // Retrieve all the elements.
      CORBA::Boolean _tao_marshal_flag = 1;
      
      for (CORBA::ULong i = 0; i < _tao_seq_len && _tao_marshal_flag; ++i)
        {
          _tao_marshal_flag = (strm >> _tao_sequence[i]);
        }
      
      return _tao_marshal_flag;
    
    }
  
  return 0;
}

#endif /* _TAO_CDR_OP_CORBA_ValueMemberSeq_CPP_ */

// TAO_IDL - Generated from
// be\be_visitor_interface/cdr_op_cs.cpp:63

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CORBA::ValueMemberDef_ptr _tao_objref
  )
{
  CORBA::Object_ptr _tao_corba_obj = _tao_objref;
  return (strm << _tao_corba_obj);
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CORBA::ValueMemberDef_ptr &_tao_objref
  )
{
  CORBA::Object_var obj;
  
  if ((strm >> obj.inout ()) == 0)
    {
      return 0;
    }
  
  typedef ::CORBA::ValueMemberDef RHS_SCOPED_NAME;
  
  // Narrow to the right type.
  _tao_objref =
    TAO::Narrow_Utils<RHS_SCOPED_NAME>::unchecked_narrow (
        obj.in (),
        CORBA__TAO_ValueMemberDef_Proxy_Broker_Factory_function_pointer
      );
    
  return 1;
}

// TAO_IDL - Generated from
// be\be_visitor_structure/cdr_op_cs.cpp:61

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CORBA::ValueDef::FullValueDescription &_tao_aggregate
  )
{
  return
    (strm << _tao_aggregate.name.in ()) &&
    (strm << _tao_aggregate.id.in ()) &&
    (strm << CORBA::Any::from_boolean (_tao_aggregate.is_abstract)) &&
    (strm << CORBA::Any::from_boolean (_tao_aggregate.is_custom)) &&
    (strm << _tao_aggregate.defined_in.in ()) &&
    (strm << _tao_aggregate.version.in ()) &&
    (strm << _tao_aggregate.operations) &&
    (strm << _tao_aggregate.attributes) &&
    (strm << _tao_aggregate.members) &&
    (strm << _tao_aggregate.initializers) &&
    (strm << _tao_aggregate.supported_interfaces) &&
    (strm << _tao_aggregate.abstract_base_values) &&
    (strm << CORBA::Any::from_boolean (_tao_aggregate.is_truncatable)) &&
    (strm << _tao_aggregate.base_value.in ()) &&
    (strm << _tao_aggregate.type.in ());
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CORBA::ValueDef::FullValueDescription &_tao_aggregate
  )
{
  return
    (strm >> _tao_aggregate.name.out ()) &&
    (strm >> _tao_aggregate.id.out ()) &&
    (strm >> CORBA::Any::to_boolean (_tao_aggregate.is_abstract)) &&
    (strm >> CORBA::Any::to_boolean (_tao_aggregate.is_custom)) &&
    (strm >> _tao_aggregate.defined_in.out ()) &&
    (strm >> _tao_aggregate.version.out ()) &&
    (strm >> _tao_aggregate.operations) &&
    (strm >> _tao_aggregate.attributes) &&
    (strm >> _tao_aggregate.members) &&
    (strm >> _tao_aggregate.initializers) &&
    (strm >> _tao_aggregate.supported_interfaces) &&
    (strm >> _tao_aggregate.abstract_base_values) &&
    (strm >> CORBA::Any::to_boolean (_tao_aggregate.is_truncatable)) &&
    (strm >> _tao_aggregate.base_value.out ()) &&
    (strm >> _tao_aggregate.type.out ());
}

// TAO_IDL - Generated from
// be\be_visitor_interface/cdr_op_cs.cpp:63

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CORBA::ValueDef_ptr _tao_objref
  )
{
  CORBA::Object_ptr _tao_corba_obj = _tao_objref;
  return (strm << _tao_corba_obj);
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CORBA::ValueDef_ptr &_tao_objref
  )
{
  CORBA::Object_var obj;
  
  if ((strm >> obj.inout ()) == 0)
    {
      return 0;
    }
  
  typedef ::CORBA::ValueDef RHS_SCOPED_NAME;
  
  // Narrow to the right type.
  _tao_objref =
    TAO::Narrow_Utils<RHS_SCOPED_NAME>::unchecked_narrow (
        obj.in (),
        CORBA__TAO_ValueDef_Proxy_Broker_Factory_function_pointer
      );
    
  return 1;
}

// TAO_IDL - Generated from
// be\be_visitor_structure/cdr_op_cs.cpp:61

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CORBA::ValueDescription &_tao_aggregate
  )
{
  return
    (strm << _tao_aggregate.name.in ()) &&
    (strm << _tao_aggregate.id.in ()) &&
    (strm << CORBA::Any::from_boolean (_tao_aggregate.is_abstract)) &&
    (strm << CORBA::Any::from_boolean (_tao_aggregate.is_custom)) &&
    (strm << _tao_aggregate.defined_in.in ()) &&
    (strm << _tao_aggregate.version.in ()) &&
    (strm << _tao_aggregate.supported_interfaces) &&
    (strm << _tao_aggregate.abstract_base_values) &&
    (strm << CORBA::Any::from_boolean (_tao_aggregate.is_truncatable)) &&
    (strm << _tao_aggregate.base_value.in ());
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CORBA::ValueDescription &_tao_aggregate
  )
{
  return
    (strm >> _tao_aggregate.name.out ()) &&
    (strm >> _tao_aggregate.id.out ()) &&
    (strm >> CORBA::Any::to_boolean (_tao_aggregate.is_abstract)) &&
    (strm >> CORBA::Any::to_boolean (_tao_aggregate.is_custom)) &&
    (strm >> _tao_aggregate.defined_in.out ()) &&
    (strm >> _tao_aggregate.version.out ()) &&
    (strm >> _tao_aggregate.supported_interfaces) &&
    (strm >> _tao_aggregate.abstract_base_values) &&
    (strm >> CORBA::Any::to_boolean (_tao_aggregate.is_truncatable)) &&
    (strm >> _tao_aggregate.base_value.out ());
}

// TAO_IDL - Generated from
// be\be_visitor_structure/cdr_op_cs.cpp:61

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CORBA::ExtValueDef::ExtFullValueDescription &_tao_aggregate
  )
{
  return
    (strm << _tao_aggregate.name.in ()) &&
    (strm << _tao_aggregate.id.in ()) &&
    (strm << CORBA::Any::from_boolean (_tao_aggregate.is_abstract)) &&
    (strm << CORBA::Any::from_boolean (_tao_aggregate.is_custom)) &&
    (strm << _tao_aggregate.defined_in.in ()) &&
    (strm << _tao_aggregate.version.in ()) &&
    (strm << _tao_aggregate.operations) &&
    (strm << _tao_aggregate.attributes) &&
    (strm << _tao_aggregate.members) &&
    (strm << _tao_aggregate.initializers) &&
    (strm << _tao_aggregate.supported_interfaces) &&
    (strm << _tao_aggregate.abstract_base_values) &&
    (strm << CORBA::Any::from_boolean (_tao_aggregate.is_truncatable)) &&
    (strm << _tao_aggregate.base_value.in ()) &&
    (strm << _tao_aggregate.type.in ());
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CORBA::ExtValueDef::ExtFullValueDescription &_tao_aggregate
  )
{
  return
    (strm >> _tao_aggregate.name.out ()) &&
    (strm >> _tao_aggregate.id.out ()) &&
    (strm >> CORBA::Any::to_boolean (_tao_aggregate.is_abstract)) &&
    (strm >> CORBA::Any::to_boolean (_tao_aggregate.is_custom)) &&
    (strm >> _tao_aggregate.defined_in.out ()) &&
    (strm >> _tao_aggregate.version.out ()) &&
    (strm >> _tao_aggregate.operations) &&
    (strm >> _tao_aggregate.attributes) &&
    (strm >> _tao_aggregate.members) &&
    (strm >> _tao_aggregate.initializers) &&
    (strm >> _tao_aggregate.supported_interfaces) &&
    (strm >> _tao_aggregate.abstract_base_values) &&
    (strm >> CORBA::Any::to_boolean (_tao_aggregate.is_truncatable)) &&
    (strm >> _tao_aggregate.base_value.out ()) &&
    (strm >> _tao_aggregate.type.out ());
}

// TAO_IDL - Generated from
// be\be_visitor_interface/cdr_op_cs.cpp:63

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CORBA::ExtValueDef_ptr _tao_objref
  )
{
  CORBA::Object_ptr _tao_corba_obj = _tao_objref;
  return (strm << _tao_corba_obj);
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CORBA::ExtValueDef_ptr &_tao_objref
  )
{
  CORBA::Object_var obj;
  
  if ((strm >> obj.inout ()) == 0)
    {
      return 0;
    }
  
  typedef ::CORBA::ExtValueDef RHS_SCOPED_NAME;
  
  // Narrow to the right type.
  _tao_objref =
    TAO::Narrow_Utils<RHS_SCOPED_NAME>::unchecked_narrow (
        obj.in (),
        CORBA__TAO_ExtValueDef_Proxy_Broker_Factory_function_pointer
      );
    
  return 1;
}

// TAO_IDL - Generated from
// be\be_visitor_interface/cdr_op_cs.cpp:63

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CORBA::ValueBoxDef_ptr _tao_objref
  )
{
  CORBA::Object_ptr _tao_corba_obj = _tao_objref;
  return (strm << _tao_corba_obj);
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CORBA::ValueBoxDef_ptr &_tao_objref
  )
{
  CORBA::Object_var obj;
  
  if ((strm >> obj.inout ()) == 0)
    {
      return 0;
    }
  
  typedef ::CORBA::ValueBoxDef RHS_SCOPED_NAME;
  
  // Narrow to the right type.
  _tao_objref =
    TAO::Narrow_Utils<RHS_SCOPED_NAME>::unchecked_narrow (
        obj.in (),
        CORBA__TAO_ValueBoxDef_Proxy_Broker_Factory_function_pointer
      );
    
  return 1;
}

// TAO_IDL - Generated from
// be\be_visitor_root/root.cpp:1628

#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)

#if !defined (_CORBA_DEFINITIONKIND__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_DEFINITIONKIND__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::DefinitionKind>;

  template class TAO::Basic_Arg_Traits_T<CORBA::DefinitionKind>;

#endif /* end #if !defined */

#if !defined (_CORBA_CONTAINER__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_CONTAINER__ARG_TRAITS_TMPLINST_CS_

  template class
    TAO::Arg_Traits<
        CORBA::Container
      >;

  template class
    TAO::Object_Arg_Traits_T<
        CORBA::Container_ptr,
        CORBA::Container_var,
        CORBA::Container_out,
        TAO::Objref_Traits<CORBA::Container>
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_IDLTYPE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_IDLTYPE__ARG_TRAITS_TMPLINST_CS_

  template class
    TAO::Arg_Traits<
        CORBA::IDLType
      >;

  template class
    TAO::Object_Arg_Traits_T<
        CORBA::IDLType_ptr,
        CORBA::IDLType_var,
        CORBA::IDLType_out,
        TAO::Objref_Traits<CORBA::IDLType>
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::InterfaceDefSeq>;

  template class
    TAO::Var_Size_Arg_Traits_T<
        CORBA::InterfaceDefSeq,
        CORBA::InterfaceDefSeq_var,
        CORBA::InterfaceDefSeq_out
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_VALUEDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_VALUEDEF__ARG_TRAITS_TMPLINST_CS_

  template class
    TAO::Arg_Traits<
        CORBA::ValueDef
      >;

  template class
    TAO::Object_Arg_Traits_T<
        CORBA::ValueDef_ptr,
        CORBA::ValueDef_var,
        CORBA::ValueDef_out,
        TAO::Objref_Traits<CORBA::ValueDef>
      >;

#endif /* end #if !defined */

  template class
    TAO::Ret_Var_Size_Argument_T<
        CORBA::InterfaceDefSeq,
        CORBA::InterfaceDefSeq_var
      >;

  template class
    TAO::In_Var_Size_Argument_T<
        CORBA::InterfaceDefSeq
      >;

  template class
    TAO::Ret_Var_Size_Argument_T<
        CORBA::InitializerSeq,
        CORBA::InitializerSeq_var
      >;

  template class
    TAO::In_Var_Size_Argument_T<
        CORBA::InitializerSeq
      >;

  template class
    TAO::Ret_Object_Argument_T<
        CORBA::ValueDef_ptr,
        CORBA::ValueDef_var
      >;

  template class
    TAO::In_Object_Argument_T<
        CORBA::ValueDef_ptr
      >;

  template class
    TAO::Ret_Var_Size_Argument_T<
        CORBA::ValueDefSeq,
        CORBA::ValueDefSeq_var
      >;

  template class
    TAO::In_Var_Size_Argument_T<
        CORBA::ValueDefSeq
      >;

#if !defined (_CORBA_VALUEDEF_FULLVALUEDESCRIPTION__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_VALUEDEF_FULLVALUEDESCRIPTION__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::ValueDef::FullValueDescription>;

  template class
    TAO::Var_Size_Arg_Traits_T<
        CORBA::ValueDef::FullValueDescription,
        CORBA::ValueDef::FullValueDescription_var,
        CORBA::ValueDef::FullValueDescription_out
      >;

#endif /* end #if !defined */

  template class
    TAO_VarSeq_Var_T<
        CORBA::ValueMemberSeq,
        CORBA::ValueMember
      >;

  template class
    TAO_Seq_Var_Base_T<
        CORBA::ValueMemberSeq,
        CORBA::ValueMember
      >;

  template class
    TAO_Seq_Out_T<
        CORBA::ValueMemberSeq,
        CORBA::ValueMemberSeq_var,
        CORBA::ValueMember
      >;

#if !defined (_CORBA_VALUEMEMBER__EXPLICIT_CS_)
#define _CORBA_VALUEMEMBER__EXPLICIT_CS_

  template class
    TAO_Unbounded_Sequence<
        CORBA::ValueMember
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::InitializerSeq>;

  template class
    TAO::Var_Size_Arg_Traits_T<
        CORBA::InitializerSeq,
        CORBA::InitializerSeq_var,
        CORBA::InitializerSeq_out
      >;

#endif /* end #if !defined */

  template class
    TAO_Var_Var_T<
        CORBA::ValueDef::FullValueDescription
      >;

  template class
    TAO_Var_Base_T<
        CORBA::ValueDef::FullValueDescription
      >;

  template class
    TAO_Out_T<
        CORBA::ValueDef::FullValueDescription,
        CORBA::ValueDef::FullValueDescription_var
      >;

  template class
    TAO::Ret_Var_Size_Argument_T<
        CORBA::ValueDef::FullValueDescription,
        CORBA::ValueDef::FullValueDescription_var
      >;

  template class
    TAO::Ret_Object_Argument_T<
        CORBA::ValueMemberDef_ptr,
        CORBA::ValueMemberDef_var
      >;

  template class
    TAO::In_Object_Argument_T<
        CORBA::IDLType_ptr
      >;

  template class
    TAO::Ret_Object_Argument_T<
        CORBA::AttributeDef_ptr,
        CORBA::AttributeDef_var
      >;

  template class
    TAO::In_Basic_Argument_T<
        CORBA::AttributeMode
      >;

  template class
    TAO::Ret_Object_Argument_T<
        CORBA::OperationDef_ptr,
        CORBA::OperationDef_var
      >;

  template class
    TAO::In_Basic_Argument_T<
        CORBA::OperationMode
      >;

  template class
    TAO::In_Var_Size_Argument_T<
        CORBA::ParDescriptionSeq
      >;

  template class
    TAO::In_Var_Size_Argument_T<
        CORBA::ExceptionDefSeq
      >;

  template class
    TAO::In_Var_Size_Argument_T<
        CORBA::ContextIdSeq
      >;

  template class
    TAO::Objref_Traits<
        CORBA::ValueDef
      >;

  template class
    TAO_Objref_Var_T<
        CORBA::ValueDef
      >;
  
  template class
    TAO_Objref_Out_T<
        CORBA::ValueDef
      >;

  template class
    TAO::Narrow_Utils<
        CORBA::ValueDef
      >;

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::ValueDefSeq>;

  template class
    TAO::Var_Size_Arg_Traits_T<
        CORBA::ValueDefSeq,
        CORBA::ValueDefSeq_var,
        CORBA::ValueDefSeq_out
      >;

#endif /* end #if !defined */

  template class
    TAO::Ret_Object_Argument_T<
        CORBA::IDLType_ptr,
        CORBA::IDLType_var
      >;

  template class
    TAO::Objref_Traits<
        CORBA::ValueBoxDef
      >;

  template class
    TAO_Objref_Var_T<
        CORBA::ValueBoxDef
      >;
  
  template class
    TAO_Objref_Out_T<
        CORBA::ValueBoxDef
      >;

  template class
    TAO::Narrow_Utils<
        CORBA::ValueBoxDef
      >;

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::AbstractInterfaceDefSeq>;

  template class
    TAO::Var_Size_Arg_Traits_T<
        CORBA::AbstractInterfaceDefSeq,
        CORBA::AbstractInterfaceDefSeq_var,
        CORBA::AbstractInterfaceDefSeq_out
      >;

#endif /* end #if !defined */

  template class
    TAO::Ret_Var_Size_Argument_T<
        CORBA::ExtInitializerSeq,
        CORBA::ExtInitializerSeq_var
      >;

  template class
    TAO::In_Var_Size_Argument_T<
        CORBA::ExtInitializerSeq
      >;

#if !defined (_CORBA_EXTVALUEDEF_EXTFULLVALUEDESCRIPTION__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_EXTVALUEDEF_EXTFULLVALUEDESCRIPTION__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::ExtValueDef::ExtFullValueDescription>;

  template class
    TAO::Var_Size_Arg_Traits_T<
        CORBA::ExtValueDef::ExtFullValueDescription,
        CORBA::ExtValueDef::ExtFullValueDescription_var,
        CORBA::ExtValueDef::ExtFullValueDescription_out
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::ExtInitializerSeq>;

  template class
    TAO::Var_Size_Arg_Traits_T<
        CORBA::ExtInitializerSeq,
        CORBA::ExtInitializerSeq_var,
        CORBA::ExtInitializerSeq_out
      >;

#endif /* end #if !defined */

  template class
    TAO_Var_Var_T<
        CORBA::ExtValueDef::ExtFullValueDescription
      >;

  template class
    TAO_Var_Base_T<
        CORBA::ExtValueDef::ExtFullValueDescription
      >;

  template class
    TAO_Out_T<
        CORBA::ExtValueDef::ExtFullValueDescription,
        CORBA::ExtValueDef::ExtFullValueDescription_var
      >;

  template class
    TAO::Ret_Var_Size_Argument_T<
        CORBA::ExtValueDef::ExtFullValueDescription,
        CORBA::ExtValueDef::ExtFullValueDescription_var
      >;

  template class
    TAO::Ret_Object_Argument_T<
        CORBA::ExtAttributeDef_ptr,
        CORBA::ExtAttributeDef_var
      >;

  template class
    TAO::Objref_Traits<
        CORBA::ExtValueDef
      >;

  template class
    TAO_Objref_Var_T<
        CORBA::ExtValueDef
      >;
  
  template class
    TAO_Objref_Out_T<
        CORBA::ExtValueDef
      >;

  template class
    TAO::Narrow_Utils<
        CORBA::ExtValueDef
      >;

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::StructMemberSeq>;

  template class
    TAO::Var_Size_Arg_Traits_T<
        CORBA::StructMemberSeq,
        CORBA::StructMemberSeq_var,
        CORBA::StructMemberSeq_out
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::UnionMemberSeq>;

  template class
    TAO::Var_Size_Arg_Traits_T<
        CORBA::UnionMemberSeq,
        CORBA::UnionMemberSeq_var,
        CORBA::UnionMemberSeq_out
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::EnumMemberSeq>;

  template class
    TAO::Var_Size_Arg_Traits_T<
        CORBA::EnumMemberSeq,
        CORBA::EnumMemberSeq_var,
        CORBA::EnumMemberSeq_out
      >;

#endif /* end #if !defined */

  template class
    TAO::Objref_Traits<
        CORBA::FixedDef
      >;

  template class
    TAO_Objref_Var_T<
        CORBA::FixedDef
      >;
  
  template class
    TAO_Objref_Out_T<
        CORBA::FixedDef
      >;

  template class
    TAO::Narrow_Utils<
        CORBA::FixedDef
      >;

#if !defined (_CORBA_PRIMITIVEKIND__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_PRIMITIVEKIND__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::PrimitiveKind>;

  template class TAO::Basic_Arg_Traits_T<CORBA::PrimitiveKind>;

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::ExceptionDefSeq>;

  template class
    TAO::Var_Size_Arg_Traits_T<
        CORBA::ExceptionDefSeq,
        CORBA::ExceptionDefSeq_var,
        CORBA::ExceptionDefSeq_out
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_ATTRIBUTEMODE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_ATTRIBUTEMODE__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::AttributeMode>;

  template class TAO::Basic_Arg_Traits_T<CORBA::AttributeMode>;

#endif /* end #if !defined */

#if !defined (_CORBA_ATTRIBUTEDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_ATTRIBUTEDEF__ARG_TRAITS_TMPLINST_CS_

  template class
    TAO::Arg_Traits<
        CORBA::AttributeDef
      >;

  template class
    TAO::Object_Arg_Traits_T<
        CORBA::AttributeDef_ptr,
        CORBA::AttributeDef_var,
        CORBA::AttributeDef_out,
        TAO::Objref_Traits<CORBA::AttributeDef>
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_EXTATTRIBUTEDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_EXTATTRIBUTEDEF__ARG_TRAITS_TMPLINST_CS_

  template class
    TAO::Arg_Traits<
        CORBA::ExtAttributeDef
      >;

  template class
    TAO::Object_Arg_Traits_T<
        CORBA::ExtAttributeDef_ptr,
        CORBA::ExtAttributeDef_var,
        CORBA::ExtAttributeDef_out,
        TAO::Objref_Traits<CORBA::ExtAttributeDef>
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_OPERATIONMODE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_OPERATIONMODE__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::OperationMode>;

  template class TAO::Basic_Arg_Traits_T<CORBA::OperationMode>;

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::ParDescriptionSeq>;

  template class
    TAO::Var_Size_Arg_Traits_T<
        CORBA::ParDescriptionSeq,
        CORBA::ParDescriptionSeq_var,
        CORBA::ParDescriptionSeq_out
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::ContextIdSeq>;

  template class
    TAO::Var_Size_Arg_Traits_T<
        CORBA::ContextIdSeq,
        CORBA::ContextIdSeq_var,
        CORBA::ContextIdSeq_out
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_OPERATIONDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_OPERATIONDEF__ARG_TRAITS_TMPLINST_CS_

  template class
    TAO::Arg_Traits<
        CORBA::OperationDef
      >;

  template class
    TAO::Object_Arg_Traits_T<
        CORBA::OperationDef_ptr,
        CORBA::OperationDef_var,
        CORBA::OperationDef_out,
        TAO::Objref_Traits<CORBA::OperationDef>
      >;

#endif /* end #if !defined */

  template class
    TAO_Var_Var_T<
        CORBA::ValueMember
      >;

  template class
    TAO_Var_Base_T<
        CORBA::ValueMember
      >;

  template class
    TAO_Out_T<
        CORBA::ValueMember,
        CORBA::ValueMember_var
      >;

#if !defined (_CORBA_VALUEMEMBERDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_VALUEMEMBERDEF__ARG_TRAITS_TMPLINST_CS_

  template class
    TAO::Arg_Traits<
        CORBA::ValueMemberDef
      >;

  template class
    TAO::Object_Arg_Traits_T<
        CORBA::ValueMemberDef_ptr,
        CORBA::ValueMemberDef_var,
        CORBA::ValueMemberDef_out,
        TAO::Objref_Traits<CORBA::ValueMemberDef>
      >;

#endif /* end #if !defined */

  template class
    TAO::Objref_Traits<
        CORBA::ValueMemberDef
      >;

  template class
    TAO_Objref_Var_T<
        CORBA::ValueMemberDef
      >;
  
  template class
    TAO_Objref_Out_T<
        CORBA::ValueMemberDef
      >;

  template class
    TAO::Narrow_Utils<
        CORBA::ValueMemberDef
      >;

  template class
    TAO_Var_Var_T<
        CORBA::ValueDescription
      >;

  template class
    TAO_Var_Base_T<
        CORBA::ValueDescription
      >;

  template class
    TAO_Out_T<
        CORBA::ValueDescription,
        CORBA::ValueDescription_var
      >;

#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)

#if !defined (_CORBA_DEFINITIONKIND__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_DEFINITIONKIND__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::DefinitionKind>

# pragma instantiate TAO::Basic_Arg_Traits_T<CORBA::DefinitionKind>

#endif /* end #if !defined */

#if !defined (_CORBA_CONTAINER__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_CONTAINER__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate \
    TAO::Arg_Traits< \
        CORBA::Container \
      >

# pragma instantiate \
    TAO::Object_Arg_Traits_T< \
        CORBA::Container_ptr, \
        CORBA::Container_var, \
        CORBA::Container_out, \
        TAO::Objref_Traits<CORBA::Container> \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_IDLTYPE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_IDLTYPE__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate \
    TAO::Arg_Traits< \
        CORBA::IDLType \
      >

# pragma instantiate \
    TAO::Object_Arg_Traits_T< \
        CORBA::IDLType_ptr, \
        CORBA::IDLType_var, \
        CORBA::IDLType_out, \
        TAO::Objref_Traits<CORBA::IDLType> \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::InterfaceDefSeq>

# pragma instantiate \
    TAO::Var_Size_Arg_Traits_T< \
        CORBA::InterfaceDefSeq, \
        CORBA::InterfaceDefSeq_var, \
        CORBA::InterfaceDefSeq_out \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_VALUEDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_VALUEDEF__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate \
    TAO::Arg_Traits< \
        CORBA::ValueDef \
      >

# pragma instantiate \
    TAO::Object_Arg_Traits_T< \
        CORBA::ValueDef_ptr, \
        CORBA::ValueDef_var, \
        CORBA::ValueDef_out, \
        TAO::Objref_Traits<CORBA::ValueDef> \
      >

#endif /* end #if !defined */

# pragma instantiate \
    TAO::In_Var_Size_Argument_T< \
        CORBA::InterfaceDefSeq \
      >

# pragma instantiate \
    TAO::In_Var_Size_Argument_T< \
        CORBA::InitializerSeq \
      >

# pragma instantiate \
    TAO::In_Object_Argument_T< \
        CORBA::ValueDef_ptr \
      >

# pragma instantiate \
    TAO::In_Var_Size_Argument_T< \
        CORBA::ValueDefSeq \
      >

#if !defined (_CORBA_VALUEDEF_FULLVALUEDESCRIPTION__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_VALUEDEF_FULLVALUEDESCRIPTION__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::ValueDef::FullValueDescription>

# pragma instantiate \
    TAO::Var_Size_Arg_Traits_T< \
        CORBA::ValueDef::FullValueDescription, \
        CORBA::ValueDef::FullValueDescription_var, \
        CORBA::ValueDef::FullValueDescription_out \
      >

#endif /* end #if !defined */

# pragma instantiate \
    TAO_VarSeq_Var_T< \
        CORBA::ValueMemberSeq, \
        CORBA::ValueMember \
      >

# pragma instantiate \
    TAO_Seq_Var_Base_T< \
        CORBA::ValueMemberSeq, \
        CORBA::ValueMember \
      >

# pragma instantiate \
    TAO_Seq_Out_T< \
        CORBA::ValueMemberSeq, \
        CORBA::ValueMemberSeq_var, \
        CORBA::ValueMember \
      >

#if !defined (_CORBA_VALUEMEMBER__EXPLICIT_CS_)
#define _CORBA_VALUEMEMBER__EXPLICIT_CS_

# pragma instantiate \
    TAO_Unbounded_Sequence< \
        CORBA::ValueMember \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::InitializerSeq>

# pragma instantiate \
    TAO::Var_Size_Arg_Traits_T< \
        CORBA::InitializerSeq, \
        CORBA::InitializerSeq_var, \
        CORBA::InitializerSeq_out \
      >

#endif /* end #if !defined */

# pragma instantiate \
    TAO_Var_Var_T< \
        CORBA::ValueDef::FullValueDescription \
      >

# pragma instantiate \
    TAO_Var_Base_T< \
        CORBA::ValueDef::FullValueDescription \
      >

# pragma instantiate \
    TAO_Out_T< \
        CORBA::ValueDef::FullValueDescription, \
        CORBA::ValueDef::FullValueDescription_var \
      >

# pragma instantiate \
    TAO::In_Object_Argument_T< \
        CORBA::IDLType_ptr \
      >

# pragma instantiate \
    TAO::In_Basic_Argument_T< \
        CORBA::AttributeMode \
      >

# pragma instantiate \
    TAO::In_Basic_Argument_T< \
        CORBA::OperationMode \
      >

# pragma instantiate \
    TAO::In_Var_Size_Argument_T< \
        CORBA::ParDescriptionSeq \
      >

# pragma instantiate \
    TAO::In_Var_Size_Argument_T< \
        CORBA::ExceptionDefSeq \
      >

# pragma instantiate \
    TAO::In_Var_Size_Argument_T< \
        CORBA::ContextIdSeq \
      >

# pragma instantiate \
    TAO::Objref_Traits< \
        CORBA::ValueDef \
      >

# pragma instantiate \
    TAO_Objref_Var_T< \
        CORBA::ValueDef
      >
  
# pragma instantiate \
    TAO_Objref_Out_T< \
        CORBA::ValueDef
      >

# pragma instantiate \
    TAO::Narrow_Utils< \
        CORBA::ValueDef \
      >

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::ValueDefSeq>

# pragma instantiate \
    TAO::Var_Size_Arg_Traits_T< \
        CORBA::ValueDefSeq, \
        CORBA::ValueDefSeq_var, \
        CORBA::ValueDefSeq_out \
      >

#endif /* end #if !defined */

# pragma instantiate \
    TAO::Objref_Traits< \
        CORBA::ValueBoxDef \
      >

# pragma instantiate \
    TAO_Objref_Var_T< \
        CORBA::ValueBoxDef
      >
  
# pragma instantiate \
    TAO_Objref_Out_T< \
        CORBA::ValueBoxDef
      >

# pragma instantiate \
    TAO::Narrow_Utils< \
        CORBA::ValueBoxDef \
      >

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::AbstractInterfaceDefSeq>

# pragma instantiate \
    TAO::Var_Size_Arg_Traits_T< \
        CORBA::AbstractInterfaceDefSeq, \
        CORBA::AbstractInterfaceDefSeq_var, \
        CORBA::AbstractInterfaceDefSeq_out \
      >

#endif /* end #if !defined */

# pragma instantiate \
    TAO::In_Var_Size_Argument_T< \
        CORBA::ExtInitializerSeq \
      >

#if !defined (_CORBA_EXTVALUEDEF_EXTFULLVALUEDESCRIPTION__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_EXTVALUEDEF_EXTFULLVALUEDESCRIPTION__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::ExtValueDef::ExtFullValueDescription>

# pragma instantiate \
    TAO::Var_Size_Arg_Traits_T< \
        CORBA::ExtValueDef::ExtFullValueDescription, \
        CORBA::ExtValueDef::ExtFullValueDescription_var, \
        CORBA::ExtValueDef::ExtFullValueDescription_out \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::ExtInitializerSeq>

# pragma instantiate \
    TAO::Var_Size_Arg_Traits_T< \
        CORBA::ExtInitializerSeq, \
        CORBA::ExtInitializerSeq_var, \
        CORBA::ExtInitializerSeq_out \
      >

#endif /* end #if !defined */

# pragma instantiate \
    TAO_Var_Var_T< \
        CORBA::ExtValueDef::ExtFullValueDescription \
      >

# pragma instantiate \
    TAO_Var_Base_T< \
        CORBA::ExtValueDef::ExtFullValueDescription \
      >

# pragma instantiate \
    TAO_Out_T< \
        CORBA::ExtValueDef::ExtFullValueDescription, \
        CORBA::ExtValueDef::ExtFullValueDescription_var \
      >

# pragma instantiate \
    TAO::Objref_Traits< \
        CORBA::ExtValueDef \
      >

# pragma instantiate \
    TAO_Objref_Var_T< \
        CORBA::ExtValueDef
      >
  
# pragma instantiate \
    TAO_Objref_Out_T< \
        CORBA::ExtValueDef
      >

# pragma instantiate \
    TAO::Narrow_Utils< \
        CORBA::ExtValueDef \
      >

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::StructMemberSeq>

# pragma instantiate \
    TAO::Var_Size_Arg_Traits_T< \
        CORBA::StructMemberSeq, \
        CORBA::StructMemberSeq_var, \
        CORBA::StructMemberSeq_out \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::UnionMemberSeq>

# pragma instantiate \
    TAO::Var_Size_Arg_Traits_T< \
        CORBA::UnionMemberSeq, \
        CORBA::UnionMemberSeq_var, \
        CORBA::UnionMemberSeq_out \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::EnumMemberSeq>

# pragma instantiate \
    TAO::Var_Size_Arg_Traits_T< \
        CORBA::EnumMemberSeq, \
        CORBA::EnumMemberSeq_var, \
        CORBA::EnumMemberSeq_out \
      >

#endif /* end #if !defined */

# pragma instantiate \
    TAO::Objref_Traits< \
        CORBA::FixedDef \
      >

# pragma instantiate \
    TAO_Objref_Var_T< \
        CORBA::FixedDef
      >
  
# pragma instantiate \
    TAO_Objref_Out_T< \
        CORBA::FixedDef
      >

# pragma instantiate \
    TAO::Narrow_Utils< \
        CORBA::FixedDef \
      >

#if !defined (_CORBA_PRIMITIVEKIND__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_PRIMITIVEKIND__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::PrimitiveKind>

# pragma instantiate TAO::Basic_Arg_Traits_T<CORBA::PrimitiveKind>

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::ExceptionDefSeq>

# pragma instantiate \
    TAO::Var_Size_Arg_Traits_T< \
        CORBA::ExceptionDefSeq, \
        CORBA::ExceptionDefSeq_var, \
        CORBA::ExceptionDefSeq_out \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_ATTRIBUTEMODE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_ATTRIBUTEMODE__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::AttributeMode>

# pragma instantiate TAO::Basic_Arg_Traits_T<CORBA::AttributeMode>

#endif /* end #if !defined */

#if !defined (_CORBA_ATTRIBUTEDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_ATTRIBUTEDEF__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate \
    TAO::Arg_Traits< \
        CORBA::AttributeDef \
      >

# pragma instantiate \
    TAO::Object_Arg_Traits_T< \
        CORBA::AttributeDef_ptr, \
        CORBA::AttributeDef_var, \
        CORBA::AttributeDef_out, \
        TAO::Objref_Traits<CORBA::AttributeDef> \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_EXTATTRIBUTEDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_EXTATTRIBUTEDEF__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate \
    TAO::Arg_Traits< \
        CORBA::ExtAttributeDef \
      >

# pragma instantiate \
    TAO::Object_Arg_Traits_T< \
        CORBA::ExtAttributeDef_ptr, \
        CORBA::ExtAttributeDef_var, \
        CORBA::ExtAttributeDef_out, \
        TAO::Objref_Traits<CORBA::ExtAttributeDef> \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_OPERATIONMODE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_OPERATIONMODE__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::OperationMode>

# pragma instantiate TAO::Basic_Arg_Traits_T<CORBA::OperationMode>

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::ParDescriptionSeq>

# pragma instantiate \
    TAO::Var_Size_Arg_Traits_T< \
        CORBA::ParDescriptionSeq, \
        CORBA::ParDescriptionSeq_var, \
        CORBA::ParDescriptionSeq_out \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::ContextIdSeq>

# pragma instantiate \
    TAO::Var_Size_Arg_Traits_T< \
        CORBA::ContextIdSeq, \
        CORBA::ContextIdSeq_var, \
        CORBA::ContextIdSeq_out \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_OPERATIONDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_OPERATIONDEF__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate \
    TAO::Arg_Traits< \
        CORBA::OperationDef \
      >

# pragma instantiate \
    TAO::Object_Arg_Traits_T< \
        CORBA::OperationDef_ptr, \
        CORBA::OperationDef_var, \
        CORBA::OperationDef_out, \
        TAO::Objref_Traits<CORBA::OperationDef> \
      >

#endif /* end #if !defined */

# pragma instantiate \
    TAO_Var_Var_T< \
        CORBA::ValueMember \
      >

# pragma instantiate \
    TAO_Var_Base_T< \
        CORBA::ValueMember \
      >

# pragma instantiate \
    TAO_Out_T< \
        CORBA::ValueMember, \
        CORBA::ValueMember_var \
      >

#if !defined (_CORBA_VALUEMEMBERDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_VALUEMEMBERDEF__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate \
    TAO::Arg_Traits< \
        CORBA::ValueMemberDef \
      >

# pragma instantiate \
    TAO::Object_Arg_Traits_T< \
        CORBA::ValueMemberDef_ptr, \
        CORBA::ValueMemberDef_var, \
        CORBA::ValueMemberDef_out, \
        TAO::Objref_Traits<CORBA::ValueMemberDef> \
      >

#endif /* end #if !defined */

# pragma instantiate \
    TAO::Objref_Traits< \
        CORBA::ValueMemberDef \
      >

# pragma instantiate \
    TAO_Objref_Var_T< \
        CORBA::ValueMemberDef
      >
  
# pragma instantiate \
    TAO_Objref_Out_T< \
        CORBA::ValueMemberDef
      >

# pragma instantiate \
    TAO::Narrow_Utils< \
        CORBA::ValueMemberDef \
      >

# pragma instantiate \
    TAO_Var_Var_T< \
        CORBA::ValueDescription \
      >

# pragma instantiate \
    TAO_Var_Base_T< \
        CORBA::ValueDescription \
      >

# pragma instantiate \
    TAO_Out_T< \
        CORBA::ValueDescription, \
        CORBA::ValueDescription_var \
      >

#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ 

