// -*- C++ -*-
/**
 * Code generated by the The ACE ORB (TAO) IDL Compiler v2.4.0
 * 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
 * and
 *       Institute for Software Integrated Systems
 *       Vanderbilt University
 *       Nashville, TN
 *       USA
 *       http://www.isis.vanderbilt.edu/
 *
 * Information about TAO is available at:
 *     http://www.dre.vanderbilt.edu/~schmidt/TAO.html
 **/

// TAO_IDL - Generated from
// be/be_codegen.cpp:712

#ifndef _TAO_IDL_IFR_BASICS_T_AD802L_CPP_
#define _TAO_IDL_IFR_BASICS_T_AD802L_CPP_

#include "IFR_BasicS_T.h"

TAO_BEGIN_VERSIONED_NAMESPACE_DECL



// TAO_IDL - Generated from
// be/be_visitor_interface/tie_ss.cpp:79

template <class T>
POA_CORBA::Repository_tie<T>::Repository_tie (T &t)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (false)
{}

template <class T>
POA_CORBA::Repository_tie<T>::Repository_tie (T &t, ::PortableServer::POA_ptr poa)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (false)
{}

template <class T>
POA_CORBA::Repository_tie<T>::Repository_tie (T *tp, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (release)
{}

template <class T>
POA_CORBA::Repository_tie<T>::Repository_tie (T *tp, ::PortableServer::POA_ptr poa, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (release)
{}

template <class T>
POA_CORBA::Repository_tie<T>::~Repository_tie (void)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> T *
POA_CORBA::Repository_tie<T>::_tied_object (void)
{
  return this->ptr_;
}

template <class T> void
POA_CORBA::Repository_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = &obj;
  this->rel_ = false;
}

template <class T> void
POA_CORBA::Repository_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = obj;
  this->rel_ = release;
}

template <class T>  ::CORBA::Boolean
POA_CORBA::Repository_tie<T>::_is_owner (void)
{
  return this->rel_;
}

template <class T> void
POA_CORBA::Repository_tie<T>::_is_owner ( ::CORBA::Boolean b)
{
  this->rel_ = b;
}

