Index: trunk/SophyaLib/BaseTools/ndatablock.cc
===================================================================
--- trunk/SophyaLib/BaseTools/ndatablock.cc	(revision 265)
+++ trunk/SophyaLib/BaseTools/ndatablock.cc	(revision 267)
@@ -67,4 +67,15 @@
 {
 Delete();
+}
+
+template <class T>
+void NDataBlock<T>::SetTemp(bool temp)
+// Set temporary
+{
+mIsTemp=temp;
+    #ifdef DEBUG_NDATABLOCK
+    cout<<"DEBUG_NDataBlock::SetTemp("<<this<<","<<temp
+        <<"), mSz="<<mSz<<" mSRef="<<mSRef<<" IsTemp="<<mIsTemp<<endl;
+    #endif
 }
 
@@ -89,6 +100,7 @@
 {
     #ifdef DEBUG_NDATABLOCK
-    cout<<"DEBUG_NDataBlock::Alloc("
-        <<n<<","<<data<<","<<br<<") mSRef="<<mSRef<<endl;
+    cout<<"DEBUG_NDataBlock::Alloc("<<this<<","
+        <<n<<","<<data<<","<<br<<") mSz="<<mSz
+        <<" mSRef="<<mSRef<<" IsTemp="<<mIsTemp<<endl;
     #endif
 if(n==0) throw(SzMismatchError("NDataBlock::Alloc n==0\n"));
@@ -101,6 +113,7 @@
     #ifdef DEBUG_NDATABLOCK
     if(!data) NallocData++; NallocSRef++;
-    cout<<"...DEBUG_NDataBlock::Alloc("<<n<<") mSRef="<<mSRef
+    cout<<"...DEBUG_NDataBlock::Alloc mSz="<<mSz<<" mSRef="<<mSRef
         <<" mSRef->nref="<<mSRef->nref<<" mSRef->data="<< mSRef->data
+        <<" mSRef->bridge="<<mSRef->bridge<<" IsTemp="<<mIsTemp
         <<" Total("<<NallocData<<","<<NallocSRef<<")"<<endl;
     #endif
@@ -112,6 +125,7 @@
 {
     #ifdef DEBUG_NDATABLOCK
-    cout<<"DEBUG_NDataBlock::Clone("<<&a<<") a.mSz="
-        <<a.mSz<<" a.mSRef="<<a.mSRef<<" a.IsTemp="<<a.IsTemp()<<endl;
+    cout<<"DEBUG_NDataBlock::Clone("<<this<<","<<&a<<") a.(mSz="
+        <<a.mSz<<" mSRef="<<a.mSRef<<" IsTemp="<<a.IsTemp()
+        <<"), mSz="<<mSz<<" mSRef="<<mSRef<<" IsTemp="<<mIsTemp<<endl;
     #endif
 if(!a.mSRef) {mSz=0; mSRef=NULL;} // cas ou "a" est cree par defaut
@@ -125,5 +139,8 @@
 {
     #ifdef DEBUG_NDATABLOCK
-    cout<<"DEBUG_NDataBlock::Share("<<&a<<") a.mSRef="<<a.mSRef<<" mSRef="<<mSRef<<endl;
+    cout<<"DEBUG_NDataBlock::Share("<<this<<","<<&a<<")";
+    if(&a!=NULL) cout<<" a.(mSz="<<a.mSz<<" mSRef="<<a.mSRef
+                     <<" IsTemp="<<a.IsTemp()<<")";
+    cout<<", mSz="<<mSz<<" mSRef="<<mSRef<<" IsTemp="<<mIsTemp<<endl;
     #endif
 if(&a==NULL) throw(NullPtrError("NDataBlock::Share  &a==NULL\n"));
@@ -133,6 +150,7 @@
 mSz = a.mSz; mSRef = a.mSRef; mSRef->nref++;
     #ifdef DEBUG_NDATABLOCK
-    cout<<"...DEBUG_NDataBlock::Share("<<&a<<") mSRef="<<mSRef
-        <<" mSRef->nref="<<mSRef->nref<<" mSRef->data="<< mSRef->data<<endl;
+    cout<<"...DEBUG_NDataBlock::Share mSz="<<mSz<<" mSRef="<<mSRef
+        <<" mSRef->nref="<<mSRef->nref<<" mSRef->data="<< mSRef->data
+        <<" mSRef->bridge="<<mSRef->bridge<<" IsTemp="<<mIsTemp<<endl;
     #endif
 }
@@ -143,6 +161,9 @@
 {
     #ifdef DEBUG_NDATABLOCK
-    cout<<"DEBUG_NDataBlock::Delete() mSRef="<<mSRef;
-    if(mSRef) cout<<" mSRef->nref="<<mSRef->nref<<" mSRef->data="<<mSRef->data;
+    cout<<"DEBUG_NDataBlock::Delete("<<this<<") mSz="<<mSz
+        <<" mSRef="<<mSRef<<" IsTemp="<<mIsTemp;
+    if(mSRef)
+      cout<<" mSRef->nref="<<mSRef->nref<<" mSRef->data="
+          <<mSRef->data<<" mSRef->bridge="<<mSRef->bridge;
     cout<<endl;
     #endif
@@ -206,7 +227,9 @@
 {
 size_t nr = 0;
-T* p = NULL;
-if(mSRef) {nr = mSRef->nref; p = mSRef->data;}
-cout<<"NDataBlock::Print nel="<<mSz<<" nref="<<nr<<" ("<<p<<")"<<endl;
+T* p = NULL; Bridge* br = NULL;
+if(mSRef) {nr = mSRef->nref; p = mSRef->data; br = mSRef->bridge;}
+cout<<"NDataBlock::Print("<<this<<",Sz="<<mSz<<",IsTemp="<<mIsTemp<<")\n"
+    <<"            mSRef="<<mSRef<<"(nref="<<nr<<",data="<<p
+    <<",bridge="<<br<<")"<<endl;
 if(i1>=mSz || n<=0 || !p) return;
 size_t i2 = i1+n; if(i2>mSz) i2=mSz;
Index: trunk/SophyaLib/BaseTools/ndatablock.h
===================================================================
--- trunk/SophyaLib/BaseTools/ndatablock.h	(revision 265)
+++ trunk/SophyaLib/BaseTools/ndatablock.h	(revision 267)
@@ -27,6 +27,6 @@
 
   // Temporaire?
-  inline bool IsTemp(void)       {return mIsTemp;}
-  inline void SetTemp(bool temp) {mIsTemp=temp;}
+  inline bool IsTemp(void) {return mIsTemp;}
+  void SetTemp(bool temp=false);
 
   // Gestion taille/Remplissage
