Main Page   Namespace List   Compound List   File List   Namespace Members   Compound Members   File Members  

tnt_fortran_array1d.h

Go to the documentation of this file.
00001 /*
00002 *
00003 * Template Numerical Toolkit (TNT): One-dimensional Fortran numerical array
00004 *
00005 * Mathematical and Computational Sciences Division
00006 * National Institute of Technology,
00007 * Gaithersburg, MD USA
00008 *
00009 *
00010 * This software was developed at the National Institute of Standards and
00011 * Technology (NIST) by employees of the Federal Government in the course
00012 * of their official duties. Pursuant to title 17 Section 105 of the
00013 * United States Code, this software is not subject to copyright protection
00014 * and is in the public domain. NIST assumes no responsibility whatsoever for
00015 * its use by other parties, and makes no guarantees, expressed or implied,
00016 * about its quality, reliability, or any other characteristic.
00017 *
00018 */
00019 
00020 
00021 
00022 #ifndef TNT_FORTRAN_ARRAY1D_H
00023 #define TNT_FORTRAN_ARRAY1D_H
00024 
00025 #include <cstdlib>
00026 #include <iostream>
00027 #ifdef TNT_BOUNDS_CHECK
00028 #include <assert.h>
00029 #endif
00030 #include "tnt_array1d.h"
00031 
00032 namespace TNT
00033 {
00034 
00058 template <class T>
00059 class Fortran_Array1D 
00060 {
00061 
00062 
00063   public:
00064 
00065     typedef         T   value_type;
00066 
00067                Fortran_Array1D();
00068                Fortran_Array1D(int n);
00069                Fortran_Array1D(int n,  T *a);
00070                Fortran_Array1D(int n, const T &a);
00071     inline Fortran_Array1D(const Fortran_Array1D &A);
00072         inline Fortran_Array1D & operator=(const T &a);
00073         inline Fortran_Array1D & operator=(const Fortran_Array1D &A);
00074         inline Fortran_Array1D & ref(const Fortran_Array1D &A);
00075                Fortran_Array1D copy() const;
00076                    Fortran_Array1D & inject(const Fortran_Array1D & A);
00077         inline T& operator()(int i);
00078         inline const T& operator()(int i) const ;
00079         inline int dim() const;
00080         inline int dim1() const;
00081         inline int ref_count() const;
00082                ~Fortran_Array1D();
00083 
00084 
00085 };
00086 
00090 template <class T>
00091 Fortran_Array1D<T>::Fortran_Array1D();
00092 
00093 
00100 template <class T>
00101 Fortran_Array1D<T>::Fortran_Array1D(const Fortran_Array1D<T> &A);
00102 
00103 
00104 
00115 template <class T>
00116 Fortran_Array1D<T>::Fortran_Array1D(int n);
00117 
00118 
00119 
00128 template <class T>
00129 Fortran_Array1D<T>::Fortran_Array1D(int n, const T &val);
00130 
00131 
00142 template <class T>
00143 Fortran_Array1D<T>::Fortran_Array1D(int n, T *a);
00144 
00145 
00146 
00147 
00155 template <class T>
00156 inline T& Fortran_Array1D<T>::operator()(int i) ;
00157 
00165 template <class T>
00166 inline const T& Fortran_Array1D<T>::operator()(int i)  const;
00167 
00168 
00172 template <class T>
00173 Fortran_Array1D<T> & Fortran_Array1D<T>::operator=(const T &a);
00174 
00181 template <class T>
00182 Fortran_Array1D<T> Fortran_Array1D<T>::copy() const;
00183 
00207 template <class T>
00208 Fortran_Array1D<T> & Fortran_Array1D<T>::inject(const Fortran_Array1D &A);
00209 
00210 
00211 
00212 
00213 
00224 template <class T>
00225 Fortran_Array1D<T> & Fortran_Array1D<T>::ref(const Fortran_Array1D<T> &A);
00226 
00230 template <class T>
00231 Fortran_Array1D<T> & Fortran_Array1D<T>::operator=(const Fortran_Array1D<T> &A);
00232 
00236 template <class T>
00237 inline int Fortran_Array1D<T>::dim1() const ;
00238 
00239 
00243 template <class T>
00244 inline int Fortran_Array1D<T>::dim() const ; 
00245 
00246 
00247 
00248 
00249 template <class T>
00250 Fortran_Array1D<T>::~Fortran_Array1D();
00251 
00252 
00253 
00254 
00255 } /* namespace TNT */
00256 
00257 #endif
00258 /* TNT_FORTRAN_ARRAY1D_H */
00259 

Generated at Thu Jun 26 17:26:14 2003 for Template Numerical Toolkit (TNT) by doxygen1.2.5 written by Dimitri van Heesch, © 1997-2001