Index: /trunk/SophyaLib/BaseTools/Makefile
===================================================================
--- /trunk/SophyaLib/BaseTools/Makefile	(revision 2686)
+++ /trunk/SophyaLib/BaseTools/Makefile	(revision 2687)
@@ -3,7 +3,7 @@
 all: $(LIB)libBaseTools.a
 clean:
-	rm -f $(OBJ)datatype.o $(OBJ)dvlist.o $(OBJ)fiondblock.o $(OBJ)mutyv.o $(OBJ)ndatablock.o $(OBJ)pexceptions.o $(OBJ)ppersist.o $(OBJ)ppfbinstream.o $(OBJ)rawstream.o $(OBJ)sophyainit.o $(OBJ)timestamp.o $(OBJ)gnumd5.o $(OBJ)srandgen.o
+	rm -f $(OBJ)datatype.o $(OBJ)dvlist.o $(OBJ)fiondblock.o $(OBJ)mutyv.o $(OBJ)ndatablock.o $(OBJ)pexceptions.o $(OBJ)ppersist.o $(OBJ)ppfbinstream.o $(OBJ)ppftpointerio.o $(OBJ)rawstream.o $(OBJ)sophyainit.o $(OBJ)timestamp.o $(OBJ)gnumd5.o $(OBJ)srandgen.o
 	rm -f $(LIB)libBaseTools.a
-$(LIB)libBaseTools.a : $(OBJ)datatype.o $(OBJ)dvlist.o $(OBJ)fiondblock.o $(OBJ)gnumd5.o $(OBJ)mutyv.o $(OBJ)ndatablock.o $(OBJ)pexceptions.o $(OBJ)ppersist.o $(OBJ)ppfbinstream.o $(OBJ)rawstream.o $(OBJ)sophyainit.o $(OBJ)srandgen.o $(OBJ)timestamp.o
+$(LIB)libBaseTools.a : $(OBJ)datatype.o $(OBJ)dvlist.o $(OBJ)fiondblock.o $(OBJ)gnumd5.o $(OBJ)mutyv.o $(OBJ)ndatablock.o $(OBJ)pexceptions.o $(OBJ)ppersist.o $(OBJ)ppfbinstream.o $(OBJ)ppftpointerio.o $(OBJ)rawstream.o $(OBJ)sophyainit.o $(OBJ)srandgen.o $(OBJ)timestamp.o
 	$(ARCXX) $(ARCXXFLAGS) $@ $($(ARARGS))
 ifeq ($(CXX),cxx)
@@ -34,4 +34,7 @@
   $(INC)machdefs.h ppfbinstream.h rawstream.h \
   pexceptions.h
+$(OBJ)ppftpointerio.o: ppftpointerio.cc \
+  $(INC)machdefs.h ppftpointerio.h ppersist.h \
+  pexceptions.h gnumd5.h ppfbinstream.h rawstream.h ppfnametag.h
 $(OBJ)rawstream.o: rawstream.cc sopnamsp.h rawstream.h \
   $(INC)machdefs.h pexceptions.h
Index: /trunk/SophyaLib/BaseTools/fiosegdb.h
===================================================================
--- /trunk/SophyaLib/BaseTools/fiosegdb.h	(revision 2686)
+++ /trunk/SophyaLib/BaseTools/fiosegdb.h	(revision 2687)
@@ -101,5 +101,4 @@
     }
     else dobj->SetSize(itab[1], itab[2]);
-    cout << *dobj ; 
     // On lit les donnees par paquet ...
     for(uint_8 k=0; k<itab[2]; k++) 
Index: /trunk/SophyaLib/BaseTools/objlist.list
===================================================================
--- /trunk/SophyaLib/BaseTools/objlist.list	(revision 2686)
+++ /trunk/SophyaLib/BaseTools/objlist.list	(revision 2687)
@@ -8,4 +8,5 @@
 ppersist.o
 ppfbinstream.o
+ppftpointerio.o
 rawstream.o
 sophyainit.o
