// This may look like C code, but it is really -*- C++ -*- // template array class for numerical types // R. Ansari, C.Magneville 03/2000 #ifndef FIOTArray_SEEN #define FIOTArray_SEEN #include "machdefs.h" #include #include "tarray.h" #include "tmatrix.h" #include "tvector.h" #include "ppersist.h" namespace SOPHYA { ///////////////////////////////////////////////////////////////////////// // Classe pour la gestion de persistance template class FIO_TArray : public PPersist { public: FIO_TArray(); FIO_TArray(string const & filename); FIO_TArray(const TArray & obj); FIO_TArray(TArray * obj); virtual ~FIO_TArray(); virtual AnyDataObj* DataObj(); virtual void SetDataObj(AnyDataObj & o); inline operator TArray() { return(*dobj); } protected : virtual void ReadSelf(PInPersist&); virtual void WriteSelf(POutPersist&) const; TArray * dobj; bool ownobj; }; template inline POutPersist& operator << (POutPersist& os, TArray & obj) { FIO_TArray fio(&obj); fio.Write(os); return(os); } template inline PInPersist& operator >> (PInPersist& is, TArray & obj) { FIO_TArray fio(&obj); fio.Read(is); return(is); } } // Fin du namespace #endif