Ignore:
Timestamp:
Apr 3, 2000, 7:32:27 PM (25 years ago)
Author:
ansari
Message:

Mise au point du nouveau schema (Version=2) de PPersist - Mise en place

de tag complet pour toutes les donnees/objets ecrits - Gestion a peu
pres correct des objets references plusieurs fois, ecrit une seule fois.
Mecanisme d'enregistrement pour les DataObject associe et Methodes
(PutObject/GetObjet) facilitant l'ecriture/lecture de DataObject.
Separation du fichier de la classe FIO_NDataBlock<T>.

Reza03/04/2000

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/BaseTools/ndatablock.h

    r773 r802  
    88#include "machdefs.h"
    99#include "anydataobj.h"
    10 #include "ppersist.h"
    1110#include <iostream.h>
    1211
     
    160159
    161160
    162 // Classe pour la gestion de persistance
    163 template <class T>
    164 class FIO_NDataBlock : public  PPersist  {
    165 public:
    166   FIO_NDataBlock();
    167   FIO_NDataBlock(string const & filename);
    168   FIO_NDataBlock(const NDataBlock<T> & obj);
    169   FIO_NDataBlock(NDataBlock<T> * obj);
    170   virtual ~FIO_NDataBlock();
    171   virtual AnyDataObj* DataObj();
    172   virtual void        SetDataObj(AnyDataObj & o);
    173   inline operator NDataBlock<T>() { return(*dobj); }
    174 protected :
    175   virtual void       ReadSelf(PInPersist&);           
    176   virtual void       WriteSelf(POutPersist&) const; 
    177   NDataBlock<T> * dobj;
    178   bool ownobj;
    179 };
    180 
    181 template <class T>
    182 inline POutPersist& operator << (POutPersist& os, NDataBlock<T> & obj)
    183 { FIO_NDataBlock<T> fio(&obj);  fio.Write(os);  return(os); }
    184 template <class T>
    185 inline PInPersist& operator >> (PInPersist& is, NDataBlock<T> & obj)
    186 { FIO_NDataBlock<T> fio(&obj);  fio.Read(is);  return(is); }
    187161
    188162} // Fin du namespace
Note: See TracChangeset for help on using the changeset viewer.