source: Sophya/trunk/Poubelle/DPC:FitsIOServer/Samba/pdataarray.h@ 658

Last change on this file since 658 was 658, checked in by ansari, 26 years ago

no message

File size: 1.3 KB
Line 
1#ifndef PDATAARRAY_H
2#define PDATAARRAY_H
3#include "prefcount.h"
4
5template <class T>
6class PDataArray : public PRefCounted {
7public:
8 PDataArray(long n,
9 bool isTmp=false)
10 :PRefCounted(isTmp)
11 {data = new T[n]; sz=n;}
12 ~PDataArray() {delete[] data;}
13
14 T* Data() {return data;}
15 T const* Data() const {return data;}
16 long Size() const {return sz;}
17
18 // Pointeurs/iterateurs
19 T* begin() {return data;}
20 T const* begin() const {return data;}
21 T* end() {return data+sz;}
22 T const* end() const {return data+sz;}
23
24
25 PDataArray<T>* Clone(bool isTmp=false) const;
26
27private:
28 T* data;
29 int sz;
30};
31
32
33template <class T>
34PDataArray<T>* PDataArray<T>::Clone(bool isTmp) const
35{
36#ifdef TRACE_COPY
37 cerr << "PDataArray::Clone" << endl;
38#endif
39 PDataArray<T>* p = new PDataArray<T>(sz, isTmp);
40 memcpy(p->data, data, sz*sizeof(T));
41 return p;
42}
43
44
45#endif
46
Note: See TracBrowser for help on using the repository browser.