Changeset 289 in Sophya for trunk/SophyaLib/BaseTools/ndatablock.h
- Timestamp:
- May 3, 1999, 6:56:48 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaLib/BaseTools/ndatablock.h
r285 r289 37 37 // Temporaire? 38 38 inline bool IsTemp(void) const {return mIsTemp;} 39 void SetTemp(bool temp=false) const;39 inline void SetTemp(bool temp=false) const {mIsTemp = temp;} 40 40 41 41 // Gestion taille/Remplissage 42 42 void Clone(const NDataBlock<T>& a); 43 void Reset(T v=0);44 void ReSize(size_t n,bool force_alloc=true);43 void CloneOrShare(const NDataBlock<T>& a); 44 void Share(const NDataBlock<T>& a); 45 45 void FillFrom(size_t n,T* data); 46 inline void Reset(T v=0) 47 {if(mSz==0) return; T *p=Begin(),*pe=End(); while(p<pe) *p++=v;} 48 inline void ReSize(size_t n) {Alloc(n);} 46 49 47 50 // Informations pointeur/data … … 53 56 inline T& operator()(size_t i) {return *(mSRef->data+i);} 54 57 inline T operator()(size_t i) const {return *(mSRef->data+i);} 55 56 58 inline T* Begin() {return mSRef->data;} 57 59 inline T const* Begin() const {return mSRef->data;} … … 67 69 T Product(size_t i1=0,size_t n=0) const; 68 70 69 // Surcharge d operateurs71 // Surcharge d'operateurs INPLACE: A = x , A = B , A @= x , A @= B 70 72 NDataBlock<T>& operator = (const NDataBlock<T>& a); 71 73 NDataBlock<T>& operator = (T v); … … 81 83 NDataBlock<T>& operator /= (const NDataBlock<T>& a); 82 84 85 // Surcharge d'operateurs: C = A @ x , C = A @ B 83 86 NDataBlock<T> Add(T b) const; 84 87 NDataBlock<T> Sub(T b) const; … … 99 102 100 103 void Alloc(size_t n,T* data=NULL,Bridge* br=NULL); 101 void Share(const NDataBlock<T>& a);102 104 void Delete(void); 103 105 … … 153 155 template <class T> 154 156 class FIO_NDataBlock : public PPersist { 155 156 157 public: 157 FIO_NDataBlock(); 158 FIO_NDataBlock(string const & filename); 159 FIO_NDataBlock(const NDataBlock<T> & obj); 160 FIO_NDataBlock(NDataBlock<T> * obj); 161 virtual ~FIO_NDataBlock(); 162 163 virtual AnyDataObj* DataObj(); 158 FIO_NDataBlock(); 159 FIO_NDataBlock(string const & filename); 160 FIO_NDataBlock(const NDataBlock<T> & obj); 161 FIO_NDataBlock(NDataBlock<T> * obj); 162 virtual ~FIO_NDataBlock(); 163 virtual AnyDataObj* DataObj(); 164 164 inline operator NDataBlock<T>() { return(*dobj); } 165 166 165 protected : 167 166 virtual void ReadSelf(PInPersist&);
Note:
See TracChangeset
for help on using the changeset viewer.