]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Test the threading subsystem
authorwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 6 Feb 2003 18:21:13 +0000 (18:21 +0000)
committerwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 6 Feb 2003 18:21:13 +0000 (18:21 +0000)
git-svn-id: https://svn.dealii.org/trunk@7063 0785d39b-7218-0410-832d-ea1e28bc413d

tests/base/threads.checked [new file with mode: 0644]
tests/base/threads.pl [new file with mode: 0644]

diff --git a/tests/base/threads.checked b/tests/base/threads.checked
new file mode 100644 (file)
index 0000000..f50c7e4
--- /dev/null
@@ -0,0 +1,496 @@
+
+DEAL::X<0>& U::ref_foo_0()
+DEAL::X<0>& U::ref_foo_0_const() const
+DEAL::X<0>& U::ref_foo_const_ref_0()
+DEAL::X<0>& U::ref_foo_const_ref_0_const() const
+DEAL::X<0>& U::ref_foo_ref_0()
+DEAL::X<0>& U::ref_foo_ref_0_const() const
+DEAL::const X<0>& U::const_ref_foo_0()
+DEAL::const X<0>& U::const_ref_foo_0_const() const
+DEAL::const X<0>& U::const_ref_foo_const_ref_0()
+DEAL::const X<0>& U::const_ref_foo_const_ref_0_const() const
+DEAL::const X<0>& U::const_ref_foo_ref_0()
+DEAL::const X<0>& U::const_ref_foo_ref_0_const() const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_0()
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_0_const() const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_const_ref_0()
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_const_ref_0_const() const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_ref_0()
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_ref_0_const() const
+DEAL::X<0> U::foo_0()
+DEAL::X<0> U::foo_0_const() const
+DEAL::X<0> U::foo_const_ref_0()
+DEAL::X<0> U::foo_const_ref_0_const() const
+DEAL::X<0> U::foo_ref_0()
+DEAL::X<0> U::foo_ref_0_const() const
+DEAL::virtual X<0>& U::virtual_ref_foo_0()
+DEAL::virtual X<0>& U::virtual_ref_foo_0_const() const
+DEAL::virtual X<0>& U::virtual_ref_foo_const_ref_0()
+DEAL::virtual X<0>& U::virtual_ref_foo_const_ref_0_const() const
+DEAL::virtual X<0>& U::virtual_ref_foo_ref_0()
+DEAL::virtual X<0>& U::virtual_ref_foo_ref_0_const() const
+DEAL::virtual X<0> U::virtual_foo_0()
+DEAL::virtual X<0> U::virtual_foo_0_const() const
+DEAL::virtual X<0> U::virtual_foo_const_ref_0()
+DEAL::virtual X<0> U::virtual_foo_const_ref_0_const() const
+DEAL::virtual X<0> U::virtual_foo_ref_0()
+DEAL::virtual X<0> U::virtual_foo_ref_0_const() const
+DEAL::static X<0>& U::static_ref_foo_0()
+DEAL::static X<0>& U::static_ref_foo_const_ref_0()
+DEAL::static X<0>& U::static_ref_foo_ref_0()
+DEAL::static const X<0>& U::static_const_ref_foo_0()
+DEAL::static const X<0>& U::static_const_ref_foo_const_ref_0()
+DEAL::static const X<0>& U::static_const_ref_foo_ref_0()
+DEAL::static X<0> U::static_foo_0()
+DEAL::static X<0> U::static_foo_const_ref_0()
+DEAL::static X<0> U::static_foo_ref_0()
+DEAL::X<0>& U::ref_foo_1(X<1>)
+DEAL::X<0>& U::ref_foo_1_const(X<1>) const
+DEAL::X<0>& U::ref_foo_const_ref_1(const X<1>&)
+DEAL::X<0>& U::ref_foo_const_ref_1_const(const X<1>&) const
+DEAL::X<0>& U::ref_foo_ref_1(X<1>&)
+DEAL::X<0>& U::ref_foo_ref_1_const(X<1>&) const
+DEAL::const X<0>& U::const_ref_foo_1(X<1>)
+DEAL::const X<0>& U::const_ref_foo_1_const(X<1>) const
+DEAL::const X<0>& U::const_ref_foo_const_ref_1(X<1>&)
+DEAL::const X<0>& U::const_ref_foo_const_ref_1_const(X<1>&) const
+DEAL::const X<0>& U::const_ref_foo_ref_1(X<1>&)
+DEAL::const X<0>& U::const_ref_foo_ref_1_const(X<1>&) const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_1(X<1>)
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_1_const(X<1>) const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_const_ref_1(X<1>&)
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_const_ref_1_const(X<1>&) const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_ref_1(X<1>&)
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_ref_1_const(X<1>&) const
+DEAL::X<0> U::foo_1(X<1>)
+DEAL::X<0> U::foo_1_const(X<1>) const
+DEAL::X<0> U::foo_const_ref_1(const X<1>&)
+DEAL::X<0> U::foo_const_ref_1_const(const X<1>&) const
+DEAL::X<0> U::foo_ref_1(X<1>&)
+DEAL::X<0> U::foo_ref_1_const(X<1>&) const
+DEAL::virtual X<0>& U::virtual_ref_foo_1(X<1>)
+DEAL::virtual X<0>& U::virtual_ref_foo_1_const(X<1>) const
+DEAL::virtual X<0>& U::virtual_ref_foo_const_ref_1(const X<1>&)
+DEAL::virtual X<0>& U::virtual_ref_foo_const_ref_1_const(const X<1>&) const
+DEAL::virtual X<0>& U::virtual_ref_foo_ref_1(X<1>&)
+DEAL::virtual X<0>& U::virtual_ref_foo_ref_1_const(X<1>&) const
+DEAL::virtual X<0> U::virtual_foo_1(X<1>)
+DEAL::virtual X<0> U::virtual_foo_1_const(X<1>) const
+DEAL::virtual X<0> U::virtual_foo_const_ref_1(const X<1>&)
+DEAL::virtual X<0> U::virtual_foo_const_ref_1_const(const X<1>&) const
+DEAL::virtual X<0> U::virtual_foo_ref_1(X<1>&)
+DEAL::virtual X<0> U::virtual_foo_ref_1_const(X<1>&) const
+DEAL::static X<0>& U::static_ref_foo_1(X<1>)
+DEAL::static X<0>& U::static_ref_foo_const_ref_1(const X<1>&)
+DEAL::static X<0>& U::static_ref_foo_ref_1(X<1>&)
+DEAL::static const X<0>& U::static_const_ref_foo_1(X<1>)
+DEAL::static const X<0>& U::static_const_ref_foo_const_ref_1(const X<1>&)
+DEAL::static const X<0>& U::static_const_ref_foo_ref_1(X<1>&)
+DEAL::static X<0> U::static_foo_1(X<1>)
+DEAL::static X<0> U::static_foo_const_ref_1(const X<1>&)
+DEAL::static X<0> U::static_foo_ref_1(X<1>&)
+DEAL::X<0>& U::ref_foo_2(X<1>, X<2>)
+DEAL::X<0>& U::ref_foo_2_const(X<1>, X<2>) const
+DEAL::X<0>& U::ref_foo_const_ref_2(const X<1>&, const X<2>&)
+DEAL::X<0>& U::ref_foo_const_ref_2_const(const X<1>&, const X<2>&) const
+DEAL::X<0>& U::ref_foo_ref_2(X<1>&, X<2>&)
+DEAL::X<0>& U::ref_foo_ref_2_const(X<1>&, X<2>&) const
+DEAL::const X<0>& U::const_ref_foo_2(X<1>, X<2>)
+DEAL::const X<0>& U::const_ref_foo_2_const(X<1>, X<2>) const
+DEAL::const X<0>& U::const_ref_foo_const_ref_2(X<1>&, X<2>&)
+DEAL::const X<0>& U::const_ref_foo_const_ref_2_const(X<1>&, X<2>&) const
+DEAL::const X<0>& U::const_ref_foo_ref_2(X<1>&, X<2>&)
+DEAL::const X<0>& U::const_ref_foo_ref_2_const(X<1>&, X<2>&) const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_2(X<1>, X<2>)
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_2_const(X<1>, X<2>) const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_const_ref_2(X<1>&, X<2>&)
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_const_ref_2_const(X<1>&, X<2>&) const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_ref_2(X<1>&, X<2>&)
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_ref_2_const(X<1>&, X<2>&) const
+DEAL::X<0> U::foo_2(X<1>, X<2>)
+DEAL::X<0> U::foo_2_const(X<1>, X<2>) const
+DEAL::X<0> U::foo_const_ref_2(const X<1>&, const X<2>&)
+DEAL::X<0> U::foo_const_ref_2_const(const X<1>&, const X<2>&) const
+DEAL::X<0> U::foo_ref_2(X<1>&, X<2>&)
+DEAL::X<0> U::foo_ref_2_const(X<1>&, X<2>&) const
+DEAL::virtual X<0>& U::virtual_ref_foo_2(X<1>, X<2>)
+DEAL::virtual X<0>& U::virtual_ref_foo_2_const(X<1>, X<2>) const
+DEAL::virtual X<0>& U::virtual_ref_foo_const_ref_2(const X<1>&, const X<2>&)
+DEAL::virtual X<0>& U::virtual_ref_foo_const_ref_2_const(const X<1>&, const X<2>&) const
+DEAL::virtual X<0>& U::virtual_ref_foo_ref_2(X<1>&, X<2>&)
+DEAL::virtual X<0>& U::virtual_ref_foo_ref_2_const(X<1>&, X<2>&) const
+DEAL::virtual X<0> U::virtual_foo_2(X<1>, X<2>)
+DEAL::virtual X<0> U::virtual_foo_2_const(X<1>, X<2>) const
+DEAL::virtual X<0> U::virtual_foo_const_ref_2(const X<1>&, const X<2>&)
+DEAL::virtual X<0> U::virtual_foo_const_ref_2_const(const X<1>&, const X<2>&) const
+DEAL::virtual X<0> U::virtual_foo_ref_2(X<1>&, X<2>&)
+DEAL::virtual X<0> U::virtual_foo_ref_2_const(X<1>&, X<2>&) const
+DEAL::static X<0>& U::static_ref_foo_2(X<1>, X<2>)
+DEAL::static X<0>& U::static_ref_foo_const_ref_2(const X<1>&, const X<2>&)
+DEAL::static X<0>& U::static_ref_foo_ref_2(X<1>&, X<2>&)
+DEAL::static const X<0>& U::static_const_ref_foo_2(X<1>, X<2>)
+DEAL::static const X<0>& U::static_const_ref_foo_const_ref_2(const X<1>&, const X<2>&)
+DEAL::static const X<0>& U::static_const_ref_foo_ref_2(X<1>&, X<2>&)
+DEAL::static X<0> U::static_foo_2(X<1>, X<2>)
+DEAL::static X<0> U::static_foo_const_ref_2(const X<1>&, const X<2>&)
+DEAL::static X<0> U::static_foo_ref_2(X<1>&, X<2>&)
+DEAL::X<0>& U::ref_foo_3(X<1>, X<2>, X<3>)
+DEAL::X<0>& U::ref_foo_3_const(X<1>, X<2>, X<3>) const
+DEAL::X<0>& U::ref_foo_const_ref_3(const X<1>&, const X<2>&, const X<3>&)
+DEAL::X<0>& U::ref_foo_const_ref_3_const(const X<1>&, const X<2>&, const X<3>&) const
+DEAL::X<0>& U::ref_foo_ref_3(X<1>&, X<2>&, X<3>&)
+DEAL::X<0>& U::ref_foo_ref_3_const(X<1>&, X<2>&, X<3>&) const
+DEAL::const X<0>& U::const_ref_foo_3(X<1>, X<2>, X<3>)
+DEAL::const X<0>& U::const_ref_foo_3_const(X<1>, X<2>, X<3>) const
+DEAL::const X<0>& U::const_ref_foo_const_ref_3(X<1>&, X<2>&, X<3>&)
+DEAL::const X<0>& U::const_ref_foo_const_ref_3_const(X<1>&, X<2>&, X<3>&) const
+DEAL::const X<0>& U::const_ref_foo_ref_3(X<1>&, X<2>&, X<3>&)
+DEAL::const X<0>& U::const_ref_foo_ref_3_const(X<1>&, X<2>&, X<3>&) const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_3(X<1>, X<2>, X<3>)
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_3_const(X<1>, X<2>, X<3>) const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_const_ref_3(X<1>&, X<2>&, X<3>&)
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_const_ref_3_const(X<1>&, X<2>&, X<3>&) const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_ref_3(X<1>&, X<2>&, X<3>&)
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_ref_3_const(X<1>&, X<2>&, X<3>&) const
+DEAL::X<0> U::foo_3(X<1>, X<2>, X<3>)
+DEAL::X<0> U::foo_3_const(X<1>, X<2>, X<3>) const
+DEAL::X<0> U::foo_const_ref_3(const X<1>&, const X<2>&, const X<3>&)
+DEAL::X<0> U::foo_const_ref_3_const(const X<1>&, const X<2>&, const X<3>&) const
+DEAL::X<0> U::foo_ref_3(X<1>&, X<2>&, X<3>&)
+DEAL::X<0> U::foo_ref_3_const(X<1>&, X<2>&, X<3>&) const
+DEAL::virtual X<0>& U::virtual_ref_foo_3(X<1>, X<2>, X<3>)
+DEAL::virtual X<0>& U::virtual_ref_foo_3_const(X<1>, X<2>, X<3>) const
+DEAL::virtual X<0>& U::virtual_ref_foo_const_ref_3(const X<1>&, const X<2>&, const X<3>&)
+DEAL::virtual X<0>& U::virtual_ref_foo_const_ref_3_const(const X<1>&, const X<2>&, const X<3>&) const
+DEAL::virtual X<0>& U::virtual_ref_foo_ref_3(X<1>&, X<2>&, X<3>&)
+DEAL::virtual X<0>& U::virtual_ref_foo_ref_3_const(X<1>&, X<2>&, X<3>&) const
+DEAL::virtual X<0> U::virtual_foo_3(X<1>, X<2>, X<3>)
+DEAL::virtual X<0> U::virtual_foo_3_const(X<1>, X<2>, X<3>) const
+DEAL::virtual X<0> U::virtual_foo_const_ref_3(const X<1>&, const X<2>&, const X<3>&)
+DEAL::virtual X<0> U::virtual_foo_const_ref_3_const(const X<1>&, const X<2>&, const X<3>&) const
+DEAL::virtual X<0> U::virtual_foo_ref_3(X<1>&, X<2>&, X<3>&)
+DEAL::virtual X<0> U::virtual_foo_ref_3_const(X<1>&, X<2>&, X<3>&) const
+DEAL::static X<0>& U::static_ref_foo_3(X<1>, X<2>, X<3>)
+DEAL::static X<0>& U::static_ref_foo_const_ref_3(const X<1>&, const X<2>&, const X<3>&)
+DEAL::static X<0>& U::static_ref_foo_ref_3(X<1>&, X<2>&, X<3>&)
+DEAL::static const X<0>& U::static_const_ref_foo_3(X<1>, X<2>, X<3>)
+DEAL::static const X<0>& U::static_const_ref_foo_const_ref_3(const X<1>&, const X<2>&, const X<3>&)
+DEAL::static const X<0>& U::static_const_ref_foo_ref_3(X<1>&, X<2>&, X<3>&)
+DEAL::static X<0> U::static_foo_3(X<1>, X<2>, X<3>)
+DEAL::static X<0> U::static_foo_const_ref_3(const X<1>&, const X<2>&, const X<3>&)
+DEAL::static X<0> U::static_foo_ref_3(X<1>&, X<2>&, X<3>&)
+DEAL::X<0>& U::ref_foo_4(X<1>, X<2>, X<3>, X<4>)
+DEAL::X<0>& U::ref_foo_4_const(X<1>, X<2>, X<3>, X<4>) const
+DEAL::X<0>& U::ref_foo_const_ref_4(const X<1>&, const X<2>&, const X<3>&, const X<4>&)
+DEAL::X<0>& U::ref_foo_const_ref_4_const(const X<1>&, const X<2>&, const X<3>&, const X<4>&) const
+DEAL::X<0>& U::ref_foo_ref_4(X<1>&, X<2>&, X<3>&, X<4>&)
+DEAL::X<0>& U::ref_foo_ref_4_const(X<1>&, X<2>&, X<3>&, X<4>&) const
+DEAL::const X<0>& U::const_ref_foo_4(X<1>, X<2>, X<3>, X<4>)
+DEAL::const X<0>& U::const_ref_foo_4_const(X<1>, X<2>, X<3>, X<4>) const
+DEAL::const X<0>& U::const_ref_foo_const_ref_4(X<1>&, X<2>&, X<3>&, X<4>&)
+DEAL::const X<0>& U::const_ref_foo_const_ref_4_const(X<1>&, X<2>&, X<3>&, X<4>&) const
+DEAL::const X<0>& U::const_ref_foo_ref_4(X<1>&, X<2>&, X<3>&, X<4>&)
+DEAL::const X<0>& U::const_ref_foo_ref_4_const(X<1>&, X<2>&, X<3>&, X<4>&) const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_4(X<1>, X<2>, X<3>, X<4>)
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_4_const(X<1>, X<2>, X<3>, X<4>) const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_const_ref_4(X<1>&, X<2>&, X<3>&, X<4>&)
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_const_ref_4_const(X<1>&, X<2>&, X<3>&, X<4>&) const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_ref_4(X<1>&, X<2>&, X<3>&, X<4>&)
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_ref_4_const(X<1>&, X<2>&, X<3>&, X<4>&) const
+DEAL::X<0> U::foo_4(X<1>, X<2>, X<3>, X<4>)
+DEAL::X<0> U::foo_4_const(X<1>, X<2>, X<3>, X<4>) const
+DEAL::X<0> U::foo_const_ref_4(const X<1>&, const X<2>&, const X<3>&, const X<4>&)
+DEAL::X<0> U::foo_const_ref_4_const(const X<1>&, const X<2>&, const X<3>&, const X<4>&) const
+DEAL::X<0> U::foo_ref_4(X<1>&, X<2>&, X<3>&, X<4>&)
+DEAL::X<0> U::foo_ref_4_const(X<1>&, X<2>&, X<3>&, X<4>&) const
+DEAL::virtual X<0>& U::virtual_ref_foo_4(X<1>, X<2>, X<3>, X<4>)
+DEAL::virtual X<0>& U::virtual_ref_foo_4_const(X<1>, X<2>, X<3>, X<4>) const
+DEAL::virtual X<0>& U::virtual_ref_foo_const_ref_4(const X<1>&, const X<2>&, const X<3>&, const X<4>&)
+DEAL::virtual X<0>& U::virtual_ref_foo_const_ref_4_const(const X<1>&, const X<2>&, const X<3>&, const X<4>&) const
+DEAL::virtual X<0>& U::virtual_ref_foo_ref_4(X<1>&, X<2>&, X<3>&, X<4>&)
+DEAL::virtual X<0>& U::virtual_ref_foo_ref_4_const(X<1>&, X<2>&, X<3>&, X<4>&) const
+DEAL::virtual X<0> U::virtual_foo_4(X<1>, X<2>, X<3>, X<4>)
+DEAL::virtual X<0> U::virtual_foo_4_const(X<1>, X<2>, X<3>, X<4>) const
+DEAL::virtual X<0> U::virtual_foo_const_ref_4(const X<1>&, const X<2>&, const X<3>&, const X<4>&)
+DEAL::virtual X<0> U::virtual_foo_const_ref_4_const(const X<1>&, const X<2>&, const X<3>&, const X<4>&) const
+DEAL::virtual X<0> U::virtual_foo_ref_4(X<1>&, X<2>&, X<3>&, X<4>&)
+DEAL::virtual X<0> U::virtual_foo_ref_4_const(X<1>&, X<2>&, X<3>&, X<4>&) const
+DEAL::static X<0>& U::static_ref_foo_4(X<1>, X<2>, X<3>, X<4>)
+DEAL::static X<0>& U::static_ref_foo_const_ref_4(const X<1>&, const X<2>&, const X<3>&, const X<4>&)
+DEAL::static X<0>& U::static_ref_foo_ref_4(X<1>&, X<2>&, X<3>&, X<4>&)
+DEAL::static const X<0>& U::static_const_ref_foo_4(X<1>, X<2>, X<3>, X<4>)
+DEAL::static const X<0>& U::static_const_ref_foo_const_ref_4(const X<1>&, const X<2>&, const X<3>&, const X<4>&)
+DEAL::static const X<0>& U::static_const_ref_foo_ref_4(X<1>&, X<2>&, X<3>&, X<4>&)
+DEAL::static X<0> U::static_foo_4(X<1>, X<2>, X<3>, X<4>)
+DEAL::static X<0> U::static_foo_const_ref_4(const X<1>&, const X<2>&, const X<3>&, const X<4>&)
+DEAL::static X<0> U::static_foo_ref_4(X<1>&, X<2>&, X<3>&, X<4>&)
+DEAL::X<0>& U::ref_foo_5(X<1>, X<2>, X<3>, X<4>, X<5>)
+DEAL::X<0>& U::ref_foo_5_const(X<1>, X<2>, X<3>, X<4>, X<5>) const
+DEAL::X<0>& U::ref_foo_const_ref_5(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&)
+DEAL::X<0>& U::ref_foo_const_ref_5_const(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&) const
+DEAL::X<0>& U::ref_foo_ref_5(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&)
+DEAL::X<0>& U::ref_foo_ref_5_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&) const
+DEAL::const X<0>& U::const_ref_foo_5(X<1>, X<2>, X<3>, X<4>, X<5>)
+DEAL::const X<0>& U::const_ref_foo_5_const(X<1>, X<2>, X<3>, X<4>, X<5>) const
+DEAL::const X<0>& U::const_ref_foo_const_ref_5(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&)
+DEAL::const X<0>& U::const_ref_foo_const_ref_5_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&) const
+DEAL::const X<0>& U::const_ref_foo_ref_5(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&)
+DEAL::const X<0>& U::const_ref_foo_ref_5_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&) const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_5(X<1>, X<2>, X<3>, X<4>, X<5>)
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_5_const(X<1>, X<2>, X<3>, X<4>, X<5>) const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_const_ref_5(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&)
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_const_ref_5_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&) const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_ref_5(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&)
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_ref_5_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&) const
+DEAL::X<0> U::foo_5(X<1>, X<2>, X<3>, X<4>, X<5>)
+DEAL::X<0> U::foo_5_const(X<1>, X<2>, X<3>, X<4>, X<5>) const
+DEAL::X<0> U::foo_const_ref_5(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&)
+DEAL::X<0> U::foo_const_ref_5_const(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&) const
+DEAL::X<0> U::foo_ref_5(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&)
+DEAL::X<0> U::foo_ref_5_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&) const
+DEAL::virtual X<0>& U::virtual_ref_foo_5(X<1>, X<2>, X<3>, X<4>, X<5>)
+DEAL::virtual X<0>& U::virtual_ref_foo_5_const(X<1>, X<2>, X<3>, X<4>, X<5>) const
+DEAL::virtual X<0>& U::virtual_ref_foo_const_ref_5(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&)
+DEAL::virtual X<0>& U::virtual_ref_foo_const_ref_5_const(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&) const
+DEAL::virtual X<0>& U::virtual_ref_foo_ref_5(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&)
+DEAL::virtual X<0>& U::virtual_ref_foo_ref_5_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&) const
+DEAL::virtual X<0> U::virtual_foo_5(X<1>, X<2>, X<3>, X<4>, X<5>)
+DEAL::virtual X<0> U::virtual_foo_5_const(X<1>, X<2>, X<3>, X<4>, X<5>) const
+DEAL::virtual X<0> U::virtual_foo_const_ref_5(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&)
+DEAL::virtual X<0> U::virtual_foo_const_ref_5_const(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&) const
+DEAL::virtual X<0> U::virtual_foo_ref_5(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&)
+DEAL::virtual X<0> U::virtual_foo_ref_5_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&) const
+DEAL::static X<0>& U::static_ref_foo_5(X<1>, X<2>, X<3>, X<4>, X<5>)
+DEAL::static X<0>& U::static_ref_foo_const_ref_5(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&)
+DEAL::static X<0>& U::static_ref_foo_ref_5(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&)
+DEAL::static const X<0>& U::static_const_ref_foo_5(X<1>, X<2>, X<3>, X<4>, X<5>)
+DEAL::static const X<0>& U::static_const_ref_foo_const_ref_5(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&)
+DEAL::static const X<0>& U::static_const_ref_foo_ref_5(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&)
+DEAL::static X<0> U::static_foo_5(X<1>, X<2>, X<3>, X<4>, X<5>)
+DEAL::static X<0> U::static_foo_const_ref_5(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&)
+DEAL::static X<0> U::static_foo_ref_5(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&)
+DEAL::X<0>& U::ref_foo_6(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>)
+DEAL::X<0>& U::ref_foo_6_const(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>) const
+DEAL::X<0>& U::ref_foo_const_ref_6(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&)
+DEAL::X<0>& U::ref_foo_const_ref_6_const(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&) const
+DEAL::X<0>& U::ref_foo_ref_6(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&)
+DEAL::X<0>& U::ref_foo_ref_6_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&) const
+DEAL::const X<0>& U::const_ref_foo_6(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>)
+DEAL::const X<0>& U::const_ref_foo_6_const(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>) const
+DEAL::const X<0>& U::const_ref_foo_const_ref_6(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&)
+DEAL::const X<0>& U::const_ref_foo_const_ref_6_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&) const
+DEAL::const X<0>& U::const_ref_foo_ref_6(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&)
+DEAL::const X<0>& U::const_ref_foo_ref_6_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&) const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_6(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>)
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_6_const(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>) const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_const_ref_6(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&)
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_const_ref_6_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&) const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_ref_6(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&)
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_ref_6_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&) const
+DEAL::X<0> U::foo_6(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>)
+DEAL::X<0> U::foo_6_const(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>) const
+DEAL::X<0> U::foo_const_ref_6(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&)
+DEAL::X<0> U::foo_const_ref_6_const(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&) const
+DEAL::X<0> U::foo_ref_6(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&)
+DEAL::X<0> U::foo_ref_6_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&) const
+DEAL::virtual X<0>& U::virtual_ref_foo_6(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>)
+DEAL::virtual X<0>& U::virtual_ref_foo_6_const(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>) const
+DEAL::virtual X<0>& U::virtual_ref_foo_const_ref_6(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&)
+DEAL::virtual X<0>& U::virtual_ref_foo_const_ref_6_const(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&) const
+DEAL::virtual X<0>& U::virtual_ref_foo_ref_6(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&)
+DEAL::virtual X<0>& U::virtual_ref_foo_ref_6_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&) const
+DEAL::virtual X<0> U::virtual_foo_6(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>)
+DEAL::virtual X<0> U::virtual_foo_6_const(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>) const
+DEAL::virtual X<0> U::virtual_foo_const_ref_6(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&)
+DEAL::virtual X<0> U::virtual_foo_const_ref_6_const(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&) const
+DEAL::virtual X<0> U::virtual_foo_ref_6(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&)
+DEAL::virtual X<0> U::virtual_foo_ref_6_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&) const
+DEAL::static X<0>& U::static_ref_foo_6(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>)
+DEAL::static X<0>& U::static_ref_foo_const_ref_6(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&)
+DEAL::static X<0>& U::static_ref_foo_ref_6(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&)
+DEAL::static const X<0>& U::static_const_ref_foo_6(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>)
+DEAL::static const X<0>& U::static_const_ref_foo_const_ref_6(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&)
+DEAL::static const X<0>& U::static_const_ref_foo_ref_6(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&)
+DEAL::static X<0> U::static_foo_6(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>)
+DEAL::static X<0> U::static_foo_const_ref_6(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&)
+DEAL::static X<0> U::static_foo_ref_6(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&)
+DEAL::X<0>& U::ref_foo_7(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>)
+DEAL::X<0>& U::ref_foo_7_const(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>) const
+DEAL::X<0>& U::ref_foo_const_ref_7(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&)
+DEAL::X<0>& U::ref_foo_const_ref_7_const(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&) const
+DEAL::X<0>& U::ref_foo_ref_7(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&)
+DEAL::X<0>& U::ref_foo_ref_7_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&) const
+DEAL::const X<0>& U::const_ref_foo_7(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>)
+DEAL::const X<0>& U::const_ref_foo_7_const(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>) const
+DEAL::const X<0>& U::const_ref_foo_const_ref_7(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&)
+DEAL::const X<0>& U::const_ref_foo_const_ref_7_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&) const
+DEAL::const X<0>& U::const_ref_foo_ref_7(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&)
+DEAL::const X<0>& U::const_ref_foo_ref_7_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&) const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_7(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>)
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_7_const(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>) const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_const_ref_7(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&)
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_const_ref_7_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&) const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_ref_7(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&)
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_ref_7_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&) const
+DEAL::X<0> U::foo_7(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>)
+DEAL::X<0> U::foo_7_const(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>) const
+DEAL::X<0> U::foo_const_ref_7(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&)
+DEAL::X<0> U::foo_const_ref_7_const(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&) const
+DEAL::X<0> U::foo_ref_7(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&)
+DEAL::X<0> U::foo_ref_7_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&) const
+DEAL::virtual X<0>& U::virtual_ref_foo_7(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>)
+DEAL::virtual X<0>& U::virtual_ref_foo_7_const(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>) const
+DEAL::virtual X<0>& U::virtual_ref_foo_const_ref_7(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&)
+DEAL::virtual X<0>& U::virtual_ref_foo_const_ref_7_const(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&) const
+DEAL::virtual X<0>& U::virtual_ref_foo_ref_7(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&)
+DEAL::virtual X<0>& U::virtual_ref_foo_ref_7_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&) const
+DEAL::virtual X<0> U::virtual_foo_7(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>)
+DEAL::virtual X<0> U::virtual_foo_7_const(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>) const
+DEAL::virtual X<0> U::virtual_foo_const_ref_7(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&)
+DEAL::virtual X<0> U::virtual_foo_const_ref_7_const(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&) const
+DEAL::virtual X<0> U::virtual_foo_ref_7(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&)
+DEAL::virtual X<0> U::virtual_foo_ref_7_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&) const
+DEAL::static X<0>& U::static_ref_foo_7(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>)
+DEAL::static X<0>& U::static_ref_foo_const_ref_7(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&)
+DEAL::static X<0>& U::static_ref_foo_ref_7(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&)
+DEAL::static const X<0>& U::static_const_ref_foo_7(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>)
+DEAL::static const X<0>& U::static_const_ref_foo_const_ref_7(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&)
+DEAL::static const X<0>& U::static_const_ref_foo_ref_7(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&)
+DEAL::static X<0> U::static_foo_7(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>)
+DEAL::static X<0> U::static_foo_const_ref_7(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&)
+DEAL::static X<0> U::static_foo_ref_7(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&)
+DEAL::X<0>& U::ref_foo_8(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>)
+DEAL::X<0>& U::ref_foo_8_const(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>) const
+DEAL::X<0>& U::ref_foo_const_ref_8(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&)
+DEAL::X<0>& U::ref_foo_const_ref_8_const(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&) const
+DEAL::X<0>& U::ref_foo_ref_8(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&)
+DEAL::X<0>& U::ref_foo_ref_8_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&) const
+DEAL::const X<0>& U::const_ref_foo_8(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>)
+DEAL::const X<0>& U::const_ref_foo_8_const(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>) const
+DEAL::const X<0>& U::const_ref_foo_const_ref_8(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&)
+DEAL::const X<0>& U::const_ref_foo_const_ref_8_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&) const
+DEAL::const X<0>& U::const_ref_foo_ref_8(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&)
+DEAL::const X<0>& U::const_ref_foo_ref_8_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&) const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_8(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>)
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_8_const(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>) const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_const_ref_8(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&)
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_const_ref_8_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&) const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_ref_8(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&)
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_ref_8_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&) const
+DEAL::X<0> U::foo_8(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>)
+DEAL::X<0> U::foo_8_const(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>) const
+DEAL::X<0> U::foo_const_ref_8(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&)
+DEAL::X<0> U::foo_const_ref_8_const(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&) const
+DEAL::X<0> U::foo_ref_8(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&)
+DEAL::X<0> U::foo_ref_8_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&) const
+DEAL::virtual X<0>& U::virtual_ref_foo_8(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>)
+DEAL::virtual X<0>& U::virtual_ref_foo_8_const(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>) const
+DEAL::virtual X<0>& U::virtual_ref_foo_const_ref_8(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&)
+DEAL::virtual X<0>& U::virtual_ref_foo_const_ref_8_const(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&) const
+DEAL::virtual X<0>& U::virtual_ref_foo_ref_8(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&)
+DEAL::virtual X<0>& U::virtual_ref_foo_ref_8_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&) const
+DEAL::virtual X<0> U::virtual_foo_8(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>)
+DEAL::virtual X<0> U::virtual_foo_8_const(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>) const
+DEAL::virtual X<0> U::virtual_foo_const_ref_8(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&)
+DEAL::virtual X<0> U::virtual_foo_const_ref_8_const(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&) const
+DEAL::virtual X<0> U::virtual_foo_ref_8(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&)
+DEAL::virtual X<0> U::virtual_foo_ref_8_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&) const
+DEAL::static X<0>& U::static_ref_foo_8(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>)
+DEAL::static X<0>& U::static_ref_foo_const_ref_8(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&)
+DEAL::static X<0>& U::static_ref_foo_ref_8(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&)
+DEAL::static const X<0>& U::static_const_ref_foo_8(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>)
+DEAL::static const X<0>& U::static_const_ref_foo_const_ref_8(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&)
+DEAL::static const X<0>& U::static_const_ref_foo_ref_8(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&)
+DEAL::static X<0> U::static_foo_8(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>)
+DEAL::static X<0> U::static_foo_const_ref_8(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&)
+DEAL::static X<0> U::static_foo_ref_8(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&)
+DEAL::X<0>& U::ref_foo_9(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>, X<9>)
+DEAL::X<0>& U::ref_foo_9_const(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>, X<9>) const
+DEAL::X<0>& U::ref_foo_const_ref_9(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&, const X<9>&)
+DEAL::X<0>& U::ref_foo_const_ref_9_const(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&, const X<9>&) const
+DEAL::X<0>& U::ref_foo_ref_9(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&)
+DEAL::X<0>& U::ref_foo_ref_9_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&) const
+DEAL::const X<0>& U::const_ref_foo_9(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>, X<9>)
+DEAL::const X<0>& U::const_ref_foo_9_const(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>, X<9>) const
+DEAL::const X<0>& U::const_ref_foo_const_ref_9(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&)
+DEAL::const X<0>& U::const_ref_foo_const_ref_9_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&) const
+DEAL::const X<0>& U::const_ref_foo_ref_9(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&)
+DEAL::const X<0>& U::const_ref_foo_ref_9_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&) const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_9(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>, X<9>)
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_9_const(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>, X<9>) const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_const_ref_9(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&)
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_const_ref_9_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&) const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_ref_9(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&)
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_ref_9_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&) const
+DEAL::X<0> U::foo_9(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>, X<9>)
+DEAL::X<0> U::foo_9_const(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>, X<9>) const
+DEAL::X<0> U::foo_const_ref_9(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&, const X<9>&)
+DEAL::X<0> U::foo_const_ref_9_const(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&, const X<9>&) const
+DEAL::X<0> U::foo_ref_9(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&)
+DEAL::X<0> U::foo_ref_9_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&) const
+DEAL::virtual X<0>& U::virtual_ref_foo_9(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>, X<9>)
+DEAL::virtual X<0>& U::virtual_ref_foo_9_const(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>, X<9>) const
+DEAL::virtual X<0>& U::virtual_ref_foo_const_ref_9(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&, const X<9>&)
+DEAL::virtual X<0>& U::virtual_ref_foo_const_ref_9_const(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&, const X<9>&) const
+DEAL::virtual X<0>& U::virtual_ref_foo_ref_9(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&)
+DEAL::virtual X<0>& U::virtual_ref_foo_ref_9_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&) const
+DEAL::virtual X<0> U::virtual_foo_9(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>, X<9>)
+DEAL::virtual X<0> U::virtual_foo_9_const(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>, X<9>) const
+DEAL::virtual X<0> U::virtual_foo_const_ref_9(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&, const X<9>&)
+DEAL::virtual X<0> U::virtual_foo_const_ref_9_const(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&, const X<9>&) const
+DEAL::virtual X<0> U::virtual_foo_ref_9(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&)
+DEAL::virtual X<0> U::virtual_foo_ref_9_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&) const
+DEAL::static X<0>& U::static_ref_foo_9(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>, X<9>)
+DEAL::static X<0>& U::static_ref_foo_const_ref_9(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&, const X<9>&)
+DEAL::static X<0>& U::static_ref_foo_ref_9(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&)
+DEAL::static const X<0>& U::static_const_ref_foo_9(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>, X<9>)
+DEAL::static const X<0>& U::static_const_ref_foo_const_ref_9(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&, const X<9>&)
+DEAL::static const X<0>& U::static_const_ref_foo_ref_9(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&)
+DEAL::static X<0> U::static_foo_9(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>, X<9>)
+DEAL::static X<0> U::static_foo_const_ref_9(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&, const X<9>&)
+DEAL::static X<0> U::static_foo_ref_9(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&)
+DEAL::X<0>& U::ref_foo_10(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>, X<9>, X<10>)
+DEAL::X<0>& U::ref_foo_10_const(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>, X<9>, X<10>) const
+DEAL::X<0>& U::ref_foo_const_ref_10(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&, const X<9>&, const X<10>&)
+DEAL::X<0>& U::ref_foo_const_ref_10_const(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&, const X<9>&, const X<10>&) const
+DEAL::X<0>& U::ref_foo_ref_10(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&, X<10>&)
+DEAL::X<0>& U::ref_foo_ref_10_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&, X<10>&) const
+DEAL::const X<0>& U::const_ref_foo_10(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>, X<9>, X<10>)
+DEAL::const X<0>& U::const_ref_foo_10_const(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>, X<9>, X<10>) const
+DEAL::const X<0>& U::const_ref_foo_const_ref_10(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&, X<10>&)
+DEAL::const X<0>& U::const_ref_foo_const_ref_10_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&, X<10>&) const
+DEAL::const X<0>& U::const_ref_foo_ref_10(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&, X<10>&)
+DEAL::const X<0>& U::const_ref_foo_ref_10_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&, X<10>&) const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_10(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>, X<9>, X<10>)
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_10_const(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>, X<9>, X<10>) const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_const_ref_10(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&, X<10>&)
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_const_ref_10_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&, X<10>&) const
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_ref_10(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&, X<10>&)
+DEAL::virtual const X<0>& U::virtual_const_ref_foo_ref_10_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&, X<10>&) const
+DEAL::X<0> U::foo_10(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>, X<9>, X<10>)
+DEAL::X<0> U::foo_10_const(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>, X<9>, X<10>) const
+DEAL::X<0> U::foo_const_ref_10(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&, const X<9>&, const X<10>&)
+DEAL::X<0> U::foo_const_ref_10_const(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&, const X<9>&, const X<10>&) const
+DEAL::X<0> U::foo_ref_10(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&, X<10>&)
+DEAL::X<0> U::foo_ref_10_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&, X<10>&) const
+DEAL::virtual X<0>& U::virtual_ref_foo_10(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>, X<9>, X<10>)
+DEAL::virtual X<0>& U::virtual_ref_foo_10_const(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>, X<9>, X<10>) const
+DEAL::virtual X<0>& U::virtual_ref_foo_const_ref_10(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&, const X<9>&, const X<10>&)
+DEAL::virtual X<0>& U::virtual_ref_foo_const_ref_10_const(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&, const X<9>&, const X<10>&) const
+DEAL::virtual X<0>& U::virtual_ref_foo_ref_10(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&, X<10>&)
+DEAL::virtual X<0>& U::virtual_ref_foo_ref_10_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&, X<10>&) const
+DEAL::virtual X<0> U::virtual_foo_10(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>, X<9>, X<10>)
+DEAL::virtual X<0> U::virtual_foo_10_const(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>, X<9>, X<10>) const
+DEAL::virtual X<0> U::virtual_foo_const_ref_10(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&, const X<9>&, const X<10>&)
+DEAL::virtual X<0> U::virtual_foo_const_ref_10_const(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&, const X<9>&, const X<10>&) const
+DEAL::virtual X<0> U::virtual_foo_ref_10(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&, X<10>&)
+DEAL::virtual X<0> U::virtual_foo_ref_10_const(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&, X<10>&) const
+DEAL::static X<0>& U::static_ref_foo_10(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>, X<9>, X<10>)
+DEAL::static X<0>& U::static_ref_foo_const_ref_10(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&, const X<9>&, const X<10>&)
+DEAL::static X<0>& U::static_ref_foo_ref_10(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&, X<10>&)
+DEAL::static const X<0>& U::static_const_ref_foo_10(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>, X<9>, X<10>)
+DEAL::static const X<0>& U::static_const_ref_foo_const_ref_10(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&, const X<9>&, const X<10>&)
+DEAL::static const X<0>& U::static_const_ref_foo_ref_10(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&, X<10>&)
+DEAL::static X<0> U::static_foo_10(X<1>, X<2>, X<3>, X<4>, X<5>, X<6>, X<7>, X<8>, X<9>, X<10>)
+DEAL::static X<0> U::static_foo_const_ref_10(const X<1>&, const X<2>&, const X<3>&, const X<4>&, const X<5>&, const X<6>&, const X<7>&, const X<8>&, const X<9>&, const X<10>&)
+DEAL::static X<0> U::static_foo_ref_10(X<1>&, X<2>&, X<3>&, X<4>&, X<5>&, X<6>&, X<7>&, X<8>&, X<9>&, X<10>&)
diff --git a/tests/base/threads.pl b/tests/base/threads.pl
new file mode 100644 (file)
index 0000000..9a42b63
--- /dev/null
@@ -0,0 +1,265 @@
+#----------------------------  timer.cc  ---------------------------
+#    $Id$
+#    Version: $Name$
+#
+#    Copyright (C) 2003 by the deal.II authors
+#
+#    This file is subject to QPL and may not be  distributed
+#    without copyright and license information. Please refer
+#    to the file deal.II/doc/license.html for the  text  and
+#    further information on this license.
+#
+#----------------------------  timer.cc  ---------------------------
+
+# This is the script with which threads.cc is generated
+#
+# The idea of the generated file is: have classes X<N> which
+# are not convertible into each other, and have functions with
+# 0..10 arguments of types X<1>..X<10>, with reference and/or
+# constant arguments, being virtual, static, or const. This way,
+# we check all possible spawn(...) combinations and all possible
+# combinations of arguments. Since the argument types are not
+# convertible into each other, this also makes sure that there are
+# no typos like "Arg4, Arg4" instead of "Arg4, Arg5", that might
+# otherwise sneak in.
+
+$N=10;
+
+print "#include <base/thread_management.h>\n";
+print "#include <base/logstream.h>\n";
+print "#include <fstream>\n";
+print "#include <iostream>\n";
+print "template <int> struct X {};\n";
+print "struct U {\n";
+
+
+sub print_args {
+    my $i = $_[0];
+    my $pre = $_[1];
+    my $post = $_[2];
+    my $end = $_[3];
+    for (my $j=1; $j<=$i; ++$j) {
+       print $pre, $j, $post, ($j!=$i ? "," : "");
+    }
+    print ")${end} { \n";
+    print "    deallog << __PRETTY_FUNCTION__ << std::endl;\n";
+    print "    static X<0> x; return x;\n";
+    print "  };\n";
+}
+
+for ($i=0; $i<=$N; ++$i) {
+    print "  X<0> foo_$i (";
+    print_args ($i, "X<", ">", "");
+
+    print "  static X<0> static_foo_$i (";
+    print_args ($i, "X<", ">", "");
+
+    print "  X<0> & ref_foo_$i (";
+    print_args ($i, "X<", ">", "");
+
+    print "  static X<0> & static_ref_foo_$i (";
+    print_args ($i, "X<", ">", "");
+
+    print "  static const X<0> & static_const_ref_foo_$i (";
+    print_args ($i, "X<", ">", "");
+
+    print "  X<0> foo_ref_$i (";
+    print_args ($i, "X<", ">&", "");
+
+    print "  static X<0> static_foo_ref_$i (";
+    print_args ($i, "X<", ">&", "");
+
+    print "  X<0> & ref_foo_ref_$i (";
+    print_args ($i, "X<", ">&", "");
+
+    print "  const X<0> & const_ref_foo_$i (";
+    print_args ($i, "X<", ">", "");
+
+    print "  const X<0> & const_ref_foo_ref_$i (";
+    print_args ($i, "X<", ">&", "");
+
+    print "  const X<0> & const_ref_foo_const_ref_$i (";
+    print_args ($i, "X<", ">&", "");
+
+    print "  const X<0> & const_ref_foo_${i}_const (";
+    print_args ($i, "X<", ">", "const");
+
+    print "  const X<0> & const_ref_foo_ref_${i}_const (";
+    print_args ($i, "X<", ">&", "const");
+
+    print "  const X<0> & const_ref_foo_const_ref_${i}_const (";
+    print_args ($i, "X<", ">&", "const");
+
+    print "  virtual const X<0> & virtual_const_ref_foo_$i (";
+    print_args ($i, "X<", ">", "");
+
+    print "  virtual const X<0> & virtual_const_ref_foo_ref_$i (";
+    print_args ($i, "X<", ">&", "");
+
+    print "  virtual const X<0> & virtual_const_ref_foo_const_ref_$i (";
+    print_args ($i, "X<", ">&", "");
+
+    print "  virtual const X<0> & virtual_const_ref_foo_${i}_const (";
+    print_args ($i, "X<", ">", "const");
+
+    print "  virtual const X<0> & virtual_const_ref_foo_ref_${i}_const (";
+    print_args ($i, "X<", ">&", "const");
+
+    print "  virtual const X<0> & virtual_const_ref_foo_const_ref_${i}_const (";
+    print_args ($i, "X<", ">&", "const");
+
+    print "  static X<0> & static_ref_foo_ref_$i (";
+    print_args ($i, "X<", ">&", "");
+
+    print "  static const X<0> & static_const_ref_foo_ref_$i (";
+    print_args ($i, "X<", ">&", "");
+
+    print "  X<0> foo_const_ref_$i (";
+    print_args ($i, "const X<", ">&", "");
+
+    print "  static X<0> static_foo_const_ref_$i (";
+    print_args ($i, "const X<", ">&", "");
+
+    print "  X<0> & ref_foo_const_ref_$i (";
+    print_args ($i, "const X<", ">&", "");
+
+    print "  static X<0> & static_ref_foo_const_ref_$i (";
+    print_args ($i, "const X<", ">&", "");
+
+    print "  static const X<0> & static_const_ref_foo_const_ref_$i (";
+    print_args ($i, "const X<", ">&", "");
+
+    print "  X<0> foo_${i}_const (";
+    print_args ($i, "X<", ">", " const");
+
+    print "  X<0> & ref_foo_${i}_const (";
+    print_args ($i, "X<", ">", " const");
+
+    print "  X<0> foo_ref_${i}_const (";
+    print_args ($i, "X<", ">&", " const");
+
+    print "  X<0> & ref_foo_ref_${i}_const (";
+    print_args ($i, "X<", ">&", " const");
+
+    print "  X<0> foo_const_ref_${i}_const (";
+    print_args ($i, "const X<", ">&", " const");
+
+    print "  X<0> & ref_foo_const_ref_${i}_const (";
+    print_args ($i, "const X<", ">&", " const");
+
+    print "  virtual X<0> virtual_foo_${i}_const (";
+    print_args ($i, "X<", ">", " const");
+
+    print "  virtual X<0> & virtual_ref_foo_${i}_const (";
+    print_args ($i, "X<", ">", " const");
+
+    print "  virtual X<0> virtual_foo_ref_${i}_const (";
+    print_args ($i, "X<", ">&", " const");
+
+    print "  virtual X<0> & virtual_ref_foo_ref_${i}_const (";
+    print_args ($i, "X<", ">&", " const");
+
+    print "  virtual X<0> virtual_foo_const_ref_${i}_const (";
+    print_args ($i, "const X<", ">&", " const");
+
+    print "  virtual X<0> & virtual_ref_foo_const_ref_${i}_const (";
+    print_args ($i, "const X<", ">&", " const");
+
+    print "  virtual X<0> virtual_foo_$i (";
+    print_args ($i, "X<", ">", "");
+
+    print "  virtual X<0> & virtual_ref_foo_$i (";
+    print_args ($i, "X<", ">", "");
+
+    print "  virtual X<0> virtual_foo_ref_$i (";
+    print_args ($i, "X<", ">&", "");
+
+    print "  virtual X<0> & virtual_ref_foo_ref_$i (";
+    print_args ($i, "X<", ">&", "");
+
+    print "  virtual X<0> virtual_foo_const_ref_$i (";
+    print_args ($i, "const X<", ">&", "");
+
+    print "  virtual X<0> & virtual_ref_foo_const_ref_$i (";
+    print_args ($i, "const X<", ">&", "");
+}
+
+print "};\n";
+
+
+print "int main () {\n";
+print "  std::ofstream logfile(\"threads.output\");\n";
+print "  deallog.attach(logfile);\n";
+print "  deallog.depth_console(0);\n";
+
+print "  using namespace Threads;\n";
+print "  ThreadGroup<X<0> > tg;\n";
+print "  ThreadGroup<X<0>&> tgr;\n";
+print "  ThreadGroup<const X<0>&> tgcr;\n";
+print "  U u;\n";
+for ($i=1; $i<=$N; ++$i) {
+    print "X<$i> x$i;\n";
+}
+for ($i=0; $i<=$N; ++$i) {
+    $arglist = "(";
+    for ($j=1; $j<=$i; ++$j) {
+       $arglist = $arglist . "x$j" . ($j!=$i ? "," : "");
+    }
+    $arglist = $arglist . ")";
+
+#### where are the const ref functions??
+    print << "END"
+    tgr += spawn (u, &U::ref_foo_${i}) $arglist;
+    tgr += spawn (u, &U::ref_foo_${i}_const) $arglist;
+    tgr += spawn (u, &U::ref_foo_const_ref_${i}) $arglist;
+    tgr += spawn (u, &U::ref_foo_const_ref_${i}_const) $arglist;
+    tgr += spawn (u, &U::ref_foo_ref_${i}) $arglist;
+    tgr += spawn (u, &U::ref_foo_ref_${i}_const) $arglist;
+    tgcr += spawn (u, &U::const_ref_foo_${i}) $arglist;
+    tgcr += spawn (u, &U::const_ref_foo_${i}_const) $arglist;
+    tgcr += spawn (u, &U::const_ref_foo_const_ref_${i}) $arglist;
+    tgcr += spawn (u, &U::const_ref_foo_const_ref_${i}_const) $arglist;
+    tgcr += spawn (u, &U::const_ref_foo_ref_${i}) $arglist;
+    tgcr += spawn (u, &U::const_ref_foo_ref_${i}_const) $arglist;
+    tgcr += spawn (u, &U::virtual_const_ref_foo_${i}) $arglist;
+    tgcr += spawn (u, &U::virtual_const_ref_foo_${i}_const) $arglist;
+    tgcr += spawn (u, &U::virtual_const_ref_foo_const_ref_${i}) $arglist;
+    tgcr += spawn (u, &U::virtual_const_ref_foo_const_ref_${i}_const) $arglist;
+    tgcr += spawn (u, &U::virtual_const_ref_foo_ref_${i}) $arglist;
+    tgcr += spawn (u, &U::virtual_const_ref_foo_ref_${i}_const) $arglist;
+    tg += spawn (u, &U::foo_${i}) $arglist;
+    tg += spawn (u, &U::foo_${i}_const) $arglist;
+    tg += spawn (u, &U::foo_const_ref_${i}) $arglist;
+    tg += spawn (u, &U::foo_const_ref_${i}_const) $arglist;
+    tg += spawn (u, &U::foo_ref_${i}) $arglist;
+    tg += spawn (u, &U::foo_ref_${i}_const) $arglist;
+    tgr += spawn (u, &U::virtual_ref_foo_${i}) $arglist;
+    tgr += spawn (u, &U::virtual_ref_foo_${i}_const) $arglist;
+    tgr += spawn (u, &U::virtual_ref_foo_const_ref_${i}) $arglist;
+    tgr += spawn (u, &U::virtual_ref_foo_const_ref_${i}_const) $arglist;
+    tgr += spawn (u, &U::virtual_ref_foo_ref_${i}) $arglist;
+    tgr += spawn (u, &U::virtual_ref_foo_ref_${i}_const) $arglist;
+    tg += spawn (u, &U::virtual_foo_${i}) $arglist;
+    tg += spawn (u, &U::virtual_foo_${i}_const) $arglist;
+    tg += spawn (u, &U::virtual_foo_const_ref_${i}) $arglist;
+    tg += spawn (u, &U::virtual_foo_const_ref_${i}_const) $arglist;
+    tg += spawn (u, &U::virtual_foo_ref_${i}) $arglist;
+    tg += spawn (u, &U::virtual_foo_ref_${i}_const) $arglist;
+
+    tgr += spawn (&U::static_ref_foo_${i}) $arglist;
+    tgr += spawn (&U::static_ref_foo_const_ref_${i}) $arglist;
+    tgr += spawn (&U::static_ref_foo_ref_${i}) $arglist;
+    tgcr += spawn (&U::static_const_ref_foo_${i}) $arglist;
+    tgcr += spawn (&U::static_const_ref_foo_const_ref_${i}) $arglist;
+    tgcr += spawn (&U::static_const_ref_foo_ref_${i}) $arglist;
+    tg += spawn (&U::static_foo_${i}) $arglist;
+    tg += spawn (&U::static_foo_const_ref_${i}) $arglist;
+    tg += spawn (&U::static_foo_ref_${i}) $arglist;
+END
+    ;
+}
+print "  tg.join_all();\n";
+print "  tgr.join_all();\n";
+print "}\n";
+
+#############

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.