summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbala <balanatarajan@users.noreply.github.com>2003-10-25 14:14:29 +0000
committerbala <balanatarajan@users.noreply.github.com>2003-10-25 14:14:29 +0000
commit6e709c5a5e2cd8791f638f5a8333fc30257a6669 (patch)
tree66b761eb4508d60f48d9f27066eb5f6736406253
parentb4fc474c68da5b22ac89d954ef00c52ebe8c2d46 (diff)
downloadATCD-6e709c5a5e2cd8791f638f5a8333fc30257a6669.tar.gz
ChangeLogTag:Sat Oct 25 09:15:21 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-rw-r--r--TAO/ChangeLog_ref24
-rw-r--r--TAO/tao/Any.cpp46
-rw-r--r--TAO/tao/Object.cpp7
-rw-r--r--TAO/tao/Policy.pidl4
-rw-r--r--TAO/tao/PolicyC.cpp10
-rw-r--r--TAO/tao/Policy_ForwardC.cpp2
-rw-r--r--TAO/tao/PortableInterceptorC.cpp6
-rw-r--r--TAO/tao/PortableServer/PortableServerC.cpp5
-rw-r--r--TAO/tao/Typecode.cpp54
-rw-r--r--TAO/tao/Valuetype/ValueBase.cpp32
-rw-r--r--TAO/tao/Valuetype/ValueBase.h16
-rw-r--r--TAO/tao/Valuetype/ValueFactory.cpp31
-rw-r--r--TAO/tao/Valuetype/ValueFactory.h23
13 files changed, 204 insertions, 56 deletions
diff --git a/TAO/ChangeLog_ref b/TAO/ChangeLog_ref
index 4f663f28f78..33a205aab06 100644
--- a/TAO/ChangeLog_ref
+++ b/TAO/ChangeLog_ref
@@ -1,3 +1,27 @@
+Sat Oct 25 09:15:21 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * tao/Any.cpp:
+ * tao/Object.cpp:
+ * tao/PolicyC.cpp:
+ * tao/Policy_ForwardC.cpp:
+ * tao/PortableInterceptorC.cpp:
+ * tao/Typecode.cpp:
+ * tao/PortableServer/PortableServerC.cpp:
+
+ More explicit template instantiations.
+
+ * tao/Valuetype/ValueBase.cpp:
+ * tao/Valuetype/ValueBase.h:
+ * tao/Valuetype/ValueFactory.cpp:
+ * tao/Valuetype/ValueFactory.h:
+
+ Template specializations for Value_Traits<ValueBase> and
+ Value_Traits<ValueFactoryBase>.
+
+ * tao/Policy.pidl:
+
+ Fixed command line arguments.
+
Sat Oct 25 000:28:02 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
* tao/Any.cpp:
diff --git a/TAO/tao/Any.cpp b/TAO/tao/Any.cpp
index 904116eed11..81282d8ecdc 100644
--- a/TAO/tao/Any.cpp
+++ b/TAO/tao/Any.cpp
@@ -10,6 +10,11 @@
#include "ace/Log_Msg.h"
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) \
+ || defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#include "Var_Size_Argument_T.h"
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
#if !defined (__ACE_INLINE__)
# include "tao/Any.i"
#endif /* ! __ACE_INLINE__ */
@@ -777,13 +782,14 @@ template class TAO::Arg_Traits<CORBA::Any>;
template class TAO::Var_Size_Arg_Traits_T<CORBA::Any,
CORBA::Any_var,
CORBA::Any_out>;
-template class TAO::In_Var_Size_Argument_T<CORBA::Any>;
-template class TAO::Inout_Var_Size_Argument_T<CORBA::Any>;
-template class TAO::Out_Var_Size_Argument_T<CORBA::Any,
- CORBA::Any_out>;
-template class TAO::Ret_Var_Size_Argument_T<CORBA::Any,
- CORBA::Any_var>;
+template TAO::In_Var_Size_Argument_T<CORBA::Any>;
+template TAO::Out_Var_Size_Argument_T<CORBA::Any, CORBA::Any_out>;
+template TAO::Inout_Var_Size_Argument_T<CORBA::Any>;
+template TAO::Ret_Var_Size_Argument_T<CORBA::Any, CORBA::Any_var>;
+
+#if 0
+// Needed in the future..
template class TAO::SArg_Traits<CORBA::Any>;
template class TAO::Var_Size_SArg_Traits_T<CORBA::Any,
CORBA::Any_var,
@@ -794,18 +800,19 @@ template class TAO::Out_Var_Size_SArgument_T<CORBA::Any,
CORBA::Any_var>;
template class TAO::Ret_Var_Size_SArgument_T<CORBA::Any,
CORBA::Any_var>;
+#endif /*if 0*/
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate TAO::Any_Special_Impl_T<
- char,
- CORBA::Any::from_string,
- CORBA::Any::to_string
+#pragma instantiate TAO::Any_Special_Impl_T< \
+ char, \
+ CORBA::Any::from_string, \
+ CORBA::Any::to_string \
>
-#pragma instantiate TAO::Any_Special_Impl_T<
- CORBA::WChar,
- CORBA::Any::from_wstring,
- CORBA::Any::to_wstring
+#pragma instantiate TAO::Any_Special_Impl_T< \
+ CORBA::WChar, \
+ CORBA::Any::from_wstring, \
+ CORBA::Any::to_wstring \
>
#pragma instantiate TAO::Any_Dual_Impl_T<CORBA::Any>
@@ -817,6 +824,9 @@ template class TAO::Ret_Var_Size_SArgument_T<CORBA::Any,
#pragma instantiate TAO::Arg_Traits<CORBA::Any>
#pragma instantiate TAO::Var_Size_Arg_Traits_T<CORBA::Any, \
+ CORBA::Any_var, \
+ CORBA::Any_out>
+#pragma instantiate TAO::Var_Size_Arg_Traits_T<CORBA::Any, \
CORBA::Any_var, \
CORBA::Any_out>
#pragma instantiate TAO::In_Var_Size_Argument_T<CORBA::Any>
@@ -837,4 +847,12 @@ template class TAO::Ret_Var_Size_SArgument_T<CORBA::Any,
#pragma instantiate TAO::Ret_Var_Size_SArgument_T<CORBA::Any, \
CORBA::Any_var>
+#pragma instantiate TAO::In_Var_Size_Argument_T<CORBA::Any>
+
+#pragma instantiate TAO::Out_Var_Size_Argument_T<CORBA::Any, \
+ CORBA::Any_out>
+#pragma instantiate TAO::Inout_Var_Size_Argument_T<CORBA::Any>
+#pragma instantiate TAO::Ret_Var_Size_Argument_T<CORBA::Any, \
+ CORBA::Any_var>
+
#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/tao/Object.cpp b/TAO/tao/Object.cpp
index 62158c09569..2868e27e5fa 100644
--- a/TAO/tao/Object.cpp
+++ b/TAO/tao/Object.cpp
@@ -998,13 +998,13 @@ template class TAO_Pseudo_Var_T<CORBA::Object>;
template class TAO_Pseudo_Out_T<CORBA::Object, CORBA::Object_var>;
template class TAO::Arg_Traits<CORBA::Object>;
-template class
+template class
TAO::Object_Arg_Traits_T<CORBA::Object_ptr,
CORBA::Object_var,
CORBA::Object_out,
TAO::Objref_Traits<CORBA::Object> >;
template class TAO::In_Object_Argument_T<CORBA::Object_ptr>;
-template class
+template class
TAO::Inout_Object_Argument_T<CORBA::Object_ptr,
TAO::Objref_Traits<CORBA::Object> >;
template class TAO::Out_Object_Argument_T<CORBA::Object_ptr,
@@ -1012,6 +1012,8 @@ template class TAO::Out_Object_Argument_T<CORBA::Object_ptr,
template class TAO::Ret_Object_Argument_T<CORBA::Object_ptr,
CORBA::Object_var>;
+#if 0
+// Needed in the future
template class TAO::SArg_Traits<CORBA::Object>;
template class TAO::Object_SArg_Traits_T<CORBA::Object_ptr,
CORBA::Object_var,
@@ -1025,6 +1027,7 @@ template class TAO::Out_Object_SArgument_T<CORBA::Object_ptr,
CORBA::Object_out>;
template class TAO::Ret_Object_SArgument_T<CORBA::Object_ptr,
CORBA::Object_var>;
+#endif /*if 0*/
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
diff --git a/TAO/tao/Policy.pidl b/TAO/tao/Policy.pidl
index 1374580b17b..2f6ccffaea2 100644
--- a/TAO/tao/Policy.pidl
+++ b/TAO/tao/Policy.pidl
@@ -17,9 +17,9 @@
* command used for this is:
*
* tao_idl.exe
- * -o orig -Gp -Gd -Ge 1
+ * -o orig -Gp -Gd -Ge 1 -GT
* -Wb,export_macro=TAO_Export
- * -Wb,export_include="tao/corbafwd.h"
+ * -Wb,export_include="tao/TAO_Export.h"
* -Wb,pre_include="ace/pre.h"
* -Wb,post_include="ace/post.h"
* Policy.pidl
diff --git a/TAO/tao/PolicyC.cpp b/TAO/tao/PolicyC.cpp
index 625c0babc47..63a434fec6d 100644
--- a/TAO/tao/PolicyC.cpp
+++ b/TAO/tao/PolicyC.cpp
@@ -1788,6 +1788,11 @@ CORBA::Boolean operator>> (
CORBA::PolicyCurrent
>;
+template class
+ TAO::Any_Dual_Impl_T<CORBA::PolicyError>;
+template class
+ TAO::Any_Dual_Impl_T<CORBA::InvalidPolicies>;
+
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
#if !defined (_CORBA_POLICY__ARG_TRAITS_TMPLINST_CS_)
@@ -1858,4 +1863,9 @@ CORBA::Boolean operator>> (
CORBA::PolicyCurrent \
>
+#pragma instantiate \
+ TAO::Any_Dual_Impl_T<CORBA::PolicyError>
+#pragma instantiate \
+ TAO::Any_Dual_Impl_T<CORBA::InvalidPolicies>
+
#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/tao/Policy_ForwardC.cpp b/TAO/tao/Policy_ForwardC.cpp
index 582d6e06f1d..d9ca2494fa2 100644
--- a/TAO/tao/Policy_ForwardC.cpp
+++ b/TAO/tao/Policy_ForwardC.cpp
@@ -799,6 +799,6 @@ CORBA::Boolean operator>> (
# pragma instantiate \
TAO::Any_Basic_Impl_T< \
CORBA::SetOverrideType \
- >
+x >
#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/tao/PortableInterceptorC.cpp b/TAO/tao/PortableInterceptorC.cpp
index 17f73ce292f..aadbf2f7bfa 100644
--- a/TAO/tao/PortableInterceptorC.cpp
+++ b/TAO/tao/PortableInterceptorC.cpp
@@ -3544,6 +3544,12 @@ operator>>= (
PortableInterceptor::ORBInitializer
>;
+ template class
+ TAO::Any_Dual_Impl_T<PortableInterceptor::ForwardRequest>;
+
+ template class
+ TAO::Any_Dual_Impl_T<PortableInterceptor::InvalidSlot>;
+
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
# pragma instantiate TAO::Objref_Traits<PortableInterceptor::Interceptor>
diff --git a/TAO/tao/PortableServer/PortableServerC.cpp b/TAO/tao/PortableServer/PortableServerC.cpp
index 5e843e2f973..d1c82ed6434 100644
--- a/TAO/tao/PortableServer/PortableServerC.cpp
+++ b/TAO/tao/PortableServer/PortableServerC.cpp
@@ -7575,11 +7575,6 @@ CORBA::Boolean operator>> (
PortableServer::RequestProcessingPolicy
>;
- template class
- TAO::Any_Basic_Impl_T<
- PortableServer::POAManager::State
- >;
-
template class TAO::Objref_Traits<PortableServer::POAManager>;
template class
diff --git a/TAO/tao/Typecode.cpp b/TAO/tao/Typecode.cpp
index 5c02dc74dc2..8e4891ebd7d 100644
--- a/TAO/tao/Typecode.cpp
+++ b/TAO/tao/Typecode.cpp
@@ -3766,14 +3766,14 @@ operator>> (TAO_InputCDR& cdr, CORBA::TypeCode *&x)
return 1;
}
-CORBA::Boolean
+CORBA::Boolean
operator<< (TAO_OutputCDR &strm, const CORBA::TCKind &_tao_enumval)
{
CORBA::ULong _tao_temp = _tao_enumval;
return strm << _tao_temp;
}
-CORBA::Boolean
+CORBA::Boolean
operator>> (TAO_InputCDR &strm, CORBA::TCKind &_tao_enumval)
{
CORBA::ULong _tao_temp = 0;
@@ -3789,8 +3789,7 @@ operator>> (TAO_InputCDR &strm, CORBA::TCKind &_tao_enumval)
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class TAO_Pseudo_Object_Manager<CORBA::TypeCode,
- CORBA::TypeCode_var>;
+template class TAO_Pseudo_Object_Manager<CORBA::TypeCode>;
template class ACE_Hash_Map_Entry<const char *,
ACE_Unbounded_Queue<CORBA::Long> *>;
@@ -3823,20 +3822,24 @@ template class TAO_Pseudo_Out_T<CORBA::TypeCode, CORBA::TypeCode_var>;
template class TAO::Objref_Traits<CORBA::TypeCode>;
template class TAO::Arg_Traits<CORBA::TypeCode>;
-template class
- TAO::Object_Arg_Traits_T<CORBA::TypeCode_ptr,
- CORBA::TypeCode_var,
- CORBA::TypeCode_out,
- TAO::Objref_Traits<CORBA::TypeCode> >;
-template class TAO::In_Object_Argument_T<CORBA::TypeCode_ptr>;
-template class
- TAO::Inout_Object_Argument_T<CORBA::TypeCode_ptr,
- TAO::Objref_Traits<CORBA::TypeCode> >;
-template class TAO::Out_Object_Argument_T<CORBA::TypeCode_ptr,
- CORBA::TypeCode_out>;
-template class TAO::Ret_Object_Argument_T<CORBA::TypeCode_ptr,
- CORBA::TypeCode_var>;
+template class TAO::Object_Arg_Traits_T<CORBA::TypeCode_ptr,
+ CORBA::TypeCode_var,
+ CORBA::TypeCode_out,
+ TAO::Objref_Traits<CORBA::TypeCode> >;
+
+template TAO::Ret_Object_Argument_T<CORBA::TypeCode*,
+ TAO_Pseudo_Var_T<CORBA::TypeCode> >;
+
+template TAO::In_Object_Argument_T<CORBA::TypeCode*>;
+
+template TAO::Inout_Object_Argument_T<CORBA::TypeCode*,
+ TAO::Objref_Traits<CORBA::TypeCode> >;
+template TAO::Out_Object_Argument_T<CORBA::TypeCode*,
+ TAO_Pseudo_Out_T<CORBA::TypeCode,
+ TAO_Pseudo_Var_T<CORBA::TypeCode> > >;
+
+#if 0
template class TAO::SArg_Traits<CORBA::TypeCode>;
template class TAO::Object_SArg_Traits_T<CORBA::TypeCode_ptr,
CORBA::TypeCode_var,
@@ -3850,11 +3853,10 @@ template class TAO::Out_Object_SArgument_T<CORBA::TypeCode_ptr,
CORBA::TypeCode_out>;
template class TAO::Ret_Object_SArgument_T<CORBA::TypeCode_ptr,
CORBA::TypeCode_var>;
-
+#endif /*if 0*/
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate TAO_Pseudo_Object_Manager<CORBA::TypeCode, \
- CORBA::TypeCode_var>
+#pragma instantiate TAO_Pseudo_Object_Manager<CORBA::TypeCode>
#pragma instantiate ACE_Hash_Map_Entry<const char *, \
ACE_Unbounded_Queue<CORBA::Long> *>
@@ -3916,4 +3918,16 @@ template class TAO::Ret_Object_SArgument_T<CORBA::TypeCode_ptr,
#pragma instantiate TAO::Ret_Object_SArgument_T<CORBA::TypeCode_ptr, \
CORBA::TypeCode_var>
+#pragma instantiate TAO::Ret_Object_Argument_T<CORBA::TypeCode*,
+ TAO_Pseudo_Var_T<CORBA::TypeCode> >
+
+#pragma instantiate TAO::In_Object_Argument_T<CORBA::TypeCode*>
+
+#pragma instantiate TAO::Inout_Object_Argument_T<CORBA::TypeCode*,
+ TAO::Objref_Traits<CORBA::TypeCode> >
+
+#pragma instantiate TAO::Out_Object_Argument_T<CORBA::TypeCode*,
+ TAO_Pseudo_Out_T<CORBA::TypeCode,
+ TAO_Pseudo_Var_T<CORBA::TypeCode> > >
+
#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/tao/Valuetype/ValueBase.cpp b/TAO/tao/Valuetype/ValueBase.cpp
index 356994efa9c..264de9bbf87 100644
--- a/TAO/tao/Valuetype/ValueBase.cpp
+++ b/TAO/tao/Valuetype/ValueBase.cpp
@@ -365,8 +365,8 @@ CORBA::DefaultValueRefCountBase::DefaultValueRefCountBase (void)
void
CORBA::DefaultValueRefCountBase::_tao_add_ref (void)
{
- ACE_GUARD (TAO_SYNCH_MUTEX,
- guard,
+ ACE_GUARD (TAO_SYNCH_MUTEX,
+ guard,
this->_tao_reference_count_lock_);
++this->_tao_reference_count_;
@@ -376,8 +376,8 @@ void
CORBA::DefaultValueRefCountBase::_tao_remove_ref (void)
{
{
- ACE_GUARD (TAO_SYNCH_MUTEX,
- guard,
+ ACE_GUARD (TAO_SYNCH_MUTEX,
+ guard,
this->_tao_reference_count_lock_);
--this->_tao_reference_count_;
@@ -439,3 +439,27 @@ operator>> (TAO_InputCDR &strm,
_tao_valuetype);
}
+// =============== Template Specializations =====================
+namespace TAO
+{
+ void
+ Value_Traits<CORBA::ValueBase>::tao_add_ref (
+ CORBA::ValueBase *p)
+ {
+ CORBA::add_ref (p);
+ }
+
+ void
+ Value_Traits<CORBA::ValueBase>::tao_remove_ref (
+ CORBA::ValueBase * p)
+ {
+ CORBA::remove_ref (p);
+ }
+
+ void
+ Value_Traits<CORBA::ValueBase>::tao_release (
+ CORBA::ValueBase * p)
+ {
+ CORBA::remove_ref (p);
+ }
+}
diff --git a/TAO/tao/Valuetype/ValueBase.h b/TAO/tao/Valuetype/ValueBase.h
index 46dd8e30e45..a8658eb9c8f 100644
--- a/TAO/tao/Valuetype/ValueBase.h
+++ b/TAO/tao/Valuetype/ValueBase.h
@@ -40,7 +40,7 @@ namespace CORBA
{
class ValueFactoryBase;
typedef ValueFactoryBase *ValueFactory;
-
+
class ValueBase;
extern TAO_Valuetype_Export void add_ref (ValueBase *);
@@ -215,7 +215,7 @@ operator>> (TAO_InputCDR&, CORBA::ValueBase *&);
/// Used in generated code if CORBA::ValueBase is an argument or return type.
namespace TAO
{
- template<>
+ ACE_TEMPLATE_SPECIALIZATION
class TAO_Valuetype_Export Arg_Traits<CORBA::ValueBase>
: public Object_Arg_Traits_T<CORBA::ValueBase *,
CORBA::ValueBase_var,
@@ -223,6 +223,18 @@ namespace TAO
TAO::Value_Traits<CORBA::ValueBase> >
{
};
+
+
+ ACE_TEMPLATE_SPECIALIZATION
+ struct TAO_Valuetype_Export Value_Traits<CORBA::ValueBase>
+ {
+ static void tao_add_ref (CORBA::ValueBase *);
+ static void tao_remove_ref (CORBA::ValueBase *);
+
+ // For INOUT value type arguments, so they can use the same set
+ // of arg classes as interfaces.
+ static void tao_release (CORBA::ValueBase *);
+ };
};
#if defined (__ACE_INLINE__)
diff --git a/TAO/tao/Valuetype/ValueFactory.cpp b/TAO/tao/Valuetype/ValueFactory.cpp
index 8308d0f8901..2f2fa4ad818 100644
--- a/TAO/tao/Valuetype/ValueFactory.cpp
+++ b/TAO/tao/Valuetype/ValueFactory.cpp
@@ -43,8 +43,8 @@ CORBA::ValueFactoryBase::~ValueFactoryBase (void)
void
CORBA::ValueFactoryBase::_add_ref (void)
{
- ACE_GUARD (TAO_SYNCH_MUTEX,
- guard,
+ ACE_GUARD (TAO_SYNCH_MUTEX,
+ guard,
this->_tao_reference_count_lock_);
++this->_tao_reference_count_;
@@ -54,8 +54,8 @@ void
CORBA::ValueFactoryBase::_remove_ref (void)
{
{
- ACE_GUARD (TAO_SYNCH_MUTEX,
- guard,
+ ACE_GUARD (TAO_SYNCH_MUTEX,
+ guard,
this->_tao_reference_count_lock_);
--this->_tao_reference_count_;
@@ -76,3 +76,26 @@ CORBA::ValueFactoryBase::create_for_unmarshal_abstract (void)
return 0;
}
+// =============== Template Specializations =====================
+namespace TAO
+{
+ using namespace CORBA;
+
+ void
+ Value_Traits<ValueFactoryBase>::tao_add_ref (ValueFactoryBase *p)
+ {
+ CORBA::add_ref (p);
+ }
+
+ void
+ Value_Traits<ValueFactoryBase>::tao_remove_ref (ValueFactoryBase * p)
+ {
+ CORBA::remove_ref (p);
+ }
+
+ void
+ Value_Traits<ValueFactoryBase>::tao_release (ValueFactoryBase * p)
+ {
+ CORBA::remove_ref (p);
+ }
+}
diff --git a/TAO/tao/Valuetype/ValueFactory.h b/TAO/tao/Valuetype/ValueFactory.h
index 3fb30e5834d..e2800019962 100644
--- a/TAO/tao/Valuetype/ValueFactory.h
+++ b/TAO/tao/Valuetype/ValueFactory.h
@@ -34,13 +34,13 @@ namespace CORBA
typedef AbstractBase *AbstractBase_ptr;
class ValueBase;
-
+
class ValueFactoryBase;
extern TAO_Valuetype_Export void add_ref (ValueFactoryBase *);
extern TAO_Valuetype_Export void remove_ref (ValueFactoryBase *);
- typedef TAO_Value_Var_T<ValueFactoryBase>
+ typedef TAO_Value_Var_T<ValueFactoryBase>
ValueFactoryBase_var;
typedef ValueFactoryBase_var ValueFactory_var;
@@ -72,6 +72,25 @@ namespace CORBA
} // End CORBA namespace
+namespace TAO
+{
+ /**
+ * @brief Specializations needed for using with Value_Var_T
+ */
+ ACE_TEMPLATE_SPECIALIZATION
+ struct TAO_Valuetype_Export Value_Traits<CORBA::ValueFactoryBase>
+ {
+ static void tao_add_ref (
+ CORBA::ValueFactoryBase *);
+ static void tao_remove_ref (
+ CORBA::ValueFactoryBase *);
+
+ // For INOUT value type arguments, so they can use the same set
+ // of arg classes as interfaces.
+ static void tao_release (
+ CORBA::ValueFactoryBase *);
+ };
+}
// Use this macro for writing code that is independend from
// the compiler support of covariant return types of pointers to
// virtual inherited classes.