template <class T> PortableServer::POA_ptr
POA_CORBA::Repository_tie<T>::_default_POA ()
{
  if (! ::CORBA::is_nil (this->poa_.in ()))
    {
      return ::PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->Repository::_default_POA ();
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::DefinitionKind POA_CORBA::Repository_tie<T>::def_kind  (
  void)
{
  return this->ptr_->def_kind (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::Repository_tie<T>::destroy  (
  void)
{
  this->ptr_->destroy (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Contained_ptr POA_CORBA::Repository_tie<T>::lookup  (
  const char * search_name)
{
  return this->ptr_->lookup (
    search_name
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ContainedSeq * POA_CORBA::Repository_tie<T>::contents  (
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited)
{
  return this->ptr_->contents (
    limit_type,
    exclude_inherited
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ContainedSeq * POA_CORBA::Repository_tie<T>::lookup_name  (
  const char * search_name,
  ::CORBA::Long levels_to_search,
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited)
{
  return this->ptr_->lookup_name (
    search_name,
    levels_to_search,
    limit_type,
    exclude_inherited
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Container::DescriptionSeq * POA_CORBA::Repository_tie<T>::describe_contents  (
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited,
  ::CORBA::Long max_returned_objs)
{
  return this->ptr_->describe_contents (
    limit_type,
    exclude_inherited,
    max_returned_objs
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ModuleDef_ptr POA_CORBA::Repository_tie<T>::create_module  (
  const char * id,
  const char * name,
  const char * version)
{
  return this->ptr_->create_module (
    id,
    name,
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ConstantDef_ptr POA_CORBA::Repository_tie<T>::create_constant  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr type,
  const ::CORBA::Any & value)
{
  return this->ptr_->create_constant (
    id,
    name,
    version,
    type,
    value
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::StructDef_ptr POA_CORBA::Repository_tie<T>::create_struct  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::StructMemberSeq & members)
{
  return this->ptr_->create_struct (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::UnionDef_ptr POA_CORBA::Repository_tie<T>::create_union  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr discriminator_type,
  const ::CORBA::UnionMemberSeq & members)
{
  return this->ptr_->create_union (
    id,
    name,
    version,
    discriminator_type,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::EnumDef_ptr POA_CORBA::Repository_tie<T>::create_enum  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::EnumMemberSeq & members)
{
  return this->ptr_->create_enum (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::AliasDef_ptr POA_CORBA::Repository_tie<T>::create_alias  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr original_type)
{
  return this->ptr_->create_alias (
    id,
    name,
    version,
    original_type
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::InterfaceDef_ptr POA_CORBA::Repository_tie<T>::create_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::InterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ValueDef_ptr POA_CORBA::Repository_tie<T>::create_value  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::Boolean is_custom,
  ::CORBA::Boolean is_abstract,
  ::CORBA::ValueDef_ptr base_value,
  ::CORBA::Boolean is_truncatable,
  const ::CORBA::ValueDefSeq & abstract_base_values,
  const ::CORBA::InterfaceDefSeq & supported_interfaces,
  const ::CORBA::InitializerSeq & initializers)
{
  return this->ptr_->create_value (
    id,
    name,
    version,
    is_custom,
    is_abstract,
    base_value,
    is_truncatable,
    abstract_base_values,
    supported_interfaces,
    initializers
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ValueBoxDef_ptr POA_CORBA::Repository_tie<T>::create_value_box  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr original_type_def)
{
  return this->ptr_->create_value_box (
    id,
    name,
    version,
    original_type_def
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ExceptionDef_ptr POA_CORBA::Repository_tie<T>::create_exception  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::StructMemberSeq & members)
{
  return this->ptr_->create_exception (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::NativeDef_ptr POA_CORBA::Repository_tie<T>::create_native  (
  const char * id,
  const char * name,
  const char * version)
{
  return this->ptr_->create_native (
    id,
    name,
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::AbstractInterfaceDef_ptr POA_CORBA::Repository_tie<T>::create_abstract_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::AbstractInterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_abstract_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::LocalInterfaceDef_ptr POA_CORBA::Repository_tie<T>::create_local_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::InterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_local_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ExtValueDef_ptr POA_CORBA::Repository_tie<T>::create_ext_value  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::Boolean is_custom,
  ::CORBA::Boolean is_abstract,
  ::CORBA::ValueDef_ptr base_value,
  ::CORBA::Boolean is_truncatable,
  const ::CORBA::ValueDefSeq & abstract_base_values,
  const ::CORBA::InterfaceDefSeq & supported_interfaces,
  const ::CORBA::ExtInitializerSeq & initializers)
{
  return this->ptr_->create_ext_value (
    id,
    name,
    version,
    is_custom,
    is_abstract,
    base_value,
    is_truncatable,
    abstract_base_values,
    supported_interfaces,
    initializers
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Contained_ptr POA_CORBA::Repository_tie<T>::lookup_id  (
  const char * search_id)
{
  return this->ptr_->lookup_id (
    search_id
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::TypeCode_ptr POA_CORBA::Repository_tie<T>::get_canonical_typecode  (
  ::CORBA::TypeCode_ptr tc)
{
  return this->ptr_->get_canonical_typecode (
    tc
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::PrimitiveDef_ptr POA_CORBA::Repository_tie<T>::get_primitive  (
  ::CORBA::PrimitiveKind kind)
{
  return this->ptr_->get_primitive (
    kind
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::StringDef_ptr POA_CORBA::Repository_tie<T>::create_string  (
  ::CORBA::ULong bound)
{
  return this->ptr_->create_string (
    bound
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::WstringDef_ptr POA_CORBA::Repository_tie<T>::create_wstring  (
  ::CORBA::ULong bound)
{
  return this->ptr_->create_wstring (
    bound
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::SequenceDef_ptr POA_CORBA::Repository_tie<T>::create_sequence  (
  ::CORBA::ULong bound,
  ::CORBA::IDLType_ptr element_type)
{
  return this->ptr_->create_sequence (
    bound,
    element_type
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ArrayDef_ptr POA_CORBA::Repository_tie<T>::create_array  (
  ::CORBA::ULong length,
  ::CORBA::IDLType_ptr element_type)
{
  return this->ptr_->create_array (
    length,
    element_type
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::FixedDef_ptr POA_CORBA::Repository_tie<T>::create_fixed  (
  ::CORBA::UShort digits,
  ::CORBA::Short scale)
{
  return this->ptr_->create_fixed (
    digits,
    scale
  );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/tie_ss.cpp:79

template <class T>
POA_CORBA::ModuleDef_tie<T>::ModuleDef_tie (T &t)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (false)
{}

template <class T>
POA_CORBA::ModuleDef_tie<T>::ModuleDef_tie (T &t, ::PortableServer::POA_ptr poa)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (false)
{}

template <class T>
POA_CORBA::ModuleDef_tie<T>::ModuleDef_tie (T *tp, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (release)
{}

template <class T>
POA_CORBA::ModuleDef_tie<T>::ModuleDef_tie (T *tp, ::PortableServer::POA_ptr poa, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (release)
{}

template <class T>
POA_CORBA::ModuleDef_tie<T>::~ModuleDef_tie (void)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> T *
POA_CORBA::ModuleDef_tie<T>::_tied_object (void)
{
  return this->ptr_;
}

template <class T> void
POA_CORBA::ModuleDef_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = &obj;
  this->rel_ = false;
}

template <class T> void
POA_CORBA::ModuleDef_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = obj;
  this->rel_ = release;
}

template <class T>  ::CORBA::Boolean
POA_CORBA::ModuleDef_tie<T>::_is_owner (void)
{
  return this->rel_;
}

template <class T> void
POA_CORBA::ModuleDef_tie<T>::_is_owner ( ::CORBA::Boolean b)
{
  this->rel_ = b;
}

template <class T> PortableServer::POA_ptr
POA_CORBA::ModuleDef_tie<T>::_default_POA ()
{
  if (! ::CORBA::is_nil (this->poa_.in ()))
    {
      return ::PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->ModuleDef::_default_POA ();
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::DefinitionKind POA_CORBA::ModuleDef_tie<T>::def_kind  (
  void)
{
  return this->ptr_->def_kind (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ModuleDef_tie<T>::destroy  (
  void)
{
  this->ptr_->destroy (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Contained_ptr POA_CORBA::ModuleDef_tie<T>::lookup  (
  const char * search_name)
{
  return this->ptr_->lookup (
    search_name
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ContainedSeq * POA_CORBA::ModuleDef_tie<T>::contents  (
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited)
{
  return this->ptr_->contents (
    limit_type,
    exclude_inherited
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ContainedSeq * POA_CORBA::ModuleDef_tie<T>::lookup_name  (
  const char * search_name,
  ::CORBA::Long levels_to_search,
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited)
{
  return this->ptr_->lookup_name (
    search_name,
    levels_to_search,
    limit_type,
    exclude_inherited
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Container::DescriptionSeq * POA_CORBA::ModuleDef_tie<T>::describe_contents  (
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited,
  ::CORBA::Long max_returned_objs)
{
  return this->ptr_->describe_contents (
    limit_type,
    exclude_inherited,
    max_returned_objs
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ModuleDef_ptr POA_CORBA::ModuleDef_tie<T>::create_module  (
  const char * id,
  const char * name,
  const char * version)
{
  return this->ptr_->create_module (
    id,
    name,
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ConstantDef_ptr POA_CORBA::ModuleDef_tie<T>::create_constant  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr type,
  const ::CORBA::Any & value)
{
  return this->ptr_->create_constant (
    id,
    name,
    version,
    type,
    value
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::StructDef_ptr POA_CORBA::ModuleDef_tie<T>::create_struct  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::StructMemberSeq & members)
{
  return this->ptr_->create_struct (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::UnionDef_ptr POA_CORBA::ModuleDef_tie<T>::create_union  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr discriminator_type,
  const ::CORBA::UnionMemberSeq & members)
{
  return this->ptr_->create_union (
    id,
    name,
    version,
    discriminator_type,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::EnumDef_ptr POA_CORBA::ModuleDef_tie<T>::create_enum  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::EnumMemberSeq & members)
{
  return this->ptr_->create_enum (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::AliasDef_ptr POA_CORBA::ModuleDef_tie<T>::create_alias  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr original_type)
{
  return this->ptr_->create_alias (
    id,
    name,
    version,
    original_type
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::InterfaceDef_ptr POA_CORBA::ModuleDef_tie<T>::create_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::InterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ValueDef_ptr POA_CORBA::ModuleDef_tie<T>::create_value  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::Boolean is_custom,
  ::CORBA::Boolean is_abstract,
  ::CORBA::ValueDef_ptr base_value,
  ::CORBA::Boolean is_truncatable,
  const ::CORBA::ValueDefSeq & abstract_base_values,
  const ::CORBA::InterfaceDefSeq & supported_interfaces,
  const ::CORBA::InitializerSeq & initializers)
{
  return this->ptr_->create_value (
    id,
    name,
    version,
    is_custom,
    is_abstract,
    base_value,
    is_truncatable,
    abstract_base_values,
    supported_interfaces,
    initializers
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ValueBoxDef_ptr POA_CORBA::ModuleDef_tie<T>::create_value_box  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr original_type_def)
{
  return this->ptr_->create_value_box (
    id,
    name,
    version,
    original_type_def
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ExceptionDef_ptr POA_CORBA::ModuleDef_tie<T>::create_exception  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::StructMemberSeq & members)
{
  return this->ptr_->create_exception (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::NativeDef_ptr POA_CORBA::ModuleDef_tie<T>::create_native  (
  const char * id,
  const char * name,
  const char * version)
{
  return this->ptr_->create_native (
    id,
    name,
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::AbstractInterfaceDef_ptr POA_CORBA::ModuleDef_tie<T>::create_abstract_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::AbstractInterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_abstract_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::LocalInterfaceDef_ptr POA_CORBA::ModuleDef_tie<T>::create_local_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::InterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_local_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ExtValueDef_ptr POA_CORBA::ModuleDef_tie<T>::create_ext_value  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::Boolean is_custom,
  ::CORBA::Boolean is_abstract,
  ::CORBA::ValueDef_ptr base_value,
  ::CORBA::Boolean is_truncatable,
  const ::CORBA::ValueDefSeq & abstract_base_values,
  const ::CORBA::InterfaceDefSeq & supported_interfaces,
  const ::CORBA::ExtInitializerSeq & initializers)
{
  return this->ptr_->create_ext_value (
    id,
    name,
    version,
    is_custom,
    is_abstract,
    base_value,
    is_truncatable,
    abstract_base_values,
    supported_interfaces,
    initializers
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::ModuleDef_tie<T>::id  (
  void)
{
  return this->ptr_->id (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ModuleDef_tie<T>::id  (
  const char * id)
{
  this->ptr_->id (
    id
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::ModuleDef_tie<T>::name  (
  void)
{
  return this->ptr_->name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ModuleDef_tie<T>::name  (
  const char * name)
{
  this->ptr_->name (
    name
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::ModuleDef_tie<T>::version  (
  void)
{
  return this->ptr_->version (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ModuleDef_tie<T>::version  (
  const char * version)
{
  this->ptr_->version (
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Container_ptr POA_CORBA::ModuleDef_tie<T>::defined_in  (
  void)
{
  return this->ptr_->defined_in (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::ModuleDef_tie<T>::absolute_name  (
  void)
{
  return this->ptr_->absolute_name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Repository_ptr POA_CORBA::ModuleDef_tie<T>::containing_repository  (
  void)
{
  return this->ptr_->containing_repository (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Contained::Description * POA_CORBA::ModuleDef_tie<T>::describe  (
  void)
{
  return this->ptr_->describe (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ModuleDef_tie<T>::move  (
  ::CORBA::Container_ptr new_container,
  const char * new_name,
  const char * new_version)
{
  this->ptr_->move (
    new_container,
    new_name,
    new_version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/tie_ss.cpp:79

template <class T>
POA_CORBA::ConstantDef_tie<T>::ConstantDef_tie (T &t)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (false)
{}

template <class T>
POA_CORBA::ConstantDef_tie<T>::ConstantDef_tie (T &t, ::PortableServer::POA_ptr poa)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (false)
{}

template <class T>
POA_CORBA::ConstantDef_tie<T>::ConstantDef_tie (T *tp, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (release)
{}

template <class T>
POA_CORBA::ConstantDef_tie<T>::ConstantDef_tie (T *tp, ::PortableServer::POA_ptr poa, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (release)
{}

template <class T>
POA_CORBA::ConstantDef_tie<T>::~ConstantDef_tie (void)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> T *
POA_CORBA::ConstantDef_tie<T>::_tied_object (void)
{
  return this->ptr_;
}

template <class T> void
POA_CORBA::ConstantDef_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = &obj;
  this->rel_ = false;
}

template <class T> void
POA_CORBA::ConstantDef_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = obj;
  this->rel_ = release;
}

template <class T>  ::CORBA::Boolean
POA_CORBA::ConstantDef_tie<T>::_is_owner (void)
{
  return this->rel_;
}

template <class T> void
POA_CORBA::ConstantDef_tie<T>::_is_owner ( ::CORBA::Boolean b)
{
  this->rel_ = b;
}

template <class T> PortableServer::POA_ptr
POA_CORBA::ConstantDef_tie<T>::_default_POA ()
{
  if (! ::CORBA::is_nil (this->poa_.in ()))
    {
      return ::PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->ConstantDef::_default_POA ();
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::DefinitionKind POA_CORBA::ConstantDef_tie<T>::def_kind  (
  void)
{
  return this->ptr_->def_kind (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ConstantDef_tie<T>::destroy  (
  void)
{
  this->ptr_->destroy (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::ConstantDef_tie<T>::id  (
  void)
{
  return this->ptr_->id (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ConstantDef_tie<T>::id  (
  const char * id)
{
  this->ptr_->id (
    id
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::ConstantDef_tie<T>::name  (
  void)
{
  return this->ptr_->name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ConstantDef_tie<T>::name  (
  const char * name)
{
  this->ptr_->name (
    name
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::ConstantDef_tie<T>::version  (
  void)
{
  return this->ptr_->version (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ConstantDef_tie<T>::version  (
  const char * version)
{
  this->ptr_->version (
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Container_ptr POA_CORBA::ConstantDef_tie<T>::defined_in  (
  void)
{
  return this->ptr_->defined_in (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::ConstantDef_tie<T>::absolute_name  (
  void)
{
  return this->ptr_->absolute_name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Repository_ptr POA_CORBA::ConstantDef_tie<T>::containing_repository  (
  void)
{
  return this->ptr_->containing_repository (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Contained::Description * POA_CORBA::ConstantDef_tie<T>::describe  (
  void)
{
  return this->ptr_->describe (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ConstantDef_tie<T>::move  (
  ::CORBA::Container_ptr new_container,
  const char * new_name,
  const char * new_version)
{
  this->ptr_->move (
    new_container,
    new_name,
    new_version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::TypeCode_ptr POA_CORBA::ConstantDef_tie<T>::type  (
  void)
{
  return this->ptr_->type (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::IDLType_ptr POA_CORBA::ConstantDef_tie<T>::type_def  (
  void)
{
  return this->ptr_->type_def (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ConstantDef_tie<T>::type_def  (
  ::CORBA::IDLType_ptr type_def)
{
  this->ptr_->type_def (
    type_def
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Any * POA_CORBA::ConstantDef_tie<T>::value  (
  void)
{
  return this->ptr_->value (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ConstantDef_tie<T>::value  (
  const ::CORBA::Any & value)
{
  this->ptr_->value (
    value
  );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/tie_ss.cpp:79

template <class T>
POA_CORBA::StructDef_tie<T>::StructDef_tie (T &t)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (false)
{}

template <class T>
POA_CORBA::StructDef_tie<T>::StructDef_tie (T &t, ::PortableServer::POA_ptr poa)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (false)
{}

template <class T>
POA_CORBA::StructDef_tie<T>::StructDef_tie (T *tp, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (release)
{}

template <class T>
POA_CORBA::StructDef_tie<T>::StructDef_tie (T *tp, ::PortableServer::POA_ptr poa, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (release)
{}

template <class T>
POA_CORBA::StructDef_tie<T>::~StructDef_tie (void)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> T *
POA_CORBA::StructDef_tie<T>::_tied_object (void)
{
  return this->ptr_;
}

template <class T> void
POA_CORBA::StructDef_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = &obj;
  this->rel_ = false;
}

template <class T> void
POA_CORBA::StructDef_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = obj;
  this->rel_ = release;
}

template <class T>  ::CORBA::Boolean
POA_CORBA::StructDef_tie<T>::_is_owner (void)
{
  return this->rel_;
}

template <class T> void
POA_CORBA::StructDef_tie<T>::_is_owner ( ::CORBA::Boolean b)
{
  this->rel_ = b;
}

template <class T> PortableServer::POA_ptr
POA_CORBA::StructDef_tie<T>::_default_POA ()
{
  if (! ::CORBA::is_nil (this->poa_.in ()))
    {
      return ::PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->StructDef::_default_POA ();
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::DefinitionKind POA_CORBA::StructDef_tie<T>::def_kind  (
  void)
{
  return this->ptr_->def_kind (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::StructDef_tie<T>::destroy  (
  void)
{
  this->ptr_->destroy (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::StructDef_tie<T>::id  (
  void)
{
  return this->ptr_->id (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::StructDef_tie<T>::id  (
  const char * id)
{
  this->ptr_->id (
    id
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::StructDef_tie<T>::name  (
  void)
{
  return this->ptr_->name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::StructDef_tie<T>::name  (
  const char * name)
{
  this->ptr_->name (
    name
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::StructDef_tie<T>::version  (
  void)
{
  return this->ptr_->version (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::StructDef_tie<T>::version  (
  const char * version)
{
  this->ptr_->version (
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Container_ptr POA_CORBA::StructDef_tie<T>::defined_in  (
  void)
{
  return this->ptr_->defined_in (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::StructDef_tie<T>::absolute_name  (
  void)
{
  return this->ptr_->absolute_name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Repository_ptr POA_CORBA::StructDef_tie<T>::containing_repository  (
  void)
{
  return this->ptr_->containing_repository (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Contained::Description * POA_CORBA::StructDef_tie<T>::describe  (
  void)
{
  return this->ptr_->describe (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::StructDef_tie<T>::move  (
  ::CORBA::Container_ptr new_container,
  const char * new_name,
  const char * new_version)
{
  this->ptr_->move (
    new_container,
    new_name,
    new_version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::TypeCode_ptr POA_CORBA::StructDef_tie<T>::type  (
  void)
{
  return this->ptr_->type (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Contained_ptr POA_CORBA::StructDef_tie<T>::lookup  (
  const char * search_name)
{
  return this->ptr_->lookup (
    search_name
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ContainedSeq * POA_CORBA::StructDef_tie<T>::contents  (
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited)
{
  return this->ptr_->contents (
    limit_type,
    exclude_inherited
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ContainedSeq * POA_CORBA::StructDef_tie<T>::lookup_name  (
  const char * search_name,
  ::CORBA::Long levels_to_search,
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited)
{
  return this->ptr_->lookup_name (
    search_name,
    levels_to_search,
    limit_type,
    exclude_inherited
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Container::DescriptionSeq * POA_CORBA::StructDef_tie<T>::describe_contents  (
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited,
  ::CORBA::Long max_returned_objs)
{
  return this->ptr_->describe_contents (
    limit_type,
    exclude_inherited,
    max_returned_objs
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ModuleDef_ptr POA_CORBA::StructDef_tie<T>::create_module  (
  const char * id,
  const char * name,
  const char * version)
{
  return this->ptr_->create_module (
    id,
    name,
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ConstantDef_ptr POA_CORBA::StructDef_tie<T>::create_constant  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr type,
  const ::CORBA::Any & value)
{
  return this->ptr_->create_constant (
    id,
    name,
    version,
    type,
    value
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::StructDef_ptr POA_CORBA::StructDef_tie<T>::create_struct  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::StructMemberSeq & members)
{
  return this->ptr_->create_struct (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::UnionDef_ptr POA_CORBA::StructDef_tie<T>::create_union  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr discriminator_type,
  const ::CORBA::UnionMemberSeq & members)
{
  return this->ptr_->create_union (
    id,
    name,
    version,
    discriminator_type,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::EnumDef_ptr POA_CORBA::StructDef_tie<T>::create_enum  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::EnumMemberSeq & members)
{
  return this->ptr_->create_enum (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::AliasDef_ptr POA_CORBA::StructDef_tie<T>::create_alias  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr original_type)
{
  return this->ptr_->create_alias (
    id,
    name,
    version,
    original_type
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::InterfaceDef_ptr POA_CORBA::StructDef_tie<T>::create_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::InterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ValueDef_ptr POA_CORBA::StructDef_tie<T>::create_value  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::Boolean is_custom,
  ::CORBA::Boolean is_abstract,
  ::CORBA::ValueDef_ptr base_value,
  ::CORBA::Boolean is_truncatable,
  const ::CORBA::ValueDefSeq & abstract_base_values,
  const ::CORBA::InterfaceDefSeq & supported_interfaces,
  const ::CORBA::InitializerSeq & initializers)
{
  return this->ptr_->create_value (
    id,
    name,
    version,
    is_custom,
    is_abstract,
    base_value,
    is_truncatable,
    abstract_base_values,
    supported_interfaces,
    initializers
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ValueBoxDef_ptr POA_CORBA::StructDef_tie<T>::create_value_box  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr original_type_def)
{
  return this->ptr_->create_value_box (
    id,
    name,
    version,
    original_type_def
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ExceptionDef_ptr POA_CORBA::StructDef_tie<T>::create_exception  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::StructMemberSeq & members)
{
  return this->ptr_->create_exception (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::NativeDef_ptr POA_CORBA::StructDef_tie<T>::create_native  (
  const char * id,
  const char * name,
  const char * version)
{
  return this->ptr_->create_native (
    id,
    name,
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::AbstractInterfaceDef_ptr POA_CORBA::StructDef_tie<T>::create_abstract_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::AbstractInterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_abstract_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::LocalInterfaceDef_ptr POA_CORBA::StructDef_tie<T>::create_local_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::InterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_local_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ExtValueDef_ptr POA_CORBA::StructDef_tie<T>::create_ext_value  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::Boolean is_custom,
  ::CORBA::Boolean is_abstract,
  ::CORBA::ValueDef_ptr base_value,
  ::CORBA::Boolean is_truncatable,
  const ::CORBA::ValueDefSeq & abstract_base_values,
  const ::CORBA::InterfaceDefSeq & supported_interfaces,
  const ::CORBA::ExtInitializerSeq & initializers)
{
  return this->ptr_->create_ext_value (
    id,
    name,
    version,
    is_custom,
    is_abstract,
    base_value,
    is_truncatable,
    abstract_base_values,
    supported_interfaces,
    initializers
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::StructMemberSeq * POA_CORBA::StructDef_tie<T>::members  (
  void)
{
  return this->ptr_->members (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::StructDef_tie<T>::members  (
  const ::CORBA::StructMemberSeq & members)
{
  this->ptr_->members (
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/tie_ss.cpp:79

template <class T>
POA_CORBA::UnionDef_tie<T>::UnionDef_tie (T &t)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (false)
{}

template <class T>
POA_CORBA::UnionDef_tie<T>::UnionDef_tie (T &t, ::PortableServer::POA_ptr poa)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (false)
{}

template <class T>
POA_CORBA::UnionDef_tie<T>::UnionDef_tie (T *tp, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (release)
{}

template <class T>
POA_CORBA::UnionDef_tie<T>::UnionDef_tie (T *tp, ::PortableServer::POA_ptr poa, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (release)
{}

template <class T>
POA_CORBA::UnionDef_tie<T>::~UnionDef_tie (void)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> T *
POA_CORBA::UnionDef_tie<T>::_tied_object (void)
{
  return this->ptr_;
}

template <class T> void
POA_CORBA::UnionDef_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = &obj;
  this->rel_ = false;
}

template <class T> void
POA_CORBA::UnionDef_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = obj;
  this->rel_ = release;
}

template <class T>  ::CORBA::Boolean
POA_CORBA::UnionDef_tie<T>::_is_owner (void)
{
  return this->rel_;
}

template <class T> void
POA_CORBA::UnionDef_tie<T>::_is_owner ( ::CORBA::Boolean b)
{
  this->rel_ = b;
}

template <class T> PortableServer::POA_ptr
POA_CORBA::UnionDef_tie<T>::_default_POA ()
{
  if (! ::CORBA::is_nil (this->poa_.in ()))
    {
      return ::PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->UnionDef::_default_POA ();
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::DefinitionKind POA_CORBA::UnionDef_tie<T>::def_kind  (
  void)
{
  return this->ptr_->def_kind (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::UnionDef_tie<T>::destroy  (
  void)
{
  this->ptr_->destroy (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::UnionDef_tie<T>::id  (
  void)
{
  return this->ptr_->id (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::UnionDef_tie<T>::id  (
  const char * id)
{
  this->ptr_->id (
    id
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::UnionDef_tie<T>::name  (
  void)
{
  return this->ptr_->name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::UnionDef_tie<T>::name  (
  const char * name)
{
  this->ptr_->name (
    name
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::UnionDef_tie<T>::version  (
  void)
{
  return this->ptr_->version (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::UnionDef_tie<T>::version  (
  const char * version)
{
  this->ptr_->version (
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Container_ptr POA_CORBA::UnionDef_tie<T>::defined_in  (
  void)
{
  return this->ptr_->defined_in (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::UnionDef_tie<T>::absolute_name  (
  void)
{
  return this->ptr_->absolute_name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Repository_ptr POA_CORBA::UnionDef_tie<T>::containing_repository  (
  void)
{
  return this->ptr_->containing_repository (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Contained::Description * POA_CORBA::UnionDef_tie<T>::describe  (
  void)
{
  return this->ptr_->describe (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::UnionDef_tie<T>::move  (
  ::CORBA::Container_ptr new_container,
  const char * new_name,
  const char * new_version)
{
  this->ptr_->move (
    new_container,
    new_name,
    new_version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::TypeCode_ptr POA_CORBA::UnionDef_tie<T>::type  (
  void)
{
  return this->ptr_->type (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Contained_ptr POA_CORBA::UnionDef_tie<T>::lookup  (
  const char * search_name)
{
  return this->ptr_->lookup (
    search_name
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ContainedSeq * POA_CORBA::UnionDef_tie<T>::contents  (
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited)
{
  return this->ptr_->contents (
    limit_type,
    exclude_inherited
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ContainedSeq * POA_CORBA::UnionDef_tie<T>::lookup_name  (
  const char * search_name,
  ::CORBA::Long levels_to_search,
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited)
{
  return this->ptr_->lookup_name (
    search_name,
    levels_to_search,
    limit_type,
    exclude_inherited
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Container::DescriptionSeq * POA_CORBA::UnionDef_tie<T>::describe_contents  (
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited,
  ::CORBA::Long max_returned_objs)
{
  return this->ptr_->describe_contents (
    limit_type,
    exclude_inherited,
    max_returned_objs
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ModuleDef_ptr POA_CORBA::UnionDef_tie<T>::create_module  (
  const char * id,
  const char * name,
  const char * version)
{
  return this->ptr_->create_module (
    id,
    name,
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ConstantDef_ptr POA_CORBA::UnionDef_tie<T>::create_constant  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr type,
  const ::CORBA::Any & value)
{
  return this->ptr_->create_constant (
    id,
    name,
    version,
    type,
    value
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::StructDef_ptr POA_CORBA::UnionDef_tie<T>::create_struct  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::StructMemberSeq & members)
{
  return this->ptr_->create_struct (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::UnionDef_ptr POA_CORBA::UnionDef_tie<T>::create_union  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr discriminator_type,
  const ::CORBA::UnionMemberSeq & members)
{
  return this->ptr_->create_union (
    id,
    name,
    version,
    discriminator_type,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::EnumDef_ptr POA_CORBA::UnionDef_tie<T>::create_enum  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::EnumMemberSeq & members)
{
  return this->ptr_->create_enum (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::AliasDef_ptr POA_CORBA::UnionDef_tie<T>::create_alias  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr original_type)
{
  return this->ptr_->create_alias (
    id,
    name,
    version,
    original_type
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::InterfaceDef_ptr POA_CORBA::UnionDef_tie<T>::create_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::InterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ValueDef_ptr POA_CORBA::UnionDef_tie<T>::create_value  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::Boolean is_custom,
  ::CORBA::Boolean is_abstract,
  ::CORBA::ValueDef_ptr base_value,
  ::CORBA::Boolean is_truncatable,
  const ::CORBA::ValueDefSeq & abstract_base_values,
  const ::CORBA::InterfaceDefSeq & supported_interfaces,
  const ::CORBA::InitializerSeq & initializers)
{
  return this->ptr_->create_value (
    id,
    name,
    version,
    is_custom,
    is_abstract,
    base_value,
    is_truncatable,
    abstract_base_values,
    supported_interfaces,
    initializers
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ValueBoxDef_ptr POA_CORBA::UnionDef_tie<T>::create_value_box  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr original_type_def)
{
  return this->ptr_->create_value_box (
    id,
    name,
    version,
    original_type_def
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ExceptionDef_ptr POA_CORBA::UnionDef_tie<T>::create_exception  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::StructMemberSeq & members)
{
  return this->ptr_->create_exception (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::NativeDef_ptr POA_CORBA::UnionDef_tie<T>::create_native  (
  const char * id,
  const char * name,
  const char * version)
{
  return this->ptr_->create_native (
    id,
    name,
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::AbstractInterfaceDef_ptr POA_CORBA::UnionDef_tie<T>::create_abstract_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::AbstractInterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_abstract_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::LocalInterfaceDef_ptr POA_CORBA::UnionDef_tie<T>::create_local_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::InterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_local_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ExtValueDef_ptr POA_CORBA::UnionDef_tie<T>::create_ext_value  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::Boolean is_custom,
  ::CORBA::Boolean is_abstract,
  ::CORBA::ValueDef_ptr base_value,
  ::CORBA::Boolean is_truncatable,
  const ::CORBA::ValueDefSeq & abstract_base_values,
  const ::CORBA::InterfaceDefSeq & supported_interfaces,
  const ::CORBA::ExtInitializerSeq & initializers)
{
  return this->ptr_->create_ext_value (
    id,
    name,
    version,
    is_custom,
    is_abstract,
    base_value,
    is_truncatable,
    abstract_base_values,
    supported_interfaces,
    initializers
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::TypeCode_ptr POA_CORBA::UnionDef_tie<T>::discriminator_type  (
  void)
{
  return this->ptr_->discriminator_type (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::IDLType_ptr POA_CORBA::UnionDef_tie<T>::discriminator_type_def  (
  void)
{
  return this->ptr_->discriminator_type_def (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::UnionDef_tie<T>::discriminator_type_def  (
  ::CORBA::IDLType_ptr discriminator_type_def)
{
  this->ptr_->discriminator_type_def (
    discriminator_type_def
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::UnionMemberSeq * POA_CORBA::UnionDef_tie<T>::members  (
  void)
{
  return this->ptr_->members (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::UnionDef_tie<T>::members  (
  const ::CORBA::UnionMemberSeq & members)
{
  this->ptr_->members (
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/tie_ss.cpp:79

template <class T>
POA_CORBA::EnumDef_tie<T>::EnumDef_tie (T &t)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (false)
{}

template <class T>
POA_CORBA::EnumDef_tie<T>::EnumDef_tie (T &t, ::PortableServer::POA_ptr poa)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (false)
{}

template <class T>
POA_CORBA::EnumDef_tie<T>::EnumDef_tie (T *tp, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (release)
{}

template <class T>
POA_CORBA::EnumDef_tie<T>::EnumDef_tie (T *tp, ::PortableServer::POA_ptr poa, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (release)
{}

template <class T>
POA_CORBA::EnumDef_tie<T>::~EnumDef_tie (void)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> T *
POA_CORBA::EnumDef_tie<T>::_tied_object (void)
{
  return this->ptr_;
}

template <class T> void
POA_CORBA::EnumDef_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = &obj;
  this->rel_ = false;
}

template <class T> void
POA_CORBA::EnumDef_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = obj;
  this->rel_ = release;
}

template <class T>  ::CORBA::Boolean
POA_CORBA::EnumDef_tie<T>::_is_owner (void)
{
  return this->rel_;
}

template <class T> void
POA_CORBA::EnumDef_tie<T>::_is_owner ( ::CORBA::Boolean b)
{
  this->rel_ = b;
}

template <class T> PortableServer::POA_ptr
POA_CORBA::EnumDef_tie<T>::_default_POA ()
{
  if (! ::CORBA::is_nil (this->poa_.in ()))
    {
      return ::PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->EnumDef::_default_POA ();
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::DefinitionKind POA_CORBA::EnumDef_tie<T>::def_kind  (
  void)
{
  return this->ptr_->def_kind (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::EnumDef_tie<T>::destroy  (
  void)
{
  this->ptr_->destroy (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::EnumDef_tie<T>::id  (
  void)
{
  return this->ptr_->id (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::EnumDef_tie<T>::id  (
  const char * id)
{
  this->ptr_->id (
    id
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::EnumDef_tie<T>::name  (
  void)
{
  return this->ptr_->name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::EnumDef_tie<T>::name  (
  const char * name)
{
  this->ptr_->name (
    name
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::EnumDef_tie<T>::version  (
  void)
{
  return this->ptr_->version (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::EnumDef_tie<T>::version  (
  const char * version)
{
  this->ptr_->version (
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Container_ptr POA_CORBA::EnumDef_tie<T>::defined_in  (
  void)
{
  return this->ptr_->defined_in (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::EnumDef_tie<T>::absolute_name  (
  void)
{
  return this->ptr_->absolute_name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Repository_ptr POA_CORBA::EnumDef_tie<T>::containing_repository  (
  void)
{
  return this->ptr_->containing_repository (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Contained::Description * POA_CORBA::EnumDef_tie<T>::describe  (
  void)
{
  return this->ptr_->describe (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::EnumDef_tie<T>::move  (
  ::CORBA::Container_ptr new_container,
  const char * new_name,
  const char * new_version)
{
  this->ptr_->move (
    new_container,
    new_name,
    new_version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::TypeCode_ptr POA_CORBA::EnumDef_tie<T>::type  (
  void)
{
  return this->ptr_->type (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::EnumMemberSeq * POA_CORBA::EnumDef_tie<T>::members  (
  void)
{
  return this->ptr_->members (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::EnumDef_tie<T>::members  (
  const ::CORBA::EnumMemberSeq & members)
{
  this->ptr_->members (
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/tie_ss.cpp:79

template <class T>
POA_CORBA::AliasDef_tie<T>::AliasDef_tie (T &t)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (false)
{}

template <class T>
POA_CORBA::AliasDef_tie<T>::AliasDef_tie (T &t, ::PortableServer::POA_ptr poa)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (false)
{}

template <class T>
POA_CORBA::AliasDef_tie<T>::AliasDef_tie (T *tp, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (release)
{}

template <class T>
POA_CORBA::AliasDef_tie<T>::AliasDef_tie (T *tp, ::PortableServer::POA_ptr poa, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (release)
{}

template <class T>
POA_CORBA::AliasDef_tie<T>::~AliasDef_tie (void)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> T *
POA_CORBA::AliasDef_tie<T>::_tied_object (void)
{
  return this->ptr_;
}

template <class T> void
POA_CORBA::AliasDef_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = &obj;
  this->rel_ = false;
}

template <class T> void
POA_CORBA::AliasDef_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = obj;
  this->rel_ = release;
}

template <class T>  ::CORBA::Boolean
POA_CORBA::AliasDef_tie<T>::_is_owner (void)
{
  return this->rel_;
}

template <class T> void
POA_CORBA::AliasDef_tie<T>::_is_owner ( ::CORBA::Boolean b)
{
  this->rel_ = b;
}

template <class T> PortableServer::POA_ptr
POA_CORBA::AliasDef_tie<T>::_default_POA ()
{
  if (! ::CORBA::is_nil (this->poa_.in ()))
    {
      return ::PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->AliasDef::_default_POA ();
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::DefinitionKind POA_CORBA::AliasDef_tie<T>::def_kind  (
  void)
{
  return this->ptr_->def_kind (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::AliasDef_tie<T>::destroy  (
  void)
{
  this->ptr_->destroy (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::AliasDef_tie<T>::id  (
  void)
{
  return this->ptr_->id (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::AliasDef_tie<T>::id  (
  const char * id)
{
  this->ptr_->id (
    id
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::AliasDef_tie<T>::name  (
  void)
{
  return this->ptr_->name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::AliasDef_tie<T>::name  (
  const char * name)
{
  this->ptr_->name (
    name
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::AliasDef_tie<T>::version  (
  void)
{
  return this->ptr_->version (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::AliasDef_tie<T>::version  (
  const char * version)
{
  this->ptr_->version (
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Container_ptr POA_CORBA::AliasDef_tie<T>::defined_in  (
  void)
{
  return this->ptr_->defined_in (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::AliasDef_tie<T>::absolute_name  (
  void)
{
  return this->ptr_->absolute_name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Repository_ptr POA_CORBA::AliasDef_tie<T>::containing_repository  (
  void)
{
  return this->ptr_->containing_repository (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Contained::Description * POA_CORBA::AliasDef_tie<T>::describe  (
  void)
{
  return this->ptr_->describe (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::AliasDef_tie<T>::move  (
  ::CORBA::Container_ptr new_container,
  const char * new_name,
  const char * new_version)
{
  this->ptr_->move (
    new_container,
    new_name,
    new_version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::TypeCode_ptr POA_CORBA::AliasDef_tie<T>::type  (
  void)
{
  return this->ptr_->type (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::IDLType_ptr POA_CORBA::AliasDef_tie<T>::original_type_def  (
  void)
{
  return this->ptr_->original_type_def (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::AliasDef_tie<T>::original_type_def  (
  ::CORBA::IDLType_ptr original_type_def)
{
  this->ptr_->original_type_def (
    original_type_def
  );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/tie_ss.cpp:79

template <class T>
POA_CORBA::NativeDef_tie<T>::NativeDef_tie (T &t)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (false)
{}

template <class T>
POA_CORBA::NativeDef_tie<T>::NativeDef_tie (T &t, ::PortableServer::POA_ptr poa)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (false)
{}

template <class T>
POA_CORBA::NativeDef_tie<T>::NativeDef_tie (T *tp, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (release)
{}

template <class T>
POA_CORBA::NativeDef_tie<T>::NativeDef_tie (T *tp, ::PortableServer::POA_ptr poa, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (release)
{}

template <class T>
POA_CORBA::NativeDef_tie<T>::~NativeDef_tie (void)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> T *
POA_CORBA::NativeDef_tie<T>::_tied_object (void)
{
  return this->ptr_;
}

template <class T> void
POA_CORBA::NativeDef_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = &obj;
  this->rel_ = false;
}

template <class T> void
POA_CORBA::NativeDef_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = obj;
  this->rel_ = release;
}

template <class T>  ::CORBA::Boolean
POA_CORBA::NativeDef_tie<T>::_is_owner (void)
{
  return this->rel_;
}

template <class T> void
POA_CORBA::NativeDef_tie<T>::_is_owner ( ::CORBA::Boolean b)
{
  this->rel_ = b;
}

template <class T> PortableServer::POA_ptr
POA_CORBA::NativeDef_tie<T>::_default_POA ()
{
  if (! ::CORBA::is_nil (this->poa_.in ()))
    {
      return ::PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->NativeDef::_default_POA ();
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::DefinitionKind POA_CORBA::NativeDef_tie<T>::def_kind  (
  void)
{
  return this->ptr_->def_kind (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::NativeDef_tie<T>::destroy  (
  void)
{
  this->ptr_->destroy (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::NativeDef_tie<T>::id  (
  void)
{
  return this->ptr_->id (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::NativeDef_tie<T>::id  (
  const char * id)
{
  this->ptr_->id (
    id
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::NativeDef_tie<T>::name  (
  void)
{
  return this->ptr_->name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::NativeDef_tie<T>::name  (
  const char * name)
{
  this->ptr_->name (
    name
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::NativeDef_tie<T>::version  (
  void)
{
  return this->ptr_->version (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::NativeDef_tie<T>::version  (
  const char * version)
{
  this->ptr_->version (
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Container_ptr POA_CORBA::NativeDef_tie<T>::defined_in  (
  void)
{
  return this->ptr_->defined_in (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::NativeDef_tie<T>::absolute_name  (
  void)
{
  return this->ptr_->absolute_name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Repository_ptr POA_CORBA::NativeDef_tie<T>::containing_repository  (
  void)
{
  return this->ptr_->containing_repository (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Contained::Description * POA_CORBA::NativeDef_tie<T>::describe  (
  void)
{
  return this->ptr_->describe (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::NativeDef_tie<T>::move  (
  ::CORBA::Container_ptr new_container,
  const char * new_name,
  const char * new_version)
{
  this->ptr_->move (
    new_container,
    new_name,
    new_version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::TypeCode_ptr POA_CORBA::NativeDef_tie<T>::type  (
  void)
{
  return this->ptr_->type (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/tie_ss.cpp:79

template <class T>
POA_CORBA::PrimitiveDef_tie<T>::PrimitiveDef_tie (T &t)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (false)
{}

template <class T>
POA_CORBA::PrimitiveDef_tie<T>::PrimitiveDef_tie (T &t, ::PortableServer::POA_ptr poa)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (false)
{}

template <class T>
POA_CORBA::PrimitiveDef_tie<T>::PrimitiveDef_tie (T *tp, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (release)
{}

template <class T>
POA_CORBA::PrimitiveDef_tie<T>::PrimitiveDef_tie (T *tp, ::PortableServer::POA_ptr poa, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (release)
{}

template <class T>
POA_CORBA::PrimitiveDef_tie<T>::~PrimitiveDef_tie (void)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> T *
POA_CORBA::PrimitiveDef_tie<T>::_tied_object (void)
{
  return this->ptr_;
}

template <class T> void
POA_CORBA::PrimitiveDef_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = &obj;
  this->rel_ = false;
}

template <class T> void
POA_CORBA::PrimitiveDef_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = obj;
  this->rel_ = release;
}

template <class T>  ::CORBA::Boolean
POA_CORBA::PrimitiveDef_tie<T>::_is_owner (void)
{
  return this->rel_;
}

template <class T> void
POA_CORBA::PrimitiveDef_tie<T>::_is_owner ( ::CORBA::Boolean b)
{
  this->rel_ = b;
}

template <class T> PortableServer::POA_ptr
POA_CORBA::PrimitiveDef_tie<T>::_default_POA ()
{
  if (! ::CORBA::is_nil (this->poa_.in ()))
    {
      return ::PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->PrimitiveDef::_default_POA ();
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::DefinitionKind POA_CORBA::PrimitiveDef_tie<T>::def_kind  (
  void)
{
  return this->ptr_->def_kind (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::PrimitiveDef_tie<T>::destroy  (
  void)
{
  this->ptr_->destroy (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::TypeCode_ptr POA_CORBA::PrimitiveDef_tie<T>::type  (
  void)
{
  return this->ptr_->type (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::PrimitiveKind POA_CORBA::PrimitiveDef_tie<T>::kind  (
  void)
{
  return this->ptr_->kind (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/tie_ss.cpp:79

template <class T>
POA_CORBA::StringDef_tie<T>::StringDef_tie (T &t)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (false)
{}

template <class T>
POA_CORBA::StringDef_tie<T>::StringDef_tie (T &t, ::PortableServer::POA_ptr poa)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (false)
{}

template <class T>
POA_CORBA::StringDef_tie<T>::StringDef_tie (T *tp, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (release)
{}

template <class T>
POA_CORBA::StringDef_tie<T>::StringDef_tie (T *tp, ::PortableServer::POA_ptr poa, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (release)
{}

template <class T>
POA_CORBA::StringDef_tie<T>::~StringDef_tie (void)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> T *
POA_CORBA::StringDef_tie<T>::_tied_object (void)
{
  return this->ptr_;
}

template <class T> void
POA_CORBA::StringDef_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = &obj;
  this->rel_ = false;
}

template <class T> void
POA_CORBA::StringDef_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = obj;
  this->rel_ = release;
}

template <class T>  ::CORBA::Boolean
POA_CORBA::StringDef_tie<T>::_is_owner (void)
{
  return this->rel_;
}

template <class T> void
POA_CORBA::StringDef_tie<T>::_is_owner ( ::CORBA::Boolean b)
{
  this->rel_ = b;
}

template <class T> PortableServer::POA_ptr
POA_CORBA::StringDef_tie<T>::_default_POA ()
{
  if (! ::CORBA::is_nil (this->poa_.in ()))
    {
      return ::PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->StringDef::_default_POA ();
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::DefinitionKind POA_CORBA::StringDef_tie<T>::def_kind  (
  void)
{
  return this->ptr_->def_kind (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::StringDef_tie<T>::destroy  (
  void)
{
  this->ptr_->destroy (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::TypeCode_ptr POA_CORBA::StringDef_tie<T>::type  (
  void)
{
  return this->ptr_->type (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ULong POA_CORBA::StringDef_tie<T>::bound  (
  void)
{
  return this->ptr_->bound (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::StringDef_tie<T>::bound  (
  ::CORBA::ULong bound)
{
  this->ptr_->bound (
    bound
  );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/tie_ss.cpp:79

template <class T>
POA_CORBA::WstringDef_tie<T>::WstringDef_tie (T &t)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (false)
{}

template <class T>
POA_CORBA::WstringDef_tie<T>::WstringDef_tie (T &t, ::PortableServer::POA_ptr poa)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (false)
{}

template <class T>
POA_CORBA::WstringDef_tie<T>::WstringDef_tie (T *tp, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (release)
{}

template <class T>
POA_CORBA::WstringDef_tie<T>::WstringDef_tie (T *tp, ::PortableServer::POA_ptr poa, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (release)
{}

template <class T>
POA_CORBA::WstringDef_tie<T>::~WstringDef_tie (void)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> T *
POA_CORBA::WstringDef_tie<T>::_tied_object (void)
{
  return this->ptr_;
}

template <class T> void
POA_CORBA::WstringDef_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = &obj;
  this->rel_ = false;
}

template <class T> void
POA_CORBA::WstringDef_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = obj;
  this->rel_ = release;
}

template <class T>  ::CORBA::Boolean
POA_CORBA::WstringDef_tie<T>::_is_owner (void)
{
  return this->rel_;
}

template <class T> void
POA_CORBA::WstringDef_tie<T>::_is_owner ( ::CORBA::Boolean b)
{
  this->rel_ = b;
}

template <class T> PortableServer::POA_ptr
POA_CORBA::WstringDef_tie<T>::_default_POA ()
{
  if (! ::CORBA::is_nil (this->poa_.in ()))
    {
      return ::PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->WstringDef::_default_POA ();
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::DefinitionKind POA_CORBA::WstringDef_tie<T>::def_kind  (
  void)
{
  return this->ptr_->def_kind (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::WstringDef_tie<T>::destroy  (
  void)
{
  this->ptr_->destroy (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::TypeCode_ptr POA_CORBA::WstringDef_tie<T>::type  (
  void)
{
  return this->ptr_->type (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ULong POA_CORBA::WstringDef_tie<T>::bound  (
  void)
{
  return this->ptr_->bound (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::WstringDef_tie<T>::bound  (
  ::CORBA::ULong bound)
{
  this->ptr_->bound (
    bound
  );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/tie_ss.cpp:79

template <class T>
POA_CORBA::SequenceDef_tie<T>::SequenceDef_tie (T &t)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (false)
{}

template <class T>
POA_CORBA::SequenceDef_tie<T>::SequenceDef_tie (T &t, ::PortableServer::POA_ptr poa)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (false)
{}

template <class T>
POA_CORBA::SequenceDef_tie<T>::SequenceDef_tie (T *tp, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (release)
{}

template <class T>
POA_CORBA::SequenceDef_tie<T>::SequenceDef_tie (T *tp, ::PortableServer::POA_ptr poa, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (release)
{}

template <class T>
POA_CORBA::SequenceDef_tie<T>::~SequenceDef_tie (void)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> T *
POA_CORBA::SequenceDef_tie<T>::_tied_object (void)
{
  return this->ptr_;
}

template <class T> void
POA_CORBA::SequenceDef_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = &obj;
  this->rel_ = false;
}

template <class T> void
POA_CORBA::SequenceDef_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = obj;
  this->rel_ = release;
}

template <class T>  ::CORBA::Boolean
POA_CORBA::SequenceDef_tie<T>::_is_owner (void)
{
  return this->rel_;
}

template <class T> void
POA_CORBA::SequenceDef_tie<T>::_is_owner ( ::CORBA::Boolean b)
{
  this->rel_ = b;
}

template <class T> PortableServer::POA_ptr
POA_CORBA::SequenceDef_tie<T>::_default_POA ()
{
  if (! ::CORBA::is_nil (this->poa_.in ()))
    {
      return ::PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->SequenceDef::_default_POA ();
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::DefinitionKind POA_CORBA::SequenceDef_tie<T>::def_kind  (
  void)
{
  return this->ptr_->def_kind (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::SequenceDef_tie<T>::destroy  (
  void)
{
  this->ptr_->destroy (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::TypeCode_ptr POA_CORBA::SequenceDef_tie<T>::type  (
  void)
{
  return this->ptr_->type (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ULong POA_CORBA::SequenceDef_tie<T>::bound  (
  void)
{
  return this->ptr_->bound (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::SequenceDef_tie<T>::bound  (
  ::CORBA::ULong bound)
{
  this->ptr_->bound (
    bound
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::TypeCode_ptr POA_CORBA::SequenceDef_tie<T>::element_type  (
  void)
{
  return this->ptr_->element_type (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::IDLType_ptr POA_CORBA::SequenceDef_tie<T>::element_type_def  (
  void)
{
  return this->ptr_->element_type_def (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::SequenceDef_tie<T>::element_type_def  (
  ::CORBA::IDLType_ptr element_type_def)
{
  this->ptr_->element_type_def (
    element_type_def
  );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/tie_ss.cpp:79

template <class T>
POA_CORBA::ArrayDef_tie<T>::ArrayDef_tie (T &t)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (false)
{}

template <class T>
POA_CORBA::ArrayDef_tie<T>::ArrayDef_tie (T &t, ::PortableServer::POA_ptr poa)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (false)
{}

template <class T>
POA_CORBA::ArrayDef_tie<T>::ArrayDef_tie (T *tp, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (release)
{}

template <class T>
POA_CORBA::ArrayDef_tie<T>::ArrayDef_tie (T *tp, ::PortableServer::POA_ptr poa, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (release)
{}

template <class T>
POA_CORBA::ArrayDef_tie<T>::~ArrayDef_tie (void)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> T *
POA_CORBA::ArrayDef_tie<T>::_tied_object (void)
{
  return this->ptr_;
}

template <class T> void
POA_CORBA::ArrayDef_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = &obj;
  this->rel_ = false;
}

template <class T> void
POA_CORBA::ArrayDef_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = obj;
  this->rel_ = release;
}

template <class T>  ::CORBA::Boolean
POA_CORBA::ArrayDef_tie<T>::_is_owner (void)
{
  return this->rel_;
}

template <class T> void
POA_CORBA::ArrayDef_tie<T>::_is_owner ( ::CORBA::Boolean b)
{
  this->rel_ = b;
}

template <class T> PortableServer::POA_ptr
POA_CORBA::ArrayDef_tie<T>::_default_POA ()
{
  if (! ::CORBA::is_nil (this->poa_.in ()))
    {
      return ::PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->ArrayDef::_default_POA ();
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::DefinitionKind POA_CORBA::ArrayDef_tie<T>::def_kind  (
  void)
{
  return this->ptr_->def_kind (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ArrayDef_tie<T>::destroy  (
  void)
{
  this->ptr_->destroy (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::TypeCode_ptr POA_CORBA::ArrayDef_tie<T>::type  (
  void)
{
  return this->ptr_->type (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ULong POA_CORBA::ArrayDef_tie<T>::length  (
  void)
{
  return this->ptr_->length (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ArrayDef_tie<T>::length  (
  ::CORBA::ULong length)
{
  this->ptr_->length (
    length
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::TypeCode_ptr POA_CORBA::ArrayDef_tie<T>::element_type  (
  void)
{
  return this->ptr_->element_type (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::IDLType_ptr POA_CORBA::ArrayDef_tie<T>::element_type_def  (
  void)
{
  return this->ptr_->element_type_def (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ArrayDef_tie<T>::element_type_def  (
  ::CORBA::IDLType_ptr element_type_def)
{
  this->ptr_->element_type_def (
    element_type_def
  );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/tie_ss.cpp:79

template <class T>
POA_CORBA::ExceptionDef_tie<T>::ExceptionDef_tie (T &t)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (false)
{}

template <class T>
POA_CORBA::ExceptionDef_tie<T>::ExceptionDef_tie (T &t, ::PortableServer::POA_ptr poa)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (false)
{}

template <class T>
POA_CORBA::ExceptionDef_tie<T>::ExceptionDef_tie (T *tp, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (release)
{}

template <class T>
POA_CORBA::ExceptionDef_tie<T>::ExceptionDef_tie (T *tp, ::PortableServer::POA_ptr poa, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (release)
{}

template <class T>
POA_CORBA::ExceptionDef_tie<T>::~ExceptionDef_tie (void)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> T *
POA_CORBA::ExceptionDef_tie<T>::_tied_object (void)
{
  return this->ptr_;
}

template <class T> void
POA_CORBA::ExceptionDef_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = &obj;
  this->rel_ = false;
}

template <class T> void
POA_CORBA::ExceptionDef_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = obj;
  this->rel_ = release;
}

template <class T>  ::CORBA::Boolean
POA_CORBA::ExceptionDef_tie<T>::_is_owner (void)
{
  return this->rel_;
}

template <class T> void
POA_CORBA::ExceptionDef_tie<T>::_is_owner ( ::CORBA::Boolean b)
{
  this->rel_ = b;
}

template <class T> PortableServer::POA_ptr
POA_CORBA::ExceptionDef_tie<T>::_default_POA ()
{
  if (! ::CORBA::is_nil (this->poa_.in ()))
    {
      return ::PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->ExceptionDef::_default_POA ();
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::DefinitionKind POA_CORBA::ExceptionDef_tie<T>::def_kind  (
  void)
{
  return this->ptr_->def_kind (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExceptionDef_tie<T>::destroy  (
  void)
{
  this->ptr_->destroy (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::ExceptionDef_tie<T>::id  (
  void)
{
  return this->ptr_->id (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExceptionDef_tie<T>::id  (
  const char * id)
{
  this->ptr_->id (
    id
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::ExceptionDef_tie<T>::name  (
  void)
{
  return this->ptr_->name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExceptionDef_tie<T>::name  (
  const char * name)
{
  this->ptr_->name (
    name
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::ExceptionDef_tie<T>::version  (
  void)
{
  return this->ptr_->version (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExceptionDef_tie<T>::version  (
  const char * version)
{
  this->ptr_->version (
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Container_ptr POA_CORBA::ExceptionDef_tie<T>::defined_in  (
  void)
{
  return this->ptr_->defined_in (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::ExceptionDef_tie<T>::absolute_name  (
  void)
{
  return this->ptr_->absolute_name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Repository_ptr POA_CORBA::ExceptionDef_tie<T>::containing_repository  (
  void)
{
  return this->ptr_->containing_repository (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Contained::Description * POA_CORBA::ExceptionDef_tie<T>::describe  (
  void)
{
  return this->ptr_->describe (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExceptionDef_tie<T>::move  (
  ::CORBA::Container_ptr new_container,
  const char * new_name,
  const char * new_version)
{
  this->ptr_->move (
    new_container,
    new_name,
    new_version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Contained_ptr POA_CORBA::ExceptionDef_tie<T>::lookup  (
  const char * search_name)
{
  return this->ptr_->lookup (
    search_name
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ContainedSeq * POA_CORBA::ExceptionDef_tie<T>::contents  (
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited)
{
  return this->ptr_->contents (
    limit_type,
    exclude_inherited
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ContainedSeq * POA_CORBA::ExceptionDef_tie<T>::lookup_name  (
  const char * search_name,
  ::CORBA::Long levels_to_search,
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited)
{
  return this->ptr_->lookup_name (
    search_name,
    levels_to_search,
    limit_type,
    exclude_inherited
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Container::DescriptionSeq * POA_CORBA::ExceptionDef_tie<T>::describe_contents  (
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited,
  ::CORBA::Long max_returned_objs)
{
  return this->ptr_->describe_contents (
    limit_type,
    exclude_inherited,
    max_returned_objs
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ModuleDef_ptr POA_CORBA::ExceptionDef_tie<T>::create_module  (
  const char * id,
  const char * name,
  const char * version)
{
  return this->ptr_->create_module (
    id,
    name,
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ConstantDef_ptr POA_CORBA::ExceptionDef_tie<T>::create_constant  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr type,
  const ::CORBA::Any & value)
{
  return this->ptr_->create_constant (
    id,
    name,
    version,
    type,
    value
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::StructDef_ptr POA_CORBA::ExceptionDef_tie<T>::create_struct  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::StructMemberSeq & members)
{
  return this->ptr_->create_struct (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::UnionDef_ptr POA_CORBA::ExceptionDef_tie<T>::create_union  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr discriminator_type,
  const ::CORBA::UnionMemberSeq & members)
{
  return this->ptr_->create_union (
    id,
    name,
    version,
    discriminator_type,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::EnumDef_ptr POA_CORBA::ExceptionDef_tie<T>::create_enum  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::EnumMemberSeq & members)
{
  return this->ptr_->create_enum (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::AliasDef_ptr POA_CORBA::ExceptionDef_tie<T>::create_alias  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr original_type)
{
  return this->ptr_->create_alias (
    id,
    name,
    version,
    original_type
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::InterfaceDef_ptr POA_CORBA::ExceptionDef_tie<T>::create_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::InterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ValueDef_ptr POA_CORBA::ExceptionDef_tie<T>::create_value  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::Boolean is_custom,
  ::CORBA::Boolean is_abstract,
  ::CORBA::ValueDef_ptr base_value,
  ::CORBA::Boolean is_truncatable,
  const ::CORBA::ValueDefSeq & abstract_base_values,
  const ::CORBA::InterfaceDefSeq & supported_interfaces,
  const ::CORBA::InitializerSeq & initializers)
{
  return this->ptr_->create_value (
    id,
    name,
    version,
    is_custom,
    is_abstract,
    base_value,
    is_truncatable,
    abstract_base_values,
    supported_interfaces,
    initializers
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ValueBoxDef_ptr POA_CORBA::ExceptionDef_tie<T>::create_value_box  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr original_type_def)
{
  return this->ptr_->create_value_box (
    id,
    name,
    version,
    original_type_def
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ExceptionDef_ptr POA_CORBA::ExceptionDef_tie<T>::create_exception  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::StructMemberSeq & members)
{
  return this->ptr_->create_exception (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::NativeDef_ptr POA_CORBA::ExceptionDef_tie<T>::create_native  (
  const char * id,
  const char * name,
  const char * version)
{
  return this->ptr_->create_native (
    id,
    name,
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::AbstractInterfaceDef_ptr POA_CORBA::ExceptionDef_tie<T>::create_abstract_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::AbstractInterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_abstract_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::LocalInterfaceDef_ptr POA_CORBA::ExceptionDef_tie<T>::create_local_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::InterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_local_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ExtValueDef_ptr POA_CORBA::ExceptionDef_tie<T>::create_ext_value  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::Boolean is_custom,
  ::CORBA::Boolean is_abstract,
  ::CORBA::ValueDef_ptr base_value,
  ::CORBA::Boolean is_truncatable,
  const ::CORBA::ValueDefSeq & abstract_base_values,
  const ::CORBA::InterfaceDefSeq & supported_interfaces,
  const ::CORBA::ExtInitializerSeq & initializers)
{
  return this->ptr_->create_ext_value (
    id,
    name,
    version,
    is_custom,
    is_abstract,
    base_value,
    is_truncatable,
    abstract_base_values,
    supported_interfaces,
    initializers
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::TypeCode_ptr POA_CORBA::ExceptionDef_tie<T>::type  (
  void)
{
  return this->ptr_->type (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::StructMemberSeq * POA_CORBA::ExceptionDef_tie<T>::members  (
  void)
{
  return this->ptr_->members (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExceptionDef_tie<T>::members  (
  const ::CORBA::StructMemberSeq & members)
{
  this->ptr_->members (
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/tie_ss.cpp:79

template <class T>
POA_CORBA::AttributeDef_tie<T>::AttributeDef_tie (T &t)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (false)
{}

template <class T>
POA_CORBA::AttributeDef_tie<T>::AttributeDef_tie (T &t, ::PortableServer::POA_ptr poa)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (false)
{}

template <class T>
POA_CORBA::AttributeDef_tie<T>::AttributeDef_tie (T *tp, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (release)
{}

template <class T>
POA_CORBA::AttributeDef_tie<T>::AttributeDef_tie (T *tp, ::PortableServer::POA_ptr poa, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (release)
{}

template <class T>
POA_CORBA::AttributeDef_tie<T>::~AttributeDef_tie (void)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> T *
POA_CORBA::AttributeDef_tie<T>::_tied_object (void)
{
  return this->ptr_;
}

template <class T> void
POA_CORBA::AttributeDef_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = &obj;
  this->rel_ = false;
}

template <class T> void
POA_CORBA::AttributeDef_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = obj;
  this->rel_ = release;
}

template <class T>  ::CORBA::Boolean
POA_CORBA::AttributeDef_tie<T>::_is_owner (void)
{
  return this->rel_;
}

template <class T> void
POA_CORBA::AttributeDef_tie<T>::_is_owner ( ::CORBA::Boolean b)
{
  this->rel_ = b;
}

template <class T> PortableServer::POA_ptr
POA_CORBA::AttributeDef_tie<T>::_default_POA ()
{
  if (! ::CORBA::is_nil (this->poa_.in ()))
    {
      return ::PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->AttributeDef::_default_POA ();
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::DefinitionKind POA_CORBA::AttributeDef_tie<T>::def_kind  (
  void)
{
  return this->ptr_->def_kind (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::AttributeDef_tie<T>::destroy  (
  void)
{
  this->ptr_->destroy (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::AttributeDef_tie<T>::id  (
  void)
{
  return this->ptr_->id (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::AttributeDef_tie<T>::id  (
  const char * id)
{
  this->ptr_->id (
    id
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::AttributeDef_tie<T>::name  (
  void)
{
  return this->ptr_->name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::AttributeDef_tie<T>::name  (
  const char * name)
{
  this->ptr_->name (
    name
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::AttributeDef_tie<T>::version  (
  void)
{
  return this->ptr_->version (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::AttributeDef_tie<T>::version  (
  const char * version)
{
  this->ptr_->version (
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Container_ptr POA_CORBA::AttributeDef_tie<T>::defined_in  (
  void)
{
  return this->ptr_->defined_in (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::AttributeDef_tie<T>::absolute_name  (
  void)
{
  return this->ptr_->absolute_name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Repository_ptr POA_CORBA::AttributeDef_tie<T>::containing_repository  (
  void)
{
  return this->ptr_->containing_repository (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Contained::Description * POA_CORBA::AttributeDef_tie<T>::describe  (
  void)
{
  return this->ptr_->describe (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::AttributeDef_tie<T>::move  (
  ::CORBA::Container_ptr new_container,
  const char * new_name,
  const char * new_version)
{
  this->ptr_->move (
    new_container,
    new_name,
    new_version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::TypeCode_ptr POA_CORBA::AttributeDef_tie<T>::type  (
  void)
{
  return this->ptr_->type (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::IDLType_ptr POA_CORBA::AttributeDef_tie<T>::type_def  (
  void)
{
  return this->ptr_->type_def (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::AttributeDef_tie<T>::type_def  (
  ::CORBA::IDLType_ptr type_def)
{
  this->ptr_->type_def (
    type_def
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::AttributeMode POA_CORBA::AttributeDef_tie<T>::mode  (
  void)
{
  return this->ptr_->mode (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::AttributeDef_tie<T>::mode  (
  ::CORBA::AttributeMode mode)
{
  this->ptr_->mode (
    mode
  );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/tie_ss.cpp:79

template <class T>
POA_CORBA::ExtAttributeDef_tie<T>::ExtAttributeDef_tie (T &t)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (false)
{}

template <class T>
POA_CORBA::ExtAttributeDef_tie<T>::ExtAttributeDef_tie (T &t, ::PortableServer::POA_ptr poa)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (false)
{}

template <class T>
POA_CORBA::ExtAttributeDef_tie<T>::ExtAttributeDef_tie (T *tp, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (release)
{}

template <class T>
POA_CORBA::ExtAttributeDef_tie<T>::ExtAttributeDef_tie (T *tp, ::PortableServer::POA_ptr poa, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (release)
{}

template <class T>
POA_CORBA::ExtAttributeDef_tie<T>::~ExtAttributeDef_tie (void)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> T *
POA_CORBA::ExtAttributeDef_tie<T>::_tied_object (void)
{
  return this->ptr_;
}

template <class T> void
POA_CORBA::ExtAttributeDef_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = &obj;
  this->rel_ = false;
}

template <class T> void
POA_CORBA::ExtAttributeDef_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = obj;
  this->rel_ = release;
}

template <class T>  ::CORBA::Boolean
POA_CORBA::ExtAttributeDef_tie<T>::_is_owner (void)
{
  return this->rel_;
}

template <class T> void
POA_CORBA::ExtAttributeDef_tie<T>::_is_owner ( ::CORBA::Boolean b)
{
  this->rel_ = b;
}

template <class T> PortableServer::POA_ptr
POA_CORBA::ExtAttributeDef_tie<T>::_default_POA ()
{
  if (! ::CORBA::is_nil (this->poa_.in ()))
    {
      return ::PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->ExtAttributeDef::_default_POA ();
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::DefinitionKind POA_CORBA::ExtAttributeDef_tie<T>::def_kind  (
  void)
{
  return this->ptr_->def_kind (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExtAttributeDef_tie<T>::destroy  (
  void)
{
  this->ptr_->destroy (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::ExtAttributeDef_tie<T>::id  (
  void)
{
  return this->ptr_->id (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExtAttributeDef_tie<T>::id  (
  const char * id)
{
  this->ptr_->id (
    id
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::ExtAttributeDef_tie<T>::name  (
  void)
{
  return this->ptr_->name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExtAttributeDef_tie<T>::name  (
  const char * name)
{
  this->ptr_->name (
    name
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::ExtAttributeDef_tie<T>::version  (
  void)
{
  return this->ptr_->version (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExtAttributeDef_tie<T>::version  (
  const char * version)
{
  this->ptr_->version (
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Container_ptr POA_CORBA::ExtAttributeDef_tie<T>::defined_in  (
  void)
{
  return this->ptr_->defined_in (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::ExtAttributeDef_tie<T>::absolute_name  (
  void)
{
  return this->ptr_->absolute_name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Repository_ptr POA_CORBA::ExtAttributeDef_tie<T>::containing_repository  (
  void)
{
  return this->ptr_->containing_repository (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Contained::Description * POA_CORBA::ExtAttributeDef_tie<T>::describe  (
  void)
{
  return this->ptr_->describe (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExtAttributeDef_tie<T>::move  (
  ::CORBA::Container_ptr new_container,
  const char * new_name,
  const char * new_version)
{
  this->ptr_->move (
    new_container,
    new_name,
    new_version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::TypeCode_ptr POA_CORBA::ExtAttributeDef_tie<T>::type  (
  void)
{
  return this->ptr_->type (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::IDLType_ptr POA_CORBA::ExtAttributeDef_tie<T>::type_def  (
  void)
{
  return this->ptr_->type_def (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExtAttributeDef_tie<T>::type_def  (
  ::CORBA::IDLType_ptr type_def)
{
  this->ptr_->type_def (
    type_def
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::AttributeMode POA_CORBA::ExtAttributeDef_tie<T>::mode  (
  void)
{
  return this->ptr_->mode (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExtAttributeDef_tie<T>::mode  (
  ::CORBA::AttributeMode mode)
{
  this->ptr_->mode (
    mode
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ExcDescriptionSeq * POA_CORBA::ExtAttributeDef_tie<T>::get_exceptions  (
  void)
{
  return this->ptr_->get_exceptions (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExtAttributeDef_tie<T>::get_exceptions  (
  const ::CORBA::ExcDescriptionSeq & get_exceptions)
{
  this->ptr_->get_exceptions (
    get_exceptions
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ExcDescriptionSeq * POA_CORBA::ExtAttributeDef_tie<T>::set_exceptions  (
  void)
{
  return this->ptr_->set_exceptions (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExtAttributeDef_tie<T>::set_exceptions  (
  const ::CORBA::ExcDescriptionSeq & set_exceptions)
{
  this->ptr_->set_exceptions (
    set_exceptions
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ExtAttributeDescription * POA_CORBA::ExtAttributeDef_tie<T>::describe_attribute  (
  void)
{
  return this->ptr_->describe_attribute (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/tie_ss.cpp:79

template <class T>
POA_CORBA::OperationDef_tie<T>::OperationDef_tie (T &t)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (false)
{}

template <class T>
POA_CORBA::OperationDef_tie<T>::OperationDef_tie (T &t, ::PortableServer::POA_ptr poa)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (false)
{}

template <class T>
POA_CORBA::OperationDef_tie<T>::OperationDef_tie (T *tp, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (release)
{}

template <class T>
POA_CORBA::OperationDef_tie<T>::OperationDef_tie (T *tp, ::PortableServer::POA_ptr poa, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (release)
{}

template <class T>
POA_CORBA::OperationDef_tie<T>::~OperationDef_tie (void)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> T *
POA_CORBA::OperationDef_tie<T>::_tied_object (void)
{
  return this->ptr_;
}

template <class T> void
POA_CORBA::OperationDef_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = &obj;
  this->rel_ = false;
}

template <class T> void
POA_CORBA::OperationDef_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = obj;
  this->rel_ = release;
}

template <class T>  ::CORBA::Boolean
POA_CORBA::OperationDef_tie<T>::_is_owner (void)
{
  return this->rel_;
}

template <class T> void
POA_CORBA::OperationDef_tie<T>::_is_owner ( ::CORBA::Boolean b)
{
  this->rel_ = b;
}

template <class T> PortableServer::POA_ptr
POA_CORBA::OperationDef_tie<T>::_default_POA ()
{
  if (! ::CORBA::is_nil (this->poa_.in ()))
    {
      return ::PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->OperationDef::_default_POA ();
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::DefinitionKind POA_CORBA::OperationDef_tie<T>::def_kind  (
  void)
{
  return this->ptr_->def_kind (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::OperationDef_tie<T>::destroy  (
  void)
{
  this->ptr_->destroy (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::OperationDef_tie<T>::id  (
  void)
{
  return this->ptr_->id (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::OperationDef_tie<T>::id  (
  const char * id)
{
  this->ptr_->id (
    id
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::OperationDef_tie<T>::name  (
  void)
{
  return this->ptr_->name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::OperationDef_tie<T>::name  (
  const char * name)
{
  this->ptr_->name (
    name
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::OperationDef_tie<T>::version  (
  void)
{
  return this->ptr_->version (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::OperationDef_tie<T>::version  (
  const char * version)
{
  this->ptr_->version (
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Container_ptr POA_CORBA::OperationDef_tie<T>::defined_in  (
  void)
{
  return this->ptr_->defined_in (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::OperationDef_tie<T>::absolute_name  (
  void)
{
  return this->ptr_->absolute_name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Repository_ptr POA_CORBA::OperationDef_tie<T>::containing_repository  (
  void)
{
  return this->ptr_->containing_repository (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Contained::Description * POA_CORBA::OperationDef_tie<T>::describe  (
  void)
{
  return this->ptr_->describe (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::OperationDef_tie<T>::move  (
  ::CORBA::Container_ptr new_container,
  const char * new_name,
  const char * new_version)
{
  this->ptr_->move (
    new_container,
    new_name,
    new_version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::TypeCode_ptr POA_CORBA::OperationDef_tie<T>::result  (
  void)
{
  return this->ptr_->result (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::IDLType_ptr POA_CORBA::OperationDef_tie<T>::result_def  (
  void)
{
  return this->ptr_->result_def (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::OperationDef_tie<T>::result_def  (
  ::CORBA::IDLType_ptr result_def)
{
  this->ptr_->result_def (
    result_def
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ParDescriptionSeq * POA_CORBA::OperationDef_tie<T>::params  (
  void)
{
  return this->ptr_->params (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::OperationDef_tie<T>::params  (
  const ::CORBA::ParDescriptionSeq & params)
{
  this->ptr_->params (
    params
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::OperationMode POA_CORBA::OperationDef_tie<T>::mode  (
  void)
{
  return this->ptr_->mode (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::OperationDef_tie<T>::mode  (
  ::CORBA::OperationMode mode)
{
  this->ptr_->mode (
    mode
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ContextIdSeq * POA_CORBA::OperationDef_tie<T>::contexts  (
  void)
{
  return this->ptr_->contexts (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::OperationDef_tie<T>::contexts  (
  const ::CORBA::ContextIdSeq & contexts)
{
  this->ptr_->contexts (
    contexts
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ExceptionDefSeq * POA_CORBA::OperationDef_tie<T>::exceptions  (
  void)
{
  return this->ptr_->exceptions (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::OperationDef_tie<T>::exceptions  (
  const ::CORBA::ExceptionDefSeq & exceptions)
{
  this->ptr_->exceptions (
    exceptions
  );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/tie_ss.cpp:79

template <class T>
POA_CORBA::InterfaceDef_tie<T>::InterfaceDef_tie (T &t)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (false)
{}

template <class T>
POA_CORBA::InterfaceDef_tie<T>::InterfaceDef_tie (T &t, ::PortableServer::POA_ptr poa)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (false)
{}

template <class T>
POA_CORBA::InterfaceDef_tie<T>::InterfaceDef_tie (T *tp, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (release)
{}

template <class T>
POA_CORBA::InterfaceDef_tie<T>::InterfaceDef_tie (T *tp, ::PortableServer::POA_ptr poa, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (release)
{}

template <class T>
POA_CORBA::InterfaceDef_tie<T>::~InterfaceDef_tie (void)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> T *
POA_CORBA::InterfaceDef_tie<T>::_tied_object (void)
{
  return this->ptr_;
}

template <class T> void
POA_CORBA::InterfaceDef_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = &obj;
  this->rel_ = false;
}

template <class T> void
POA_CORBA::InterfaceDef_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = obj;
  this->rel_ = release;
}

template <class T>  ::CORBA::Boolean
POA_CORBA::InterfaceDef_tie<T>::_is_owner (void)
{
  return this->rel_;
}

template <class T> void
POA_CORBA::InterfaceDef_tie<T>::_is_owner ( ::CORBA::Boolean b)
{
  this->rel_ = b;
}

template <class T> PortableServer::POA_ptr
POA_CORBA::InterfaceDef_tie<T>::_default_POA ()
{
  if (! ::CORBA::is_nil (this->poa_.in ()))
    {
      return ::PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->InterfaceDef::_default_POA ();
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::DefinitionKind POA_CORBA::InterfaceDef_tie<T>::def_kind  (
  void)
{
  return this->ptr_->def_kind (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::InterfaceDef_tie<T>::destroy  (
  void)
{
  this->ptr_->destroy (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Contained_ptr POA_CORBA::InterfaceDef_tie<T>::lookup  (
  const char * search_name)
{
  return this->ptr_->lookup (
    search_name
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ContainedSeq * POA_CORBA::InterfaceDef_tie<T>::contents  (
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited)
{
  return this->ptr_->contents (
    limit_type,
    exclude_inherited
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ContainedSeq * POA_CORBA::InterfaceDef_tie<T>::lookup_name  (
  const char * search_name,
  ::CORBA::Long levels_to_search,
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited)
{
  return this->ptr_->lookup_name (
    search_name,
    levels_to_search,
    limit_type,
    exclude_inherited
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Container::DescriptionSeq * POA_CORBA::InterfaceDef_tie<T>::describe_contents  (
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited,
  ::CORBA::Long max_returned_objs)
{
  return this->ptr_->describe_contents (
    limit_type,
    exclude_inherited,
    max_returned_objs
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ModuleDef_ptr POA_CORBA::InterfaceDef_tie<T>::create_module  (
  const char * id,
  const char * name,
  const char * version)
{
  return this->ptr_->create_module (
    id,
    name,
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ConstantDef_ptr POA_CORBA::InterfaceDef_tie<T>::create_constant  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr type,
  const ::CORBA::Any & value)
{
  return this->ptr_->create_constant (
    id,
    name,
    version,
    type,
    value
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::StructDef_ptr POA_CORBA::InterfaceDef_tie<T>::create_struct  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::StructMemberSeq & members)
{
  return this->ptr_->create_struct (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::UnionDef_ptr POA_CORBA::InterfaceDef_tie<T>::create_union  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr discriminator_type,
  const ::CORBA::UnionMemberSeq & members)
{
  return this->ptr_->create_union (
    id,
    name,
    version,
    discriminator_type,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::EnumDef_ptr POA_CORBA::InterfaceDef_tie<T>::create_enum  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::EnumMemberSeq & members)
{
  return this->ptr_->create_enum (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::AliasDef_ptr POA_CORBA::InterfaceDef_tie<T>::create_alias  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr original_type)
{
  return this->ptr_->create_alias (
    id,
    name,
    version,
    original_type
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::InterfaceDef_ptr POA_CORBA::InterfaceDef_tie<T>::create_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::InterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ValueDef_ptr POA_CORBA::InterfaceDef_tie<T>::create_value  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::Boolean is_custom,
  ::CORBA::Boolean is_abstract,
  ::CORBA::ValueDef_ptr base_value,
  ::CORBA::Boolean is_truncatable,
  const ::CORBA::ValueDefSeq & abstract_base_values,
  const ::CORBA::InterfaceDefSeq & supported_interfaces,
  const ::CORBA::InitializerSeq & initializers)
{
  return this->ptr_->create_value (
    id,
    name,
    version,
    is_custom,
    is_abstract,
    base_value,
    is_truncatable,
    abstract_base_values,
    supported_interfaces,
    initializers
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ValueBoxDef_ptr POA_CORBA::InterfaceDef_tie<T>::create_value_box  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr original_type_def)
{
  return this->ptr_->create_value_box (
    id,
    name,
    version,
    original_type_def
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ExceptionDef_ptr POA_CORBA::InterfaceDef_tie<T>::create_exception  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::StructMemberSeq & members)
{
  return this->ptr_->create_exception (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::NativeDef_ptr POA_CORBA::InterfaceDef_tie<T>::create_native  (
  const char * id,
  const char * name,
  const char * version)
{
  return this->ptr_->create_native (
    id,
    name,
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::AbstractInterfaceDef_ptr POA_CORBA::InterfaceDef_tie<T>::create_abstract_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::AbstractInterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_abstract_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::LocalInterfaceDef_ptr POA_CORBA::InterfaceDef_tie<T>::create_local_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::InterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_local_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ExtValueDef_ptr POA_CORBA::InterfaceDef_tie<T>::create_ext_value  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::Boolean is_custom,
  ::CORBA::Boolean is_abstract,
  ::CORBA::ValueDef_ptr base_value,
  ::CORBA::Boolean is_truncatable,
  const ::CORBA::ValueDefSeq & abstract_base_values,
  const ::CORBA::InterfaceDefSeq & supported_interfaces,
  const ::CORBA::ExtInitializerSeq & initializers)
{
  return this->ptr_->create_ext_value (
    id,
    name,
    version,
    is_custom,
    is_abstract,
    base_value,
    is_truncatable,
    abstract_base_values,
    supported_interfaces,
    initializers
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::InterfaceDef_tie<T>::id  (
  void)
{
  return this->ptr_->id (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::InterfaceDef_tie<T>::id  (
  const char * id)
{
  this->ptr_->id (
    id
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::InterfaceDef_tie<T>::name  (
  void)
{
  return this->ptr_->name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::InterfaceDef_tie<T>::name  (
  const char * name)
{
  this->ptr_->name (
    name
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::InterfaceDef_tie<T>::version  (
  void)
{
  return this->ptr_->version (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::InterfaceDef_tie<T>::version  (
  const char * version)
{
  this->ptr_->version (
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Container_ptr POA_CORBA::InterfaceDef_tie<T>::defined_in  (
  void)
{
  return this->ptr_->defined_in (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::InterfaceDef_tie<T>::absolute_name  (
  void)
{
  return this->ptr_->absolute_name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Repository_ptr POA_CORBA::InterfaceDef_tie<T>::containing_repository  (
  void)
{
  return this->ptr_->containing_repository (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Contained::Description * POA_CORBA::InterfaceDef_tie<T>::describe  (
  void)
{
  return this->ptr_->describe (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::InterfaceDef_tie<T>::move  (
  ::CORBA::Container_ptr new_container,
  const char * new_name,
  const char * new_version)
{
  this->ptr_->move (
    new_container,
    new_name,
    new_version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::TypeCode_ptr POA_CORBA::InterfaceDef_tie<T>::type  (
  void)
{
  return this->ptr_->type (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::InterfaceDefSeq * POA_CORBA::InterfaceDef_tie<T>::base_interfaces  (
  void)
{
  return this->ptr_->base_interfaces (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::InterfaceDef_tie<T>::base_interfaces  (
  const ::CORBA::InterfaceDefSeq & base_interfaces)
{
  this->ptr_->base_interfaces (
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Boolean POA_CORBA::InterfaceDef_tie<T>::is_a  (
  const char * interface_id)
{
  return this->ptr_->is_a (
    interface_id
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::InterfaceDef::FullInterfaceDescription * POA_CORBA::InterfaceDef_tie<T>::describe_interface  (
  void)
{
  return this->ptr_->describe_interface (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::AttributeDef_ptr POA_CORBA::InterfaceDef_tie<T>::create_attribute  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr type,
  ::CORBA::AttributeMode mode)
{
  return this->ptr_->create_attribute (
    id,
    name,
    version,
    type,
    mode
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::OperationDef_ptr POA_CORBA::InterfaceDef_tie<T>::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)
{
  return this->ptr_->create_operation (
    id,
    name,
    version,
    result,
    mode,
    params,
    exceptions,
    contexts
  );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/tie_ss.cpp:79

template <class T>
POA_CORBA::InterfaceAttrExtension_tie<T>::InterfaceAttrExtension_tie (T &t)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (false)
{}

template <class T>
POA_CORBA::InterfaceAttrExtension_tie<T>::InterfaceAttrExtension_tie (T &t, ::PortableServer::POA_ptr poa)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (false)
{}

template <class T>
POA_CORBA::InterfaceAttrExtension_tie<T>::InterfaceAttrExtension_tie (T *tp, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (release)
{}

template <class T>
POA_CORBA::InterfaceAttrExtension_tie<T>::InterfaceAttrExtension_tie (T *tp, ::PortableServer::POA_ptr poa, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (release)
{}

template <class T>
POA_CORBA::InterfaceAttrExtension_tie<T>::~InterfaceAttrExtension_tie (void)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> T *
POA_CORBA::InterfaceAttrExtension_tie<T>::_tied_object (void)
{
  return this->ptr_;
}

template <class T> void
POA_CORBA::InterfaceAttrExtension_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = &obj;
  this->rel_ = false;
}

template <class T> void
POA_CORBA::InterfaceAttrExtension_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = obj;
  this->rel_ = release;
}

template <class T>  ::CORBA::Boolean
POA_CORBA::InterfaceAttrExtension_tie<T>::_is_owner (void)
{
  return this->rel_;
}

template <class T> void
POA_CORBA::InterfaceAttrExtension_tie<T>::_is_owner ( ::CORBA::Boolean b)
{
  this->rel_ = b;
}

template <class T> PortableServer::POA_ptr
POA_CORBA::InterfaceAttrExtension_tie<T>::_default_POA ()
{
  if (! ::CORBA::is_nil (this->poa_.in ()))
    {
      return ::PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->InterfaceAttrExtension::_default_POA ();
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription * POA_CORBA::InterfaceAttrExtension_tie<T>::describe_ext_interface  (
  void)
{
  return this->ptr_->describe_ext_interface (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ExtAttributeDef_ptr POA_CORBA::InterfaceAttrExtension_tie<T>::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)
{
  return this->ptr_->create_ext_attribute (
    id,
    name,
    version,
    type,
    mode,
    get_exceptions,
    set_exceptions
  );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/tie_ss.cpp:79

template <class T>
POA_CORBA::ExtInterfaceDef_tie<T>::ExtInterfaceDef_tie (T &t)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (false)
{}

template <class T>
POA_CORBA::ExtInterfaceDef_tie<T>::ExtInterfaceDef_tie (T &t, ::PortableServer::POA_ptr poa)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (false)
{}

template <class T>
POA_CORBA::ExtInterfaceDef_tie<T>::ExtInterfaceDef_tie (T *tp, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (release)
{}

template <class T>
POA_CORBA::ExtInterfaceDef_tie<T>::ExtInterfaceDef_tie (T *tp, ::PortableServer::POA_ptr poa, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (release)
{}

template <class T>
POA_CORBA::ExtInterfaceDef_tie<T>::~ExtInterfaceDef_tie (void)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> T *
POA_CORBA::ExtInterfaceDef_tie<T>::_tied_object (void)
{
  return this->ptr_;
}

template <class T> void
POA_CORBA::ExtInterfaceDef_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = &obj;
  this->rel_ = false;
}

template <class T> void
POA_CORBA::ExtInterfaceDef_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = obj;
  this->rel_ = release;
}

template <class T>  ::CORBA::Boolean
POA_CORBA::ExtInterfaceDef_tie<T>::_is_owner (void)
{
  return this->rel_;
}

template <class T> void
POA_CORBA::ExtInterfaceDef_tie<T>::_is_owner ( ::CORBA::Boolean b)
{
  this->rel_ = b;
}

template <class T> PortableServer::POA_ptr
POA_CORBA::ExtInterfaceDef_tie<T>::_default_POA ()
{
  if (! ::CORBA::is_nil (this->poa_.in ()))
    {
      return ::PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->ExtInterfaceDef::_default_POA ();
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::DefinitionKind POA_CORBA::ExtInterfaceDef_tie<T>::def_kind  (
  void)
{
  return this->ptr_->def_kind (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExtInterfaceDef_tie<T>::destroy  (
  void)
{
  this->ptr_->destroy (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Contained_ptr POA_CORBA::ExtInterfaceDef_tie<T>::lookup  (
  const char * search_name)
{
  return this->ptr_->lookup (
    search_name
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ContainedSeq * POA_CORBA::ExtInterfaceDef_tie<T>::contents  (
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited)
{
  return this->ptr_->contents (
    limit_type,
    exclude_inherited
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ContainedSeq * POA_CORBA::ExtInterfaceDef_tie<T>::lookup_name  (
  const char * search_name,
  ::CORBA::Long levels_to_search,
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited)
{
  return this->ptr_->lookup_name (
    search_name,
    levels_to_search,
    limit_type,
    exclude_inherited
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Container::DescriptionSeq * POA_CORBA::ExtInterfaceDef_tie<T>::describe_contents  (
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited,
  ::CORBA::Long max_returned_objs)
{
  return this->ptr_->describe_contents (
    limit_type,
    exclude_inherited,
    max_returned_objs
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ModuleDef_ptr POA_CORBA::ExtInterfaceDef_tie<T>::create_module  (
  const char * id,
  const char * name,
  const char * version)
{
  return this->ptr_->create_module (
    id,
    name,
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ConstantDef_ptr POA_CORBA::ExtInterfaceDef_tie<T>::create_constant  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr type,
  const ::CORBA::Any & value)
{
  return this->ptr_->create_constant (
    id,
    name,
    version,
    type,
    value
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::StructDef_ptr POA_CORBA::ExtInterfaceDef_tie<T>::create_struct  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::StructMemberSeq & members)
{
  return this->ptr_->create_struct (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::UnionDef_ptr POA_CORBA::ExtInterfaceDef_tie<T>::create_union  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr discriminator_type,
  const ::CORBA::UnionMemberSeq & members)
{
  return this->ptr_->create_union (
    id,
    name,
    version,
    discriminator_type,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::EnumDef_ptr POA_CORBA::ExtInterfaceDef_tie<T>::create_enum  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::EnumMemberSeq & members)
{
  return this->ptr_->create_enum (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::AliasDef_ptr POA_CORBA::ExtInterfaceDef_tie<T>::create_alias  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr original_type)
{
  return this->ptr_->create_alias (
    id,
    name,
    version,
    original_type
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::InterfaceDef_ptr POA_CORBA::ExtInterfaceDef_tie<T>::create_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::InterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ValueDef_ptr POA_CORBA::ExtInterfaceDef_tie<T>::create_value  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::Boolean is_custom,
  ::CORBA::Boolean is_abstract,
  ::CORBA::ValueDef_ptr base_value,
  ::CORBA::Boolean is_truncatable,
  const ::CORBA::ValueDefSeq & abstract_base_values,
  const ::CORBA::InterfaceDefSeq & supported_interfaces,
  const ::CORBA::InitializerSeq & initializers)
{
  return this->ptr_->create_value (
    id,
    name,
    version,
    is_custom,
    is_abstract,
    base_value,
    is_truncatable,
    abstract_base_values,
    supported_interfaces,
    initializers
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ValueBoxDef_ptr POA_CORBA::ExtInterfaceDef_tie<T>::create_value_box  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr original_type_def)
{
  return this->ptr_->create_value_box (
    id,
    name,
    version,
    original_type_def
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ExceptionDef_ptr POA_CORBA::ExtInterfaceDef_tie<T>::create_exception  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::StructMemberSeq & members)
{
  return this->ptr_->create_exception (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::NativeDef_ptr POA_CORBA::ExtInterfaceDef_tie<T>::create_native  (
  const char * id,
  const char * name,
  const char * version)
{
  return this->ptr_->create_native (
    id,
    name,
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::AbstractInterfaceDef_ptr POA_CORBA::ExtInterfaceDef_tie<T>::create_abstract_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::AbstractInterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_abstract_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::LocalInterfaceDef_ptr POA_CORBA::ExtInterfaceDef_tie<T>::create_local_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::InterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_local_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ExtValueDef_ptr POA_CORBA::ExtInterfaceDef_tie<T>::create_ext_value  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::Boolean is_custom,
  ::CORBA::Boolean is_abstract,
  ::CORBA::ValueDef_ptr base_value,
  ::CORBA::Boolean is_truncatable,
  const ::CORBA::ValueDefSeq & abstract_base_values,
  const ::CORBA::InterfaceDefSeq & supported_interfaces,
  const ::CORBA::ExtInitializerSeq & initializers)
{
  return this->ptr_->create_ext_value (
    id,
    name,
    version,
    is_custom,
    is_abstract,
    base_value,
    is_truncatable,
    abstract_base_values,
    supported_interfaces,
    initializers
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::ExtInterfaceDef_tie<T>::id  (
  void)
{
  return this->ptr_->id (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExtInterfaceDef_tie<T>::id  (
  const char * id)
{
  this->ptr_->id (
    id
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::ExtInterfaceDef_tie<T>::name  (
  void)
{
  return this->ptr_->name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExtInterfaceDef_tie<T>::name  (
  const char * name)
{
  this->ptr_->name (
    name
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::ExtInterfaceDef_tie<T>::version  (
  void)
{
  return this->ptr_->version (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExtInterfaceDef_tie<T>::version  (
  const char * version)
{
  this->ptr_->version (
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Container_ptr POA_CORBA::ExtInterfaceDef_tie<T>::defined_in  (
  void)
{
  return this->ptr_->defined_in (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::ExtInterfaceDef_tie<T>::absolute_name  (
  void)
{
  return this->ptr_->absolute_name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Repository_ptr POA_CORBA::ExtInterfaceDef_tie<T>::containing_repository  (
  void)
{
  return this->ptr_->containing_repository (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Contained::Description * POA_CORBA::ExtInterfaceDef_tie<T>::describe  (
  void)
{
  return this->ptr_->describe (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExtInterfaceDef_tie<T>::move  (
  ::CORBA::Container_ptr new_container,
  const char * new_name,
  const char * new_version)
{
  this->ptr_->move (
    new_container,
    new_name,
    new_version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::TypeCode_ptr POA_CORBA::ExtInterfaceDef_tie<T>::type  (
  void)
{
  return this->ptr_->type (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::InterfaceDefSeq * POA_CORBA::ExtInterfaceDef_tie<T>::base_interfaces  (
  void)
{
  return this->ptr_->base_interfaces (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExtInterfaceDef_tie<T>::base_interfaces  (
  const ::CORBA::InterfaceDefSeq & base_interfaces)
{
  this->ptr_->base_interfaces (
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Boolean POA_CORBA::ExtInterfaceDef_tie<T>::is_a  (
  const char * interface_id)
{
  return this->ptr_->is_a (
    interface_id
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::InterfaceDef::FullInterfaceDescription * POA_CORBA::ExtInterfaceDef_tie<T>::describe_interface  (
  void)
{
  return this->ptr_->describe_interface (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::AttributeDef_ptr POA_CORBA::ExtInterfaceDef_tie<T>::create_attribute  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr type,
  ::CORBA::AttributeMode mode)
{
  return this->ptr_->create_attribute (
    id,
    name,
    version,
    type,
    mode
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::OperationDef_ptr POA_CORBA::ExtInterfaceDef_tie<T>::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)
{
  return this->ptr_->create_operation (
    id,
    name,
    version,
    result,
    mode,
    params,
    exceptions,
    contexts
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription * POA_CORBA::ExtInterfaceDef_tie<T>::describe_ext_interface  (
  void)
{
  return this->ptr_->describe_ext_interface (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ExtAttributeDef_ptr POA_CORBA::ExtInterfaceDef_tie<T>::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)
{
  return this->ptr_->create_ext_attribute (
    id,
    name,
    version,
    type,
    mode,
    get_exceptions,
    set_exceptions
  );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/tie_ss.cpp:79

template <class T>
POA_CORBA::AbstractInterfaceDef_tie<T>::AbstractInterfaceDef_tie (T &t)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (false)
{}

template <class T>
POA_CORBA::AbstractInterfaceDef_tie<T>::AbstractInterfaceDef_tie (T &t, ::PortableServer::POA_ptr poa)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (false)
{}

template <class T>
POA_CORBA::AbstractInterfaceDef_tie<T>::AbstractInterfaceDef_tie (T *tp, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (release)
{}

template <class T>
POA_CORBA::AbstractInterfaceDef_tie<T>::AbstractInterfaceDef_tie (T *tp, ::PortableServer::POA_ptr poa, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (release)
{}

template <class T>
POA_CORBA::AbstractInterfaceDef_tie<T>::~AbstractInterfaceDef_tie (void)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> T *
POA_CORBA::AbstractInterfaceDef_tie<T>::_tied_object (void)
{
  return this->ptr_;
}

template <class T> void
POA_CORBA::AbstractInterfaceDef_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = &obj;
  this->rel_ = false;
}

template <class T> void
POA_CORBA::AbstractInterfaceDef_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = obj;
  this->rel_ = release;
}

template <class T>  ::CORBA::Boolean
POA_CORBA::AbstractInterfaceDef_tie<T>::_is_owner (void)
{
  return this->rel_;
}

template <class T> void
POA_CORBA::AbstractInterfaceDef_tie<T>::_is_owner ( ::CORBA::Boolean b)
{
  this->rel_ = b;
}

template <class T> PortableServer::POA_ptr
POA_CORBA::AbstractInterfaceDef_tie<T>::_default_POA ()
{
  if (! ::CORBA::is_nil (this->poa_.in ()))
    {
      return ::PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->AbstractInterfaceDef::_default_POA ();
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::DefinitionKind POA_CORBA::AbstractInterfaceDef_tie<T>::def_kind  (
  void)
{
  return this->ptr_->def_kind (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::AbstractInterfaceDef_tie<T>::destroy  (
  void)
{
  this->ptr_->destroy (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Contained_ptr POA_CORBA::AbstractInterfaceDef_tie<T>::lookup  (
  const char * search_name)
{
  return this->ptr_->lookup (
    search_name
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ContainedSeq * POA_CORBA::AbstractInterfaceDef_tie<T>::contents  (
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited)
{
  return this->ptr_->contents (
    limit_type,
    exclude_inherited
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ContainedSeq * POA_CORBA::AbstractInterfaceDef_tie<T>::lookup_name  (
  const char * search_name,
  ::CORBA::Long levels_to_search,
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited)
{
  return this->ptr_->lookup_name (
    search_name,
    levels_to_search,
    limit_type,
    exclude_inherited
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Container::DescriptionSeq * POA_CORBA::AbstractInterfaceDef_tie<T>::describe_contents  (
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited,
  ::CORBA::Long max_returned_objs)
{
  return this->ptr_->describe_contents (
    limit_type,
    exclude_inherited,
    max_returned_objs
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ModuleDef_ptr POA_CORBA::AbstractInterfaceDef_tie<T>::create_module  (
  const char * id,
  const char * name,
  const char * version)
{
  return this->ptr_->create_module (
    id,
    name,
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ConstantDef_ptr POA_CORBA::AbstractInterfaceDef_tie<T>::create_constant  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr type,
  const ::CORBA::Any & value)
{
  return this->ptr_->create_constant (
    id,
    name,
    version,
    type,
    value
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::StructDef_ptr POA_CORBA::AbstractInterfaceDef_tie<T>::create_struct  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::StructMemberSeq & members)
{
  return this->ptr_->create_struct (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::UnionDef_ptr POA_CORBA::AbstractInterfaceDef_tie<T>::create_union  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr discriminator_type,
  const ::CORBA::UnionMemberSeq & members)
{
  return this->ptr_->create_union (
    id,
    name,
    version,
    discriminator_type,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::EnumDef_ptr POA_CORBA::AbstractInterfaceDef_tie<T>::create_enum  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::EnumMemberSeq & members)
{
  return this->ptr_->create_enum (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::AliasDef_ptr POA_CORBA::AbstractInterfaceDef_tie<T>::create_alias  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr original_type)
{
  return this->ptr_->create_alias (
    id,
    name,
    version,
    original_type
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::InterfaceDef_ptr POA_CORBA::AbstractInterfaceDef_tie<T>::create_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::InterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ValueDef_ptr POA_CORBA::AbstractInterfaceDef_tie<T>::create_value  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::Boolean is_custom,
  ::CORBA::Boolean is_abstract,
  ::CORBA::ValueDef_ptr base_value,
  ::CORBA::Boolean is_truncatable,
  const ::CORBA::ValueDefSeq & abstract_base_values,
  const ::CORBA::InterfaceDefSeq & supported_interfaces,
  const ::CORBA::InitializerSeq & initializers)
{
  return this->ptr_->create_value (
    id,
    name,
    version,
    is_custom,
    is_abstract,
    base_value,
    is_truncatable,
    abstract_base_values,
    supported_interfaces,
    initializers
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ValueBoxDef_ptr POA_CORBA::AbstractInterfaceDef_tie<T>::create_value_box  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr original_type_def)
{
  return this->ptr_->create_value_box (
    id,
    name,
    version,
    original_type_def
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ExceptionDef_ptr POA_CORBA::AbstractInterfaceDef_tie<T>::create_exception  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::StructMemberSeq & members)
{
  return this->ptr_->create_exception (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::NativeDef_ptr POA_CORBA::AbstractInterfaceDef_tie<T>::create_native  (
  const char * id,
  const char * name,
  const char * version)
{
  return this->ptr_->create_native (
    id,
    name,
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::AbstractInterfaceDef_ptr POA_CORBA::AbstractInterfaceDef_tie<T>::create_abstract_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::AbstractInterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_abstract_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::LocalInterfaceDef_ptr POA_CORBA::AbstractInterfaceDef_tie<T>::create_local_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::InterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_local_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ExtValueDef_ptr POA_CORBA::AbstractInterfaceDef_tie<T>::create_ext_value  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::Boolean is_custom,
  ::CORBA::Boolean is_abstract,
  ::CORBA::ValueDef_ptr base_value,
  ::CORBA::Boolean is_truncatable,
  const ::CORBA::ValueDefSeq & abstract_base_values,
  const ::CORBA::InterfaceDefSeq & supported_interfaces,
  const ::CORBA::ExtInitializerSeq & initializers)
{
  return this->ptr_->create_ext_value (
    id,
    name,
    version,
    is_custom,
    is_abstract,
    base_value,
    is_truncatable,
    abstract_base_values,
    supported_interfaces,
    initializers
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::AbstractInterfaceDef_tie<T>::id  (
  void)
{
  return this->ptr_->id (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::AbstractInterfaceDef_tie<T>::id  (
  const char * id)
{
  this->ptr_->id (
    id
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::AbstractInterfaceDef_tie<T>::name  (
  void)
{
  return this->ptr_->name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::AbstractInterfaceDef_tie<T>::name  (
  const char * name)
{
  this->ptr_->name (
    name
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::AbstractInterfaceDef_tie<T>::version  (
  void)
{
  return this->ptr_->version (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::AbstractInterfaceDef_tie<T>::version  (
  const char * version)
{
  this->ptr_->version (
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Container_ptr POA_CORBA::AbstractInterfaceDef_tie<T>::defined_in  (
  void)
{
  return this->ptr_->defined_in (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::AbstractInterfaceDef_tie<T>::absolute_name  (
  void)
{
  return this->ptr_->absolute_name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Repository_ptr POA_CORBA::AbstractInterfaceDef_tie<T>::containing_repository  (
  void)
{
  return this->ptr_->containing_repository (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Contained::Description * POA_CORBA::AbstractInterfaceDef_tie<T>::describe  (
  void)
{
  return this->ptr_->describe (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::AbstractInterfaceDef_tie<T>::move  (
  ::CORBA::Container_ptr new_container,
  const char * new_name,
  const char * new_version)
{
  this->ptr_->move (
    new_container,
    new_name,
    new_version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::TypeCode_ptr POA_CORBA::AbstractInterfaceDef_tie<T>::type  (
  void)
{
  return this->ptr_->type (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::InterfaceDefSeq * POA_CORBA::AbstractInterfaceDef_tie<T>::base_interfaces  (
  void)
{
  return this->ptr_->base_interfaces (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::AbstractInterfaceDef_tie<T>::base_interfaces  (
  const ::CORBA::InterfaceDefSeq & base_interfaces)
{
  this->ptr_->base_interfaces (
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Boolean POA_CORBA::AbstractInterfaceDef_tie<T>::is_a  (
  const char * interface_id)
{
  return this->ptr_->is_a (
    interface_id
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::InterfaceDef::FullInterfaceDescription * POA_CORBA::AbstractInterfaceDef_tie<T>::describe_interface  (
  void)
{
  return this->ptr_->describe_interface (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::AttributeDef_ptr POA_CORBA::AbstractInterfaceDef_tie<T>::create_attribute  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr type,
  ::CORBA::AttributeMode mode)
{
  return this->ptr_->create_attribute (
    id,
    name,
    version,
    type,
    mode
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::OperationDef_ptr POA_CORBA::AbstractInterfaceDef_tie<T>::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)
{
  return this->ptr_->create_operation (
    id,
    name,
    version,
    result,
    mode,
    params,
    exceptions,
    contexts
  );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/tie_ss.cpp:79

template <class T>
POA_CORBA::ExtAbstractInterfaceDef_tie<T>::ExtAbstractInterfaceDef_tie (T &t)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (false)
{}

template <class T>
POA_CORBA::ExtAbstractInterfaceDef_tie<T>::ExtAbstractInterfaceDef_tie (T &t, ::PortableServer::POA_ptr poa)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (false)
{}

template <class T>
POA_CORBA::ExtAbstractInterfaceDef_tie<T>::ExtAbstractInterfaceDef_tie (T *tp, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (release)
{}

template <class T>
POA_CORBA::ExtAbstractInterfaceDef_tie<T>::ExtAbstractInterfaceDef_tie (T *tp, ::PortableServer::POA_ptr poa, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (release)
{}

template <class T>
POA_CORBA::ExtAbstractInterfaceDef_tie<T>::~ExtAbstractInterfaceDef_tie (void)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> T *
POA_CORBA::ExtAbstractInterfaceDef_tie<T>::_tied_object (void)
{
  return this->ptr_;
}

template <class T> void
POA_CORBA::ExtAbstractInterfaceDef_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = &obj;
  this->rel_ = false;
}

template <class T> void
POA_CORBA::ExtAbstractInterfaceDef_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = obj;
  this->rel_ = release;
}

template <class T>  ::CORBA::Boolean
POA_CORBA::ExtAbstractInterfaceDef_tie<T>::_is_owner (void)
{
  return this->rel_;
}

template <class T> void
POA_CORBA::ExtAbstractInterfaceDef_tie<T>::_is_owner ( ::CORBA::Boolean b)
{
  this->rel_ = b;
}

template <class T> PortableServer::POA_ptr
POA_CORBA::ExtAbstractInterfaceDef_tie<T>::_default_POA ()
{
  if (! ::CORBA::is_nil (this->poa_.in ()))
    {
      return ::PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->ExtAbstractInterfaceDef::_default_POA ();
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::DefinitionKind POA_CORBA::ExtAbstractInterfaceDef_tie<T>::def_kind  (
  void)
{
  return this->ptr_->def_kind (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExtAbstractInterfaceDef_tie<T>::destroy  (
  void)
{
  this->ptr_->destroy (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Contained_ptr POA_CORBA::ExtAbstractInterfaceDef_tie<T>::lookup  (
  const char * search_name)
{
  return this->ptr_->lookup (
    search_name
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ContainedSeq * POA_CORBA::ExtAbstractInterfaceDef_tie<T>::contents  (
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited)
{
  return this->ptr_->contents (
    limit_type,
    exclude_inherited
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ContainedSeq * POA_CORBA::ExtAbstractInterfaceDef_tie<T>::lookup_name  (
  const char * search_name,
  ::CORBA::Long levels_to_search,
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited)
{
  return this->ptr_->lookup_name (
    search_name,
    levels_to_search,
    limit_type,
    exclude_inherited
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Container::DescriptionSeq * POA_CORBA::ExtAbstractInterfaceDef_tie<T>::describe_contents  (
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited,
  ::CORBA::Long max_returned_objs)
{
  return this->ptr_->describe_contents (
    limit_type,
    exclude_inherited,
    max_returned_objs
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ModuleDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie<T>::create_module  (
  const char * id,
  const char * name,
  const char * version)
{
  return this->ptr_->create_module (
    id,
    name,
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ConstantDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie<T>::create_constant  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr type,
  const ::CORBA::Any & value)
{
  return this->ptr_->create_constant (
    id,
    name,
    version,
    type,
    value
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::StructDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie<T>::create_struct  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::StructMemberSeq & members)
{
  return this->ptr_->create_struct (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::UnionDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie<T>::create_union  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr discriminator_type,
  const ::CORBA::UnionMemberSeq & members)
{
  return this->ptr_->create_union (
    id,
    name,
    version,
    discriminator_type,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::EnumDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie<T>::create_enum  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::EnumMemberSeq & members)
{
  return this->ptr_->create_enum (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::AliasDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie<T>::create_alias  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr original_type)
{
  return this->ptr_->create_alias (
    id,
    name,
    version,
    original_type
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::InterfaceDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie<T>::create_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::InterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ValueDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie<T>::create_value  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::Boolean is_custom,
  ::CORBA::Boolean is_abstract,
  ::CORBA::ValueDef_ptr base_value,
  ::CORBA::Boolean is_truncatable,
  const ::CORBA::ValueDefSeq & abstract_base_values,
  const ::CORBA::InterfaceDefSeq & supported_interfaces,
  const ::CORBA::InitializerSeq & initializers)
{
  return this->ptr_->create_value (
    id,
    name,
    version,
    is_custom,
    is_abstract,
    base_value,
    is_truncatable,
    abstract_base_values,
    supported_interfaces,
    initializers
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ValueBoxDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie<T>::create_value_box  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr original_type_def)
{
  return this->ptr_->create_value_box (
    id,
    name,
    version,
    original_type_def
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ExceptionDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie<T>::create_exception  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::StructMemberSeq & members)
{
  return this->ptr_->create_exception (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::NativeDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie<T>::create_native  (
  const char * id,
  const char * name,
  const char * version)
{
  return this->ptr_->create_native (
    id,
    name,
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::AbstractInterfaceDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie<T>::create_abstract_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::AbstractInterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_abstract_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::LocalInterfaceDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie<T>::create_local_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::InterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_local_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ExtValueDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie<T>::create_ext_value  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::Boolean is_custom,
  ::CORBA::Boolean is_abstract,
  ::CORBA::ValueDef_ptr base_value,
  ::CORBA::Boolean is_truncatable,
  const ::CORBA::ValueDefSeq & abstract_base_values,
  const ::CORBA::InterfaceDefSeq & supported_interfaces,
  const ::CORBA::ExtInitializerSeq & initializers)
{
  return this->ptr_->create_ext_value (
    id,
    name,
    version,
    is_custom,
    is_abstract,
    base_value,
    is_truncatable,
    abstract_base_values,
    supported_interfaces,
    initializers
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::ExtAbstractInterfaceDef_tie<T>::id  (
  void)
{
  return this->ptr_->id (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExtAbstractInterfaceDef_tie<T>::id  (
  const char * id)
{
  this->ptr_->id (
    id
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::ExtAbstractInterfaceDef_tie<T>::name  (
  void)
{
  return this->ptr_->name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExtAbstractInterfaceDef_tie<T>::name  (
  const char * name)
{
  this->ptr_->name (
    name
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::ExtAbstractInterfaceDef_tie<T>::version  (
  void)
{
  return this->ptr_->version (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExtAbstractInterfaceDef_tie<T>::version  (
  const char * version)
{
  this->ptr_->version (
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Container_ptr POA_CORBA::ExtAbstractInterfaceDef_tie<T>::defined_in  (
  void)
{
  return this->ptr_->defined_in (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::ExtAbstractInterfaceDef_tie<T>::absolute_name  (
  void)
{
  return this->ptr_->absolute_name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Repository_ptr POA_CORBA::ExtAbstractInterfaceDef_tie<T>::containing_repository  (
  void)
{
  return this->ptr_->containing_repository (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Contained::Description * POA_CORBA::ExtAbstractInterfaceDef_tie<T>::describe  (
  void)
{
  return this->ptr_->describe (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExtAbstractInterfaceDef_tie<T>::move  (
  ::CORBA::Container_ptr new_container,
  const char * new_name,
  const char * new_version)
{
  this->ptr_->move (
    new_container,
    new_name,
    new_version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::TypeCode_ptr POA_CORBA::ExtAbstractInterfaceDef_tie<T>::type  (
  void)
{
  return this->ptr_->type (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::InterfaceDefSeq * POA_CORBA::ExtAbstractInterfaceDef_tie<T>::base_interfaces  (
  void)
{
  return this->ptr_->base_interfaces (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExtAbstractInterfaceDef_tie<T>::base_interfaces  (
  const ::CORBA::InterfaceDefSeq & base_interfaces)
{
  this->ptr_->base_interfaces (
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Boolean POA_CORBA::ExtAbstractInterfaceDef_tie<T>::is_a  (
  const char * interface_id)
{
  return this->ptr_->is_a (
    interface_id
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::InterfaceDef::FullInterfaceDescription * POA_CORBA::ExtAbstractInterfaceDef_tie<T>::describe_interface  (
  void)
{
  return this->ptr_->describe_interface (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::AttributeDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie<T>::create_attribute  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr type,
  ::CORBA::AttributeMode mode)
{
  return this->ptr_->create_attribute (
    id,
    name,
    version,
    type,
    mode
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::OperationDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie<T>::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)
{
  return this->ptr_->create_operation (
    id,
    name,
    version,
    result,
    mode,
    params,
    exceptions,
    contexts
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription * POA_CORBA::ExtAbstractInterfaceDef_tie<T>::describe_ext_interface  (
  void)
{
  return this->ptr_->describe_ext_interface (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ExtAttributeDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie<T>::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)
{
  return this->ptr_->create_ext_attribute (
    id,
    name,
    version,
    type,
    mode,
    get_exceptions,
    set_exceptions
  );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/tie_ss.cpp:79

template <class T>
POA_CORBA::LocalInterfaceDef_tie<T>::LocalInterfaceDef_tie (T &t)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (false)
{}

template <class T>
POA_CORBA::LocalInterfaceDef_tie<T>::LocalInterfaceDef_tie (T &t, ::PortableServer::POA_ptr poa)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (false)
{}

template <class T>
POA_CORBA::LocalInterfaceDef_tie<T>::LocalInterfaceDef_tie (T *tp, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (release)
{}

template <class T>
POA_CORBA::LocalInterfaceDef_tie<T>::LocalInterfaceDef_tie (T *tp, ::PortableServer::POA_ptr poa, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (release)
{}

template <class T>
POA_CORBA::LocalInterfaceDef_tie<T>::~LocalInterfaceDef_tie (void)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> T *
POA_CORBA::LocalInterfaceDef_tie<T>::_tied_object (void)
{
  return this->ptr_;
}

template <class T> void
POA_CORBA::LocalInterfaceDef_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = &obj;
  this->rel_ = false;
}

template <class T> void
POA_CORBA::LocalInterfaceDef_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = obj;
  this->rel_ = release;
}

template <class T>  ::CORBA::Boolean
POA_CORBA::LocalInterfaceDef_tie<T>::_is_owner (void)
{
  return this->rel_;
}

template <class T> void
POA_CORBA::LocalInterfaceDef_tie<T>::_is_owner ( ::CORBA::Boolean b)
{
  this->rel_ = b;
}

template <class T> PortableServer::POA_ptr
POA_CORBA::LocalInterfaceDef_tie<T>::_default_POA ()
{
  if (! ::CORBA::is_nil (this->poa_.in ()))
    {
      return ::PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->LocalInterfaceDef::_default_POA ();
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::DefinitionKind POA_CORBA::LocalInterfaceDef_tie<T>::def_kind  (
  void)
{
  return this->ptr_->def_kind (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::LocalInterfaceDef_tie<T>::destroy  (
  void)
{
  this->ptr_->destroy (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Contained_ptr POA_CORBA::LocalInterfaceDef_tie<T>::lookup  (
  const char * search_name)
{
  return this->ptr_->lookup (
    search_name
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ContainedSeq * POA_CORBA::LocalInterfaceDef_tie<T>::contents  (
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited)
{
  return this->ptr_->contents (
    limit_type,
    exclude_inherited
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ContainedSeq * POA_CORBA::LocalInterfaceDef_tie<T>::lookup_name  (
  const char * search_name,
  ::CORBA::Long levels_to_search,
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited)
{
  return this->ptr_->lookup_name (
    search_name,
    levels_to_search,
    limit_type,
    exclude_inherited
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Container::DescriptionSeq * POA_CORBA::LocalInterfaceDef_tie<T>::describe_contents  (
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited,
  ::CORBA::Long max_returned_objs)
{
  return this->ptr_->describe_contents (
    limit_type,
    exclude_inherited,
    max_returned_objs
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ModuleDef_ptr POA_CORBA::LocalInterfaceDef_tie<T>::create_module  (
  const char * id,
  const char * name,
  const char * version)
{
  return this->ptr_->create_module (
    id,
    name,
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ConstantDef_ptr POA_CORBA::LocalInterfaceDef_tie<T>::create_constant  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr type,
  const ::CORBA::Any & value)
{
  return this->ptr_->create_constant (
    id,
    name,
    version,
    type,
    value
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::StructDef_ptr POA_CORBA::LocalInterfaceDef_tie<T>::create_struct  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::StructMemberSeq & members)
{
  return this->ptr_->create_struct (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::UnionDef_ptr POA_CORBA::LocalInterfaceDef_tie<T>::create_union  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr discriminator_type,
  const ::CORBA::UnionMemberSeq & members)
{
  return this->ptr_->create_union (
    id,
    name,
    version,
    discriminator_type,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::EnumDef_ptr POA_CORBA::LocalInterfaceDef_tie<T>::create_enum  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::EnumMemberSeq & members)
{
  return this->ptr_->create_enum (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::AliasDef_ptr POA_CORBA::LocalInterfaceDef_tie<T>::create_alias  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr original_type)
{
  return this->ptr_->create_alias (
    id,
    name,
    version,
    original_type
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::InterfaceDef_ptr POA_CORBA::LocalInterfaceDef_tie<T>::create_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::InterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ValueDef_ptr POA_CORBA::LocalInterfaceDef_tie<T>::create_value  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::Boolean is_custom,
  ::CORBA::Boolean is_abstract,
  ::CORBA::ValueDef_ptr base_value,
  ::CORBA::Boolean is_truncatable,
  const ::CORBA::ValueDefSeq & abstract_base_values,
  const ::CORBA::InterfaceDefSeq & supported_interfaces,
  const ::CORBA::InitializerSeq & initializers)
{
  return this->ptr_->create_value (
    id,
    name,
    version,
    is_custom,
    is_abstract,
    base_value,
    is_truncatable,
    abstract_base_values,
    supported_interfaces,
    initializers
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ValueBoxDef_ptr POA_CORBA::LocalInterfaceDef_tie<T>::create_value_box  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr original_type_def)
{
  return this->ptr_->create_value_box (
    id,
    name,
    version,
    original_type_def
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ExceptionDef_ptr POA_CORBA::LocalInterfaceDef_tie<T>::create_exception  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::StructMemberSeq & members)
{
  return this->ptr_->create_exception (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::NativeDef_ptr POA_CORBA::LocalInterfaceDef_tie<T>::create_native  (
  const char * id,
  const char * name,
  const char * version)
{
  return this->ptr_->create_native (
    id,
    name,
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::AbstractInterfaceDef_ptr POA_CORBA::LocalInterfaceDef_tie<T>::create_abstract_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::AbstractInterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_abstract_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::LocalInterfaceDef_ptr POA_CORBA::LocalInterfaceDef_tie<T>::create_local_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::InterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_local_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ExtValueDef_ptr POA_CORBA::LocalInterfaceDef_tie<T>::create_ext_value  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::Boolean is_custom,
  ::CORBA::Boolean is_abstract,
  ::CORBA::ValueDef_ptr base_value,
  ::CORBA::Boolean is_truncatable,
  const ::CORBA::ValueDefSeq & abstract_base_values,
  const ::CORBA::InterfaceDefSeq & supported_interfaces,
  const ::CORBA::ExtInitializerSeq & initializers)
{
  return this->ptr_->create_ext_value (
    id,
    name,
    version,
    is_custom,
    is_abstract,
    base_value,
    is_truncatable,
    abstract_base_values,
    supported_interfaces,
    initializers
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::LocalInterfaceDef_tie<T>::id  (
  void)
{
  return this->ptr_->id (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::LocalInterfaceDef_tie<T>::id  (
  const char * id)
{
  this->ptr_->id (
    id
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::LocalInterfaceDef_tie<T>::name  (
  void)
{
  return this->ptr_->name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::LocalInterfaceDef_tie<T>::name  (
  const char * name)
{
  this->ptr_->name (
    name
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::LocalInterfaceDef_tie<T>::version  (
  void)
{
  return this->ptr_->version (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::LocalInterfaceDef_tie<T>::version  (
  const char * version)
{
  this->ptr_->version (
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Container_ptr POA_CORBA::LocalInterfaceDef_tie<T>::defined_in  (
  void)
{
  return this->ptr_->defined_in (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::LocalInterfaceDef_tie<T>::absolute_name  (
  void)
{
  return this->ptr_->absolute_name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Repository_ptr POA_CORBA::LocalInterfaceDef_tie<T>::containing_repository  (
  void)
{
  return this->ptr_->containing_repository (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Contained::Description * POA_CORBA::LocalInterfaceDef_tie<T>::describe  (
  void)
{
  return this->ptr_->describe (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::LocalInterfaceDef_tie<T>::move  (
  ::CORBA::Container_ptr new_container,
  const char * new_name,
  const char * new_version)
{
  this->ptr_->move (
    new_container,
    new_name,
    new_version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::TypeCode_ptr POA_CORBA::LocalInterfaceDef_tie<T>::type  (
  void)
{
  return this->ptr_->type (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::InterfaceDefSeq * POA_CORBA::LocalInterfaceDef_tie<T>::base_interfaces  (
  void)
{
  return this->ptr_->base_interfaces (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::LocalInterfaceDef_tie<T>::base_interfaces  (
  const ::CORBA::InterfaceDefSeq & base_interfaces)
{
  this->ptr_->base_interfaces (
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Boolean POA_CORBA::LocalInterfaceDef_tie<T>::is_a  (
  const char * interface_id)
{
  return this->ptr_->is_a (
    interface_id
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::InterfaceDef::FullInterfaceDescription * POA_CORBA::LocalInterfaceDef_tie<T>::describe_interface  (
  void)
{
  return this->ptr_->describe_interface (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::AttributeDef_ptr POA_CORBA::LocalInterfaceDef_tie<T>::create_attribute  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr type,
  ::CORBA::AttributeMode mode)
{
  return this->ptr_->create_attribute (
    id,
    name,
    version,
    type,
    mode
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::OperationDef_ptr POA_CORBA::LocalInterfaceDef_tie<T>::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)
{
  return this->ptr_->create_operation (
    id,
    name,
    version,
    result,
    mode,
    params,
    exceptions,
    contexts
  );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/tie_ss.cpp:79

template <class T>
POA_CORBA::ExtLocalInterfaceDef_tie<T>::ExtLocalInterfaceDef_tie (T &t)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (false)
{}

template <class T>
POA_CORBA::ExtLocalInterfaceDef_tie<T>::ExtLocalInterfaceDef_tie (T &t, ::PortableServer::POA_ptr poa)
  : ptr_ (&t),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (false)
{}

template <class T>
POA_CORBA::ExtLocalInterfaceDef_tie<T>::ExtLocalInterfaceDef_tie (T *tp, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_nil ()),
    rel_ (release)
{}

template <class T>
POA_CORBA::ExtLocalInterfaceDef_tie<T>::ExtLocalInterfaceDef_tie (T *tp, ::PortableServer::POA_ptr poa, ::CORBA::Boolean release)
  : ptr_ (tp),
    poa_ ( ::PortableServer::POA::_duplicate (poa)),
    rel_ (release)
{}

template <class T>
POA_CORBA::ExtLocalInterfaceDef_tie<T>::~ExtLocalInterfaceDef_tie (void)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
}

template <class T> T *
POA_CORBA::ExtLocalInterfaceDef_tie<T>::_tied_object (void)
{
  return this->ptr_;
}

template <class T> void
POA_CORBA::ExtLocalInterfaceDef_tie<T>::_tied_object (T &obj)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = &obj;
  this->rel_ = false;
}

template <class T> void
POA_CORBA::ExtLocalInterfaceDef_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
{
  if (this->rel_)
    {
      delete this->ptr_;
    }
  
  this->ptr_ = obj;
  this->rel_ = release;
}

template <class T>  ::CORBA::Boolean
POA_CORBA::ExtLocalInterfaceDef_tie<T>::_is_owner (void)
{
  return this->rel_;
}

template <class T> void
POA_CORBA::ExtLocalInterfaceDef_tie<T>::_is_owner ( ::CORBA::Boolean b)
{
  this->rel_ = b;
}

template <class T> PortableServer::POA_ptr
POA_CORBA::ExtLocalInterfaceDef_tie<T>::_default_POA ()
{
  if (! ::CORBA::is_nil (this->poa_.in ()))
    {
      return ::PortableServer::POA::_duplicate (this->poa_.in ());
    }
  
  return this->ExtLocalInterfaceDef::_default_POA ();
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::DefinitionKind POA_CORBA::ExtLocalInterfaceDef_tie<T>::def_kind  (
  void)
{
  return this->ptr_->def_kind (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExtLocalInterfaceDef_tie<T>::destroy  (
  void)
{
  this->ptr_->destroy (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Contained_ptr POA_CORBA::ExtLocalInterfaceDef_tie<T>::lookup  (
  const char * search_name)
{
  return this->ptr_->lookup (
    search_name
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ContainedSeq * POA_CORBA::ExtLocalInterfaceDef_tie<T>::contents  (
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited)
{
  return this->ptr_->contents (
    limit_type,
    exclude_inherited
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ContainedSeq * POA_CORBA::ExtLocalInterfaceDef_tie<T>::lookup_name  (
  const char * search_name,
  ::CORBA::Long levels_to_search,
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited)
{
  return this->ptr_->lookup_name (
    search_name,
    levels_to_search,
    limit_type,
    exclude_inherited
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Container::DescriptionSeq * POA_CORBA::ExtLocalInterfaceDef_tie<T>::describe_contents  (
  ::CORBA::DefinitionKind limit_type,
  ::CORBA::Boolean exclude_inherited,
  ::CORBA::Long max_returned_objs)
{
  return this->ptr_->describe_contents (
    limit_type,
    exclude_inherited,
    max_returned_objs
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ModuleDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie<T>::create_module  (
  const char * id,
  const char * name,
  const char * version)
{
  return this->ptr_->create_module (
    id,
    name,
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ConstantDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie<T>::create_constant  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr type,
  const ::CORBA::Any & value)
{
  return this->ptr_->create_constant (
    id,
    name,
    version,
    type,
    value
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::StructDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie<T>::create_struct  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::StructMemberSeq & members)
{
  return this->ptr_->create_struct (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::UnionDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie<T>::create_union  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr discriminator_type,
  const ::CORBA::UnionMemberSeq & members)
{
  return this->ptr_->create_union (
    id,
    name,
    version,
    discriminator_type,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::EnumDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie<T>::create_enum  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::EnumMemberSeq & members)
{
  return this->ptr_->create_enum (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::AliasDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie<T>::create_alias  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr original_type)
{
  return this->ptr_->create_alias (
    id,
    name,
    version,
    original_type
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::InterfaceDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie<T>::create_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::InterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ValueDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie<T>::create_value  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::Boolean is_custom,
  ::CORBA::Boolean is_abstract,
  ::CORBA::ValueDef_ptr base_value,
  ::CORBA::Boolean is_truncatable,
  const ::CORBA::ValueDefSeq & abstract_base_values,
  const ::CORBA::InterfaceDefSeq & supported_interfaces,
  const ::CORBA::InitializerSeq & initializers)
{
  return this->ptr_->create_value (
    id,
    name,
    version,
    is_custom,
    is_abstract,
    base_value,
    is_truncatable,
    abstract_base_values,
    supported_interfaces,
    initializers
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ValueBoxDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie<T>::create_value_box  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr original_type_def)
{
  return this->ptr_->create_value_box (
    id,
    name,
    version,
    original_type_def
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ExceptionDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie<T>::create_exception  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::StructMemberSeq & members)
{
  return this->ptr_->create_exception (
    id,
    name,
    version,
    members
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::NativeDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie<T>::create_native  (
  const char * id,
  const char * name,
  const char * version)
{
  return this->ptr_->create_native (
    id,
    name,
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::AbstractInterfaceDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie<T>::create_abstract_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::AbstractInterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_abstract_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::LocalInterfaceDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie<T>::create_local_interface  (
  const char * id,
  const char * name,
  const char * version,
  const ::CORBA::InterfaceDefSeq & base_interfaces)
{
  return this->ptr_->create_local_interface (
    id,
    name,
    version,
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ExtValueDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie<T>::create_ext_value  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::Boolean is_custom,
  ::CORBA::Boolean is_abstract,
  ::CORBA::ValueDef_ptr base_value,
  ::CORBA::Boolean is_truncatable,
  const ::CORBA::ValueDefSeq & abstract_base_values,
  const ::CORBA::InterfaceDefSeq & supported_interfaces,
  const ::CORBA::ExtInitializerSeq & initializers)
{
  return this->ptr_->create_ext_value (
    id,
    name,
    version,
    is_custom,
    is_abstract,
    base_value,
    is_truncatable,
    abstract_base_values,
    supported_interfaces,
    initializers
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::ExtLocalInterfaceDef_tie<T>::id  (
  void)
{
  return this->ptr_->id (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExtLocalInterfaceDef_tie<T>::id  (
  const char * id)
{
  this->ptr_->id (
    id
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::ExtLocalInterfaceDef_tie<T>::name  (
  void)
{
  return this->ptr_->name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExtLocalInterfaceDef_tie<T>::name  (
  const char * name)
{
  this->ptr_->name (
    name
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::ExtLocalInterfaceDef_tie<T>::version  (
  void)
{
  return this->ptr_->version (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExtLocalInterfaceDef_tie<T>::version  (
  const char * version)
{
  this->ptr_->version (
    version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Container_ptr POA_CORBA::ExtLocalInterfaceDef_tie<T>::defined_in  (
  void)
{
  return this->ptr_->defined_in (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
char * POA_CORBA::ExtLocalInterfaceDef_tie<T>::absolute_name  (
  void)
{
  return this->ptr_->absolute_name (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Repository_ptr POA_CORBA::ExtLocalInterfaceDef_tie<T>::containing_repository  (
  void)
{
  return this->ptr_->containing_repository (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Contained::Description * POA_CORBA::ExtLocalInterfaceDef_tie<T>::describe  (
  void)
{
  return this->ptr_->describe (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExtLocalInterfaceDef_tie<T>::move  (
  ::CORBA::Container_ptr new_container,
  const char * new_name,
  const char * new_version)
{
  this->ptr_->move (
    new_container,
    new_name,
    new_version
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::TypeCode_ptr POA_CORBA::ExtLocalInterfaceDef_tie<T>::type  (
  void)
{
  return this->ptr_->type (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::InterfaceDefSeq * POA_CORBA::ExtLocalInterfaceDef_tie<T>::base_interfaces  (
  void)
{
  return this->ptr_->base_interfaces (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
void POA_CORBA::ExtLocalInterfaceDef_tie<T>::base_interfaces  (
  const ::CORBA::InterfaceDefSeq & base_interfaces)
{
  this->ptr_->base_interfaces (
    base_interfaces
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::Boolean POA_CORBA::ExtLocalInterfaceDef_tie<T>::is_a  (
  const char * interface_id)
{
  return this->ptr_->is_a (
    interface_id
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::InterfaceDef::FullInterfaceDescription * POA_CORBA::ExtLocalInterfaceDef_tie<T>::describe_interface  (
  void)
{
  return this->ptr_->describe_interface (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::AttributeDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie<T>::create_attribute  (
  const char * id,
  const char * name,
  const char * version,
  ::CORBA::IDLType_ptr type,
  ::CORBA::AttributeMode mode)
{
  return this->ptr_->create_attribute (
    id,
    name,
    version,
    type,
    mode
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::OperationDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie<T>::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)
{
  return this->ptr_->create_operation (
    id,
    name,
    version,
    result,
    mode,
    params,
    exceptions,
    contexts
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription * POA_CORBA::ExtLocalInterfaceDef_tie<T>::describe_ext_interface  (
  void)
{
  return this->ptr_->describe_ext_interface (
  );
}

// TAO_IDL - Generated from
// be/be_visitor_operation/tie_ss.cpp:92

template <class T>
::CORBA::ExtAttributeDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie<T>::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)
{
  return this->ptr_->create_ext_attribute (
    id,
    name,
    version,
    type,
    mode,
    get_exceptions,
    set_exceptions
  );
}

TAO_END_VERSIONED_NAMESPACE_DECL


#endif /* ifndef */

