// -*- C++ -*-
//
// $Id: IFR_BasicS_T.h 77001 2007-02-12 07:54:49Z johnnyw $

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

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

#ifndef _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_BASICS_T_H_
#define _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_BASICS_T_H_

#include /**/ "ace/pre.h"

TAO_BEGIN_VERSIONED_NAMESPACE_DECL



// TAO_IDL - Generated from
// be\be_visitor_root/root_sth.cpp:116

namespace POA_CORBA
{

  // TAO_IDL - Generated from
  // be\be_visitor_interface/tie_sh.cpp:87

  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  Repository_tie : public Repository
  {
  public:
    /// the T& ctor
    Repository_tie (T &t);
    /// ctor taking a POA
    Repository_tie (T &t, PortableServer::POA_ptr poa);
    /// ctor taking pointer and an ownership flag
    Repository_tie (T *tp, ::CORBA::Boolean release = true);
    /// ctor with T*, ownership flag and a POA
    Repository_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        ::CORBA::Boolean release = true
      );
    /// dtor

    ~Repository_tie (void);
    // TIE specific functions
    /// return the underlying object
    T *_tied_object (void);
    /// set the underlying object
    void _tied_object (T &obj);
    /// set the underlying object and the ownership flag
    void _tied_object (T *obj, ::CORBA::Boolean release = true);
    /// do we own it
    ::CORBA::Boolean _is_owner (void);
    /// set the ownership

