summaryrefslogtreecommitdiff
path: root/cppuhelper
diff options
context:
space:
mode:
authorRĂ¼diger Timm <rt@openoffice.org>2004-07-23 14:00:39 +0000
committerRĂ¼diger Timm <rt@openoffice.org>2004-07-23 14:00:39 +0000
commit3fd58d33e8e7405c5f790d8623c6f7aa3a920b8a (patch)
tree893de6690b5edcf65ecb9016c09f2abf6886c2fb /cppuhelper
parent724c5c843b0ab3d4e4af521fa4a4dd9108ead1b5 (diff)
INTEGRATION: CWS sb20 (1.9.34); FILE MERGED
2004/07/14 08:58:38 sb 1.9.34.4: #i31281# [Agg]ImplInheritanceHelper1--12 now support BaseClass ctors with up to six arguments (more can be added if need be). 2004/07/12 10:57:32 sb 1.9.34.3: RESYNC: (1.9-1.10); FILE MERGED 2004/07/12 07:34:14 sb 1.9.34.2: #i29352# Reverted 1.9.34.1 to 1.9, to avoid merge conflicts; 1.9.34.1 will make its way to HEAD as the copied 1.9.26.1 once cws_src680_gcc340fixes01 is integrated. 2004/06/10 12:55:17 sb 1.9.34.1: #i29352# Added static_type to C++ classes generated for UNO interface types, so that cppuhelper/comp|implbaseN.hxx can be made Standard C++ conformant (as required by GCC 3.4.0).
Diffstat (limited to 'cppuhelper')
-rw-r--r--cppuhelper/inc/cppuhelper/implbase12.hxx69
1 files changed, 64 insertions, 5 deletions
diff --git a/cppuhelper/inc/cppuhelper/implbase12.hxx b/cppuhelper/inc/cppuhelper/implbase12.hxx
index 7f96f5f61..ede4db1b9 100644
--- a/cppuhelper/inc/cppuhelper/implbase12.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase12.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: implbase12.hxx,v $
*
- * $Revision: 1.10 $
+ * $Revision: 1.11 $
*
- * last change: $Author: hjs $ $Date: 2004-06-25 17:35:17 $
+ * last change: $Author: rt $ $Date: 2004-07-23 15:00:39 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -193,8 +193,9 @@ namespace cppu
@attention
The BaseClass has to be complete in a sense, that ::com::sun::star::uno::XInterface
- and ::com::sun::star::lang::XTypeProvider are implemented properly. The BaseClass
- also has to have a default ctor.
+ and ::com::sun::star::lang::XTypeProvider are implemented properly. The
+ BaseClass must have at least one ctor that can be called with six or
+ fewer arguments, of which none is of non-const reference type.
@derive
Inherit from this class giving your additional interface(s) to be implemented as
@@ -207,7 +208,35 @@ namespace cppu
{
/** @internal */
struct cd : public rtl::StaticAggregate< class_data, ImplClassData12< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12, ImplInheritanceHelper12<BaseClass, Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12> > > {};
+ protected:
+ template< typename T1 >
+ explicit ImplInheritanceHelper12(T1 const & arg1): BaseClass(arg1) {}
+ template< typename T1, typename T2 >
+ ImplInheritanceHelper12(T1 const & arg1, T2 const & arg2):
+ BaseClass(arg1, arg2) {}
+ template< typename T1, typename T2, typename T3 >
+ ImplInheritanceHelper12(
+ T1 const & arg1, T2 const & arg2, T3 const & arg3):
+ BaseClass(arg1, arg2, arg3) {}
+ template< typename T1, typename T2, typename T3, typename T4 >
+ ImplInheritanceHelper12(
+ T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4):
+ BaseClass(arg1, arg2, arg3, arg4) {}
+ template<
+ typename T1, typename T2, typename T3, typename T4, typename T5 >
+ ImplInheritanceHelper12(
+ T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4,
+ T5 const & arg5):
+ BaseClass(arg1, arg2, arg3, arg4, arg5) {}
+ template<
+ typename T1, typename T2, typename T3, typename T4, typename T5,
+ typename T6 >
+ ImplInheritanceHelper12(
+ T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4,
+ T5 const & arg5, T6 const & arg6):
+ BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {}
public:
+ ImplInheritanceHelper12() {}
virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException)
{
::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) );
@@ -233,7 +262,9 @@ namespace cppu
@attention
The BaseClass has to be complete in a sense, that ::com::sun::star::uno::XInterface,
::com::sun::star::uno::XAggregation and ::com::sun::star::lang::XTypeProvider
- are implemented properly. The BaseClass also has to have a default ctor.
+ are implemented properly. The BaseClass must have at least one ctor
+ that can be called with six or fewer arguments, of which none is of
+ non-const reference type.
@derive
Inherit from this class giving your additional interface(s) to be implemented as
@@ -246,7 +277,35 @@ namespace cppu
{
/** @internal */
struct cd : public rtl::StaticAggregate< class_data, ImplClassData12< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12, AggImplInheritanceHelper12<BaseClass, Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12> > > {};
+ protected:
+ template< typename T1 >
+ explicit AggImplInheritanceHelper12(T1 const & arg1): BaseClass(arg1) {}
+ template< typename T1, typename T2 >
+ AggImplInheritanceHelper12(T1 const & arg1, T2 const & arg2):
+ BaseClass(arg1, arg2) {}
+ template< typename T1, typename T2, typename T3 >
+ AggImplInheritanceHelper12(
+ T1 const & arg1, T2 const & arg2, T3 const & arg3):
+ BaseClass(arg1, arg2, arg3) {}
+ template< typename T1, typename T2, typename T3, typename T4 >
+ AggImplInheritanceHelper12(
+ T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4):
+ BaseClass(arg1, arg2, arg3, arg4) {}
+ template<
+ typename T1, typename T2, typename T3, typename T4, typename T5 >
+ AggImplInheritanceHelper12(
+ T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4,
+ T5 const & arg5):
+ BaseClass(arg1, arg2, arg3, arg4, arg5) {}
+ template<
+ typename T1, typename T2, typename T3, typename T4, typename T5,
+ typename T6 >
+ AggImplInheritanceHelper12(
+ T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4,
+ T5 const & arg5, T6 const & arg6):
+ BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {}
public:
+ AggImplInheritanceHelper12() {}
virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException)
{ return BaseClass::queryInterface( rType ); }
virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException)