00001 // Template array classes with like-type math ops 00002 /* 00003 00004 Copyright (C) 1996, 1997 John W. Eaton 00005 00006 This file is part of Octave. 00007 00008 Octave is free software; you can redistribute it and/or modify it 00009 under the terms of the GNU General Public License as published by the 00010 Free Software Foundation; either version 2, or (at your option) any 00011 later version. 00012 00013 Octave is distributed in the hope that it will be useful, but WITHOUT 00014 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00015 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 00016 for more details. 00017 00018 You should have received a copy of the GNU General Public License 00019 along with Octave; see the file COPYING. If not, write to the Free 00020 Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00021 00022 */ 00023 00024 #if defined (__GNUG__) && defined (USE_PRAGMA_INTERFACE_IMPLEMENTATION) 00025 #pragma interface 00026 #endif 00027 00028 #if !defined (octave_MArray_h) 00029 #define octave_MArray_h 1 00030 00031 #include "Array.h" 00032 00033 // One dimensional array with math ops. 00034 00035 // But first, some preprocessor abuse... 00036 00037 #include "MArray-defs.h" 00038 00039 MARRAY_OPS_FORWARD_DECLS (MArray) 00040 00041 template <class T> 00042 class 00043 MArray : public Array<T> 00044 { 00045 protected: 00046 00047 MArray (T *d, int l) : Array<T> (d, l) { } 00048 00049 public: 00050 00051 MArray (void) : Array<T> () { } 00052 00053 explicit MArray (int n) : Array<T> (n) { } 00054 00055 MArray (int n, const T& val) : Array<T> (n, val) { } 00056 00057 MArray (const MArray<T>& a) : Array<T> (a) { } 00058 00059 MArray (const Array<T>& a) : Array<T> (a) { } 00060 00061 ~MArray (void) { } 00062 00063 MArray<T>& operator = (const MArray<T>& a) 00064 { 00065 Array<T>::operator = (a); 00066 return *this; 00067 } 00068 00069 // Currently, the OPS functions don't need to be friends, but that 00070 // may change. 00071 00072 // MARRAY_OPS_FRIEND_DECLS (MArray) 00073 }; 00074 00075 #endif 00076 00077 /* 00078 ;;; Local Variables: *** 00079 ;;; mode: C++ *** 00080 ;;; End: *** 00081 */
SEO | [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送 | ||