Index: /trunk/SophyaLib/BaseTools/ppftpointerio.cc
===================================================================
--- /trunk/SophyaLib/BaseTools/ppftpointerio.cc	(revision 2687)
+++ /trunk/SophyaLib/BaseTools/ppftpointerio.cc	(revision 2687)
@@ -0,0 +1,135 @@
+// This may look like C code, but it is really -*- C++ -*-
+//  Classe pour faciliter entree-sortie PPF pour des pointeurs
+//  Implementation specifique pour certains type de pointeurs
+//       R. Ansari -  Mars 2005
+
+#include "machdefs.h"
+#include "sopnamsp.h"
+#include "ppftpointerio.h"
+
+//----------------------------------------------------------------------
+namespace SOPHYA {
+
+// Specific implementation using table I/O in PPFBinaryIOStreams 
+DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
+void PPF_TPointer_IO<char>::Write(POutPersist & os, char const * arr, size_t n)
+  { os.PutBytes(arr,n); }
+DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
+void PPF_TPointer_IO<char>::Read(PInPersist & is, char * arr, size_t n)
+  { is.GetBytes(arr,n); }
+
+DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
+void PPF_TPointer_IO< int_1 >::Write(POutPersist & os, int_1 const * arr, size_t n)
+  { os.Put(arr,n); }
+DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
+void PPF_TPointer_IO< int_1 >::Read(PInPersist & is, int_1 * arr, size_t n)
+  { is.Get(arr,n); }
+DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
+void PPF_TPointer_IO< uint_1 >::Write(POutPersist & os, uint_1 const * arr, size_t n)
+  { os.Put(arr,n); }
+DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
+void PPF_TPointer_IO< uint_1 >::Read(PInPersist & is, uint_1 * arr, size_t n)
+  { is.Get(arr,n); }
+
+DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
+void PPF_TPointer_IO< int_2 >::Write(POutPersist & os, int_2 const * arr, size_t n)
+  { os.Put(arr,n); }
+DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
+void PPF_TPointer_IO< int_2 >::Read(PInPersist & is, int_2 * arr, size_t n)
+  { is.Get(arr,n); }
+DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
+void PPF_TPointer_IO< uint_2 >::Write(POutPersist & os, uint_2 const * arr, size_t n)
+  { os.Put(arr,n); }
+DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
+void PPF_TPointer_IO< uint_2 >::Read(PInPersist & is, uint_2 * arr, size_t n)
+  { is.Get(arr,n); }
+
+DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
+void PPF_TPointer_IO< int_4 >::Write(POutPersist & os, int_4 const * arr, size_t n)
+  { os.Put(arr,n); }
+DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
+void PPF_TPointer_IO< int_4 >::Read(PInPersist & is, int_4 * arr, size_t n)
+  { is.Get(arr,n); }
+DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
+void PPF_TPointer_IO< uint_4 >::Write(POutPersist & os, uint_4 const * arr, size_t n)
+  { os.Put(arr,n); }
+DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
+void PPF_TPointer_IO< uint_4 >::Read(PInPersist & is, uint_4 * arr, size_t n)
+  { is.Get(arr,n); }
+
+DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
+void PPF_TPointer_IO< int_8 >::Write(POutPersist & os,  int_8 const * arr, size_t n)
+  { os.Put(arr,n); }
+DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
+void PPF_TPointer_IO< int_8 >::Read(PInPersist & is, int_8 * arr, size_t n)
+  { is.Get(arr,n); }
+DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
+void PPF_TPointer_IO< uint_8 >::Write(POutPersist & os,  uint_8 const * arr, size_t n)
+  { os.Put(arr,n); }
+DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
+void PPF_TPointer_IO< uint_8 >::Read(PInPersist & is, uint_8 * arr, size_t n)
+  { is.Get(arr,n); }
+
+
+DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
+void PPF_TPointer_IO< r_4 >::Write(POutPersist & os, r_4 const * arr, size_t n)
+  { os.Put(arr,n); }
+DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
+void PPF_TPointer_IO< r_4 >::Read(PInPersist & is, r_4 * arr, size_t n)
+  { is.Get(arr,n); }
+
+DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
+void PPF_TPointer_IO< r_8 >::Write(POutPersist & os,  r_8 const * arr, size_t n)
+  { os.Put(arr,n); }
+DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
+void PPF_TPointer_IO< r_8 >::Read(PInPersist & is, r_8 * arr, size_t n)
+  { is.Get(arr,n); }
+
+DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
+void PPF_TPointer_IO< complex<r_4> >::Write(POutPersist & os, complex<r_4> const * arr, size_t n)
+  { os.Put(arr,n); }
+DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
+void PPF_TPointer_IO< complex<r_4> >::Read(PInPersist & is, complex<r_4> * arr, size_t n)
+  { is.Get(arr,n); }
+
+DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
+void PPF_TPointer_IO< complex<r_8> >::Write(POutPersist & os, complex<r_8> const * arr, size_t n)
+  { os.Put(arr,n); }
+DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
+void PPF_TPointer_IO< complex<r_8> >::Read(PInPersist & is, complex<r_8> * arr, size_t n)
+  { is.Get(arr,n); }
+
+
+}  // namespace SOPHYA
+#ifdef __CXX_PRAGMA_TEMPLATES__
+#pragma define_template PPF_TPointer_IO< char >
+#pragma define_template PPF_TPointer_IO< int_1 >
+#pragma define_template PPF_TPointer_IO< uint_1 >
+#pragma define_template PPF_TPointer_IO< int_2 >
+#pragma define_template PPF_TPointer_IO< uint_2 >
+#pragma define_template PPF_TPointer_IO< int_4 >
+#pragma define_template PPF_TPointer_IO< uint_4 >
+#pragma define_template PPF_TPointer_IO< int_8 >
+#pragma define_template PPF_TPointer_IO< uint_8 >
+#pragma define_template PPF_TPointer_IO< r_4 >
+#pragma define_template PPF_TPointer_IO< r_8 >
+#pragma define_template PPF_TPointer_IO< complex<r_4> >
+#pragma define_template PPF_TPointer_IO< complex<r_8> >
+#endif
+
+#if defined(ANSI_TEMPLATES) || defined(GNU_TEMPLATES)
+template class PPF_TPointer_IO< char >;
+template class PPF_TPointer_IO< int_1 >;
+template class PPF_TPointer_IO< uint_1 >;
+template class PPF_TPointer_IO< int_2 >;
+template class PPF_TPointer_IO< uint_2 >;
+template class PPF_TPointer_IO< int_4 >;
+template class PPF_TPointer_IO< uint_4 >;
+template class PPF_TPointer_IO< int_8 >;
+template class PPF_TPointer_IO< uint_8 >;
+template class PPF_TPointer_IO< r_4 >;
+template class PPF_TPointer_IO< r_8 >;
+template class PPF_TPointer_IO< complex<r_4> >;
+template class PPF_TPointer_IO< complex<r_8> >;
+#endif
+
Index: /trunk/SophyaLib/BaseTools/ppftpointerio.h
===================================================================
--- /trunk/SophyaLib/BaseTools/ppftpointerio.h	(revision 2686)
+++ /trunk/SophyaLib/BaseTools/ppftpointerio.h	(revision 2687)
@@ -36,92 +36,4 @@
   }
 };
