From 71ca158e69aa6000d0020f936d5a7b3dd361b710 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Wed, 10 Jan 2001 16:39:53 +0000 Subject: [PATCH] Add several `friend' declarations. git-svn-id: https://svn.dealii.org/trunk@3628 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/base/include/base/thread_management.h | 169 +++++++++++++++++- 1 file changed, 168 insertions(+), 1 deletion(-) diff --git a/deal.II/base/include/base/thread_management.h b/deal.II/base/include/base/thread_management.h index b660d23c7a..36e4420043 100644 --- a/deal.II/base/include/base/thread_management.h +++ b/deal.II/base/include/base/thread_management.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 2000 by the deal.II authors +// Copyright (C) 2000, 2001 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -383,6 +383,17 @@ namespace Threads */ FunPtr fun_ptr; }; + +// we should be declaring the following function friend, but gcc2.95 +// does not allow us to do that at present... +// /** +// * Declare a function that uses +// * the @ref{ArgCollector} as +// * friend. +// */ +// friend +// FunData0::ArgCollector +// encapsulate (void (*fun_ptr)()); }; @@ -485,6 +496,16 @@ namespace Threads */ FunPtr fun_ptr; }; + + /** + * Declare a function that uses + * the @ref{ArgCollector} as + * friend. + */ + template + friend + typename FunData1::ArgCollector + encapsulate (void (*fun_ptr)(Arg1_)); }; @@ -590,6 +611,16 @@ namespace Threads */ FunPtr fun_ptr; }; + + /** + * Declare a function that uses + * the @ref{ArgCollector} as + * friend. + */ + template + friend + typename FunData2::ArgCollector + encapsulate (void (*fun_ptr)(Arg1_, Arg2_)); }; @@ -697,6 +728,16 @@ namespace Threads */ FunPtr fun_ptr; }; + + /** + * Declare a function that uses + * the @ref{ArgCollector} as + * friend. + */ + template + friend + typename FunData3::ArgCollector + encapsulate (void (*fun_ptr)(Arg1_,Arg2_,Arg3_)); }; @@ -807,6 +848,16 @@ namespace Threads */ FunPtr fun_ptr; }; + + /** + * Declare a function that uses + * the @ref{ArgCollector} as + * friend. + */ + template + friend + typename FunData4::ArgCollector + encapsulate (void (*fun_ptr)(Arg1_, Arg2_, Arg3_, Arg4_)); }; @@ -921,6 +972,16 @@ namespace Threads */ FunPtr fun_ptr; }; + + /** + * Declare a function that uses + * the @ref{ArgCollector} as + * friend. + */ + template + friend + typename FunData5::ArgCollector + encapsulate (void (*fun_ptr)(Arg1_, Arg2_, Arg3_, Arg4_, Arg5_)); }; @@ -1037,6 +1098,17 @@ namespace Threads */ FunPtr fun_ptr; }; + + /** + * Declare a function that uses + * the @ref{ArgCollector} as + * friend. + */ + template + friend + typename FunData6::ArgCollector + encapsulate (void (*fun_ptr)(Arg1_, Arg2_, Arg3_, + Arg4_, Arg5_, Arg6_)); }; @@ -1156,6 +1228,17 @@ namespace Threads */ FunPtr fun_ptr; }; + + /** + * Declare a function that uses + * the @ref{ArgCollector} as + * friend. + */ + template + friend + typename FunData7::ArgCollector + encapsulate (void (*fun_ptr)(Arg1_, Arg2_, Arg3_, + Arg4_, Arg5_, Arg6_, Arg7_)); }; @@ -1278,6 +1361,18 @@ namespace Threads */ FunPtr fun_ptr; }; + + /** + * Declare a function that uses + * the @ref{ArgCollector} as + * friend. + */ + template + friend + typename FunData8::ArgCollector + encapsulate (void (*fun_ptr)(Arg1_, Arg2_, Arg3_, + Arg4_, Arg5_, Arg6_, + Arg7_, Arg8_)); }; @@ -1393,6 +1488,16 @@ namespace Threads */ FunPtr fun_ptr; }; + + /** + * Declare a function that uses + * the @ref{ArgCollector} as + * friend. + */ + template + friend + typename MemFunData0::ArgCollector + encapsulate (void (Class_::*fun_ptr)()); }; @@ -1518,6 +1623,16 @@ namespace Threads */ FunPtr fun_ptr; }; + + /** + * Declare a function that uses + * the @ref{ArgCollector} as + * friend. + */ + template + friend + typename MemFunData1::ArgCollector + encapsulate (void (Class_::*fun_ptr)(Arg1_)); }; @@ -1647,6 +1762,16 @@ namespace Threads */ FunPtr fun_ptr; }; + + /** + * Declare a function that uses + * the @ref{ArgCollector} as + * friend. + */ + template + friend + typename MemFunData2::ArgCollector + encapsulate (void (Class_::*fun_ptr)(Arg1_, Arg2_)); }; @@ -1779,6 +1904,16 @@ namespace Threads */ FunPtr fun_ptr; }; + + /** + * Declare a function that uses + * the @ref{ArgCollector} as + * friend. + */ + template + friend + typename MemFunData3::ArgCollector + encapsulate (void (Class_::*fun_ptr)(Arg1_,Arg2_,Arg3_)); }; @@ -1915,6 +2050,16 @@ namespace Threads */ FunPtr fun_ptr; }; + + /** + * Declare a function that uses + * the @ref{ArgCollector} as + * friend. + */ + template + friend + typename MemFunData4::ArgCollector + encapsulate (void (Class_::*fun_ptr)(Arg1_, Arg2_, Arg3_, Arg4_)); }; @@ -2055,6 +2200,17 @@ namespace Threads */ FunPtr fun_ptr; }; + + /** + * Declare a function that uses + * the @ref{ArgCollector} as + * friend. + */ + template + friend + typename MemFunData5::ArgCollector + encapsulate (void (Class_::*fun_ptr)(Arg1_, Arg2_, Arg3_, + Arg4_, Arg5_)); }; @@ -2199,6 +2355,17 @@ namespace Threads */ FunPtr fun_ptr; }; + + /** + * Declare a function that uses + * the @ref{ArgCollector} as + * friend. + */ + template + friend + typename MemFunData6::ArgCollector + encapsulate (void (Class_::*fun_ptr)(Arg1_, Arg2_, Arg3_, + Arg4_, Arg5_, Arg6_)); }; -- 2.39.5