[newfield_revision Patch] Add MultiArg4 to Functions/MultiArg.h
Jeffrey Oldham
oldham at codesourcery.com
Wed Aug 29 16:34:45 UTC 2001
Apparently, MultiArg4 was inadvertently omitted from
src/Functions/MultiArg.h.
2001-08-29 Jeffrey D. Oldham <oldham at codesourcery.com>
* MultiArg.h (MultiArg4): New structure analogous to MultiArg5.
(applyMultiArg(MultiArg4, ...)): New function corresponding to
MultiArg4.
Tested: compiled StatigraphicFlow.cpp with Linux gcc 3.0.1 using this
Approved by: Stephen Smith
Applied to: newfield_revision branch
Thanks,
Jeffrey D. Oldham
oldham at codesourcery.com
-------------- next part --------------
Index: MultiArg.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/Functions/MultiArg.h,v
retrieving revision 1.5
diff -c -p -r1.5 MultiArg.h
*** MultiArg.h 2001/03/28 22:33:16 1.5
--- MultiArg.h 2001/08/29 02:47:38
*************** struct MultiArg3
*** 270,275 ****
--- 270,299 ----
A3 a3_m;
};
+ template<class A1, class A2, class A3, class A4>
+ struct MultiArg4
+ {
+ enum { size = 4 };
+
+ MultiArg4(const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4)
+ : a1_m(a1), a2_m(a2), a3_m(a3), a4_m(a4)
+ {
+ }
+
+ template<class Dom>
+ typename View1<MultiArg4<A1, A2, A3, A4>, Dom>::Type_t
+ operator()(Dom &dom) const
+ {
+ typedef typename View1<MultiArg4<A1, A2, A3, A4>, Dom>::Type_t Ret_t;
+ return Ret_t(a1_m(dom), a2_m(dom), a3_m(dom), a4_m(dom));
+ }
+
+ A1 a1_m;
+ A2 a2_m;
+ A3 a3_m;
+ A4 a4_m;
+ };
+
template<class A1, class A2, class A3, class A4, class A5>
struct MultiArg5
{
*************** void applyMultiArg(const MultiArg3<A1, A
*** 373,378 ****
--- 397,413 ----
f(node.a1_m, condition[0]);
f(node.a2_m, condition[1]);
f(node.a3_m, condition[2]);
+ }
+
+ template<class A1, class A2, class A3, class A4, class Function>
+ void applyMultiArg(const MultiArg4<A1, A2, A3, A4> &node,
+ const Function &f,
+ const std::vector<bool> &condition)
+ {
+ f(node.a1_m, condition[0]);
+ f(node.a2_m, condition[1]);
+ f(node.a3_m, condition[2]);
+ f(node.a4_m, condition[3]);
}
template<class A1, class A2, class A3, class A4, class A5, class Function>
More information about the pooma-dev
mailing list