00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef FILE_SELDONDATA_FUNCTION_HXX
00020
00021 #include <iostream>
00022 using std::cout;
00023 using std::endl;
00024
00025 namespace SeldonData
00026 {
00027
00028
00030
00032
00033
00035
00039 template<class T, class TOut = void>
00040 class Function_Base
00041 {
00042
00043 public:
00044
00046 Function_Base() {}
00048 virtual ~Function_Base() {}
00049
00051 virtual TOut operator () (T& i0)
00052 {
00053 throw Undefined("Function_Base<T>::operator(1)");
00054 }
00055
00057 virtual TOut operator () (T& i0, T& i1)
00058 {
00059 throw Undefined("Function_Base<T>::operator(2)");
00060 }
00061
00063 virtual TOut operator () (T& i0, T& i1,
00064 T& i2)
00065 {
00066 throw Undefined("Function_Base<T>::operator(3)");
00067 }
00068
00070 virtual TOut operator () (T& i0, T& i1,
00071 T& i2, T& i3)
00072 {
00073 throw Undefined("Function_Base<T>::operator(4)");
00074 }
00075
00077 virtual TOut operator () (T& i0, T& i1,
00078 T& i2, T& i3,
00079 T& i4)
00080 {
00081 throw Undefined("Function_Base<T>::operator(5)");
00082 }
00083
00085 virtual TOut operator () (T& i0, T& i1,
00086 T& i2, T& i3,
00087 T& i4, T& i5)
00088 {
00089 throw Undefined("Function_Base<T>::operator(6)");
00090 }
00091
00093 virtual TOut operator () (T& i0, T& i1,
00094 T& i2, T& i3,
00095 T& i4, T& i5,
00096 T& i6)
00097 {
00098 throw Undefined("Function_Base<T>::operator(7)");
00099 }
00100
00102 virtual TOut operator () (T& i0, T& i1,
00103 T& i2, T& i3,
00104 T& i4, T& i5,
00105 T& i6, T& i7)
00106 {
00107 throw Undefined("Function_Base<T>::operator(8)");
00108 }
00109
00111 virtual TOut operator () (T& i0, T& i1,
00112 T& i2, T& i3,
00113 T& i4, T& i5,
00114 T& i6, T& i7,
00115 T& i8)
00116 {
00117 throw Undefined("Function_Base<T>::operator(9)");
00118 }
00119
00121 virtual TOut operator () (T& i0, T& i1,
00122 T& i2, T& i3,
00123 T& i4, T& i5,
00124 T& i6, T& i7,
00125 T& i8, T& i9)
00126 {
00127 throw Undefined("Function_Base<T>::operator(10)");
00128 }
00129
00131 virtual TOut operator () (T& i0, T& i1,
00132 T& i2, T& i3,
00133 T& i4, T& i5,
00134 T& i6, T& i7,
00135 T& i8, T& i9,
00136 T& i10)
00137 {
00138 throw Undefined("Function_Base<T>::operator(11)");
00139 }
00140
00142 virtual TOut operator () (T& i0, T& i1,
00143 T& i2, T& i3,
00144 T& i4, T& i5,
00145 T& i6, T& i7,
00146 T& i8, T& i9,
00147 T& i10, T& i11)
00148 {
00149 throw Undefined("Function_Base<T>::operator(12)");
00150 }
00151
00153 virtual TOut operator () (T& i0, T& i1,
00154 T& i2, T& i3,
00155 T& i4, T& i5,
00156 T& i6, T& i7,
00157 T& i8, T& i9,
00158 T& i10, T& i11,
00159 T& i12)
00160 {
00161 throw Undefined("Function_Base<T>::operator(13)");
00162 }
00163
00165 virtual TOut operator () (T& i0, T& i1,
00166 T& i2, T& i3,
00167 T& i4, T& i5,
00168 T& i6, T& i7,
00169 T& i8, T& i9,
00170 T& i10, T& i11,
00171 T& i12, T& i13)
00172 {
00173 throw Undefined("Function_Base<T>::operator(14)");
00174 }
00175
00177 virtual TOut operator () (T& i0, T& i1,
00178 T& i2, T& i3,
00179 T& i4, T& i5,
00180 T& i6, T& i7,
00181 T& i8, T& i9,
00182 T& i10, T& i11,
00183 T& i12, T& i13,
00184 T& i14)
00185 {
00186 throw Undefined("Function_Base<T>::operator(15)");
00187 }
00188
00190 virtual TOut operator () (T& i0, T& i1,
00191 T& i2, T& i3,
00192 T& i4, T& i5,
00193 T& i6, T& i7,
00194 T& i8, T& i9,
00195 T& i10, T& i11,
00196 T& i12, T& i13,
00197 T& i14, T& i15)
00198 {
00199 throw Undefined("Function_Base<T>::operator(16)");
00200 }
00201
00203 virtual TOut operator () (T& i0, T& i1,
00204 T& i2, T& i3,
00205 T& i4, T& i5,
00206 T& i6, T& i7,
00207 T& i8, T& i9,
00208 T& i10, T& i11,
00209 T& i12, T& i13,
00210 T& i14, T& i15,
00211 T& i16)
00212 {
00213 throw Undefined("Function_Base<T>::operator(17)");
00214 }
00215
00217 virtual TOut operator () (T& i0, T& i1,
00218 T& i2, T& i3,
00219 T& i4, T& i5,
00220 T& i6, T& i7,
00221 T& i8, T& i9,
00222 T& i10, T& i11,
00223 T& i12, T& i13,
00224 T& i14, T& i15,
00225 T& i16, T& i17)
00226 {
00227 throw Undefined("Function_Base<T>::operator(18)");
00228 }
00229
00231 virtual TOut operator () (T& i0, T& i1,
00232 T& i2, T& i3,
00233 T& i4, T& i5,
00234 T& i6, T& i7,
00235 T& i8, T& i9,
00236 T& i10, T& i11,
00237 T& i12, T& i13,
00238 T& i14, T& i15,
00239 T& i16, T& i17,
00240 T& i18)
00241 {
00242 throw Undefined("Function_Base<T>::operator(19)");
00243 }
00244
00246 virtual TOut operator () (T& i0, T& i1,
00247 T& i2, T& i3,
00248 T& i4, T& i5,
00249 T& i6, T& i7,
00250 T& i8, T& i9,
00251 T& i10, T& i11,
00252 T& i12, T& i13,
00253 T& i14, T& i15,
00254 T& i16, T& i17,
00255 T& i18, T& i19)
00256 {
00257 throw Undefined("Function_Base<T>::operator(20)");
00258 }
00259
00260 };
00261
00262
00263
00265
00267
00268
00270
00275 template<class T>
00276 class FuncCoords_Base
00277 {
00278
00279 public:
00280
00282 FuncCoords_Base() {}
00284 ~FuncCoords_Base() {}
00285
00287 virtual void operator () (T& i0)
00288 {
00289 throw Undefined("FuncCoords_Base<T>::operator(1)");
00290 }
00291
00293 virtual void operator () (const T& i0, T& i1)
00294 {
00295 throw Undefined("FuncCoords_Base<T>::operator(2)");
00296 }
00297
00299 virtual void operator () (const T& i0, const T& i1,
00300 T& i2, T& i3)
00301 {
00302 throw Undefined("FuncCoords_Base<T>::operator(4)");
00303 }
00304
00306 virtual void operator () (const T& i0, const T& i1,
00307 const T& i2, T& i3,
00308 T& i4, T& i5)
00309 {
00310 throw Undefined("FuncCoords_Base<T>::operator(6)");
00311 }
00312
00314 virtual void operator () (const T& i0, const T& i1,
00315 const T& i2, const T& i3,
00316 T& i4, T& i5,
00317 T& i6, T& i7)
00318 {
00319 throw Undefined("FuncCoords_Base<T>::operator(8)");
00320 }
00321
00323 virtual void operator () (const T& i0, const T& i1,
00324 const T& i2, const T& i3,
00325 const T& i4, const T& i5,
00326 T& i6, T& i7,
00327 T& i8, T& i9)
00328 {
00329 throw Undefined("FuncCoords_Base<T>::operator(10)");
00330 }
00331
00333 virtual void operator () (const T& i0, const T& i1,
00334 const T& i2, const T& i3,
00335 const T& i4, const T& i5,
00336 T& i6, T& i7,
00337 T& i8, T& i9,
00338 T& i10, T& i11)
00339 {
00340 throw Undefined("FuncCoords_Base<T>::operator(12)");
00341 }
00342
00344 virtual void operator () (const T& i0, const T& i1,
00345 const T& i2, const T& i3,
00346 const T& i4, const T& i5,
00347 const T& i6, T& i7,
00348 T& i8, T& i9,
00349 T& i10, T& i11,
00350 T& i12, T& i13)
00351 {
00352 throw Undefined("FuncCoords_Base<T>::operator(14)");
00353 }
00354
00356 virtual void operator () (const T& i0, const T& i1,
00357 const T& i2, const T& i3,
00358 const T& i4, const T& i5,
00359 const T& i6, const T& i7,
00360 T& i8, T& i9,
00361 T& i10, T& i11,
00362 T& i12, T& i13,
00363 T& i14, T& i15)
00364 {
00365 throw Undefined("FuncCoords_Base<T>::operator(16)");
00366 }
00367
00369 virtual void operator () (const T& i0, const T& i1,
00370 const T& i2, const T& i3,
00371 const T& i4, const T& i5,
00372 const T& i6, const T& i7,
00373 const T& i8, T& i9,
00374 T& i10, T& i11,
00375 T& i12, T& i13,
00376 T& i14, T& i15,
00377 T& i16, T& i17)
00378 {
00379 throw Undefined("FuncCoords_Base<T>::operator(18)");
00380 }
00381
00383 virtual void operator () (const T& i0, const T& i1,
00384 const T& i2, const T& i3,
00385 const T& i4, const T& i5,
00386 const T& i6, const T& i7,
00387 const T& i8, const T& i9,
00388 T& i10, T& i11,
00389 T& i12, T& i13,
00390 T& i14, T& i15,
00391 T& i16, T& i17,
00392 T& i18, T& i19)
00393 {
00394 throw Undefined("FuncCoords_Base<T>::operator(20)");
00395 }
00396
00397 };
00398
00399
00400 }
00401
00402 #define FILE_SELDONDATA_FUNCTION_HXX
00403 #endif