1 #ifndef __XIOS_ARRAY_HPP__
2 #define __XIOS_ARRAY_HPP__
4 #define BZ_COLUMN_MAJOR_ARRAY
5 #include <blitz/array.h>
11 using namespace blitz;
12 BZ_DECLARE_FUNCTION(round)
16 template <
typename T_numtype,
int N_rank>
17 class CArray :
public Array<T_numtype,N_rank>,
public virtual CBaseType
24 using Array<T_numtype,N_rank>::operator =;
26 template<
typename T_expr>
explicit CArray(_bz_ArrayExpr<T_expr> expr)
27 : Array<T_numtype,N_rank>(expr)
31 CArray(GeneralArrayStorage<N_rank> storage = T_default_storage())
32 : Array<T_numtype,N_rank>(storage)
37 : Array<T_numtype,N_rank>(length0, storage)
41 CArray(
int length0,
int length1, GeneralArrayStorage<N_rank> storage = T_default_storage())
42 : Array<T_numtype,N_rank>(length0, length1, storage)
46 CArray(
int length0,
int length1,
int length2, GeneralArrayStorage<N_rank> storage = T_default_storage())
47 : Array<T_numtype,N_rank>(length0, length1, length2, storage)
51 CArray(
int length0,
int length1,
int length2,
int length3, GeneralArrayStorage<N_rank> storage = T_default_storage())
52 : Array<T_numtype,N_rank>(length0, length1, length2, length3, storage)
56 CArray(
int length0,
int length1,
int length2,
int length3,
int length4, GeneralArrayStorage<N_rank> storage = T_default_storage())
57 : Array<T_numtype,N_rank>(length0,length1, length2, length3, length4, storage)
61 CArray(
int length0,
int length1,
int length2,
int length3,
int length4,
int length5, GeneralArrayStorage<N_rank> storage = T_default_storage())
62 : Array<T_numtype,N_rank>(length0, length1, length2, length3, length4, length5, storage)
66 CArray(
int length0,
int length1,
int length2,
int length3,
int length4,
int length5,
int length6, GeneralArrayStorage<N_rank> storage = T_default_storage())
67 : Array<T_numtype,N_rank>(length0, length1, length2, length3, length4, length5, length6, storage)
71 CArray(
int length0,
int length1,
int length2,
int length3,
int length4,
int length5,
int length6,
int length7,
73 : Array<T_numtype,N_rank>(length0, length1, length2, length3, length4, length5, length6, length7, storage)
77 CArray(
int length0,
int length1,
int length2,
int length3,
int length4,
int length5,
int length6,
78 int length7,
int length8, GeneralArrayStorage<N_rank> storage =
T_default_storage())
79 : Array<T_numtype,N_rank>(length0, length1, length2, length3, length4, length5, length6, length7, length8, storage)
83 CArray(
int length0,
int length1,
int length2,
int length3,
int length4,
84 int length5,
int length6,
int length7,
int length8,
int length9, GeneralArrayStorage<N_rank> storage =
T_default_storage())
85 : Array<T_numtype,N_rank>(length0, length1, length2, length3, length4, length5, length6, length7, length8, length9, storage)
89 CArray(
int length0,
int length1,
int length2,
int length3,
int length4,
int length5,
int length6,
90 int length7,
int length8,
int length9,
int length10, GeneralArrayStorage<N_rank> storage =
T_default_storage())
91 : Array<T_numtype,N_rank>(length0, length1, length2, length3, length4, length5, length6, length7, length8, length9, length10, storage)
95 CArray(T_numtype* restrict dataFirst, TinyVector<int, N_rank> shape, GeneralArrayStorage<N_rank> storage = T_default_storage())
96 : Array<T_numtype,N_rank>(dataFirst, shape, storage)
100 CArray(T_numtype* restrict dataFirst, TinyVector<int, N_rank> shape, TinyVector<diffType, N_rank> stride,
102 : Array<T_numtype,N_rank>(dataFirst, shape, stride, storage)
106 CArray(T_numtype* restrict dataFirst, TinyVector<int, N_rank> shape, preexistingMemoryPolicy deletionPolicy,
108 : Array<T_numtype,N_rank>(dataFirst, shape, deletionPolicy, storage)
112 CArray(T_numtype* restrict dataFirst, TinyVector<int, N_rank> shape, TinyVector<diffType, N_rank> stride,
113 preexistingMemoryPolicy deletionPolicy, GeneralArrayStorage<N_rank> storage =
T_default_storage())
114 : Array<T_numtype,N_rank>(dataFirst, shape, stride, deletionPolicy, storage)
118 CArray(
const TinyVector<int, N_rank>& extent, GeneralArrayStorage<N_rank> storage = T_default_storage())
119 : Array<T_numtype,N_rank>(extent, storage)
123 CArray(
const TinyVector<int, N_rank>& lbounds,
const TinyVector<int, N_rank>& extent,
124 const GeneralArrayStorage<N_rank>& storage)
125 : Array<T_numtype,N_rank>(lbounds, extent, storage)
129 CArray(Range r0, GeneralArrayStorage<N_rank> storage = T_default_storage())
130 : Array<T_numtype,N_rank>(r0, storage)
134 CArray(Range r0, Range r1, GeneralArrayStorage<N_rank> storage = T_default_storage())
135 : Array<T_numtype,N_rank>(r0, r1, storage)
139 CArray(Range r0, Range r1, Range r2, GeneralArrayStorage<N_rank> storage = T_default_storage())
140 : Array<T_numtype,N_rank>(r0, r1, r2, storage)
144 CArray(Range r0, Range r1, Range r2, Range r3, GeneralArrayStorage<N_rank> storage = T_default_storage())
145 : Array<T_numtype,N_rank>(r0, r1, r2, r3, storage)
149 CArray(Range r0, Range r1, Range r2, Range r3, Range r4, GeneralArrayStorage<N_rank> storage = T_default_storage())
150 : Array<T_numtype,N_rank>(r0, r1, r2, r3, r4, storage)
154 CArray(Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, GeneralArrayStorage<N_rank> storage = T_default_storage())
155 : Array<T_numtype,N_rank>(r0, r1, r2, r3, r4, r5, storage)
159 CArray(Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6,
161 : Array<T_numtype,N_rank>(r0, r1, r2, r3, r4, r5, r6, storage)
165 CArray(Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7,
167 : Array<T_numtype,N_rank>(r0, r1, r2, r3, r4, r5, r6, r7, storage)
171 CArray(Range r0, Range r1, Range r2, Range r3, Range r4, Range r5,
172 Range r6, Range r7, Range r8, GeneralArrayStorage<N_rank> storage =
T_default_storage())
173 : Array<T_numtype,N_rank>(r0, r1, r2, r3, r4, r5, r6, r7, r8, storage)
177 CArray(Range r0, Range r1, Range r2, Range r3, Range r4, Range r5,
178 Range r6, Range r7, Range r8, Range r9, GeneralArrayStorage<N_rank> storage =
T_default_storage())
179 : Array<T_numtype,N_rank>(r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, storage)
183 CArray(Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7,
184 Range r8, Range r9, Range r10, GeneralArrayStorage<N_rank> storage =
T_default_storage())
185 : Array<T_numtype,N_rank>(r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, storage)
190 : Array<T_numtype,N_rank>(array)
191 , initialized(array.initialized)
194 CArray(
const Array<T_numtype, N_rank>& array)
195 : Array<T_numtype,N_rank>(array)
199 CArray(
const TinyVector<int,N_rank-1>& shape,
int lastExtent,
const GeneralArrayStorage<N_rank>& storage)
200 : Array<T_numtype,N_rank>(shape, lastExtent, storage)
204 CArray(Array<T_numtype, N_rank>& array, Range r0)
205 : Array<T_numtype,N_rank>(array, r0)
209 CArray(Array<T_numtype, N_rank>& array, Range r0, Range r1)
210 : Array<T_numtype,N_rank>(array, r0, r1)
214 CArray(Array<T_numtype, N_rank>& array, Range r0, Range r1, Range r2)
215 : Array<T_numtype,N_rank>( array, r0, r1, r2)
219 CArray(Array<T_numtype, N_rank>& array, Range r0, Range r1, Range r2, Range r3)
220 : Array<T_numtype,N_rank>(array, r0, r1, r2, r3)
224 CArray(Array<T_numtype, N_rank>& array, Range r0, Range r1, Range r2,
226 : Array<T_numtype,N_rank>(array, r0, r1, r2, r3, r4)
230 CArray(Array<T_numtype, N_rank>& array, Range r0, Range r1, Range r2,
231 Range r3, Range r4, Range r5)
232 : Array<T_numtype,N_rank>( array, r0, r1, r2, r3, r4, r5)
236 CArray(Array<T_numtype, N_rank>& array, Range r0, Range r1, Range r2, Range r3,
237 Range r4, Range r5, Range r6)
238 : Array<T_numtype,N_rank>( array, r0, r1, r2, r3, r4, r5, r6)
242 CArray(Array<T_numtype, N_rank>& array, Range r0, Range r1, Range r2, Range r3, Range r4,
243 Range r5, Range r6, Range r7)
244 : Array<T_numtype,N_rank>(array, r0, r1, r2, r3, r4, r5, r6, r7)
248 CArray(Array<T_numtype, N_rank>& array, Range r0, Range r1, Range r2, Range r3, Range r4, Range r5,
249 Range r6, Range r7, Range r8)
250 : Array<T_numtype,N_rank>(array, r0, r1, r2, r3, r4, r5, r6, r7, r8)
254 CArray(Array<T_numtype, N_rank>& array, Range r0, Range r1, Range r2, Range r3, Range r4, Range r5,
255 Range r6, Range r7, Range r8, Range r9)
256 : Array<T_numtype,N_rank>(array, r0, r1, r2, r3, r4, r5, r6, r7, r8, r9)
260 CArray(Array<T_numtype, N_rank>& array, Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6,
261 Range r7, Range r8, Range r9, Range r10)
262 : Array<T_numtype,N_rank>(array, r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10)
266 CArray(Array<T_numtype, N_rank>& array,
const RectDomain<N_rank>& subdomain)
267 : Array<T_numtype,N_rank>(array, subdomain)
271 CArray(Array<T_numtype, N_rank>& array,
const StridedDomain<N_rank>& subdomain)
272 : Array<T_numtype,N_rank>(array, subdomain)
276 template<
int N_rank2,
typename R0,
typename R1,
typename R2,
typename R3,
typename R4,
typename R5,
277 typename R6,
typename R7,
typename R8,
typename R9,
typename R10>
278 CArray(Array<T_numtype,N_rank2>& array, R0 r0, R1 r1, R2 r2, R3 r3, R4 r4, R5 r5, R6 r6, R7 r7, R8 r8, R9 r9, R10 r10)
279 : Array<T_numtype,N_rank>(array, r0,r1, r2, r3, r4, r5, r6, r7, r8, r9, r10)
294 Array<T_numtype,N_rank>::reference(array);
300 Array<T_numtype,N_rank>::reference(array);
306 size_t nbThis = this->numElements();
307 size_t nbArr = array.numElements();
308 if (nbThis != nbArr)
return false;
309 if (nbThis==0 && nbArr==0)
return true;
310 typename Array<T_numtype,N_rank>::const_iterator itx=array.begin(), itxe=array.end(), ity=this->begin() ;
311 for(;itx!=itxe;++itx,++ity)
if (*itx!=*ity)
return false ;
330 void resize(
int extent1,
int extent2,
int extent3)
335 void resize(
int extent1,
int extent2,
int extent3,
int extent4)
340 void resize(
int extent1,
int extent2,
int extent3,
int extent4,
int extent5)
345 void resize(
int extent1,
int extent2,
int extent3,
int extent4,
int extent5,
int extent6)
350 void resize(
int extent1,
int extent2,
int extent3,
int extent4,
int extent5,
351 int extent6,
int extent7)
357 void resize(
int extent1,
int extent2,
int extent3,
int extent4,
int extent5,
358 int extent6,
int extent7,
int extent8)
361 extent6, extent7, extent8);
364 void resize(
int extent1,
int extent2,
int extent3,
int extent4,
int extent5,
365 int extent6,
int extent7,
int extent8,
int extent9)
368 extent6, extent7, extent8, extent9);
371 void resize(
int extent1,
int extent2,
int extent3,
int extent4,
int extent5,
372 int extent6,
int extent7,
int extent8,
int extent9,
int extent10)
375 extent6, extent7, extent8, extent9, extent10);
378 void resize(
int extent1,
int extent2,
int extent3,
int extent4,
int extent5,
int extent6,
379 int extent7,
int extent8,
int extent9,
int extent10,
int extent11)
382 extent7, extent8, extent9, extent10, extent11);
396 void resize(Range r1, Range r2, Range r3)
401 void resize(Range r1, Range r2, Range r3, Range r4)
406 void resize(Range r1, Range r2, Range r3, Range r4, Range r5)
411 void resize(Range r1, Range r2, Range r3, Range r4, Range r5, Range r6)
416 void resize(Range r1, Range r2, Range r3, Range r4, Range r5,
423 void resize(Range r1, Range r2, Range r3, Range r4, Range r5,
424 Range r6, Range r7, Range r8)
430 void resize(Range r1, Range r2, Range r3, Range r4, Range r5,
431 Range r6, Range r7, Range r8, Range r9)
437 void resize(Range r1, Range r2, Range r3, Range r4, Range r5,
438 Range r6, Range r7, Range r8, Range r9, Range r10)
441 r6, r7, r8, r9, r10);
444 void resize(Range r1, Range r2, Range r3, Range r4, Range r5, Range r6,
445 Range r7, Range r8, Range r9, Range r10, Range r11)
448 r7, r8, r9, r10, r11);
452 void resize(
const TinyVector<int,N_rank>& extent)
460 Array<T_numtype,N_rank>::resizeAndPreserve(extent);
466 Array<T_numtype,N_rank>::resizeAndPreserve(extent);
471 Array<T_numtype,N_rank>::resizeAndPreserve(extent1, extent2);
476 Array<T_numtype,N_rank>::resizeAndPreserve(extent1, extent2, extent3);
481 Array<T_numtype,N_rank>::resizeAndPreserve(extent1, extent2, extent3, extent4);
486 Array<T_numtype,N_rank>::resizeAndPreserve(extent1, extent2, extent3, extent4, extent5);
490 int extent5,
int extent6)
492 Array<T_numtype,N_rank>::resizeAndPreserve(extent1, extent2, extent3, extent4,
497 int extent5,
int extent6,
int extent7)
499 Array<T_numtype,N_rank>::resizeAndPreserve(extent1, extent2, extent3, extent4,
500 extent5, extent6, extent7);
504 int extent5,
int extent6,
int extent7,
int extent8)
506 Array<T_numtype,N_rank>::resizeAndPreserve(extent1, extent2, extent3, extent4,
507 extent5, extent6, extent7, extent8);
511 int extent6,
int extent7,
int extent8,
int extent9)
513 Array<T_numtype,N_rank>::resizeAndPreserve(extent1, extent2, extent3, extent4, extent5,
514 extent6, extent7, extent8, extent9);
518 int extent6,
int extent7,
int extent8,
int extent9,
int extent10)
520 Array<T_numtype,N_rank>::resizeAndPreserve(extent1, extent2, extent3, extent4, extent5,
521 extent6, extent7, extent8, extent9, extent10);
524 void resizeAndPreserve(
int extent1,
int extent2,
int extent3,
int extent4,
int extent5,
int extent6,
525 int extent7,
int extent8,
int extent9,
int extent10,
int extent11)
527 Array<T_numtype,N_rank>::resizeAndPreserve(extent1, extent2, extent3, extent4, extent5, extent6,
528 extent7, extent8, extent9, extent10, extent11);
532 virtual void fromString(
const string& str) { istringstream iss(str); iss >> *
this; initialized =
true; }
533 virtual string toString(
void)
const { ostringstream oss; oss << *
this;
return oss.str(); }
535 virtual string dump(
void)
const
538 oss << this->shape()<<
" ";
539 if (this->shape().numElements() == 1 && this->shape().dataFirst()[0] == 1)
540 oss << this->dataFirst()[0];
542 oss << this->dataFirst()[0] <<
" ... "<< this->dataFirst()[this->numElements()-1];
546 virtual void reset(
void) { this->
free(); initialized =
false; }
547 virtual bool isEmpty(
void)
const {
return !initialized; }
548 virtual size_t size(
void)
const {
return size(this->numElements()); }
549 static size_t size(sizeType numElements) {
return (N_rank + 1) *
sizeof(int) +
sizeof(
size_t) + numElements *
sizeof(T_numtype); }
556 ret = buffer.
put(this->dimensions());
557 ret &= buffer.
put(this->shape().data(), this->dimensions());
558 ret &= buffer.
put(this->numElements());
559 ret &= buffer.
put(this->dataFirst(), this->numElements());
567 TinyVector<int,N_rank> vect;
570 ret = buffer.
get(numDim);
571 ret &= buffer.
get(vect.data(), N_rank);
573 ret &= buffer.
get(ne);
574 ret &= buffer.
get(this->dataFirst(), ne);
583 #define macro(NRANK)\
586 inline size_t CArray<StdString,NRANK>::size(void) const\
588 size_t size=(1 + NRANK) * sizeof(int) ;\
589 Array<StdString,NRANK>::const_iterator it, itb=this->begin(), ite=this->end() ;\
591 for(it=itb;it!=ite;++it)\
593 size+= sizeof(size_t) ;\
594 size+= (*it).size();\
601 inline size_t CArray<StdString,NRANK>::size(sizeType numElements)\
603 return (NRANK + 1) * sizeof(int) + numElements * stringArrayLen;\
607 inline bool CArray<StdString,NRANK>::toBuffer(CBufferOut& buffer) const\
610 ret = buffer.put(this->dimensions());\
611 ret &= buffer.put(this->shape().data(), this->dimensions());\
613 Array<StdString,NRANK>::const_iterator it, itb=this->begin(), ite=this->end() ;\
615 for(it=itb;it!=ite;++it)\
617 ret &= buffer.put((*it).size()) ;\
618 ret &= buffer.put((*it).data(),(*it).size());\
624 inline bool CArray<StdString,NRANK>::fromBuffer(CBufferIn& buffer)\
628 TinyVector<int,NRANK> vect;\
631 ret = buffer.get(numDim);\
632 ret &= buffer.get(vect.data(), NRANK);\
635 Array<StdString,NRANK>::iterator it, itb=this->begin(), ite=this->end() ;\
636 for(it=itb;it!=ite;++it)\
638 ret &= buffer.get(ne) ;\
639 char* str = new char[ne] ;\
640 ret &= buffer.get(str, ne);\
641 *it = string(str,ne) ;\
657 template <
typename T_numtype,
int N_rank>
inline CBufferOut& operator<<(CBufferOut& buffer, const CArray<T_numtype,N_rank>& array)
659 if (!array.toBuffer(buffer))
ERROR(
"template <typename T_numtype,int N_rank> inline CBufferOut& operator<<(CBufferOut& buffer, const CArray& array)",
660 <<
"Not enough free space in buffer to queue the array.");
666 if (!array.
fromBuffer(buffer))
ERROR(
"template <typename T_numtype,int N_rank> inline CBufferIn& operator>>(CBufferIn& buffer, CArray& array)",
667 <<
"Not enough data in buffer to unqueue the array.");
671 template <
typename T_numtype,
int N_rank>
inline CMessage& operator<<(CMessage& msg, const CArray<T_numtype, N_rank>& array)
677 template <
typename T_numtype,
int N_rank>
inline CMessage& operator<<(CMessage& msg, CArray<T_numtype, N_rank>& array)
void resizeAndPreserve(int extent1, int extent2, int extent3, int extent4, int extent5)
virtual size_t size(void) const
CArray(_bz_ArrayExpr< T_expr > expr)
CArray(int length0, int length1, int length2, int length3, int length4, int length5, int length6, int length7, int length8, int length9, GeneralArrayStorage< N_rank > storage=T_default_storage())
bool fromBuffer(CBufferIn &buffer)
void resizeAndPreserve(int extent1, int extent2, int extent3, int extent4, int extent5, int extent6, int extent7, int extent8, int extent9, int extent10, int extent11)
void resize(int extent1, int extent2)
CArray(Array< T_numtype, N_rank > &array, const RectDomain< N_rank > &subdomain)
virtual bool toBuffer(CBufferOut &buffer) const
void resize(Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, Range r8, Range r9, Range r10)
void resize(Range r1, Range r2)
void resizeAndPreserve(int extent1, int extent2)
virtual bool fromBuffer(CBufferIn &buffer)
void resize(const TinyVector< int, N_rank > &extent)
void resizeAndPreserve(int extent)
CArray(Array< T_numtype, N_rank > &array, Range r0, Range r1, Range r2, Range r3, Range r4, Range r5)
void resize(Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7)
CArray(Array< T_numtype, N_rank > &array, const StridedDomain< N_rank > &subdomain)
CArray(int length0, int length1, int length2, int length3, int length4, int length5, int length6, int length7, int length8, int length9, int length10, GeneralArrayStorage< N_rank > storage=T_default_storage())
CArray(int length0, GeneralArrayStorage< N_rank > storage=T_default_storage())
void resize(int extent1, int extent2, int extent3, int extent4, int extent5, int extent6)
CArray(Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, Range r8, Range r9, Range r10, GeneralArrayStorage< N_rank > storage=T_default_storage())
void resize(int extent1, int extent2, int extent3, int extent4, int extent5, int extent6, int extent7, int extent8, int extent9, int extent10)
CArray(Array< T_numtype, N_rank > &array, Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7)
CArray(Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, GeneralArrayStorage< N_rank > storage=T_default_storage())
void resize(int extent1, int extent2, int extent3, int extent4, int extent5, int extent6, int extent7, int extent8, int extent9)
void resizeAndPreserve(int extent1, int extent2, int extent3, int extent4)
CArray(const TinyVector< int, N_rank-1 > &shape, int lastExtent, const GeneralArrayStorage< N_rank > &storage)
CArray(int length0, int length1, int length2, int length3, int length4, int length5, int length6, int length7, int length8, GeneralArrayStorage< N_rank > storage=T_default_storage())
void resize(int extent1, int extent2, int extent3, int extent4, int extent5, int extent6, int extent7)
CArray(Array< T_numtype, N_rank > &array, Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6)
void resizeAndPreserve(int extent1, int extent2, int extent3)
CArray(Array< T_numtype, N_rank > &array, Range r0, Range r1, Range r2, Range r3)
virtual string dump(void) const
CArray(const TinyVector< int, N_rank > &lbounds, const TinyVector< int, N_rank > &extent, const GeneralArrayStorage< N_rank > &storage)
void resize(Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, Range r8, Range r9, Range r10, Range r11)
CArray(Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, Range r8, Range r9, GeneralArrayStorage< N_rank > storage=T_default_storage())
void resize(int extent1, int extent2, int extent3, int extent4, int extent5, int extent6, int extent7, int extent8)
CArray(T_numtype *restrict dataFirst, TinyVector< int, N_rank > shape, TinyVector< diffType, N_rank > stride, GeneralArrayStorage< N_rank > storage=T_default_storage())
void resize(int extent1, int extent2, int extent3, int extent4)
axisDest_ index resize(nDest)
CArray(const Array< T_numtype, N_rank > &array)
CArray(Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, GeneralArrayStorage< N_rank > storage=T_default_storage())
virtual bool isEmpty(void) const
////////////////////// Déclarations ////////////////////// ///
CMessage & push(const CBaseType &type)
void resizeAndPreserve(const TinyVector< int, N_rank > &extent)
void resizeAndPreserve(int extent1, int extent2, int extent3, int extent4, int extent5, int extent6, int extent7)
CBufferIn & operator>>(CBufferIn &buffer, CArray< T_numtype, N_rank > &array)
void resize(Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, Range r8)
void resize(int extent1, int extent2, int extent3, int extent4, int extent5)
CArray(Array< T_numtype, N_rank > &array, Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, Range r8)
void resizeAndPreserve(int extent1, int extent2, int extent3, int extent4, int extent5, int extent6)
void resize(int extent1, int extent2, int extent3, int extent4, int extent5, int extent6, int extent7, int extent8, int extent9, int extent10, int extent11)
void resizeAndPreserve(int extent1, int extent2, int extent3, int extent4, int extent5, int extent6, int extent7, int extent8)
CArray(T_numtype *restrict dataFirst, TinyVector< int, N_rank > shape, preexistingMemoryPolicy deletionPolicy, GeneralArrayStorage< N_rank > storage=T_default_storage())
void resize(int extent1, int extent2, int extent3)
void resize(Range r1, Range r2, Range r3, Range r4, Range r5)
CArray(Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, Range r8, GeneralArrayStorage< N_rank > storage=T_default_storage())
CArray(int length0, int length1, int length2, int length3, int length4, int length5, int length6, int length7, GeneralArrayStorage< N_rank > storage=T_default_storage())
void resizeAndPreserve(int extent1, int extent2, int extent3, int extent4, int extent5, int extent6, int extent7, int extent8, int extent9, int extent10)
CArray(T_numtype *restrict dataFirst, TinyVector< int, N_rank > shape, TinyVector< diffType, N_rank > stride, preexistingMemoryPolicy deletionPolicy, GeneralArrayStorage< N_rank > storage=T_default_storage())
static size_t size(sizeType numElements)
Array< T_numtype, N_rank >::T_default_storage T_default_storage
CArray(Array< T_numtype, N_rank > &array, Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, Range r8, Range r9)
virtual void fromString(const string &str)
CArray(Array< T_numtype, N_rank > &array, Range r0)
void reference(const Array< T_numtype, N_rank > &array)
CArray(const CArray< T_numtype, N_rank > &array)
CArray(Array< T_numtype, N_rank > &array, Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, Range r8, Range r9, Range r10)
virtual CBaseType * clone(void) const
CArray(Array< T_numtype, N_rank > &array, Range r0, Range r1)
void resizeAndPreserve(int extent1, int extent2, int extent3, int extent4, int extent5, int extent6, int extent7, int extent8, int extent9)
void resize(Range r1, Range r2, Range r3, Range r4)
virtual string toString(void) const
void resize(Range r1, Range r2, Range r3)
CArray(Array< T_numtype, N_rank > &array, Range r0, Range r1, Range r2)
CArray< T_numtype, N_rank > copy() const
void resize(Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, Range r8, Range r9)
CArray(Array< T_numtype, N_rank > &array, Range r0, Range r1, Range r2, Range r3, Range r4)
CArray(Array< T_numtype, N_rank2 > &array, R0 r0, R1 r1, R2 r2, R3 r3, R4 r4, R5 r5, R6 r6, R7 r7, R8 r8, R9 r9, R10 r10)
bool operator==(const CDuration &ddr, const CDuration &dr)
Les opérateurs de comparaison. (Non testés pour le moment)
void reference(const CArray< T_numtype, N_rank > &array)
void resize(Range r1, Range r2, Range r3, Range r4, Range r5, Range r6)