22 #ifndef SELDON_FILE_ARRAY4D_INLINE_CXX
24 #include "Array4D.hxx"
35 template <
class T,
class Allocator>
51 template <
class T,
class Allocator>
62 template <
class T,
class Allocator>
73 template <
class T,
class Allocator>
84 template <
class T,
class Allocator>
97 template <
class T,
class Allocator>
100 return length1_ * length234_;
111 template <
class T,
class Allocator>
114 return length1_ * length234_;
124 template <
class T,
class Allocator>
141 template <
class T,
class Allocator>
145 return data_ + i * length234_ + j * length34_ + k * length4_ + l;
163 template <
class T,
class Allocator>
164 inline typename Array4D<T, Allocator>::reference
168 #ifdef SELDON_CHECK_BOUNDS
169 CheckBounds(i, j, k, l, length1_,
170 length2_, length3_, length4_,
"Array4D");
173 return data_[i * length234_ + j * length34_ + k * length4_ + l];
186 template <
class T,
class Allocator>
187 inline typename Array4D<T, Allocator>::const_reference
191 #ifdef SELDON_CHECK_BOUNDS
192 CheckBounds(i, j, k, l, length1_,
193 length2_, length3_, length4_,
"Array4D");
196 return data_[i*length234_ + j*length34_ + k*length4_ + l];
205 template <
class T,
class Allocator>
220 template <
class T,
class Allocator>
226 Allocator::memorycpy(data_, A.
GetData(), GetDataSize());
231 #define SELDON_FILE_ARRAY4D_INLINE_CXX