-// Specific implementation using table I/O in PPFBinaryIOStreams 
-DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
-void PPF_TPointer_IO<char>::Write(POutPersist & os, char const * arr, size_t n)
-  { os.PutBytes(arr,n); }
-DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
-void PPF_TPointer_IO<char>::Read(PInPersist & is, char * arr, size_t n)
-  { is.GetBytes(arr,n); }
-
-DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
-void PPF_TPointer_IO< int_1 >::Write(POutPersist & os, int_1 const * arr, size_t n)
-  { os.Put(arr,n); }
-DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
-void PPF_TPointer_IO< int_1 >::Read(PInPersist & is, int_1 * arr, size_t n)
-  { is.Get(arr,n); }
-DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
-void PPF_TPointer_IO< uint_1 >::Write(POutPersist & os, uint_1 const * arr, size_t n)
-  { os.Put(arr,n); }
-DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
-void PPF_TPointer_IO< uint_1 >::Read(PInPersist & is, uint_1 * arr, size_t n)
-  { is.Get(arr,n); }
-
-DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
-void PPF_TPointer_IO< int_2 >::Write(POutPersist & os, int_2 const * arr, size_t n)
-  { os.Put(arr,n); }
-DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
-void PPF_TPointer_IO< int_2 >::Read(PInPersist & is, int_2 * arr, size_t n)
-  { is.Get(arr,n); }
-DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
-void PPF_TPointer_IO< uint_2 >::Write(POutPersist & os, uint_2 const * arr, size_t n)
-  { os.Put(arr,n); }
-DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
-void PPF_TPointer_IO< uint_2 >::Read(PInPersist & is, uint_2 * arr, size_t n)
-  { is.Get(arr,n); }
-
-DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
-void PPF_TPointer_IO< int_4 >::Write(POutPersist & os, int_4 const * arr, size_t n)
-  { os.Put(arr,n); }
-DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
-void PPF_TPointer_IO< int_4 >::Read(PInPersist & is, int_4 * arr, size_t n)
-  { is.Get(arr,n); }
-DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
-void PPF_TPointer_IO< uint_4 >::Write(POutPersist & os, uint_4 const * arr, size_t n)
-  { os.Put(arr,n); }
-DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
-void PPF_TPointer_IO< uint_4 >::Read(PInPersist & is, uint_4 * arr, size_t n)
-  { is.Get(arr,n); }
-
-DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
-void PPF_TPointer_IO< int_8 >::Write(POutPersist & os,  int_8 const * arr, size_t n)
-  { os.Put(arr,n); }
-DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
-void PPF_TPointer_IO< int_8 >::Read(PInPersist & is, int_8 * arr, size_t n)
-  { is.Get(arr,n); }
-DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
-void PPF_TPointer_IO< uint_8 >::Write(POutPersist & os,  uint_8 const * arr, size_t n)
-  { os.Put(arr,n); }
-DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
-void PPF_TPointer_IO< uint_8 >::Read(PInPersist & is, uint_8 * arr, size_t n)
-  { is.Get(arr,n); }
-
-
-DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
-void PPF_TPointer_IO< r_4 >::Write(POutPersist & os, r_4 const * arr, size_t n)
-  { os.Put(arr,n); }
-DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
-void PPF_TPointer_IO< r_4 >::Read(PInPersist & is, r_4 * arr, size_t n)
-  { is.Get(arr,n); }
-
-DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
-void PPF_TPointer_IO< r_8 >::Write(POutPersist & os,  r_8 const * arr, size_t n)
-  { os.Put(arr,n); }
-DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
-void PPF_TPointer_IO< r_8 >::Read(PInPersist & is, r_8 * arr, size_t n)
-  { is.Get(arr,n); }
-
-DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
-void PPF_TPointer_IO< complex<r_4> >::Write(POutPersist & os, complex<r_4> const * arr, size_t n)
-  { os.Put(arr,n); }
-DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
-void PPF_TPointer_IO< complex<r_4> >::Read(PInPersist & is, complex<r_4> * arr, size_t n)
-  { is.Get(arr,n); }
-
-DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
-void PPF_TPointer_IO< complex<r_8> >::Write(POutPersist & os, complex<r_8> const * arr, size_t n)
-  { os.Put(arr,n); }
-DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
-void PPF_TPointer_IO< complex<r_8> >::Read(PInPersist & is, complex<r_8> * arr, size_t n)
-  { is.Get(arr,n); }
 
 
Index: /trunk/SophyaLib/BaseTools/sversion.h
===================================================================
--- /trunk/SophyaLib/BaseTools/sversion.h	(revision 2686)
+++ /trunk/SophyaLib/BaseTools/sversion.h	(revision 2687)
@@ -3,5 +3,5 @@
 
 #define SOPHYA_VERSION   1.8
-#define SOPHYA_REVISION  40
+#define SOPHYA_REVISION  45
 #define SOPHYA_TAG       "V_Avr2005"
 
