comparison liboctave/Array.h @ 9780:6dafc60dde31

rename oct-mem functions
author Jaroslav Hajek <highegg@gmail.com>
date Thu, 05 Nov 2009 21:13:31 +0100
parents 01f897d8a130
children ef4c4186cb47
comparison
equal deleted inserted replaced
9779:2941c1daf509 9780:6dafc60dde31
60 T *data; 60 T *data;
61 octave_idx_type len; 61 octave_idx_type len;
62 int count; 62 int count;
63 63
64 ArrayRep (T *d, octave_idx_type l, bool copy = false) 64 ArrayRep (T *d, octave_idx_type l, bool copy = false)
65 : data (copy ? octave_new<T> (l) : d), len (l), count (1) 65 : data (copy ? no_ctor_new<T> (l) : d), len (l), count (1)
66 { 66 {
67 if (copy) 67 if (copy)
68 octave_ucopy (l, d, data); 68 copy_or_memcpy (l, d, data);
69 } 69 }
70 70
71 ArrayRep (void) : data (0), len (0), count (1) { } 71 ArrayRep (void) : data (0), len (0), count (1) { }
72 72
73 explicit ArrayRep (octave_idx_type n) : data (octave_new<T> (n)), len (n), count (1) { } 73 explicit ArrayRep (octave_idx_type n) : data (no_ctor_new<T> (n)), len (n), count (1) { }
74 74
75 explicit ArrayRep (octave_idx_type n, const T& val) 75 explicit ArrayRep (octave_idx_type n, const T& val)
76 : data (octave_new<T> (n)), len (n), count (1) 76 : data (no_ctor_new<T> (n)), len (n), count (1)
77 { 77 {
78 octave_fill (n, val, data); 78 fill_or_memset (n, val, data);
79 } 79 }
80 80
81 ArrayRep (const ArrayRep& a) 81 ArrayRep (const ArrayRep& a)
82 : data (octave_new<T> (a.len)), len (a.len), count (1) 82 : data (no_ctor_new<T> (a.len)), len (a.len), count (1)
83 { 83 {
84 octave_ucopy (a.len, a.data, data); 84 copy_or_memcpy (a.len, a.data, data);
85 } 85 }
86 86
87 ~ArrayRep (void) { octave_delete<T> (data); } 87 ~ArrayRep (void) { no_ctor_delete<T> (data); }
88 88
89 octave_idx_type length (void) const { return len; } 89 octave_idx_type length (void) const { return len; }
90 90
91 private: 91 private:
92 92
167 167
168 template <class U> 168 template <class U>
169 T * 169 T *
170 coerce (const U *a, octave_idx_type len) 170 coerce (const U *a, octave_idx_type len)
171 { 171 {
172 T *retval = octave_new<T> (len); 172 T *retval = no_ctor_new<T> (len);
173 173
174 for (octave_idx_type i = 0; i < len; i++) 174 for (octave_idx_type i = 0; i < len; i++)
175 retval[i] = T (a[i]); 175 retval[i] = T (a[i]);
176 176
177 return retval; 177 return retval;