    void _is_owner ( ::CORBA::Boolean b);
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::DefinitionKind def_kind (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void destroy (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Contained_ptr lookup (
        const char * search_name
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ContainedSeq * contents (
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ContainedSeq * lookup_name (
        const char * search_name,
        ::CORBA::Long levels_to_search,
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Container::DescriptionSeq * describe_contents (
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited,
        ::CORBA::Long max_returned_objs
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ModuleDef_ptr create_module (
        const char * id,
        const char * name,
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ConstantDef_ptr create_constant (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr type,
        const ::CORBA::Any & value
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::StructDef_ptr create_struct (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::StructMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::UnionDef_ptr create_union (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr discriminator_type,
        const ::CORBA::UnionMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::EnumDef_ptr create_enum (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::EnumMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::AliasDef_ptr create_alias (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr original_type
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::InterfaceDef_ptr create_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::InterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ValueDef_ptr 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
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ValueBoxDef_ptr create_value_box (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr original_type_def
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ExceptionDef_ptr create_exception (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::StructMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::NativeDef_ptr create_native (
        const char * id,
        const char * name,
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::AbstractInterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::LocalInterfaceDef_ptr create_local_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::InterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ExtValueDef_ptr 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
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Contained_ptr lookup_id (
        const char * search_id
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::TypeCode_ptr get_canonical_typecode (
        ::CORBA::TypeCode_ptr tc
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::PrimitiveDef_ptr get_primitive (
        ::CORBA::PrimitiveKind kind
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::StringDef_ptr create_string (
        ::CORBA::ULong bound
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::WstringDef_ptr create_wstring (
        ::CORBA::ULong bound
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::SequenceDef_ptr create_sequence (
        ::CORBA::ULong bound,
        ::CORBA::IDLType_ptr element_type
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ArrayDef_ptr create_array (
        ::CORBA::ULong length,
        ::CORBA::IDLType_ptr element_type
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::FixedDef_ptr create_fixed (
        ::CORBA::UShort digits,
        ::CORBA::Short scale
      );

  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    ::CORBA::Boolean rel_;

    // copy and assignment are not allowed
    Repository_tie (const Repository_tie &);
    void operator= (const Repository_tie &);
  };

  // TAO_IDL - Generated from
  // be\be_visitor_interface/tie_sh.cpp:87

  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  ModuleDef_tie : public ModuleDef
  {
  public:
    /// the T& ctor
    ModuleDef_tie (T &t);
    /// ctor taking a POA
    ModuleDef_tie (T &t, PortableServer::POA_ptr poa);
    /// ctor taking pointer and an ownership flag
    ModuleDef_tie (T *tp, ::CORBA::Boolean release = true);
    /// ctor with T*, ownership flag and a POA
    ModuleDef_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        ::CORBA::Boolean release = true
      );
    /// dtor

    ~ModuleDef_tie (void);
    // TIE specific functions
    /// return the underlying object
    T *_tied_object (void);
    /// set the underlying object
    void _tied_object (T &obj);
    /// set the underlying object and the ownership flag
    void _tied_object (T *obj, ::CORBA::Boolean release = true);
    /// do we own it
    ::CORBA::Boolean _is_owner (void);
    /// set the ownership

    void _is_owner ( ::CORBA::Boolean b);
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::DefinitionKind def_kind (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void destroy (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Contained_ptr lookup (
        const char * search_name
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ContainedSeq * contents (
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ContainedSeq * lookup_name (
        const char * search_name,
        ::CORBA::Long levels_to_search,
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Container::DescriptionSeq * describe_contents (
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited,
        ::CORBA::Long max_returned_objs
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ModuleDef_ptr create_module (
        const char * id,
        const char * name,
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ConstantDef_ptr create_constant (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr type,
        const ::CORBA::Any & value
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::StructDef_ptr create_struct (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::StructMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::UnionDef_ptr create_union (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr discriminator_type,
        const ::CORBA::UnionMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::EnumDef_ptr create_enum (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::EnumMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::AliasDef_ptr create_alias (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr original_type
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::InterfaceDef_ptr create_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::InterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ValueDef_ptr 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
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ValueBoxDef_ptr create_value_box (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr original_type_def
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ExceptionDef_ptr create_exception (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::StructMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::NativeDef_ptr create_native (
        const char * id,
        const char * name,
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::AbstractInterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::LocalInterfaceDef_ptr create_local_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::InterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ExtValueDef_ptr 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
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * id (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void id (
        const char * id
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void name (
        const char * name
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * version (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void version (
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Container_ptr defined_in (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * absolute_name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Repository_ptr containing_repository (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Contained::Description * describe (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void move (
        ::CORBA::Container_ptr new_container,
        const char * new_name,
        const char * new_version
      );

  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    ::CORBA::Boolean rel_;

    // copy and assignment are not allowed
    ModuleDef_tie (const ModuleDef_tie &);
    void operator= (const ModuleDef_tie &);
  };

  // TAO_IDL - Generated from
  // be\be_visitor_interface/tie_sh.cpp:87

  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  ConstantDef_tie : public ConstantDef
  {
  public:
    /// the T& ctor
    ConstantDef_tie (T &t);
    /// ctor taking a POA
    ConstantDef_tie (T &t, PortableServer::POA_ptr poa);
    /// ctor taking pointer and an ownership flag
    ConstantDef_tie (T *tp, ::CORBA::Boolean release = true);
    /// ctor with T*, ownership flag and a POA
    ConstantDef_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        ::CORBA::Boolean release = true
      );
    /// dtor

    ~ConstantDef_tie (void);
    // TIE specific functions
    /// return the underlying object
    T *_tied_object (void);
    /// set the underlying object
    void _tied_object (T &obj);
    /// set the underlying object and the ownership flag
    void _tied_object (T *obj, ::CORBA::Boolean release = true);
    /// do we own it
    ::CORBA::Boolean _is_owner (void);
    /// set the ownership

    void _is_owner ( ::CORBA::Boolean b);
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::DefinitionKind def_kind (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void destroy (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * id (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void id (
        const char * id
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void name (
        const char * name
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * version (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void version (
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Container_ptr defined_in (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * absolute_name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Repository_ptr containing_repository (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Contained::Description * describe (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void move (
        ::CORBA::Container_ptr new_container,
        const char * new_name,
        const char * new_version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::TypeCode_ptr type (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::IDLType_ptr type_def (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void type_def (
        ::CORBA::IDLType_ptr type_def
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Any * value (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void value (
        const ::CORBA::Any & value
      );

  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    ::CORBA::Boolean rel_;

    // copy and assignment are not allowed
    ConstantDef_tie (const ConstantDef_tie &);
    void operator= (const ConstantDef_tie &);
  };

  // TAO_IDL - Generated from
  // be\be_visitor_interface/tie_sh.cpp:87

  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  StructDef_tie : public StructDef
  {
  public:
    /// the T& ctor
    StructDef_tie (T &t);
    /// ctor taking a POA
    StructDef_tie (T &t, PortableServer::POA_ptr poa);
    /// ctor taking pointer and an ownership flag
    StructDef_tie (T *tp, ::CORBA::Boolean release = true);
    /// ctor with T*, ownership flag and a POA
    StructDef_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        ::CORBA::Boolean release = true
      );
    /// dtor

    ~StructDef_tie (void);
    // TIE specific functions
    /// return the underlying object
    T *_tied_object (void);
    /// set the underlying object
    void _tied_object (T &obj);
    /// set the underlying object and the ownership flag
    void _tied_object (T *obj, ::CORBA::Boolean release = true);
    /// do we own it
    ::CORBA::Boolean _is_owner (void);
    /// set the ownership

    void _is_owner ( ::CORBA::Boolean b);
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::DefinitionKind def_kind (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void destroy (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * id (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void id (
        const char * id
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void name (
        const char * name
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * version (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void version (
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Container_ptr defined_in (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * absolute_name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Repository_ptr containing_repository (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Contained::Description * describe (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void move (
        ::CORBA::Container_ptr new_container,
        const char * new_name,
        const char * new_version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::TypeCode_ptr type (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Contained_ptr lookup (
        const char * search_name
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ContainedSeq * contents (
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ContainedSeq * lookup_name (
        const char * search_name,
        ::CORBA::Long levels_to_search,
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Container::DescriptionSeq * describe_contents (
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited,
        ::CORBA::Long max_returned_objs
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ModuleDef_ptr create_module (
        const char * id,
        const char * name,
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ConstantDef_ptr create_constant (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr type,
        const ::CORBA::Any & value
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::StructDef_ptr create_struct (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::StructMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::UnionDef_ptr create_union (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr discriminator_type,
        const ::CORBA::UnionMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::EnumDef_ptr create_enum (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::EnumMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::AliasDef_ptr create_alias (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr original_type
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::InterfaceDef_ptr create_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::InterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ValueDef_ptr 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
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ValueBoxDef_ptr create_value_box (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr original_type_def
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ExceptionDef_ptr create_exception (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::StructMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::NativeDef_ptr create_native (
        const char * id,
        const char * name,
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::AbstractInterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::LocalInterfaceDef_ptr create_local_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::InterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ExtValueDef_ptr 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
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::StructMemberSeq * members (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void members (
        const ::CORBA::StructMemberSeq & members
      );

  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    ::CORBA::Boolean rel_;

    // copy and assignment are not allowed
    StructDef_tie (const StructDef_tie &);
    void operator= (const StructDef_tie &);
  };

  // TAO_IDL - Generated from
  // be\be_visitor_interface/tie_sh.cpp:87

  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  UnionDef_tie : public UnionDef
  {
  public:
    /// the T& ctor
    UnionDef_tie (T &t);
    /// ctor taking a POA
    UnionDef_tie (T &t, PortableServer::POA_ptr poa);
    /// ctor taking pointer and an ownership flag
    UnionDef_tie (T *tp, ::CORBA::Boolean release = true);
    /// ctor with T*, ownership flag and a POA
    UnionDef_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        ::CORBA::Boolean release = true
      );
    /// dtor

    ~UnionDef_tie (void);
    // TIE specific functions
    /// return the underlying object
    T *_tied_object (void);
    /// set the underlying object
    void _tied_object (T &obj);
    /// set the underlying object and the ownership flag
    void _tied_object (T *obj, ::CORBA::Boolean release = true);
    /// do we own it
    ::CORBA::Boolean _is_owner (void);
    /// set the ownership

    void _is_owner ( ::CORBA::Boolean b);
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::DefinitionKind def_kind (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void destroy (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * id (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void id (
        const char * id
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void name (
        const char * name
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * version (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void version (
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Container_ptr defined_in (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * absolute_name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Repository_ptr containing_repository (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Contained::Description * describe (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void move (
        ::CORBA::Container_ptr new_container,
        const char * new_name,
        const char * new_version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::TypeCode_ptr type (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Contained_ptr lookup (
        const char * search_name
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ContainedSeq * contents (
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ContainedSeq * lookup_name (
        const char * search_name,
        ::CORBA::Long levels_to_search,
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Container::DescriptionSeq * describe_contents (
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited,
        ::CORBA::Long max_returned_objs
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ModuleDef_ptr create_module (
        const char * id,
        const char * name,
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ConstantDef_ptr create_constant (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr type,
        const ::CORBA::Any & value
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::StructDef_ptr create_struct (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::StructMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::UnionDef_ptr create_union (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr discriminator_type,
        const ::CORBA::UnionMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::EnumDef_ptr create_enum (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::EnumMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::AliasDef_ptr create_alias (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr original_type
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::InterfaceDef_ptr create_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::InterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ValueDef_ptr 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
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ValueBoxDef_ptr create_value_box (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr original_type_def
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ExceptionDef_ptr create_exception (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::StructMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::NativeDef_ptr create_native (
        const char * id,
        const char * name,
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::AbstractInterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::LocalInterfaceDef_ptr create_local_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::InterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ExtValueDef_ptr 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
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::TypeCode_ptr discriminator_type (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::IDLType_ptr discriminator_type_def (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void discriminator_type_def (
        ::CORBA::IDLType_ptr discriminator_type_def
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::UnionMemberSeq * members (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void members (
        const ::CORBA::UnionMemberSeq & members
      );

  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    ::CORBA::Boolean rel_;

    // copy and assignment are not allowed
    UnionDef_tie (const UnionDef_tie &);
    void operator= (const UnionDef_tie &);
  };

  // TAO_IDL - Generated from
  // be\be_visitor_interface/tie_sh.cpp:87

  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  EnumDef_tie : public EnumDef
  {
  public:
    /// the T& ctor
    EnumDef_tie (T &t);
    /// ctor taking a POA
    EnumDef_tie (T &t, PortableServer::POA_ptr poa);
    /// ctor taking pointer and an ownership flag
    EnumDef_tie (T *tp, ::CORBA::Boolean release = true);
    /// ctor with T*, ownership flag and a POA
    EnumDef_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        ::CORBA::Boolean release = true
      );
    /// dtor

    ~EnumDef_tie (void);
    // TIE specific functions
    /// return the underlying object
    T *_tied_object (void);
    /// set the underlying object
    void _tied_object (T &obj);
    /// set the underlying object and the ownership flag
    void _tied_object (T *obj, ::CORBA::Boolean release = true);
    /// do we own it
    ::CORBA::Boolean _is_owner (void);
    /// set the ownership

    void _is_owner ( ::CORBA::Boolean b);
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::DefinitionKind def_kind (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void destroy (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * id (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void id (
        const char * id
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void name (
        const char * name
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * version (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void version (
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Container_ptr defined_in (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * absolute_name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Repository_ptr containing_repository (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Contained::Description * describe (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void move (
        ::CORBA::Container_ptr new_container,
        const char * new_name,
        const char * new_version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::TypeCode_ptr type (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::EnumMemberSeq * members (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void members (
        const ::CORBA::EnumMemberSeq & members
      );

  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    ::CORBA::Boolean rel_;

    // copy and assignment are not allowed
    EnumDef_tie (const EnumDef_tie &);
    void operator= (const EnumDef_tie &);
  };

  // TAO_IDL - Generated from
  // be\be_visitor_interface/tie_sh.cpp:87

  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  AliasDef_tie : public AliasDef
  {
  public:
    /// the T& ctor
    AliasDef_tie (T &t);
    /// ctor taking a POA
    AliasDef_tie (T &t, PortableServer::POA_ptr poa);
    /// ctor taking pointer and an ownership flag
    AliasDef_tie (T *tp, ::CORBA::Boolean release = true);
    /// ctor with T*, ownership flag and a POA
    AliasDef_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        ::CORBA::Boolean release = true
      );
    /// dtor

    ~AliasDef_tie (void);
    // TIE specific functions
    /// return the underlying object
    T *_tied_object (void);
    /// set the underlying object
    void _tied_object (T &obj);
    /// set the underlying object and the ownership flag
    void _tied_object (T *obj, ::CORBA::Boolean release = true);
    /// do we own it
    ::CORBA::Boolean _is_owner (void);
    /// set the ownership

    void _is_owner ( ::CORBA::Boolean b);
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::DefinitionKind def_kind (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void destroy (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * id (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void id (
        const char * id
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void name (
        const char * name
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * version (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void version (
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Container_ptr defined_in (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * absolute_name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Repository_ptr containing_repository (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Contained::Description * describe (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void move (
        ::CORBA::Container_ptr new_container,
        const char * new_name,
        const char * new_version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::TypeCode_ptr type (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::IDLType_ptr original_type_def (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void original_type_def (
        ::CORBA::IDLType_ptr original_type_def
      );

  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    ::CORBA::Boolean rel_;

    // copy and assignment are not allowed
    AliasDef_tie (const AliasDef_tie &);
    void operator= (const AliasDef_tie &);
  };

  // TAO_IDL - Generated from
  // be\be_visitor_interface/tie_sh.cpp:87

  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  NativeDef_tie : public NativeDef
  {
  public:
    /// the T& ctor
    NativeDef_tie (T &t);
    /// ctor taking a POA
    NativeDef_tie (T &t, PortableServer::POA_ptr poa);
    /// ctor taking pointer and an ownership flag
    NativeDef_tie (T *tp, ::CORBA::Boolean release = true);
    /// ctor with T*, ownership flag and a POA
    NativeDef_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        ::CORBA::Boolean release = true
      );
    /// dtor

    ~NativeDef_tie (void);
    // TIE specific functions
    /// return the underlying object
    T *_tied_object (void);
    /// set the underlying object
    void _tied_object (T &obj);
    /// set the underlying object and the ownership flag
    void _tied_object (T *obj, ::CORBA::Boolean release = true);
    /// do we own it
    ::CORBA::Boolean _is_owner (void);
    /// set the ownership

    void _is_owner ( ::CORBA::Boolean b);
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::DefinitionKind def_kind (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void destroy (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * id (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void id (
        const char * id
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void name (
        const char * name
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * version (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void version (
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Container_ptr defined_in (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * absolute_name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Repository_ptr containing_repository (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Contained::Description * describe (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void move (
        ::CORBA::Container_ptr new_container,
        const char * new_name,
        const char * new_version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::TypeCode_ptr type (
      );

  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    ::CORBA::Boolean rel_;

    // copy and assignment are not allowed
    NativeDef_tie (const NativeDef_tie &);
    void operator= (const NativeDef_tie &);
  };

  // TAO_IDL - Generated from
  // be\be_visitor_interface/tie_sh.cpp:87

  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  PrimitiveDef_tie : public PrimitiveDef
  {
  public:
    /// the T& ctor
    PrimitiveDef_tie (T &t);
    /// ctor taking a POA
    PrimitiveDef_tie (T &t, PortableServer::POA_ptr poa);
    /// ctor taking pointer and an ownership flag
    PrimitiveDef_tie (T *tp, ::CORBA::Boolean release = true);
    /// ctor with T*, ownership flag and a POA
    PrimitiveDef_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        ::CORBA::Boolean release = true
      );
    /// dtor

    ~PrimitiveDef_tie (void);
    // TIE specific functions
    /// return the underlying object
    T *_tied_object (void);
    /// set the underlying object
    void _tied_object (T &obj);
    /// set the underlying object and the ownership flag
    void _tied_object (T *obj, ::CORBA::Boolean release = true);
    /// do we own it
    ::CORBA::Boolean _is_owner (void);
    /// set the ownership

    void _is_owner ( ::CORBA::Boolean b);
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::DefinitionKind def_kind (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void destroy (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::TypeCode_ptr type (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::PrimitiveKind kind (
      );

  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    ::CORBA::Boolean rel_;

    // copy and assignment are not allowed
    PrimitiveDef_tie (const PrimitiveDef_tie &);
    void operator= (const PrimitiveDef_tie &);
  };

  // TAO_IDL - Generated from
  // be\be_visitor_interface/tie_sh.cpp:87

  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  StringDef_tie : public StringDef
  {
  public:
    /// the T& ctor
    StringDef_tie (T &t);
    /// ctor taking a POA
    StringDef_tie (T &t, PortableServer::POA_ptr poa);
    /// ctor taking pointer and an ownership flag
    StringDef_tie (T *tp, ::CORBA::Boolean release = true);
    /// ctor with T*, ownership flag and a POA
    StringDef_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        ::CORBA::Boolean release = true
      );
    /// dtor

    ~StringDef_tie (void);
    // TIE specific functions
    /// return the underlying object
    T *_tied_object (void);
    /// set the underlying object
    void _tied_object (T &obj);
    /// set the underlying object and the ownership flag
    void _tied_object (T *obj, ::CORBA::Boolean release = true);
    /// do we own it
    ::CORBA::Boolean _is_owner (void);
    /// set the ownership

    void _is_owner ( ::CORBA::Boolean b);
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::DefinitionKind def_kind (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void destroy (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::TypeCode_ptr type (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ULong bound (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void bound (
        ::CORBA::ULong bound
      );

  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    ::CORBA::Boolean rel_;

    // copy and assignment are not allowed
    StringDef_tie (const StringDef_tie &);
    void operator= (const StringDef_tie &);
  };

  // TAO_IDL - Generated from
  // be\be_visitor_interface/tie_sh.cpp:87

  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  WstringDef_tie : public WstringDef
  {
  public:
    /// the T& ctor
    WstringDef_tie (T &t);
    /// ctor taking a POA
    WstringDef_tie (T &t, PortableServer::POA_ptr poa);
    /// ctor taking pointer and an ownership flag
    WstringDef_tie (T *tp, ::CORBA::Boolean release = true);
    /// ctor with T*, ownership flag and a POA
    WstringDef_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        ::CORBA::Boolean release = true
      );
    /// dtor

    ~WstringDef_tie (void);
    // TIE specific functions
    /// return the underlying object
    T *_tied_object (void);
    /// set the underlying object
    void _tied_object (T &obj);
    /// set the underlying object and the ownership flag
    void _tied_object (T *obj, ::CORBA::Boolean release = true);
    /// do we own it
    ::CORBA::Boolean _is_owner (void);
    /// set the ownership

    void _is_owner ( ::CORBA::Boolean b);
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::DefinitionKind def_kind (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void destroy (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::TypeCode_ptr type (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ULong bound (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void bound (
        ::CORBA::ULong bound
      );

  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    ::CORBA::Boolean rel_;

    // copy and assignment are not allowed
    WstringDef_tie (const WstringDef_tie &);
    void operator= (const WstringDef_tie &);
  };

  // TAO_IDL - Generated from
  // be\be_visitor_interface/tie_sh.cpp:87

  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  SequenceDef_tie : public SequenceDef
  {
  public:
    /// the T& ctor
    SequenceDef_tie (T &t);
    /// ctor taking a POA
    SequenceDef_tie (T &t, PortableServer::POA_ptr poa);
    /// ctor taking pointer and an ownership flag
    SequenceDef_tie (T *tp, ::CORBA::Boolean release = true);
    /// ctor with T*, ownership flag and a POA
    SequenceDef_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        ::CORBA::Boolean release = true
      );
    /// dtor

    ~SequenceDef_tie (void);
    // TIE specific functions
    /// return the underlying object
    T *_tied_object (void);
    /// set the underlying object
    void _tied_object (T &obj);
    /// set the underlying object and the ownership flag
    void _tied_object (T *obj, ::CORBA::Boolean release = true);
    /// do we own it
    ::CORBA::Boolean _is_owner (void);
    /// set the ownership

    void _is_owner ( ::CORBA::Boolean b);
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::DefinitionKind def_kind (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void destroy (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::TypeCode_ptr type (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ULong bound (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void bound (
        ::CORBA::ULong bound
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::TypeCode_ptr element_type (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::IDLType_ptr element_type_def (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void element_type_def (
        ::CORBA::IDLType_ptr element_type_def
      );

  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    ::CORBA::Boolean rel_;

    // copy and assignment are not allowed
    SequenceDef_tie (const SequenceDef_tie &);
    void operator= (const SequenceDef_tie &);
  };

  // TAO_IDL - Generated from
  // be\be_visitor_interface/tie_sh.cpp:87

  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  ArrayDef_tie : public ArrayDef
  {
  public:
    /// the T& ctor
    ArrayDef_tie (T &t);
    /// ctor taking a POA
    ArrayDef_tie (T &t, PortableServer::POA_ptr poa);
    /// ctor taking pointer and an ownership flag
    ArrayDef_tie (T *tp, ::CORBA::Boolean release = true);
    /// ctor with T*, ownership flag and a POA
    ArrayDef_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        ::CORBA::Boolean release = true
      );
    /// dtor

    ~ArrayDef_tie (void);
    // TIE specific functions
    /// return the underlying object
    T *_tied_object (void);
    /// set the underlying object
    void _tied_object (T &obj);
    /// set the underlying object and the ownership flag
    void _tied_object (T *obj, ::CORBA::Boolean release = true);
    /// do we own it
    ::CORBA::Boolean _is_owner (void);
    /// set the ownership

    void _is_owner ( ::CORBA::Boolean b);
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::DefinitionKind def_kind (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void destroy (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::TypeCode_ptr type (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ULong length (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void length (
        ::CORBA::ULong length
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::TypeCode_ptr element_type (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::IDLType_ptr element_type_def (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void element_type_def (
        ::CORBA::IDLType_ptr element_type_def
      );

  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    ::CORBA::Boolean rel_;

    // copy and assignment are not allowed
    ArrayDef_tie (const ArrayDef_tie &);
    void operator= (const ArrayDef_tie &);
  };

  // TAO_IDL - Generated from
  // be\be_visitor_interface/tie_sh.cpp:87

  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  ExceptionDef_tie : public ExceptionDef
  {
  public:
    /// the T& ctor
    ExceptionDef_tie (T &t);
    /// ctor taking a POA
    ExceptionDef_tie (T &t, PortableServer::POA_ptr poa);
    /// ctor taking pointer and an ownership flag
    ExceptionDef_tie (T *tp, ::CORBA::Boolean release = true);
    /// ctor with T*, ownership flag and a POA
    ExceptionDef_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        ::CORBA::Boolean release = true
      );
    /// dtor

    ~ExceptionDef_tie (void);
    // TIE specific functions
    /// return the underlying object
    T *_tied_object (void);
    /// set the underlying object
    void _tied_object (T &obj);
    /// set the underlying object and the ownership flag
    void _tied_object (T *obj, ::CORBA::Boolean release = true);
    /// do we own it
    ::CORBA::Boolean _is_owner (void);
    /// set the ownership

    void _is_owner ( ::CORBA::Boolean b);
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::DefinitionKind def_kind (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void destroy (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * id (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void id (
        const char * id
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void name (
        const char * name
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * version (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void version (
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Container_ptr defined_in (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * absolute_name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Repository_ptr containing_repository (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Contained::Description * describe (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void move (
        ::CORBA::Container_ptr new_container,
        const char * new_name,
        const char * new_version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Contained_ptr lookup (
        const char * search_name
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ContainedSeq * contents (
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ContainedSeq * lookup_name (
        const char * search_name,
        ::CORBA::Long levels_to_search,
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Container::DescriptionSeq * describe_contents (
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited,
        ::CORBA::Long max_returned_objs
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ModuleDef_ptr create_module (
        const char * id,
        const char * name,
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ConstantDef_ptr create_constant (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr type,
        const ::CORBA::Any & value
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::StructDef_ptr create_struct (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::StructMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::UnionDef_ptr create_union (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr discriminator_type,
        const ::CORBA::UnionMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::EnumDef_ptr create_enum (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::EnumMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::AliasDef_ptr create_alias (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr original_type
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::InterfaceDef_ptr create_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::InterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ValueDef_ptr 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
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ValueBoxDef_ptr create_value_box (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr original_type_def
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ExceptionDef_ptr create_exception (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::StructMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::NativeDef_ptr create_native (
        const char * id,
        const char * name,
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::AbstractInterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::LocalInterfaceDef_ptr create_local_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::InterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ExtValueDef_ptr 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
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::TypeCode_ptr type (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::StructMemberSeq * members (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void members (
        const ::CORBA::StructMemberSeq & members
      );

  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    ::CORBA::Boolean rel_;

    // copy and assignment are not allowed
    ExceptionDef_tie (const ExceptionDef_tie &);
    void operator= (const ExceptionDef_tie &);
  };

  // TAO_IDL - Generated from
  // be\be_visitor_interface/tie_sh.cpp:87

  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  AttributeDef_tie : public AttributeDef
  {
  public:
    /// the T& ctor
    AttributeDef_tie (T &t);
    /// ctor taking a POA
    AttributeDef_tie (T &t, PortableServer::POA_ptr poa);
    /// ctor taking pointer and an ownership flag
    AttributeDef_tie (T *tp, ::CORBA::Boolean release = true);
    /// ctor with T*, ownership flag and a POA
    AttributeDef_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        ::CORBA::Boolean release = true
      );
    /// dtor

    ~AttributeDef_tie (void);
    // TIE specific functions
    /// return the underlying object
    T *_tied_object (void);
    /// set the underlying object
    void _tied_object (T &obj);
    /// set the underlying object and the ownership flag
    void _tied_object (T *obj, ::CORBA::Boolean release = true);
    /// do we own it
    ::CORBA::Boolean _is_owner (void);
    /// set the ownership

    void _is_owner ( ::CORBA::Boolean b);
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::DefinitionKind def_kind (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void destroy (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * id (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void id (
        const char * id
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void name (
        const char * name
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * version (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void version (
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Container_ptr defined_in (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * absolute_name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Repository_ptr containing_repository (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Contained::Description * describe (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void move (
        ::CORBA::Container_ptr new_container,
        const char * new_name,
        const char * new_version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::TypeCode_ptr type (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::IDLType_ptr type_def (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void type_def (
        ::CORBA::IDLType_ptr type_def
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::AttributeMode mode (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void mode (
        ::CORBA::AttributeMode mode
      );

  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    ::CORBA::Boolean rel_;

    // copy and assignment are not allowed
    AttributeDef_tie (const AttributeDef_tie &);
    void operator= (const AttributeDef_tie &);
  };

  // TAO_IDL - Generated from
  // be\be_visitor_interface/tie_sh.cpp:87

  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  ExtAttributeDef_tie : public ExtAttributeDef
  {
  public:
    /// the T& ctor
    ExtAttributeDef_tie (T &t);
    /// ctor taking a POA
    ExtAttributeDef_tie (T &t, PortableServer::POA_ptr poa);
    /// ctor taking pointer and an ownership flag
    ExtAttributeDef_tie (T *tp, ::CORBA::Boolean release = true);
    /// ctor with T*, ownership flag and a POA
    ExtAttributeDef_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        ::CORBA::Boolean release = true
      );
    /// dtor

    ~ExtAttributeDef_tie (void);
    // TIE specific functions
    /// return the underlying object
    T *_tied_object (void);
    /// set the underlying object
    void _tied_object (T &obj);
    /// set the underlying object and the ownership flag
    void _tied_object (T *obj, ::CORBA::Boolean release = true);
    /// do we own it
    ::CORBA::Boolean _is_owner (void);
    /// set the ownership

    void _is_owner ( ::CORBA::Boolean b);
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::DefinitionKind def_kind (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void destroy (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * id (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void id (
        const char * id
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void name (
        const char * name
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * version (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void version (
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Container_ptr defined_in (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * absolute_name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Repository_ptr containing_repository (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Contained::Description * describe (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void move (
        ::CORBA::Container_ptr new_container,
        const char * new_name,
        const char * new_version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::TypeCode_ptr type (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::IDLType_ptr type_def (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void type_def (
        ::CORBA::IDLType_ptr type_def
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::AttributeMode mode (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void mode (
        ::CORBA::AttributeMode mode
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ExcDescriptionSeq * get_exceptions (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void get_exceptions (
        const ::CORBA::ExcDescriptionSeq & get_exceptions
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ExcDescriptionSeq * set_exceptions (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void set_exceptions (
        const ::CORBA::ExcDescriptionSeq & set_exceptions
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ExtAttributeDescription * describe_attribute (
      );

  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    ::CORBA::Boolean rel_;

    // copy and assignment are not allowed
    ExtAttributeDef_tie (const ExtAttributeDef_tie &);
    void operator= (const ExtAttributeDef_tie &);
  };

  // TAO_IDL - Generated from
  // be\be_visitor_interface/tie_sh.cpp:87

  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  OperationDef_tie : public OperationDef
  {
  public:
    /// the T& ctor
    OperationDef_tie (T &t);
    /// ctor taking a POA
    OperationDef_tie (T &t, PortableServer::POA_ptr poa);
    /// ctor taking pointer and an ownership flag
    OperationDef_tie (T *tp, ::CORBA::Boolean release = true);
    /// ctor with T*, ownership flag and a POA
    OperationDef_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        ::CORBA::Boolean release = true
      );
    /// dtor

    ~OperationDef_tie (void);
    // TIE specific functions
    /// return the underlying object
    T *_tied_object (void);
    /// set the underlying object
    void _tied_object (T &obj);
    /// set the underlying object and the ownership flag
    void _tied_object (T *obj, ::CORBA::Boolean release = true);
    /// do we own it
    ::CORBA::Boolean _is_owner (void);
    /// set the ownership

    void _is_owner ( ::CORBA::Boolean b);
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::DefinitionKind def_kind (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void destroy (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * id (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void id (
        const char * id
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void name (
        const char * name
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * version (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void version (
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Container_ptr defined_in (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * absolute_name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Repository_ptr containing_repository (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Contained::Description * describe (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void move (
        ::CORBA::Container_ptr new_container,
        const char * new_name,
        const char * new_version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::TypeCode_ptr result (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::IDLType_ptr result_def (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void result_def (
        ::CORBA::IDLType_ptr result_def
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ParDescriptionSeq * params (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void params (
        const ::CORBA::ParDescriptionSeq & params
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::OperationMode mode (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void mode (
        ::CORBA::OperationMode mode
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ContextIdSeq * contexts (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void contexts (
        const ::CORBA::ContextIdSeq & contexts
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ExceptionDefSeq * exceptions (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void exceptions (
        const ::CORBA::ExceptionDefSeq & exceptions
      );

  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    ::CORBA::Boolean rel_;

    // copy and assignment are not allowed
    OperationDef_tie (const OperationDef_tie &);
    void operator= (const OperationDef_tie &);
  };

  // TAO_IDL - Generated from
  // be\be_visitor_interface/tie_sh.cpp:87

  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  InterfaceDef_tie : public InterfaceDef
  {
  public:
    /// the T& ctor
    InterfaceDef_tie (T &t);
    /// ctor taking a POA
    InterfaceDef_tie (T &t, PortableServer::POA_ptr poa);
    /// ctor taking pointer and an ownership flag
    InterfaceDef_tie (T *tp, ::CORBA::Boolean release = true);
    /// ctor with T*, ownership flag and a POA
    InterfaceDef_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        ::CORBA::Boolean release = true
      );
    /// dtor

    ~InterfaceDef_tie (void);
    // TIE specific functions
    /// return the underlying object
    T *_tied_object (void);
    /// set the underlying object
    void _tied_object (T &obj);
    /// set the underlying object and the ownership flag
    void _tied_object (T *obj, ::CORBA::Boolean release = true);
    /// do we own it
    ::CORBA::Boolean _is_owner (void);
    /// set the ownership

    void _is_owner ( ::CORBA::Boolean b);
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::DefinitionKind def_kind (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void destroy (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Contained_ptr lookup (
        const char * search_name
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ContainedSeq * contents (
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ContainedSeq * lookup_name (
        const char * search_name,
        ::CORBA::Long levels_to_search,
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Container::DescriptionSeq * describe_contents (
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited,
        ::CORBA::Long max_returned_objs
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ModuleDef_ptr create_module (
        const char * id,
        const char * name,
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ConstantDef_ptr create_constant (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr type,
        const ::CORBA::Any & value
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::StructDef_ptr create_struct (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::StructMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::UnionDef_ptr create_union (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr discriminator_type,
        const ::CORBA::UnionMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::EnumDef_ptr create_enum (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::EnumMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::AliasDef_ptr create_alias (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr original_type
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::InterfaceDef_ptr create_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::InterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ValueDef_ptr 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
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ValueBoxDef_ptr create_value_box (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr original_type_def
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ExceptionDef_ptr create_exception (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::StructMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::NativeDef_ptr create_native (
        const char * id,
        const char * name,
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::AbstractInterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::LocalInterfaceDef_ptr create_local_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::InterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ExtValueDef_ptr 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
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * id (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void id (
        const char * id
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void name (
        const char * name
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * version (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void version (
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Container_ptr defined_in (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * absolute_name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Repository_ptr containing_repository (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Contained::Description * describe (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void move (
        ::CORBA::Container_ptr new_container,
        const char * new_name,
        const char * new_version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::TypeCode_ptr type (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::InterfaceDefSeq * base_interfaces (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void base_interfaces (
        const ::CORBA::InterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Boolean is_a (
        const char * interface_id
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::InterfaceDef::FullInterfaceDescription * describe_interface (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::AttributeDef_ptr create_attribute (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr type,
        ::CORBA::AttributeMode mode
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::OperationDef_ptr 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
      );

  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    ::CORBA::Boolean rel_;

    // copy and assignment are not allowed
    InterfaceDef_tie (const InterfaceDef_tie &);
    void operator= (const InterfaceDef_tie &);
  };

  // TAO_IDL - Generated from
  // be\be_visitor_interface/tie_sh.cpp:87

  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  InterfaceAttrExtension_tie : public InterfaceAttrExtension
  {
  public:
    /// the T& ctor
    InterfaceAttrExtension_tie (T &t);
    /// ctor taking a POA
    InterfaceAttrExtension_tie (T &t, PortableServer::POA_ptr poa);
    /// ctor taking pointer and an ownership flag
    InterfaceAttrExtension_tie (T *tp, ::CORBA::Boolean release = true);
    /// ctor with T*, ownership flag and a POA
    InterfaceAttrExtension_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        ::CORBA::Boolean release = true
      );
    /// dtor

    ~InterfaceAttrExtension_tie (void);
    // TIE specific functions
    /// return the underlying object
    T *_tied_object (void);
    /// set the underlying object
    void _tied_object (T &obj);
    /// set the underlying object and the ownership flag
    void _tied_object (T *obj, ::CORBA::Boolean release = true);
    /// do we own it
    ::CORBA::Boolean _is_owner (void);
    /// set the ownership

    void _is_owner ( ::CORBA::Boolean b);
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription * describe_ext_interface (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ExtAttributeDef_ptr 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
      );

  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    ::CORBA::Boolean rel_;

    // copy and assignment are not allowed
    InterfaceAttrExtension_tie (const InterfaceAttrExtension_tie &);
    void operator= (const InterfaceAttrExtension_tie &);
  };

  // TAO_IDL - Generated from
  // be\be_visitor_interface/tie_sh.cpp:87

  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  ExtInterfaceDef_tie : public ExtInterfaceDef
  {
  public:
    /// the T& ctor
    ExtInterfaceDef_tie (T &t);
    /// ctor taking a POA
    ExtInterfaceDef_tie (T &t, PortableServer::POA_ptr poa);
    /// ctor taking pointer and an ownership flag
    ExtInterfaceDef_tie (T *tp, ::CORBA::Boolean release = true);
    /// ctor with T*, ownership flag and a POA
    ExtInterfaceDef_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        ::CORBA::Boolean release = true
      );
    /// dtor

    ~ExtInterfaceDef_tie (void);
    // TIE specific functions
    /// return the underlying object
    T *_tied_object (void);
    /// set the underlying object
    void _tied_object (T &obj);
    /// set the underlying object and the ownership flag
    void _tied_object (T *obj, ::CORBA::Boolean release = true);
    /// do we own it
    ::CORBA::Boolean _is_owner (void);
    /// set the ownership

    void _is_owner ( ::CORBA::Boolean b);
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::DefinitionKind def_kind (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void destroy (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Contained_ptr lookup (
        const char * search_name
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ContainedSeq * contents (
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ContainedSeq * lookup_name (
        const char * search_name,
        ::CORBA::Long levels_to_search,
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Container::DescriptionSeq * describe_contents (
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited,
        ::CORBA::Long max_returned_objs
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ModuleDef_ptr create_module (
        const char * id,
        const char * name,
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ConstantDef_ptr create_constant (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr type,
        const ::CORBA::Any & value
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::StructDef_ptr create_struct (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::StructMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::UnionDef_ptr create_union (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr discriminator_type,
        const ::CORBA::UnionMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::EnumDef_ptr create_enum (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::EnumMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::AliasDef_ptr create_alias (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr original_type
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::InterfaceDef_ptr create_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::InterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ValueDef_ptr 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
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ValueBoxDef_ptr create_value_box (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr original_type_def
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ExceptionDef_ptr create_exception (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::StructMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::NativeDef_ptr create_native (
        const char * id,
        const char * name,
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::AbstractInterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::LocalInterfaceDef_ptr create_local_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::InterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ExtValueDef_ptr 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
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * id (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void id (
        const char * id
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void name (
        const char * name
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * version (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void version (
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Container_ptr defined_in (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * absolute_name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Repository_ptr containing_repository (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Contained::Description * describe (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void move (
        ::CORBA::Container_ptr new_container,
        const char * new_name,
        const char * new_version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::TypeCode_ptr type (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::InterfaceDefSeq * base_interfaces (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void base_interfaces (
        const ::CORBA::InterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Boolean is_a (
        const char * interface_id
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::InterfaceDef::FullInterfaceDescription * describe_interface (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::AttributeDef_ptr create_attribute (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr type,
        ::CORBA::AttributeMode mode
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::OperationDef_ptr 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
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription * describe_ext_interface (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ExtAttributeDef_ptr 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
      );

  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    ::CORBA::Boolean rel_;

    // copy and assignment are not allowed
    ExtInterfaceDef_tie (const ExtInterfaceDef_tie &);
    void operator= (const ExtInterfaceDef_tie &);
  };

  // TAO_IDL - Generated from
  // be\be_visitor_interface/tie_sh.cpp:87

  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  AbstractInterfaceDef_tie : public AbstractInterfaceDef
  {
  public:
    /// the T& ctor
    AbstractInterfaceDef_tie (T &t);
    /// ctor taking a POA
    AbstractInterfaceDef_tie (T &t, PortableServer::POA_ptr poa);
    /// ctor taking pointer and an ownership flag
    AbstractInterfaceDef_tie (T *tp, ::CORBA::Boolean release = true);
    /// ctor with T*, ownership flag and a POA
    AbstractInterfaceDef_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        ::CORBA::Boolean release = true
      );
    /// dtor

    ~AbstractInterfaceDef_tie (void);
    // TIE specific functions
    /// return the underlying object
    T *_tied_object (void);
    /// set the underlying object
    void _tied_object (T &obj);
    /// set the underlying object and the ownership flag
    void _tied_object (T *obj, ::CORBA::Boolean release = true);
    /// do we own it
    ::CORBA::Boolean _is_owner (void);
    /// set the ownership

    void _is_owner ( ::CORBA::Boolean b);
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::DefinitionKind def_kind (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void destroy (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Contained_ptr lookup (
        const char * search_name
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ContainedSeq * contents (
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ContainedSeq * lookup_name (
        const char * search_name,
        ::CORBA::Long levels_to_search,
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Container::DescriptionSeq * describe_contents (
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited,
        ::CORBA::Long max_returned_objs
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ModuleDef_ptr create_module (
        const char * id,
        const char * name,
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ConstantDef_ptr create_constant (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr type,
        const ::CORBA::Any & value
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::StructDef_ptr create_struct (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::StructMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::UnionDef_ptr create_union (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr discriminator_type,
        const ::CORBA::UnionMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::EnumDef_ptr create_enum (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::EnumMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::AliasDef_ptr create_alias (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr original_type
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::InterfaceDef_ptr create_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::InterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ValueDef_ptr 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
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ValueBoxDef_ptr create_value_box (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr original_type_def
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ExceptionDef_ptr create_exception (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::StructMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::NativeDef_ptr create_native (
        const char * id,
        const char * name,
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::AbstractInterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::LocalInterfaceDef_ptr create_local_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::InterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ExtValueDef_ptr 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
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * id (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void id (
        const char * id
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void name (
        const char * name
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * version (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void version (
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Container_ptr defined_in (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * absolute_name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Repository_ptr containing_repository (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Contained::Description * describe (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void move (
        ::CORBA::Container_ptr new_container,
        const char * new_name,
        const char * new_version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::TypeCode_ptr type (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::InterfaceDefSeq * base_interfaces (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void base_interfaces (
        const ::CORBA::InterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Boolean is_a (
        const char * interface_id
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::InterfaceDef::FullInterfaceDescription * describe_interface (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::AttributeDef_ptr create_attribute (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr type,
        ::CORBA::AttributeMode mode
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::OperationDef_ptr 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
      );

  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    ::CORBA::Boolean rel_;

    // copy and assignment are not allowed
    AbstractInterfaceDef_tie (const AbstractInterfaceDef_tie &);
    void operator= (const AbstractInterfaceDef_tie &);
  };

  // TAO_IDL - Generated from
  // be\be_visitor_interface/tie_sh.cpp:87

  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  ExtAbstractInterfaceDef_tie : public ExtAbstractInterfaceDef
  {
  public:
    /// the T& ctor
    ExtAbstractInterfaceDef_tie (T &t);
    /// ctor taking a POA
    ExtAbstractInterfaceDef_tie (T &t, PortableServer::POA_ptr poa);
    /// ctor taking pointer and an ownership flag
    ExtAbstractInterfaceDef_tie (T *tp, ::CORBA::Boolean release = true);
    /// ctor with T*, ownership flag and a POA
    ExtAbstractInterfaceDef_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        ::CORBA::Boolean release = true
      );
    /// dtor

    ~ExtAbstractInterfaceDef_tie (void);
    // TIE specific functions
    /// return the underlying object
    T *_tied_object (void);
    /// set the underlying object
    void _tied_object (T &obj);
    /// set the underlying object and the ownership flag
    void _tied_object (T *obj, ::CORBA::Boolean release = true);
    /// do we own it
    ::CORBA::Boolean _is_owner (void);
    /// set the ownership

    void _is_owner ( ::CORBA::Boolean b);
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::DefinitionKind def_kind (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void destroy (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Contained_ptr lookup (
        const char * search_name
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ContainedSeq * contents (
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ContainedSeq * lookup_name (
        const char * search_name,
        ::CORBA::Long levels_to_search,
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Container::DescriptionSeq * describe_contents (
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited,
        ::CORBA::Long max_returned_objs
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ModuleDef_ptr create_module (
        const char * id,
        const char * name,
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ConstantDef_ptr create_constant (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr type,
        const ::CORBA::Any & value
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::StructDef_ptr create_struct (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::StructMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::UnionDef_ptr create_union (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr discriminator_type,
        const ::CORBA::UnionMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::EnumDef_ptr create_enum (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::EnumMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::AliasDef_ptr create_alias (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr original_type
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::InterfaceDef_ptr create_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::InterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ValueDef_ptr 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
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ValueBoxDef_ptr create_value_box (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr original_type_def
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ExceptionDef_ptr create_exception (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::StructMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::NativeDef_ptr create_native (
        const char * id,
        const char * name,
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::AbstractInterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::LocalInterfaceDef_ptr create_local_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::InterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ExtValueDef_ptr 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
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * id (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void id (
        const char * id
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void name (
        const char * name
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * version (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void version (
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Container_ptr defined_in (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * absolute_name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Repository_ptr containing_repository (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Contained::Description * describe (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void move (
        ::CORBA::Container_ptr new_container,
        const char * new_name,
        const char * new_version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::TypeCode_ptr type (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::InterfaceDefSeq * base_interfaces (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void base_interfaces (
        const ::CORBA::InterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Boolean is_a (
        const char * interface_id
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::InterfaceDef::FullInterfaceDescription * describe_interface (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::AttributeDef_ptr create_attribute (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr type,
        ::CORBA::AttributeMode mode
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::OperationDef_ptr 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
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription * describe_ext_interface (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ExtAttributeDef_ptr 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
      );

  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    ::CORBA::Boolean rel_;

    // copy and assignment are not allowed
    ExtAbstractInterfaceDef_tie (const ExtAbstractInterfaceDef_tie &);
    void operator= (const ExtAbstractInterfaceDef_tie &);
  };

  // TAO_IDL - Generated from
  // be\be_visitor_interface/tie_sh.cpp:87

  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  LocalInterfaceDef_tie : public LocalInterfaceDef
  {
  public:
    /// the T& ctor
    LocalInterfaceDef_tie (T &t);
    /// ctor taking a POA
    LocalInterfaceDef_tie (T &t, PortableServer::POA_ptr poa);
    /// ctor taking pointer and an ownership flag
    LocalInterfaceDef_tie (T *tp, ::CORBA::Boolean release = true);
    /// ctor with T*, ownership flag and a POA
    LocalInterfaceDef_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        ::CORBA::Boolean release = true
      );
    /// dtor

    ~LocalInterfaceDef_tie (void);
    // TIE specific functions
    /// return the underlying object
    T *_tied_object (void);
    /// set the underlying object
    void _tied_object (T &obj);
    /// set the underlying object and the ownership flag
    void _tied_object (T *obj, ::CORBA::Boolean release = true);
    /// do we own it
    ::CORBA::Boolean _is_owner (void);
    /// set the ownership

    void _is_owner ( ::CORBA::Boolean b);
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::DefinitionKind def_kind (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void destroy (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Contained_ptr lookup (
        const char * search_name
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ContainedSeq * contents (
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ContainedSeq * lookup_name (
        const char * search_name,
        ::CORBA::Long levels_to_search,
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Container::DescriptionSeq * describe_contents (
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited,
        ::CORBA::Long max_returned_objs
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ModuleDef_ptr create_module (
        const char * id,
        const char * name,
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ConstantDef_ptr create_constant (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr type,
        const ::CORBA::Any & value
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::StructDef_ptr create_struct (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::StructMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::UnionDef_ptr create_union (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr discriminator_type,
        const ::CORBA::UnionMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::EnumDef_ptr create_enum (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::EnumMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::AliasDef_ptr create_alias (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr original_type
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::InterfaceDef_ptr create_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::InterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ValueDef_ptr 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
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ValueBoxDef_ptr create_value_box (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr original_type_def
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ExceptionDef_ptr create_exception (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::StructMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::NativeDef_ptr create_native (
        const char * id,
        const char * name,
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::AbstractInterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::LocalInterfaceDef_ptr create_local_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::InterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ExtValueDef_ptr 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
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * id (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void id (
        const char * id
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void name (
        const char * name
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * version (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void version (
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Container_ptr defined_in (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * absolute_name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Repository_ptr containing_repository (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Contained::Description * describe (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void move (
        ::CORBA::Container_ptr new_container,
        const char * new_name,
        const char * new_version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::TypeCode_ptr type (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::InterfaceDefSeq * base_interfaces (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void base_interfaces (
        const ::CORBA::InterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Boolean is_a (
        const char * interface_id
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::InterfaceDef::FullInterfaceDescription * describe_interface (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::AttributeDef_ptr create_attribute (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr type,
        ::CORBA::AttributeMode mode
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::OperationDef_ptr 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
      );

  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    ::CORBA::Boolean rel_;

    // copy and assignment are not allowed
    LocalInterfaceDef_tie (const LocalInterfaceDef_tie &);
    void operator= (const LocalInterfaceDef_tie &);
  };

  // TAO_IDL - Generated from
  // be\be_visitor_interface/tie_sh.cpp:87

  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  ExtLocalInterfaceDef_tie : public ExtLocalInterfaceDef
  {
  public:
    /// the T& ctor
    ExtLocalInterfaceDef_tie (T &t);
    /// ctor taking a POA
    ExtLocalInterfaceDef_tie (T &t, PortableServer::POA_ptr poa);
    /// ctor taking pointer and an ownership flag
    ExtLocalInterfaceDef_tie (T *tp, ::CORBA::Boolean release = true);
    /// ctor with T*, ownership flag and a POA
    ExtLocalInterfaceDef_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        ::CORBA::Boolean release = true
      );
    /// dtor

    ~ExtLocalInterfaceDef_tie (void);
    // TIE specific functions
    /// return the underlying object
    T *_tied_object (void);
    /// set the underlying object
    void _tied_object (T &obj);
    /// set the underlying object and the ownership flag
    void _tied_object (T *obj, ::CORBA::Boolean release = true);
    /// do we own it
    ::CORBA::Boolean _is_owner (void);
    /// set the ownership

    void _is_owner ( ::CORBA::Boolean b);
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::DefinitionKind def_kind (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void destroy (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Contained_ptr lookup (
        const char * search_name
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ContainedSeq * contents (
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ContainedSeq * lookup_name (
        const char * search_name,
        ::CORBA::Long levels_to_search,
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Container::DescriptionSeq * describe_contents (
        ::CORBA::DefinitionKind limit_type,
        ::CORBA::Boolean exclude_inherited,
        ::CORBA::Long max_returned_objs
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ModuleDef_ptr create_module (
        const char * id,
        const char * name,
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ConstantDef_ptr create_constant (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr type,
        const ::CORBA::Any & value
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::StructDef_ptr create_struct (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::StructMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::UnionDef_ptr create_union (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr discriminator_type,
        const ::CORBA::UnionMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::EnumDef_ptr create_enum (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::EnumMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::AliasDef_ptr create_alias (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr original_type
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::InterfaceDef_ptr create_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::InterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ValueDef_ptr 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
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ValueBoxDef_ptr create_value_box (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr original_type_def
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ExceptionDef_ptr create_exception (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::StructMemberSeq & members
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::NativeDef_ptr create_native (
        const char * id,
        const char * name,
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::AbstractInterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::LocalInterfaceDef_ptr create_local_interface (
        const char * id,
        const char * name,
        const char * version,
        const ::CORBA::InterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ExtValueDef_ptr 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
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * id (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void id (
        const char * id
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void name (
        const char * name
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * version (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void version (
        const char * version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Container_ptr defined_in (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    char * absolute_name (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Repository_ptr containing_repository (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Contained::Description * describe (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void move (
        ::CORBA::Container_ptr new_container,
        const char * new_name,
        const char * new_version
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::TypeCode_ptr type (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::InterfaceDefSeq * base_interfaces (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    void base_interfaces (
        const ::CORBA::InterfaceDefSeq & base_interfaces
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::Boolean is_a (
        const char * interface_id
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::InterfaceDef::FullInterfaceDescription * describe_interface (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::AttributeDef_ptr create_attribute (
        const char * id,
        const char * name,
        const char * version,
        ::CORBA::IDLType_ptr type,
        ::CORBA::AttributeMode mode
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::OperationDef_ptr 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
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription * describe_ext_interface (
      );

    // TAO_IDL - Generated from
    // be\be_visitor_operation/tie_sh.cpp:60

    ::CORBA::ExtAttributeDef_ptr 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
      );

  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    ::CORBA::Boolean rel_;

    // copy and assignment are not allowed
    ExtLocalInterfaceDef_tie (const ExtLocalInterfaceDef_tie &);
    void operator= (const ExtLocalInterfaceDef_tie &);
  };
} // module CORBA

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


TAO_END_VERSIONED_NAMESPACE_DECL

#if defined (__ACE_INLINE__)
#include "IFR_BasicS_T.inl"
#endif /* defined INLINE */

#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
#include "IFR_BasicS_T.cpp"
#endif /* defined REQUIRED SOURCE */

#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
#pragma implementation ("IFR_BasicS_T.cpp")
#endif /* defined REQUIRED PRAGMA */

#include /**/ "ace/post.h"
#endif /* ifndef */

