Main Page | User's Guide | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members

Function.hxx

00001 // Copyright (C) 2003-2005 Vivien Mallet
00002 //
00003 // This file is part of SeldonData library.
00004 // SeldonData library is a tool for data processing.
00005 // 
00006 // SeldonData is free software; you can redistribute it and/or modify
00007 // it under the terms of the GNU General Public License as published by
00008 // the Free Software Foundation; either version 2 of the License, or
00009 // (at your option) any later version.
00010 // 
00011 // SeldonData is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014 // GNU General Public License (file "license") for more details.
00015 //
00016 // For more information, please see the SeldonData home page:
00017 //     http://spacetown.free.fr/lib/seldondata/
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   // FUNCTION_BASE //  
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   // FUNCCOORDS_BASE //  
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 }  // namespace SeldonData.
00401 
00402 #define FILE_SELDONDATA_FUNCTION_HXX
00403 #endif

Generated on Wed Apr 25 11:21:07 2007 for SeldonData by  doxygen 1.4.2