Mercurial > hg > octave-lyh
diff liboctave/Array.cc @ 12153:e0e50f48df37
Explicitly disallow copying in some classes
author | Pascal Dupuis <Pascal.Dupuis@uclouvain.be> |
---|---|
date | Mon, 24 Jan 2011 14:57:07 -0500 |
parents | 4ced6b90fffb |
children | ea3a4bf39048 |
line wrap: on
line diff
--- a/liboctave/Array.cc +++ b/liboctave/Array.cc @@ -383,6 +383,7 @@ return dest + nr*nc; } + private: // Recursive N-d generalized transpose @@ -417,11 +418,16 @@ return dest; } + // No copying! + + rec_permute_helper (const rec_permute_helper&); + + rec_permute_helper& operator = (const rec_permute_helper&); + public: template <class T> void permute (const T *src, T *dest) const { do_permute (src, dest, top); } - }; @@ -599,6 +605,12 @@ } } + // No copying! + + rec_index_helper (const rec_index_helper&); + + rec_index_helper& operator = (const rec_index_helper&); + public: template <class T> @@ -655,6 +667,7 @@ ~rec_resize_helper (void) { delete [] cext; } private: + // recursive resizing template <class T> void do_resize_fill (const T* src, T *dest, const T& rfv, int lev) const @@ -673,11 +686,18 @@ fill_or_memset (dext[lev] - k * dd, rfv, dest + k * dd); } } + + // No copying! + + rec_resize_helper (const rec_resize_helper&); + + rec_resize_helper& operator = (const rec_resize_helper&); + public: + template <class T> void resize_fill (const T* src, T *dest, const T& rfv) const { do_resize_fill (src, dest, rfv, n-1); } - }; template <class T>