diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2006-06-19 14:51:36 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2006-06-19 14:51:36 +0000 |
commit | 061823f12de356c0e923beb28fa21892b8463dbd (patch) | |
tree | 27d566b86585b07ef0779a5f17a66d5fff4d2327 /TAO/tao/PortableServer | |
parent | d8f3fb3e01c05aaafd8f8527a014781feab8ea45 (diff) | |
download | ATCD-061823f12de356c0e923beb28fa21892b8463dbd.tar.gz |
ChangeLogTag: Mon Jun 19 14:49:25 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
Diffstat (limited to 'TAO/tao/PortableServer')
22 files changed, 285 insertions, 567 deletions
diff --git a/TAO/tao/PortableServer/Any_SArg_Traits.h b/TAO/tao/PortableServer/Any_SArg_Traits.h index 21cdd6547cf..94980dc0c0b 100644 --- a/TAO/tao/PortableServer/Any_SArg_Traits.h +++ b/TAO/tao/PortableServer/Any_SArg_Traits.h @@ -29,8 +29,6 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL namespace CORBA { class Any; - class Any_var; - class Any_out; } namespace TAO @@ -40,8 +38,6 @@ namespace TAO : public Var_Size_SArg_Traits_T< CORBA::Any, - CORBA::Any_var, - CORBA::Any_out, TAO::Any_Insert_Policy_Stream <CORBA::Any> > { diff --git a/TAO/tao/PortableServer/BD_String_SArgument_T.cpp b/TAO/tao/PortableServer/BD_String_SArgument_T.cpp index f145439f8e7..a2d9c520a30 100644 --- a/TAO/tao/PortableServer/BD_String_SArgument_T.cpp +++ b/TAO/tao/PortableServer/BD_String_SArgument_T.cpp @@ -11,148 +11,131 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL -template<typename S, - typename S_var, - typename to_S, - typename from_S, +template<typename S_var, size_t BOUND, typename Insert_Policy> CORBA::Boolean -TAO::In_BD_String_SArgument_T<S,S_var,to_S,from_S,BOUND,Insert_Policy>::demarshal ( +TAO::In_BD_String_SArgument_T<S_var,BOUND,Insert_Policy>::demarshal ( TAO_InputCDR & cdr ) { - return cdr >> to_S (this->x_.out (), BOUND); + return cdr >> typename S_var::s_traits::to_type (this->x_.out (), BOUND); } #if TAO_HAS_INTERCEPTORS == 1 -template<typename S, - typename S_var, - typename to_S, - typename from_S, +template<typename S_var, size_t BOUND, typename Insert_Policy> void -TAO::In_BD_String_SArgument_T<S,S_var,to_S,from_S,BOUND,Insert_Policy>::interceptor_value ( +TAO::In_BD_String_SArgument_T<S_var,BOUND,Insert_Policy>::interceptor_value ( CORBA::Any *any) const { - this->Insert_Policy::any_insert (any, from_S (this->x_.in (), BOUND)); + this->Insert_Policy::any_insert ( + any, + typename S_var::s_traits::from_type (this->x_.in (), BOUND) + ); } #endif /* TAO_HAS_INTERCEPTORS */ // =========================================================== -template<typename S, - typename S_var, - typename to_S, - typename from_S, +template<typename S_var, size_t BOUND, typename Insert_Policy> CORBA::Boolean -TAO::Inout_BD_String_SArgument_T<S,S_var,to_S,from_S,BOUND,Insert_Policy>::marshal ( +TAO::Inout_BD_String_SArgument_T<S_var,BOUND,Insert_Policy>::marshal ( TAO_OutputCDR & cdr ) { - return cdr << from_S (this->x_.in (), BOUND); + return cdr << typename S_var::s_traits::from_type (this->x_.in (), BOUND); } -template<typename S, - typename S_var, - typename to_S, - typename from_S, +template<typename S_var, size_t BOUND, typename Insert_Policy> CORBA::Boolean -TAO::Inout_BD_String_SArgument_T<S,S_var,to_S,from_S,BOUND,Insert_Policy>::demarshal ( +TAO::Inout_BD_String_SArgument_T<S_var,BOUND,Insert_Policy>::demarshal ( TAO_InputCDR & cdr ) { - return cdr >> to_S (this->x_.out (), BOUND); + return cdr >> typename S_var::s_traits::to_type (this->x_.out (), BOUND); } #if TAO_HAS_INTERCEPTORS == 1 -template<typename S, - typename S_var, - typename to_S, - typename from_S, +template<typename S_var, size_t BOUND, typename Insert_Policy> void -TAO::Inout_BD_String_SArgument_T<S,S_var,to_S,from_S,BOUND,Insert_Policy>:: +TAO::Inout_BD_String_SArgument_T<S_var,BOUND,Insert_Policy>:: interceptor_value (CORBA::Any *any) const { - this->Insert_Policy::any_insert (any, from_S (this->x_.in (), BOUND)); + this->Insert_Policy::any_insert ( + any, + typename S_var::s_traits::from_type (this->x_.in (), BOUND) + ); } #endif /* TAO_HAS_INTERCEPTORS */ // ============================================================== -template<typename S, - typename S_var, - typename S_out, - typename to_S, - typename from_S, +template<typename S_var, size_t BOUND, typename Insert_Policy> CORBA::Boolean -TAO::Out_BD_String_SArgument_T<S,S_var,S_out,to_S,from_S,BOUND,Insert_Policy>::marshal ( +TAO::Out_BD_String_SArgument_T<S_var,BOUND,Insert_Policy>::marshal ( TAO_OutputCDR &cdr ) { - return cdr << from_S (this->x_.in (), BOUND); + return cdr << typename S_var::s_traits::from_type (this->x_.in (), BOUND); } #if TAO_HAS_INTERCEPTORS == 1 -template<typename S, - typename S_var, - typename S_out, - typename to_S, - typename from_S, +template<typename S_var, size_t BOUND, typename Insert_Policy> void -TAO::Out_BD_String_SArgument_T<S,S_var,S_out,to_S,from_S,BOUND,Insert_Policy>:: +TAO::Out_BD_String_SArgument_T<S_var,BOUND,Insert_Policy>:: interceptor_value (CORBA::Any *any) const { - this->Insert_Policy::any_insert (any, from_S (this->x_.in (), BOUND)); + this->Insert_Policy::any_insert ( + any, + typename S_var::s_traits::from_type (this->x_.in (), BOUND) + ); } #endif /* TAO_HAS_INTERCEPTORS */ // ============================================================ -template<typename S, - typename S_var, - typename to_S, - typename from_S, +template<typename S_var, size_t BOUND, typename Insert_Policy> CORBA::Boolean -TAO::Ret_BD_String_SArgument_T<S,S_var,to_S,from_S,BOUND,Insert_Policy>::marshal ( +TAO::Ret_BD_String_SArgument_T<S_var,BOUND,Insert_Policy>::marshal ( TAO_OutputCDR & cdr ) { - return cdr << from_S (this->x_.in (), BOUND); + return cdr << typename S_var::s_traits::from_type (this->x_.in (), BOUND); } #if TAO_HAS_INTERCEPTORS == 1 -template<typename S, - typename S_var, - typename to_S, - typename from_S, +template<typename S_var, size_t BOUND, typename Insert_Policy> void -TAO::Ret_BD_String_SArgument_T<S,S_var,to_S,from_S,BOUND,Insert_Policy>:: +TAO::Ret_BD_String_SArgument_T<S_var,BOUND,Insert_Policy>:: interceptor_value (CORBA::Any *any) const { - this->Insert_Policy::any_insert (any, from_S (this->x_.in (), BOUND)); + this->Insert_Policy::any_insert ( + any, + typename S_var::s_traits::from_type (this->x_.in (), BOUND) + ); } #endif /* TAO_HAS_INTERCEPTORS */ diff --git a/TAO/tao/PortableServer/BD_String_SArgument_T.h b/TAO/tao/PortableServer/BD_String_SArgument_T.h index fd24af1a112..f14ccaa1b28 100644 --- a/TAO/tao/PortableServer/BD_String_SArgument_T.h +++ b/TAO/tao/PortableServer/BD_String_SArgument_T.h @@ -35,10 +35,7 @@ namespace TAO * @brief Template class for IN skeleton bd (w)string argument. * */ - template<typename S, - typename S_var, - typename to_S, - typename from_S, + template<typename S_var, size_t BOUND, typename Insert_Policy> class In_BD_String_SArgument_T : public InArgument, private Insert_Policy @@ -50,7 +47,7 @@ namespace TAO #if TAO_HAS_INTERCEPTORS == 1 virtual void interceptor_value (CORBA::Any *any) const; #endif /* TAO_HAS_INTERCEPTORS == 1 */ - const S * arg (void) const; + const typename S_var::s_traits::char_type * arg (void) const; private: S_var x_; @@ -62,10 +59,7 @@ namespace TAO * @brief Template class for INOUT skeleton bd (w)string argument. * */ - template<typename S, - typename S_var, - typename to_S, - typename from_S, + template<typename S_var, size_t BOUND, typename Insert_Policy> class Inout_BD_String_SArgument_T : public InoutArgument, private Insert_Policy @@ -78,7 +72,7 @@ namespace TAO #if TAO_HAS_INTERCEPTORS == 1 virtual void interceptor_value (CORBA::Any *any) const; #endif /* TAO_HAS_INTERCEPTORS == 1 */ - S *& arg (void); + typename S_var::s_traits::char_type *& arg (void); private: S_var x_; @@ -90,11 +84,7 @@ namespace TAO * @brief Template class for INOUT skeleton bd (w)string argument. * */ - template<typename S, - typename S_var, - typename S_out, - typename to_S, - typename from_S, + template<typename S_var, size_t BOUND, typename Insert_Policy> class Out_BD_String_SArgument_T : public OutArgument, private Insert_Policy @@ -106,7 +96,7 @@ namespace TAO #if TAO_HAS_INTERCEPTORS == 1 virtual void interceptor_value (CORBA::Any *any) const; #endif /* TAO_HAS_INTERCEPTORS == 1 */ - S *& arg (void); + typename S_var::s_traits::char_type *& arg (void); private: S_var x_; @@ -118,10 +108,7 @@ namespace TAO * @brief Template class for return skeleton value of bd (w)string. * */ - template<typename S, - typename S_var, - typename to_S, - typename from_S, + template<typename S_var, size_t BOUND, typename Insert_Policy> class Ret_BD_String_SArgument_T : public RetArgument, private Insert_Policy @@ -133,7 +120,7 @@ namespace TAO #if TAO_HAS_INTERCEPTORS == 1 virtual void interceptor_value (CORBA::Any *any) const; #endif /* TAO_HAS_INTERCEPTORS == 1 */ - S *& arg (void); + typename S_var::s_traits::char_type *& arg (void); private: S_var x_; @@ -145,53 +132,35 @@ namespace TAO * @brief Template class for skeleton argument traits of bounded (w)strings. * */ - template<typename T, - typename T_var, - typename T_out, - typename to_T, - typename from_T, + template<typename T_var, size_t BOUND, typename Insert_Policy> struct BD_String_SArg_Traits_T { - typedef T * ret_type; - typedef const T * in_type; - typedef T *& inout_type; - typedef T_out out_type; - - typedef In_BD_String_SArgument_T<T, - T_var, - to_T, - from_T, + typedef typename T_var::s_traits::char_type * ret_type; + typedef const typename T_var::s_traits::char_type * in_type; + typedef typename T_var::s_traits::char_type *& inout_type; + typedef typename T_var::s_traits::string_out out_type; + + typedef In_BD_String_SArgument_T<T_var, BOUND, - Insert_Policy> in_arg_val; - typedef Inout_BD_String_SArgument_T<T, - T_var, - to_T, - from_T, + Insert_Policy> in_arg_val; + typedef Inout_BD_String_SArgument_T<T_var, BOUND, - Insert_Policy> inout_arg_val; - typedef Out_BD_String_SArgument_T<T, - T_var, - T_out, - to_T, - from_T, + Insert_Policy> inout_arg_val; + typedef Out_BD_String_SArgument_T<T_var, BOUND, - Insert_Policy> out_arg_val; - typedef Ret_BD_String_SArgument_T<T, - T_var, - to_T, - from_T, + Insert_Policy> out_arg_val; + typedef Ret_BD_String_SArgument_T<T_var, BOUND, - Insert_Policy> ret_val; + Insert_Policy> ret_val; // Typedefs corresponding to return value of arg() method in both // the client and server side argument class templates. - typedef in_type in_arg_type; - typedef inout_type inout_arg_type; - typedef inout_type out_arg_type; - typedef inout_type ret_arg_type; - + typedef in_type in_arg_type; + typedef inout_type inout_arg_type; + typedef inout_type out_arg_type; + typedef inout_type ret_arg_type; }; } diff --git a/TAO/tao/PortableServer/BD_String_SArgument_T.inl b/TAO/tao/PortableServer/BD_String_SArgument_T.inl index 57bfd4f3299..c5aea4930ff 100644 --- a/TAO/tao/PortableServer/BD_String_SArgument_T.inl +++ b/TAO/tao/PortableServer/BD_String_SArgument_T.inl @@ -4,26 +4,20 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL -template<typename S, - typename S_var, - typename to_S, - typename from_S, +template<typename S_var, size_t BOUND, typename Insert_Policy> ACE_INLINE -TAO::In_BD_String_SArgument_T<S,S_var,to_S,from_S,BOUND,Insert_Policy>:: +TAO::In_BD_String_SArgument_T<S_var,BOUND,Insert_Policy>:: In_BD_String_SArgument_T (void) {} -template<typename S, - typename S_var, - typename to_S, - typename from_S, +template<typename S_var, size_t BOUND, typename Insert_Policy> ACE_INLINE -const S * -TAO::In_BD_String_SArgument_T<S,S_var,to_S,from_S,BOUND,Insert_Policy>:: +const typename S_var::s_traits::char_type * +TAO::In_BD_String_SArgument_T<S_var,BOUND,Insert_Policy>:: arg (void) const { return this->x_.in (); @@ -31,26 +25,20 @@ arg (void) const // ========================================================================== -template<typename S, - typename S_var, - typename to_S, - typename from_S, +template<typename S_var, size_t BOUND, typename Insert_Policy> ACE_INLINE -TAO::Inout_BD_String_SArgument_T<S,S_var,to_S,from_S,BOUND,Insert_Policy>:: +TAO::Inout_BD_String_SArgument_T<S_var,BOUND,Insert_Policy>:: Inout_BD_String_SArgument_T (void) {} -template<typename S, - typename S_var, - typename to_S, - typename from_S, +template<typename S_var, size_t BOUND, typename Insert_Policy> ACE_INLINE -S *& -TAO::Inout_BD_String_SArgument_T<S,S_var,to_S,from_S,BOUND,Insert_Policy>:: +typename S_var::s_traits::char_type *& +TAO::Inout_BD_String_SArgument_T<S_var,BOUND,Insert_Policy>:: arg (void) { return this->x_.inout (); @@ -58,28 +46,20 @@ arg (void) // ========================================================================== -template<typename S, - typename S_var, - typename S_out, - typename to_S, - typename from_S, +template<typename S_var, size_t BOUND, typename Insert_Policy> ACE_INLINE -TAO::Out_BD_String_SArgument_T<S,S_var,S_out,to_S,from_S,BOUND,Insert_Policy>:: +TAO::Out_BD_String_SArgument_T<S_var,BOUND,Insert_Policy>:: Out_BD_String_SArgument_T (void) {} -template<typename S, - typename S_var, - typename S_out, - typename to_S, - typename from_S, +template<typename S_var, size_t BOUND, typename Insert_Policy> ACE_INLINE -S *& -TAO::Out_BD_String_SArgument_T<S,S_var,S_out,to_S,from_S,BOUND,Insert_Policy>:: +typename S_var::s_traits::char_type *& +TAO::Out_BD_String_SArgument_T<S_var,BOUND,Insert_Policy>:: arg (void) { return this->x_.out (); @@ -87,26 +67,20 @@ arg (void) // ========================================================================== -template<typename S, - typename S_var, - typename to_S, - typename from_S, +template<typename S_var, size_t BOUND, typename Insert_Policy> ACE_INLINE -TAO::Ret_BD_String_SArgument_T<S,S_var,to_S,from_S,BOUND,Insert_Policy>:: +TAO::Ret_BD_String_SArgument_T<S_var,BOUND,Insert_Policy>:: Ret_BD_String_SArgument_T (void) {} -template<typename S, - typename S_var, - typename to_S, - typename from_S, +template<typename S_var, size_t BOUND, typename Insert_Policy> ACE_INLINE -S *& -TAO::Ret_BD_String_SArgument_T<S,S_var,to_S,from_S,BOUND,Insert_Policy>:: +typename S_var::s_traits::char_type *& +TAO::Ret_BD_String_SArgument_T<S_var,BOUND,Insert_Policy>:: arg (void) { return this->x_.out (); diff --git a/TAO/tao/PortableServer/Collocated_Object_Proxy_Broker.cpp b/TAO/tao/PortableServer/Collocated_Object_Proxy_Broker.cpp index 9ac5275b9ef..26939a27be7 100644 --- a/TAO/tao/PortableServer/Collocated_Object_Proxy_Broker.cpp +++ b/TAO/tao/PortableServer/Collocated_Object_Proxy_Broker.cpp @@ -10,7 +10,6 @@ #include "tao/Stub.h" #include "tao/ORB_Core.h" #include "tao/Profile.h" -#include "tao/DomainC.h" ACE_RCSID (PortableServer, Collocated_Object_Proxy_Broker, diff --git a/TAO/tao/PortableServer/Direct_Collocation_Upcall_Wrapper.h b/TAO/tao/PortableServer/Direct_Collocation_Upcall_Wrapper.h index 3bdf12a5022..edc4c39f479 100644 --- a/TAO/tao/PortableServer/Direct_Collocation_Upcall_Wrapper.h +++ b/TAO/tao/PortableServer/Direct_Collocation_Upcall_Wrapper.h @@ -38,7 +38,7 @@ namespace CORBA class Object; typedef Object *Object_ptr; typedef TAO_Pseudo_Var_T<Object> Object_var; - typedef TAO_Pseudo_Out_T<Object, Object_var> Object_out; + typedef TAO_Pseudo_Out_T<Object> Object_out; } namespace TAO diff --git a/TAO/tao/PortableServer/Fixed_Array_SArgument_T.cpp b/TAO/tao/PortableServer/Fixed_Array_SArgument_T.cpp index 9ddd1ea1d36..150c050631b 100644 --- a/TAO/tao/PortableServer/Fixed_Array_SArgument_T.cpp +++ b/TAO/tao/PortableServer/Fixed_Array_SArgument_T.cpp @@ -11,14 +11,10 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL -template<typename S, - typename S_slice, - typename S_forany, +template<typename S_forany, typename Insert_Policy> CORBA::Boolean -TAO::In_Fixed_Array_SArgument_T<S, - S_slice, - S_forany, +TAO::In_Fixed_Array_SArgument_T<S_forany, Insert_Policy>::demarshal (TAO_InputCDR &cdr) { S_forany tmp (this->x_); @@ -27,14 +23,10 @@ TAO::In_Fixed_Array_SArgument_T<S, #if TAO_HAS_INTERCEPTORS == 1 -template<typename S, - typename S_slice, - typename S_forany, +template<typename S_forany, typename Insert_Policy> void -TAO::In_Fixed_Array_SArgument_T<S, - S_slice, - S_forany, +TAO::In_Fixed_Array_SArgument_T<S_forany, Insert_Policy>::interceptor_value ( CORBA::Any *any) const { @@ -45,27 +37,19 @@ TAO::In_Fixed_Array_SArgument_T<S, // =========================================================== -template<typename S, - typename S_slice, - typename S_forany, +template<typename S_forany, typename Insert_Policy> CORBA::Boolean -TAO::Inout_Fixed_Array_SArgument_T<S, - S_slice, - S_forany, +TAO::Inout_Fixed_Array_SArgument_T<S_forany, Insert_Policy>::marshal (TAO_OutputCDR &cdr) { return cdr << S_forany (this->x_); } -template<typename S, - typename S_slice, - typename S_forany, +template<typename S_forany, typename Insert_Policy> CORBA::Boolean -TAO::Inout_Fixed_Array_SArgument_T<S, - S_slice, - S_forany, +TAO::Inout_Fixed_Array_SArgument_T<S_forany, Insert_Policy>:: demarshal (TAO_InputCDR & cdr) { @@ -75,14 +59,10 @@ demarshal (TAO_InputCDR & cdr) #if TAO_HAS_INTERCEPTORS == 1 -template<typename S, - typename S_slice, - typename S_forany, +template<typename S_forany, typename Insert_Policy> void -TAO::Inout_Fixed_Array_SArgument_T<S, - S_slice, - S_forany, +TAO::Inout_Fixed_Array_SArgument_T<S_forany, Insert_Policy>::interceptor_value ( CORBA::Any *any) const { @@ -93,14 +73,10 @@ TAO::Inout_Fixed_Array_SArgument_T<S, // ============================================================== -template<typename S, - typename S_slice, - typename S_forany, +template<typename S_forany, typename Insert_Policy> CORBA::Boolean -TAO::Out_Fixed_Array_SArgument_T<S, - S_slice, - S_forany, +TAO::Out_Fixed_Array_SArgument_T<S_forany, Insert_Policy>::marshal (TAO_OutputCDR &cdr) { return cdr << S_forany (this->x_); @@ -108,14 +84,10 @@ TAO::Out_Fixed_Array_SArgument_T<S, #if TAO_HAS_INTERCEPTORS == 1 -template<typename S, - typename S_slice, - typename S_forany, +template<typename S_forany, typename Insert_Policy> void -TAO::Out_Fixed_Array_SArgument_T<S, - S_slice, - S_forany, +TAO::Out_Fixed_Array_SArgument_T<S_forany, Insert_Policy>::interceptor_value ( CORBA::Any *any) const { @@ -126,13 +98,11 @@ TAO::Out_Fixed_Array_SArgument_T<S, // ============================================================ -template<typename S_slice, - typename S_var, +template<typename S_var, typename S_forany, typename Insert_Policy> CORBA::Boolean -TAO::Ret_Fixed_Array_SArgument_T<S_slice, - S_var, +TAO::Ret_Fixed_Array_SArgument_T<S_var, S_forany, Insert_Policy>::marshal ( TAO_OutputCDR & cdr @@ -143,13 +113,11 @@ TAO::Ret_Fixed_Array_SArgument_T<S_slice, #if TAO_HAS_INTERCEPTORS == 1 -template<typename S_slice, - typename S_var, +template<typename S_var, typename S_forany, typename Insert_Policy> void -TAO::Ret_Fixed_Array_SArgument_T<S_slice, - S_var, +TAO::Ret_Fixed_Array_SArgument_T<S_var, S_forany, Insert_Policy>::interceptor_value ( CORBA::Any *any) const diff --git a/TAO/tao/PortableServer/Fixed_Array_SArgument_T.h b/TAO/tao/PortableServer/Fixed_Array_SArgument_T.h index e03fb2c19f4..45559ead999 100644 --- a/TAO/tao/PortableServer/Fixed_Array_SArgument_T.h +++ b/TAO/tao/PortableServer/Fixed_Array_SArgument_T.h @@ -33,9 +33,7 @@ namespace TAO * @brief IN skeleton argument of fixed size element array. * */ - template<typename S, - typename S_slice, - typename S_forany, + template<typename S_forany, typename Insert_Policy> class In_Fixed_Array_SArgument_T : public InArgument, private Insert_Policy { @@ -46,10 +44,10 @@ namespace TAO #if TAO_HAS_INTERCEPTORS == 1 virtual void interceptor_value (CORBA::Any *any) const; #endif /* TAO_HAS_INTERCEPTORS == 1 */ - S_slice const * arg (void) const; + typename S_forany::_slice_type const * arg (void) const; private: - mutable S x_; + mutable typename S_forany::_array_type x_; }; /** @@ -59,9 +57,7 @@ namespace TAO * * @todo The mutable for x_ can be removed when vc6 has been dropped */ - template<typename S, - typename S_slice, - typename S_forany, + template<typename S_forany, typename Insert_Policy> class Inout_Fixed_Array_SArgument_T : public InoutArgument, @@ -75,10 +71,10 @@ namespace TAO #if TAO_HAS_INTERCEPTORS == 1 virtual void interceptor_value (CORBA::Any *any) const; #endif /* TAO_HAS_INTERCEPTORS == 1 */ - S_slice * arg (void); + typename S_forany::_slice_type * arg (void); private: - mutable S x_; + mutable typename S_forany::_array_type x_; }; /** @@ -88,9 +84,7 @@ namespace TAO * * @todo The mutable for x_ can be removed when vc6 has been dropped */ - template<typename S, - typename S_slice, - typename S_forany, + template<typename S_forany, typename Insert_Policy> class Out_Fixed_Array_SArgument_T : public OutArgument, private Insert_Policy { @@ -101,10 +95,10 @@ namespace TAO #if TAO_HAS_INTERCEPTORS == 1 virtual void interceptor_value (CORBA::Any *any) const; #endif /* TAO_HAS_INTERCEPTORS == 1 */ - S_slice * arg (void); + typename S_forany::_slice_type * arg (void); private: - mutable S x_; + mutable typename S_forany::_array_type x_; }; /** @@ -113,8 +107,7 @@ namespace TAO * @brief Skeleton value of fixed size element array. * */ - template<typename S_slice, - typename S_var, + template<typename S_var, typename S_forany, typename Insert_Policy> class Ret_Fixed_Array_SArgument_T : public RetArgument, private Insert_Policy @@ -126,7 +119,7 @@ namespace TAO #if TAO_HAS_INTERCEPTORS == 1 virtual void interceptor_value (CORBA::Any *any) const; #endif /* TAO_HAS_INTERCEPTORS == 1 */ - S_slice *& arg (void); + typename S_forany::_slice_type *& arg (void); private: S_var x_; @@ -138,42 +131,32 @@ namespace TAO * @brief Argument traits of fixed size element array. * */ - template<typename T, - typename T_slice, - typename T_var, + template<typename T_var, typename T_forany, typename Insert_Policy> struct Fixed_Array_SArg_Traits_T { - typedef T_slice * ret_type; - typedef const T in_type; - typedef T inout_type; - typedef T out_type; - - typedef In_Fixed_Array_SArgument_T<T, - T_slice, - T_forany, + typedef typename T_forany::_slice_type * ret_type; + typedef const typename T_forany::_array_type in_type; + typedef typename T_forany::_array_type inout_type; + typedef typename T_forany::_array_type out_type; + + typedef In_Fixed_Array_SArgument_T<T_forany, Insert_Policy> in_arg_val; - typedef Inout_Fixed_Array_SArgument_T<T, - T_slice, - T_forany, + typedef Inout_Fixed_Array_SArgument_T<T_forany, Insert_Policy> inout_arg_val; - typedef Out_Fixed_Array_SArgument_T<T, - T_slice, - T_forany, + typedef Out_Fixed_Array_SArgument_T<T_forany, Insert_Policy> out_arg_val; - typedef Ret_Fixed_Array_SArgument_T<T_slice, - T_var, + typedef Ret_Fixed_Array_SArgument_T<T_var, T_forany, Insert_Policy> ret_val; // Typedefs corresponding to return value of arg() method in both // the client and server side argument class templates. - typedef T_slice const * in_arg_type; + typedef typename T_forany::_slice_type const * in_arg_type; typedef ret_type inout_arg_type; typedef ret_type out_arg_type; typedef ret_type & ret_arg_type; - }; } diff --git a/TAO/tao/PortableServer/Fixed_Array_SArgument_T.inl b/TAO/tao/PortableServer/Fixed_Array_SArgument_T.inl index 0708aa7ebf1..2db5a59a3c5 100644 --- a/TAO/tao/PortableServer/Fixed_Array_SArgument_T.inl +++ b/TAO/tao/PortableServer/Fixed_Array_SArgument_T.inl @@ -4,27 +4,19 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL -template<typename S, - typename S_slice, - typename S_forany, +template<typename S_forany, typename Insert_Policy> ACE_INLINE -TAO::In_Fixed_Array_SArgument_T<S, - S_slice, - S_forany, +TAO::In_Fixed_Array_SArgument_T<S_forany, Insert_Policy>::In_Fixed_Array_SArgument_T (void) { } -template<typename S, - typename S_slice, - typename S_forany, +template<typename S_forany, typename Insert_Policy> ACE_INLINE -S_slice const * -TAO::In_Fixed_Array_SArgument_T<S, - S_slice, - S_forany, +typename S_forany::_slice_type const * +TAO::In_Fixed_Array_SArgument_T<S_forany, Insert_Policy>::arg (void) const { S_forany tmp (this->x_); @@ -33,28 +25,20 @@ TAO::In_Fixed_Array_SArgument_T<S, // =========================================================================== -template<typename S, - typename S_slice, - typename S_forany, +template<typename S_forany, typename Insert_Policy> ACE_INLINE -TAO::Inout_Fixed_Array_SArgument_T<S, - S_slice, - S_forany, +TAO::Inout_Fixed_Array_SArgument_T<S_forany, Insert_Policy>:: Inout_Fixed_Array_SArgument_T (void) { } -template<typename S, - typename S_slice, - typename S_forany, +template<typename S_forany, typename Insert_Policy> ACE_INLINE -S_slice * -TAO::Inout_Fixed_Array_SArgument_T<S, - S_slice, - S_forany, +typename S_forany::_slice_type * +TAO::Inout_Fixed_Array_SArgument_T<S_forany, Insert_Policy>::arg (void) { S_forany tmp (this->x_); @@ -63,28 +47,20 @@ TAO::Inout_Fixed_Array_SArgument_T<S, // =========================================================================== -template<typename S, - typename S_slice, - typename S_forany, +template<typename S_forany, typename Insert_Policy> ACE_INLINE -TAO::Out_Fixed_Array_SArgument_T<S, - S_slice, - S_forany, +TAO::Out_Fixed_Array_SArgument_T<S_forany, Insert_Policy>:: Out_Fixed_Array_SArgument_T (void) { } -template<typename S, - typename S_slice, - typename S_forany, +template<typename S_forany, typename Insert_Policy> ACE_INLINE -S_slice * -TAO::Out_Fixed_Array_SArgument_T<S, - S_slice, - S_forany, +typename S_forany::_slice_type * +TAO::Out_Fixed_Array_SArgument_T<S_forany, Insert_Policy>::arg (void) { S_forany tmp (this->x_); @@ -93,27 +69,23 @@ TAO::Out_Fixed_Array_SArgument_T<S, // =========================================================================== -template<typename S_slice, - typename S_var, +template<typename S_var, typename S_forany, typename Insert_Policy> ACE_INLINE -TAO::Ret_Fixed_Array_SArgument_T<S_slice, - S_var, +TAO::Ret_Fixed_Array_SArgument_T<S_var, S_forany, Insert_Policy>:: Ret_Fixed_Array_SArgument_T (void) { } -template<typename S_slice, - typename S_var, +template<typename S_var, typename S_forany, typename Insert_Policy> ACE_INLINE -S_slice *& -TAO::Ret_Fixed_Array_SArgument_T<S_slice, - S_var, +typename S_forany::_slice_type *& +TAO::Ret_Fixed_Array_SArgument_T<S_var, S_forany, Insert_Policy>::arg (void) { diff --git a/TAO/tao/PortableServer/Fixed_Size_SArgument_T.h b/TAO/tao/PortableServer/Fixed_Size_SArgument_T.h index fb9f6ea732a..eadf9ce3f2b 100644 --- a/TAO/tao/PortableServer/Fixed_Size_SArgument_T.h +++ b/TAO/tao/PortableServer/Fixed_Size_SArgument_T.h @@ -211,9 +211,7 @@ namespace TAO typedef inout_type inout_arg_type; typedef out_type out_arg_type; typedef out_type ret_arg_type; - }; - } TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/PortableServer/Object_SArg_Traits.h b/TAO/tao/PortableServer/Object_SArg_Traits.h index 9f88d1f0970..62bd7156d5f 100644 --- a/TAO/tao/PortableServer/Object_SArg_Traits.h +++ b/TAO/tao/PortableServer/Object_SArg_Traits.h @@ -34,7 +34,7 @@ namespace CORBA typedef Object *Object_ptr; typedef TAO_Pseudo_Var_T<Object> Object_var; - typedef TAO_Pseudo_Out_T<Object, Object_var> Object_out; + typedef TAO_Pseudo_Out_T<Object> Object_out; } // -------------------------------------------------------------- diff --git a/TAO/tao/PortableServer/Object_SArgument_T.h b/TAO/tao/PortableServer/Object_SArgument_T.h index fd9a6cae8bc..4611bd24a12 100644 --- a/TAO/tao/PortableServer/Object_SArgument_T.h +++ b/TAO/tao/PortableServer/Object_SArgument_T.h @@ -145,10 +145,19 @@ namespace TAO typedef T_ptr & inout_type; typedef T_out out_type; - typedef In_Object_SArgument_T<T_ptr,T_var,Insert_Policy> in_arg_val; - typedef Inout_Object_SArgument_T<T_ptr,T_var,Insert_Policy> inout_arg_val; - typedef Out_Object_SArgument_T<T_ptr,T_var,T_out,Insert_Policy> out_arg_val; - typedef Ret_Object_SArgument_T<T_ptr,T_var,Insert_Policy> ret_val; + typedef In_Object_SArgument_T<T_ptr, + T_var, + Insert_Policy> in_arg_val; + typedef Inout_Object_SArgument_T<T_ptr, + T_var, + Insert_Policy> inout_arg_val; + typedef Out_Object_SArgument_T<T_ptr, + T_var, + T_out, + Insert_Policy> out_arg_val; + typedef Ret_Object_SArgument_T<T_ptr, + T_var, + Insert_Policy> ret_val; // Typedefs corresponding to return value of arg() method in both // the client and server side argument class templates. @@ -156,7 +165,6 @@ namespace TAO typedef inout_type inout_arg_type; typedef out_type out_arg_type; typedef inout_type ret_arg_type; - }; } diff --git a/TAO/tao/PortableServer/PolicyS.cpp b/TAO/tao/PortableServer/PolicyS.cpp index ef2bd9c048b..9eae2512e9b 100644 --- a/TAO/tao/PortableServer/PolicyS.cpp +++ b/TAO/tao/PortableServer/PolicyS.cpp @@ -33,7 +33,7 @@ #define _TAO_IDL_ORIG_POLICYS_CPP_ -#include "tao/AnyTypeCode/TypeCode.h" +#include "tao/AnyTypeCode/TypeCode.h" #include "tao/AnyTypeCode/Any.h" #include "tao/PortableServer/PolicyS.h" #include "tao/PortableServer/Operation_Table_Perfect_Hash.h" @@ -450,7 +450,7 @@ namespace POA_CORBA virtual void execute (ACE_ENV_SINGLE_ARG_DECL) { TAO::SArg_Traits< ::CORBA::PolicyType>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::PolicyType, TAO::SArg_Traits< ::CORBA::PolicyType>::ret_arg_type> ( + TAO::Portable_Server::get_ret_arg< ::CORBA::PolicyType> ( this->operation_details_, this->args_); @@ -542,7 +542,7 @@ namespace POA_CORBA virtual void execute (ACE_ENV_SINGLE_ARG_DECL) { TAO::SArg_Traits< CORBA::Policy>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< CORBA::Policy, TAO::SArg_Traits< CORBA::Policy>::ret_arg_type> ( + TAO::Portable_Server::get_ret_arg< CORBA::Policy> ( this->operation_details_, this->args_); @@ -715,12 +715,12 @@ namespace POA_CORBA virtual void execute (ACE_ENV_SINGLE_ARG_DECL) { TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean, TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type> ( + TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( this->operation_details_, this->args_); TAO::SArg_Traits< CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< CORBA::Char *, TAO::SArg_Traits< CORBA::Char *>::in_arg_type> ( + TAO::Portable_Server::get_in_arg< CORBA::Char *> ( this->operation_details_, this->args_, 1); @@ -812,7 +812,7 @@ namespace POA_CORBA virtual void execute (ACE_ENV_SINGLE_ARG_DECL) { TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean, TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type> ( + TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( this->operation_details_, this->args_); @@ -948,7 +948,7 @@ namespace POA_CORBA virtual void execute (ACE_ENV_SINGLE_ARG_DECL) { TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object, TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type> ( + TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( this->operation_details_, this->args_); diff --git a/TAO/tao/PortableServer/Servant_Upcall.h b/TAO/tao/PortableServer/Servant_Upcall.h index dff98e83559..18818009aab 100644 --- a/TAO/tao/PortableServer/Servant_Upcall.h +++ b/TAO/tao/PortableServer/Servant_Upcall.h @@ -42,7 +42,7 @@ namespace CORBA class Object; typedef Object *Object_ptr; typedef TAO_Pseudo_Var_T<Object> Object_var; - typedef TAO_Pseudo_Out_T<Object, Object_var> Object_out; + typedef TAO_Pseudo_Out_T<Object> Object_out; } namespace TAO diff --git a/TAO/tao/PortableServer/TypeCode_SArg_Traits.h b/TAO/tao/PortableServer/TypeCode_SArg_Traits.h index 2e0f067d2fd..57f4513a175 100644 --- a/TAO/tao/PortableServer/TypeCode_SArg_Traits.h +++ b/TAO/tao/PortableServer/TypeCode_SArg_Traits.h @@ -32,7 +32,7 @@ namespace CORBA typedef TypeCode *TypeCode_ptr; typedef TAO_Pseudo_Var_T<TypeCode> TypeCode_var; - typedef TAO_Pseudo_Out_T<TypeCode, TypeCode_var> TypeCode_out; + typedef TAO_Pseudo_Out_T<TypeCode> TypeCode_out; } // -------------------------------------------------------------- diff --git a/TAO/tao/PortableServer/Var_Array_SArgument_T.cpp b/TAO/tao/PortableServer/Var_Array_SArgument_T.cpp index 06a9e5014a4..8be7c23ac34 100644 --- a/TAO/tao/PortableServer/Var_Array_SArgument_T.cpp +++ b/TAO/tao/PortableServer/Var_Array_SArgument_T.cpp @@ -11,14 +11,10 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL -template<typename S, - typename S_slice, - typename S_forany, +template<typename S_forany, typename Insert_Policy> CORBA::Boolean -TAO::In_Var_Array_SArgument_T<S, - S_slice, - S_forany, +TAO::In_Var_Array_SArgument_T<S_forany, Insert_Policy>::demarshal (TAO_InputCDR & cdr) { S_forany tmp (this->x_); @@ -27,14 +23,10 @@ TAO::In_Var_Array_SArgument_T<S, #if TAO_HAS_INTERCEPTORS == 1 -template<typename S, - typename S_slice, - typename S_forany, +template<typename S_forany, typename Insert_Policy> void -TAO::In_Var_Array_SArgument_T<S, - S_slice, - S_forany, +TAO::In_Var_Array_SArgument_T<S_forany, Insert_Policy>::interceptor_value ( CORBA::Any *any) const { @@ -45,27 +37,19 @@ TAO::In_Var_Array_SArgument_T<S, // =========================================================== -template<typename S, - typename S_slice, - typename S_forany, +template<typename S_forany, typename Insert_Policy> CORBA::Boolean -TAO::Inout_Var_Array_SArgument_T<S, - S_slice, - S_forany, +TAO::Inout_Var_Array_SArgument_T<S_forany, Insert_Policy>::marshal (TAO_OutputCDR &cdr) { - return cdr << this->x_; + return cdr << S_forany (this->x_); } -template<typename S, - typename S_slice, - typename S_forany, +template<typename S_forany, typename Insert_Policy> CORBA::Boolean -TAO::Inout_Var_Array_SArgument_T<S, - S_slice, - S_forany, +TAO::Inout_Var_Array_SArgument_T<S_forany, Insert_Policy>::demarshal (TAO_InputCDR & cdr) { S_forany tmp (this->x_); @@ -74,31 +58,28 @@ TAO::Inout_Var_Array_SArgument_T<S, #if TAO_HAS_INTERCEPTORS == 1 -template<typename S, - typename S_slice, - typename S_forany, +template<typename S_forany, typename Insert_Policy> void -TAO::Inout_Var_Array_SArgument_T<S, - S_slice, - S_forany, +TAO::Inout_Var_Array_SArgument_T<S_forany, Insert_Policy>::interceptor_value ( CORBA::Any *any) const { - this->Insert_Policy::any_insert (any, S_forany (const_cast <S_slice *>(this->x_))); + this->Insert_Policy::any_insert ( + any, + S_forany (const_cast <typename S_forany::_slice_type *>(this->x_)) + ); } #endif /* TAO_HAS_INTERCEPTORS */ // ============================================================== -template<typename S_slice, - typename S_var, +template<typename S_var, typename S_forany, typename Insert_Policy> CORBA::Boolean -TAO::Out_Var_Array_SArgument_T<S_slice, - S_var, +TAO::Out_Var_Array_SArgument_T<S_var, S_forany, Insert_Policy>::marshal ( TAO_OutputCDR & cdr @@ -110,13 +91,11 @@ TAO::Out_Var_Array_SArgument_T<S_slice, #if TAO_HAS_INTERCEPTORS == 1 -template<typename S_slice, - typename S_var, +template<typename S_var, typename S_forany, typename Insert_Policy> void -TAO::Out_Var_Array_SArgument_T<S_slice, - S_var, +TAO::Out_Var_Array_SArgument_T<S_var, S_forany, Insert_Policy>::interceptor_value ( CORBA::Any *any) const @@ -128,13 +107,11 @@ TAO::Out_Var_Array_SArgument_T<S_slice, // ============================================================ -template<typename S_slice, - typename S_var, +template<typename S_var, typename S_forany, typename Insert_Policy> CORBA::Boolean -TAO::Ret_Var_Array_SArgument_T<S_slice, - S_var, +TAO::Ret_Var_Array_SArgument_T<S_var, S_forany, Insert_Policy>::marshal ( TAO_OutputCDR & cdr @@ -145,13 +122,11 @@ TAO::Ret_Var_Array_SArgument_T<S_slice, #if TAO_HAS_INTERCEPTORS == 1 -template<typename S_slice, - typename S_var, +template<typename S_var, typename S_forany, typename Insert_Policy> void -TAO::Ret_Var_Array_SArgument_T<S_slice, - S_var, +TAO::Ret_Var_Array_SArgument_T<S_var, S_forany, Insert_Policy>::interceptor_value ( CORBA::Any *any) const diff --git a/TAO/tao/PortableServer/Var_Array_SArgument_T.h b/TAO/tao/PortableServer/Var_Array_SArgument_T.h index db7835de063..78f08112a35 100644 --- a/TAO/tao/PortableServer/Var_Array_SArgument_T.h +++ b/TAO/tao/PortableServer/Var_Array_SArgument_T.h @@ -31,9 +31,7 @@ namespace TAO * @brief IN skeleton argument of variable size element array. * */ - template<typename S, - typename S_slice, - typename S_forany, + template<typename S_forany, typename Insert_Policy> class In_Var_Array_SArgument_T : public InArgument, private Insert_Policy { @@ -45,10 +43,10 @@ namespace TAO #if TAO_HAS_INTERCEPTORS == 1 virtual void interceptor_value (CORBA::Any *any) const; #endif /* TAO_HAS_INTERCEPTORS == 1 */ - S_slice const * arg (void) const; + typename S_forany::_slice_type const * arg (void) const; private: - mutable S x_; + mutable typename S_forany::_array_type x_; }; /** @@ -57,9 +55,7 @@ namespace TAO * @brief INOUT skeleton argument of variable size element array. * */ - template<typename S, - typename S_slice, - typename S_forany, + template<typename S_forany, typename Insert_Policy> class Inout_Var_Array_SArgument_T : public InoutArgument, private Insert_Policy { @@ -71,10 +67,10 @@ namespace TAO #if TAO_HAS_INTERCEPTORS == 1 virtual void interceptor_value (CORBA::Any *any) const; #endif /* TAO_HAS_INTERCEPTORS == 1 */ - S_slice * arg (void); + typename S_forany::_slice_type * arg (void); private: - S x_; + typename S_forany::_array_type x_; }; /** @@ -83,8 +79,7 @@ namespace TAO * @brief OUT skeleton argument of variable size element array. * */ - template<typename S_slice, - typename S_var, + template<typename S_var, typename S_forany, typename Insert_Policy> class Out_Var_Array_SArgument_T : public OutArgument, private Insert_Policy @@ -96,7 +91,7 @@ namespace TAO #if TAO_HAS_INTERCEPTORS == 1 virtual void interceptor_value (CORBA::Any *any) const; #endif /* TAO_HAS_INTERCEPTORS == 1 */ - S_slice *& arg (void); + typename S_forany::_slice_type *& arg (void); private: S_var x_; @@ -108,8 +103,7 @@ namespace TAO * @brief Skeleton value of variable size element array. * */ - template<typename S_slice, - typename S_var, + template<typename S_var, typename S_forany, typename Insert_Policy> class Ret_Var_Array_SArgument_T : public RetArgument, private Insert_Policy @@ -121,7 +115,7 @@ namespace TAO #if TAO_HAS_INTERCEPTORS == 1 virtual void interceptor_value (CORBA::Any *any) const; #endif /* TAO_HAS_INTERCEPTORS == 1 */ - S_slice *& arg (void); + typename S_forany::_slice_type *& arg (void); private: S_var x_; @@ -133,43 +127,33 @@ namespace TAO * @brief Argument traits of variable size element array. * */ - template<typename T, - typename T_slice, - typename T_var, - typename T_out, + template<typename T_out, typename T_forany, typename Insert_Policy> struct Var_Array_SArg_Traits_T { - typedef T_slice * ret_type; - typedef const T in_type; - typedef T inout_type; + typedef typename T_forany::_slice_type * ret_type; + typedef const typename T_forany::_array_type in_type; + typedef typename T_forany::_array_type inout_type; typedef T_out out_type; - typedef In_Var_Array_SArgument_T<T, - T_slice, - T_forany, - Insert_Policy> in_arg_val; - typedef Inout_Var_Array_SArgument_T<T, - T_slice, - T_forany, - Insert_Policy> inout_arg_val; - typedef Out_Var_Array_SArgument_T<T_slice, - T_var, + typedef In_Var_Array_SArgument_T<T_forany, + Insert_Policy> in_arg_val; + typedef Inout_Var_Array_SArgument_T<T_forany, + Insert_Policy> inout_arg_val; + typedef Out_Var_Array_SArgument_T<typename T_out::_var_type, T_forany, - Insert_Policy> out_arg_val; - typedef Ret_Var_Array_SArgument_T<T_slice, - T_var, + Insert_Policy> out_arg_val; + typedef Ret_Var_Array_SArgument_T<typename T_out::_var_type, T_forany, - Insert_Policy> ret_val; + Insert_Policy> ret_val; // Typedefs corresponding to return value of arg() method in both // the client and server side argument class templates. - typedef T_slice const * in_arg_type; + typedef typename T_forany::_slice_type const * in_arg_type; typedef ret_type inout_arg_type; typedef ret_type & out_arg_type; typedef ret_type & ret_arg_type; - }; } diff --git a/TAO/tao/PortableServer/Var_Array_SArgument_T.inl b/TAO/tao/PortableServer/Var_Array_SArgument_T.inl index bbc5dd80950..adfe8f78dfc 100644 --- a/TAO/tao/PortableServer/Var_Array_SArgument_T.inl +++ b/TAO/tao/PortableServer/Var_Array_SArgument_T.inl @@ -4,26 +4,18 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL -template<typename S, - typename S_slice, - typename S_forany, +template<typename S_forany, typename Insert_Policy> ACE_INLINE -TAO::In_Var_Array_SArgument_T<S, - S_slice, - S_forany, +TAO::In_Var_Array_SArgument_T<S_forany, Insert_Policy>::In_Var_Array_SArgument_T (void) {} -template<typename S, - typename S_slice, - typename S_forany, +template<typename S_forany, typename Insert_Policy> ACE_INLINE -S_slice const * -TAO::In_Var_Array_SArgument_T<S, - S_slice, - S_forany, +typename S_forany::_slice_type const * +TAO::In_Var_Array_SArgument_T<S_forany, Insert_Policy>::arg (void) const { S_forany tmp (this->x_); @@ -32,27 +24,19 @@ TAO::In_Var_Array_SArgument_T<S, // ========================================================================== -template<typename S, - typename S_slice, - typename S_forany, +template<typename S_forany, typename Insert_Policy> ACE_INLINE -TAO::Inout_Var_Array_SArgument_T<S, - S_slice, - S_forany, +TAO::Inout_Var_Array_SArgument_T<S_forany, Insert_Policy>:: Inout_Var_Array_SArgument_T (void) { } -template<typename S, - typename S_slice, - typename S_forany, +template<typename S_forany, typename Insert_Policy> -S_slice * -TAO::Inout_Var_Array_SArgument_T<S, - S_slice, - S_forany, +typename S_forany::_slice_type * +TAO::Inout_Var_Array_SArgument_T<S_forany, Insert_Policy>::arg (void) { S_forany tmp (this->x_); @@ -61,26 +45,22 @@ TAO::Inout_Var_Array_SArgument_T<S, // ========================================================================== -template<typename S_slice, - typename S_var, +template<typename S_var, typename S_forany, typename Insert_Policy> ACE_INLINE -TAO::Out_Var_Array_SArgument_T<S_slice, - S_var, +TAO::Out_Var_Array_SArgument_T<S_var, S_forany, Insert_Policy>:: Out_Var_Array_SArgument_T (void) { } -template<typename S_slice, - typename S_var, +template<typename S_var, typename S_forany, typename Insert_Policy> -S_slice *& -TAO::Out_Var_Array_SArgument_T<S_slice, - S_var, +typename S_forany::_slice_type *& +TAO::Out_Var_Array_SArgument_T<S_var, S_forany, Insert_Policy>::arg (void) { @@ -89,27 +69,23 @@ TAO::Out_Var_Array_SArgument_T<S_slice, // ========================================================================== -template<typename S_slice, - typename S_var, +template<typename S_var, typename S_forany, typename Insert_Policy> ACE_INLINE -TAO::Ret_Var_Array_SArgument_T<S_slice, - S_var, +TAO::Ret_Var_Array_SArgument_T<S_var, S_forany, Insert_Policy>:: Ret_Var_Array_SArgument_T (void) { } -template<typename S_slice, - typename S_var, +template<typename S_var, typename S_forany, typename Insert_Policy> ACE_INLINE -S_slice *& -TAO::Ret_Var_Array_SArgument_T<S_slice, - S_var, +typename S_forany::_slice_type *& +TAO::Ret_Var_Array_SArgument_T<S_var, S_forany, Insert_Policy>::arg (void) { diff --git a/TAO/tao/PortableServer/Var_Size_SArgument_T.cpp b/TAO/tao/PortableServer/Var_Size_SArgument_T.cpp index 33c151f6bb9..29187f9c826 100644 --- a/TAO/tao/PortableServer/Var_Size_SArgument_T.cpp +++ b/TAO/tao/PortableServer/Var_Size_SArgument_T.cpp @@ -12,8 +12,7 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL -template<typename S, - typename Insert_Policy> +template<typename S, typename Insert_Policy> CORBA::Boolean TAO::In_Var_Size_SArgument_T<S,Insert_Policy>::demarshal (TAO_InputCDR &cdr) { @@ -22,10 +21,11 @@ TAO::In_Var_Size_SArgument_T<S,Insert_Policy>::demarshal (TAO_InputCDR &cdr) #if TAO_HAS_INTERCEPTORS == 1 -template<typename S, - typename Insert_Policy> +template<typename S, typename Insert_Policy> void -TAO::In_Var_Size_SArgument_T<S,Insert_Policy>::interceptor_value (CORBA::Any *any) const +TAO::In_Var_Size_SArgument_T<S,Insert_Policy>::interceptor_value ( + CORBA::Any *any + ) const { this->Insert_Policy::any_insert (any, this->x_); } @@ -34,16 +34,14 @@ TAO::In_Var_Size_SArgument_T<S,Insert_Policy>::interceptor_value (CORBA::Any *an // =========================================================== -template<typename S, - typename Insert_Policy> +template<typename S, typename Insert_Policy> CORBA::Boolean TAO::Inout_Var_Size_SArgument_T<S,Insert_Policy>::marshal (TAO_OutputCDR &cdr) { return cdr << this->x_; } -template<typename S, - typename Insert_Policy> +template<typename S, typename Insert_Policy> CORBA::Boolean TAO::Inout_Var_Size_SArgument_T<S,Insert_Policy>::demarshal (TAO_InputCDR & cdr) { @@ -52,10 +50,11 @@ TAO::Inout_Var_Size_SArgument_T<S,Insert_Policy>::demarshal (TAO_InputCDR & cdr) #if TAO_HAS_INTERCEPTORS == 1 -template<typename S, - typename Insert_Policy> +template<typename S, typename Insert_Policy> void -TAO::Inout_Var_Size_SArgument_T<S,Insert_Policy>::interceptor_value (CORBA::Any *any) const +TAO::Inout_Var_Size_SArgument_T<S,Insert_Policy>::interceptor_value ( + CORBA::Any *any + ) const { this->Insert_Policy::any_insert (any, this->x_); } @@ -64,22 +63,18 @@ TAO::Inout_Var_Size_SArgument_T<S,Insert_Policy>::interceptor_value (CORBA::Any // ============================================================== -template<typename S, - typename S_var, - typename Insert_Policy> +template<typename S, typename Insert_Policy> CORBA::Boolean -TAO::Out_Var_Size_SArgument_T<S,S_var,Insert_Policy>::marshal (TAO_OutputCDR &cdr) +TAO::Out_Var_Size_SArgument_T<S,Insert_Policy>::marshal (TAO_OutputCDR &cdr) { return cdr << this->x_.in (); } #if TAO_HAS_INTERCEPTORS == 1 -template<typename S, - typename S_var, - typename Insert_Policy> +template<typename S, typename Insert_Policy> void -TAO::Out_Var_Size_SArgument_T<S,S_var,Insert_Policy>::interceptor_value ( +TAO::Out_Var_Size_SArgument_T<S,Insert_Policy>::interceptor_value ( CORBA::Any *any) const { this->Insert_Policy::any_insert (any, this->x_.in ()); @@ -89,22 +84,18 @@ TAO::Out_Var_Size_SArgument_T<S,S_var,Insert_Policy>::interceptor_value ( // ============================================================ -template<typename S, - typename S_var, - typename Insert_Policy> +template<typename S, typename Insert_Policy> CORBA::Boolean -TAO::Ret_Var_Size_SArgument_T<S,S_var,Insert_Policy>::marshal (TAO_OutputCDR &cdr) +TAO::Ret_Var_Size_SArgument_T<S,Insert_Policy>::marshal (TAO_OutputCDR &cdr) { return cdr << this->x_.in (); } #if TAO_HAS_INTERCEPTORS == 1 -template<typename S, - typename S_var, - typename Insert_Policy> +template<typename S, typename Insert_Policy> void -TAO::Ret_Var_Size_SArgument_T<S,S_var,Insert_Policy>::interceptor_value ( +TAO::Ret_Var_Size_SArgument_T<S,Insert_Policy>::interceptor_value ( CORBA::Any *any) const { this->Insert_Policy::any_insert (any, this->x_.in ()); diff --git a/TAO/tao/PortableServer/Var_Size_SArgument_T.h b/TAO/tao/PortableServer/Var_Size_SArgument_T.h index 99046ca2655..4114ecf0532 100644 --- a/TAO/tao/PortableServer/Var_Size_SArgument_T.h +++ b/TAO/tao/PortableServer/Var_Size_SArgument_T.h @@ -30,8 +30,7 @@ namespace TAO * @brief Template class for IN skeleton argument of fixed size IDL types. * */ - template<typename S, - typename Insert_Policy> + template<typename S, typename Insert_Policy> class In_Var_Size_SArgument_T : public InArgument, private Insert_Policy { public: @@ -52,9 +51,9 @@ namespace TAO * @brief Template class for INOUT skeleton arg of fixed size IDL types. * */ - template<typename S, - typename Insert_Policy> - class Inout_Var_Size_SArgument_T : public InoutArgument, private Insert_Policy + template<typename S, typename Insert_Policy> + class Inout_Var_Size_SArgument_T : public InoutArgument, + private Insert_Policy { public: Inout_Var_Size_SArgument_T (void); @@ -76,9 +75,7 @@ namespace TAO * @brief Template class for OUT skeleton argument of fixed size IDL types. * */ - template<typename S, - typename S_var, - typename Insert_Policy> + template<typename S, typename Insert_Policy> class Out_Var_Size_SArgument_T : public OutArgument, private Insert_Policy { public: @@ -91,7 +88,7 @@ namespace TAO S *& arg (void); private: - S_var x_; + typename S::_var_type x_; }; /** @@ -100,9 +97,7 @@ namespace TAO * @brief Template class for return skeleton value of fixed size IDL types. * */ - template<typename S, - typename S_var, - typename Insert_Policy> + template<typename S, typename Insert_Policy> class Ret_Var_Size_SArgument_T : public RetArgument, private Insert_Policy { public: @@ -115,7 +110,7 @@ namespace TAO S *& arg (void); private: - S_var x_; + typename S::_var_type x_; }; /** @@ -125,21 +120,18 @@ namespace TAO * variable size IDL types. * */ - template<typename T, - typename T_var, - typename T_out, - typename Insert_Policy> + template<typename T, typename Insert_Policy> struct Var_Size_SArg_Traits_T { typedef T * ret_type; typedef const T & in_type; typedef T & inout_type; - typedef T_out out_type; + typedef typename T::_out_type out_type; typedef In_Var_Size_SArgument_T<T,Insert_Policy> in_arg_val; typedef Inout_Var_Size_SArgument_T<T,Insert_Policy> inout_arg_val; - typedef Out_Var_Size_SArgument_T<T,T_var,Insert_Policy> out_arg_val; - typedef Ret_Var_Size_SArgument_T<T,T_var,Insert_Policy> ret_val; + typedef Out_Var_Size_SArgument_T<T,Insert_Policy> out_arg_val; + typedef Ret_Var_Size_SArgument_T<T,Insert_Policy> ret_val; // Typedefs corresponding to return value of arg() method in both // the client and server side argument class templates. @@ -147,7 +139,6 @@ namespace TAO typedef inout_type inout_arg_type; typedef ret_type & out_arg_type; typedef ret_type & ret_arg_type; - }; } diff --git a/TAO/tao/PortableServer/Var_Size_SArgument_T.inl b/TAO/tao/PortableServer/Var_Size_SArgument_T.inl index 11d13f2e9e2..dffc68dbf6b 100644 --- a/TAO/tao/PortableServer/Var_Size_SArgument_T.inl +++ b/TAO/tao/PortableServer/Var_Size_SArgument_T.inl @@ -4,8 +4,7 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL -template<typename S, - typename Insert_Policy> +template<typename S, typename Insert_Policy> S const & TAO::In_Var_Size_SArgument_T<S,Insert_Policy>::arg (void) const { @@ -14,15 +13,13 @@ TAO::In_Var_Size_SArgument_T<S,Insert_Policy>::arg (void) const // ========================================================================== -template<typename S, - typename Insert_Policy> +template<typename S, typename Insert_Policy> ACE_INLINE TAO::Inout_Var_Size_SArgument_T<S,Insert_Policy>::Inout_Var_Size_SArgument_T (void) { } -template<typename S, - typename Insert_Policy> +template<typename S, typename Insert_Policy> S & TAO::Inout_Var_Size_SArgument_T<S,Insert_Policy>::arg (void) { @@ -31,39 +28,31 @@ TAO::Inout_Var_Size_SArgument_T<S,Insert_Policy>::arg (void) // ========================================================================== -template<typename S, - typename S_var, - typename Insert_Policy> +template<typename S, typename Insert_Policy> ACE_INLINE -TAO::Out_Var_Size_SArgument_T<S,S_var,Insert_Policy>::Out_Var_Size_SArgument_T (void) +TAO::Out_Var_Size_SArgument_T<S,Insert_Policy>::Out_Var_Size_SArgument_T (void) { } -template<typename S, - typename S_var, - typename Insert_Policy> +template<typename S, typename Insert_Policy> S *& -TAO::Out_Var_Size_SArgument_T<S,S_var,Insert_Policy>::arg (void) +TAO::Out_Var_Size_SArgument_T<S,Insert_Policy>::arg (void) { return this->x_.out (); } // ========================================================================== -template<typename S, - typename S_var, - typename Insert_Policy> +template<typename S, typename Insert_Policy> ACE_INLINE -TAO::Ret_Var_Size_SArgument_T<S,S_var,Insert_Policy>::Ret_Var_Size_SArgument_T (void) +TAO::Ret_Var_Size_SArgument_T<S,Insert_Policy>::Ret_Var_Size_SArgument_T (void) { } -template<typename S, - typename S_var, - typename Insert_Policy> +template<typename S, typename Insert_Policy> ACE_INLINE S *& -TAO::Ret_Var_Size_SArgument_T<S,S_var,Insert_Policy>::arg (void) +TAO::Ret_Var_Size_SArgument_T<S,Insert_Policy>::arg (void) { return this->x_.out (); } diff --git a/TAO/tao/PortableServer/get_arg.h b/TAO/tao/PortableServer/get_arg.h index 38c21f200c9..1cf9b8aa998 100644 --- a/TAO/tao/PortableServer/get_arg.h +++ b/TAO/tao/PortableServer/get_arg.h @@ -37,22 +37,9 @@ namespace TAO { namespace Portable_Server { - /// Get return value/argument. - /** - * @note It is possible to determine the return argument type - * using typedef traits found in the TAO::SArg_Traits<> - * template. However, MSVC++ 6 does not support them - * properly. Until we drop MSVC++ 6 support, we'll have to - * pass the return argument type in an additional template - * parameter. - * - * @todo Drop second template parameter, and replace - * " @c RET_ARG_TYPE " return type with - * " @c typename TAO::SArg_Traits<T>::ret_arg_type ". - */ - template<typename T, typename RET_ARG_TYPE> - RET_ARG_TYPE + template<typename T> + typename TAO::SArg_Traits<T>::ret_arg_type get_ret_arg (TAO_Operation_Details const * details, TAO::Argument * const * skel_args) { @@ -65,16 +52,8 @@ namespace TAO } /// Get "in" argument. - /** - * @see @c get_ret_arg note to understand why we currently use a - * second template parameter. - * - * @todo Drop second template parameter, and replace - * " @c IN_ARG_TYPE " return type with - * " @c typename TAO::SArg_Traits<T>::in_arg_type ". - */ - template<typename T, typename IN_ARG_TYPE> - IN_ARG_TYPE + template<typename T> + typename TAO::SArg_Traits<T>::in_arg_type get_in_arg (TAO_Operation_Details const * details, TAO::Argument * const * skel_args, size_t i) @@ -88,16 +67,8 @@ namespace TAO } /// Get "inout" argument. - /** - * @see @c get_ret_arg note to understand why we currently use a - * second template parameter. - * - * @todo Drop second template parameter, and replace - * " @c INOUT_ARG_TYPE " return type with - * " @c typename TAO::SArg_Traits<T>::inout_arg_type ". - */ - template<typename T, typename INOUT_ARG_TYPE> - INOUT_ARG_TYPE + template<typename T> + typename TAO::SArg_Traits<T>::inout_arg_type get_inout_arg (TAO_Operation_Details const * details, TAO::Argument * const * skel_args, size_t i) @@ -111,16 +82,8 @@ namespace TAO } /// Get "out" argument. - /** - * @see @c get_ret_arg note to understand why we currently use a - * second template parameter. - * - * @todo Drop second template parameter, and replace - * " @c OUT_ARG_TYPE " return type with - * " @c typename TAO::SArg_Traits<T>::out_arg_type ". - */ - template<typename T, typename OUT_ARG_TYPE> - OUT_ARG_TYPE + template<typename T> + typename TAO::SArg_Traits<T>::out_arg_type get_out_arg (TAO_Operation_Details const * details, TAO::Argument * const * skel_args, size_t i) @@ -132,7 +95,6 @@ namespace TAO : static_cast<typename TAO::SArg_Traits<T>::out_arg_val *> ( skel_args[i])->arg (); } - } } |