arguments.hpp

Knödlseder Jürgen, 03/26/2013 01:29 AM

Download (5.71 KB)

 
1
#ifndef ARGUMENTS_HPP
2
#define ARGUMENTS_HPP
3

    
4
/* __ Includes ___________________________________________________________ */
5
struct args5 {
6
    int arg1;
7
    int arg2;
8
    int arg3;
9
    int arg4;
10
    int arg5;
11
};
12
struct args15 {
13
    int arg1;
14
    int arg2;
15
    int arg3;
16
    int arg4;
17
    int arg5;
18
    int arg6;
19
    int arg7;
20
    int arg8;
21
    int arg9;
22
    int arg10;
23
    int arg11;
24
    int arg12;
25
    int arg13;
26
    int arg14;
27
    int arg15;
28
};
29

    
30
/* __ ArgCopy5 class _____________________________________________________ */
31
class ArgCopy5 {
32
public:
33
    ArgCopy5(int arg1,
34
             int arg2,
35
             int arg3,
36
             int arg4,
37
             int arg5) :
38
             m_arg1(arg1),
39
             m_arg2(arg2),
40
             m_arg3(arg3),
41
             m_arg4(arg4),
42
             m_arg5(arg5) { }
43
    double eval(void) { return (m_arg1+m_arg2+m_arg3+m_arg4+m_arg5); }
44
protected:
45
    int m_arg1;
46
    int m_arg2;
47
    int m_arg3;
48
    int m_arg4;
49
    int m_arg5;
50
};
51

    
52

    
53
/* __ ArgCopy15 class ____________________________________________________ */
54
class ArgCopy15 {
55
public:
56
    ArgCopy15(int arg1,
57
              int arg2,
58
              int arg3,
59
              int arg4,
60
              int arg5,
61
              int arg6,
62
              int arg7,
63
              int arg8,
64
              int arg9,
65
              int arg10,
66
              int arg11,
67
              int arg12,
68
              int arg13,
69
              int arg14,
70
              int arg15) :
71
              m_arg1(arg1),
72
              m_arg2(arg2),
73
              m_arg3(arg3),
74
              m_arg4(arg4),
75
              m_arg5(arg5),
76
              m_arg6(arg6),
77
              m_arg7(arg7),
78
              m_arg8(arg8),
79
              m_arg9(arg9),
80
              m_arg10(arg10),
81
              m_arg11(arg11),
82
              m_arg12(arg12),
83
              m_arg13(arg13),
84
              m_arg14(arg14),
85
              m_arg15(arg15) { }
86
    double eval(void) { return (m_arg1+m_arg2+m_arg3+m_arg4+m_arg5+
87
                                m_arg6+m_arg7+m_arg8+m_arg9+m_arg10+
88
                                m_arg11+m_arg12+m_arg13+m_arg14+m_arg15); }
89
protected:
90
    int m_arg1;
91
    int m_arg2;
92
    int m_arg3;
93
    int m_arg4;
94
    int m_arg5;
95
    int m_arg6;
96
    int m_arg7;
97
    int m_arg8;
98
    int m_arg9;
99
    int m_arg10;
100
    int m_arg11;
101
    int m_arg12;
102
    int m_arg13;
103
    int m_arg14;
104
    int m_arg15;
105
};
106

    
107

    
108
/* __ ArgRef5 class ______________________________________________________ */
109
class ArgRef5 {
110
public:
111
    ArgRef5(const int& arg1,
112
            const int& arg2,
113
            const int& arg3,
114
            const int& arg4,
115
            const int& arg5) :
116
            m_arg1(arg1),
117
            m_arg2(arg2),
118
            m_arg3(arg3),
119
            m_arg4(arg4),
120
            m_arg5(arg5) { }
121
    double eval(void) { return (m_arg1+m_arg2+m_arg3+m_arg4+m_arg5); }
122
protected:
123
    const int& m_arg1;
124
    const int& m_arg2;
125
    const int& m_arg3;
126
    const int& m_arg4;
127
    const int& m_arg5;
128
};
129

    
130

    
131
/* __ ArgRef15 class _____________________________________________________ */
132
class ArgRef15 {
133
public:
134
    ArgRef15(const int& arg1,
135
             const int& arg2,
136
             const int& arg3,
137
             const int& arg4,
138
             const int& arg5,
139
             const int& arg6,
140
             const int& arg7,
141
             const int& arg8,
142
             const int& arg9,
143
             const int& arg10,
144
             const int& arg11,
145
             const int& arg12,
146
             const int& arg13,
147
             const int& arg14,
148
             const int& arg15) :
149
             m_arg1(arg1),
150
             m_arg2(arg2),
151
             m_arg3(arg3),
152
             m_arg4(arg4),
153
             m_arg5(arg5),
154
             m_arg6(arg6),
155
             m_arg7(arg7),
156
             m_arg8(arg8),
157
             m_arg9(arg9),
158
             m_arg10(arg10),
159
             m_arg11(arg11),
160
             m_arg12(arg12),
161
             m_arg13(arg13),
162
             m_arg14(arg14),
163
             m_arg15(arg15) { }
164
    double eval(void) { return (m_arg1+m_arg2+m_arg3+m_arg4+m_arg5+
165
                                m_arg6+m_arg7+m_arg8+m_arg9+m_arg10+
166
                                m_arg11+m_arg12+m_arg13+m_arg14+m_arg15); }
167
protected:
168
    const int& m_arg1;
169
    const int& m_arg2;
170
    const int& m_arg3;
171
    const int& m_arg4;
172
    const int& m_arg5;
173
    const int& m_arg6;
174
    const int& m_arg7;
175
    const int& m_arg8;
176
    const int& m_arg9;
177
    const int& m_arg10;
178
    const int& m_arg11;
179
    const int& m_arg12;
180
    const int& m_arg13;
181
    const int& m_arg14;
182
    const int& m_arg15;
183
};
184

    
185

    
186
/* __ ArgStruct5 class ___________________________________________________ */
187
class ArgStruct5 {
188
public:
189
    ArgStruct5(const args5& args) :
190
               m_args(args) { }
191
    double eval(void) { return (m_args.arg1+
192
                                m_args.arg2+
193
                                m_args.arg3+
194
                                m_args.arg4+
195
                                m_args.arg5); }
196
protected:
197
    const args5& m_args;
198
};
199

    
200

    
201
/* __ ArgStruct15 class __________________________________________________ */
202
class ArgStruct15 {
203
public:
204
    ArgStruct15(const args15& args) :
205
                m_args(args) { }
206
    double eval(void) { return (m_args.arg1+
207
                                m_args.arg2+
208
                                m_args.arg3+
209
                                m_args.arg4+
210
                                m_args.arg5+
211
                                m_args.arg6+
212
                                m_args.arg7+
213
                                m_args.arg8+
214
                                m_args.arg9+
215
                                m_args.arg10+
216
                                m_args.arg11+
217
                                m_args.arg12+
218
                                m_args.arg13+
219
                                m_args.arg14+
220
                                m_args.arg15); }
221
protected:
222
    const args15& m_args;
223
};
224

    
225
#endif