Changeset 269 in Sophya for trunk/SophyaLib/BaseTools/ndatablock.cc
- Timestamp:
- Apr 27, 1999, 5:01:44 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaLib/BaseTools/ndatablock.cc
r268 r269 9 9 #include "pexceptions.h" 10 10 #include "ndatablock.h" 11 #include "objfio.h" 11 12 12 13 using namespace PlanckDPC; … … 245 246 // Re-dimension, dans ce cas re-allocation de la place 246 247 { 248 // Pas de realloc, si pas de changement de taille ? 249 if (n == mSz) return; // $CHECK$ A verifier , Reza 26/04/99 247 250 Alloc(n); 248 251 } … … 275 278 if(i1>=mSz || n<=0 || !p) return; 276 279 size_t i2 = i1+n; if(i2>mSz) i2=mSz; 277 size_t im = 1; bool enl ;280 size_t im = 1; bool enl=false; 278 281 while(i1<i2) { 279 282 enl = false; … … 561 564 } 562 565 return result; 566 } 567 568 569 // ------------------------------------------------------------------------- 570 // Les objets delegues pour la gestion de persistance 571 // ------------------------------------------------------------------------- 572 573 /* 574 template <class T> 575 void ObjFileIO< NDataBlock<T> >::ReadSelf(PInPersist& is) 576 template <class T> 577 void ObjFileIO< NDataBlock<T> >::WriteSelf(POutPersist& os) 578 */ 579 580 template <class T> 581 FIO_NDataBlock<T>::FIO_NDataBlock() 582 { 583 dobj=new NDataBlock<T>; 584 } 585 586 template <class T> 587 FIO_NDataBlock<T>::FIO_NDataBlock(string const & filename) 588 { 589 dobj=new NDataBlock<T>; 590 Read(filename); 591 } 592 593 template <class T> 594 FIO_NDataBlock<T>::FIO_NDataBlock(const NDataBlock<T> & obj) 595 { 596 dobj = new NDataBlock<T>(obj); 597 } 598 599 template <class T> 600 FIO_NDataBlock<T>::FIO_NDataBlock(const NDataBlock<T> * obj) 601 { 602 dobj = new NDataBlock<T>(*obj); 603 } 604 605 template <class T> 606 FIO_NDataBlock<T>::~FIO_NDataBlock() 607 { 608 if (dobj) delete dobj; 609 } 610 611 template <class T> 612 AnyDataObj* FIO_NDataBlock<T>::DataObj() 613 { 614 return(dobj); 615 } 616 617 618 template <class T> 619 void FIO_NDataBlock<T>::ReadSelf(PInPersist& is) 620 { 621 // On lit les 3 premiers uint_8 622 uint_8 itab[3]; 623 is.Get(itab, 3); 624 if (dobj == NULL) dobj = new NDataBlock<T>(itab[1]); 625 else dobj->ReSize(itab[1]); 626 // On lit le tableau de nombres 627 PIOSReadArray(is, dobj->Data(), dobj->Size()); 628 } 629 630 631 template <class T> 632 void FIO_NDataBlock<T>::WriteSelf(POutPersist& os) const 633 { 634 if (dobj == NULL) return; // Attention - $CHECK$ Reza 26/04/99 635 // On ecrit 3 uint_4 636 // 0 : Numero de version, 1 : Taille, 2 reserve a l 637 uint_8 itab[3]; 638 itab[0] = 1; 639 itab[1] = dobj->Size(); 640 itab[2] = 0; 641 os.Put(itab, 3); 642 // On ecrit le tableau de nombres 643 PIOSWriteArray(os, dobj->Data(), dobj->Size()); 563 644 } 564 645 … … 577 658 #pragma define_template NDataBlock< complex<float> > 578 659 #pragma define_template NDataBlock< complex<double> > 579 #endif 580 581 #ifdef __GNU_TEMPLATES__ 660 661 // Instances des delegues FileIO (PPersist) 662 #pragma define_template FIO_NDataBlock<uint_1>; 663 #pragma define_template FIO_NDataBlock<uint_2>; 664 #pragma define_template FIO_NDataBlock<int_2>; 665 #pragma define_template FIO_NDataBlock<int_4>; 666 #pragma define_template FIO_NDataBlock<int_8>; 667 #pragma define_template FIO_NDataBlock<uint_2>; 668 #pragma define_template FIO_NDataBlock<uint_4>; 669 #pragma define_template FIO_NDataBlock<uint_8>; 670 #pragma define_template FIO_NDataBlock<r_8>; 671 #pragma define_template FIO_NDataBlock<r_4>; 672 #pragma define_template FIO_NDataBlock< complex<float> >; 673 #pragma define_template FIO_NDataBlock< complex<double> >; 674 675 #endif 676 677 678 #if defined(ANSI_TEMPLATES) || defined(GNU_TEMPLATES) 582 679 template class NDataBlock<uint_1>; 583 680 template class NDataBlock<uint_2>; … … 592 689 template class NDataBlock< complex<float> >; 593 690 template class NDataBlock< complex<double> >; 594 #endif 595 596 #if defined(__ANSI_TEMPLATES__) 597 template class NDataBlock<uint_1>; 598 template class NDataBlock<uint_2>; 599 template class NDataBlock<int_2>; 600 template class NDataBlock<int_4>; 601 template class NDataBlock<int_8>; 602 template class NDataBlock<uint_2>; 603 template class NDataBlock<uint_4>; 604 template class NDataBlock<uint_8>; 605 template class NDataBlock<r_4>; 606 template class NDataBlock<r_8>; 607 template class NDataBlock< complex<float> >; 608 template class NDataBlock< complex<double> >; 609 #endif 691 692 // Instances des delegues FileIO (PPersist) 693 template class FIO_NDataBlock<uint_1>; 694 template class FIO_NDataBlock<uint_2>; 695 template class FIO_NDataBlock<int_2>; 696 template class FIO_NDataBlock<int_4>; 697 template class FIO_NDataBlock<int_8>; 698 template class FIO_NDataBlock<uint_2>; 699 template class FIO_NDataBlock<uint_4>; 700 template class FIO_NDataBlock<uint_8>; 701 template class FIO_NDataBlock<r_8>; 702 template class FIO_NDataBlock<r_4>; 703 template class FIO_NDataBlock< complex<float> >; 704 template class FIO_NDataBlock< complex<double> >; 705 #endif
Note:
See TracChangeset
for help on using the changeset viewer.