22 : mDim(0) {
mData.resize(1);}
35 size_t tmpDataSize = 1;
36 index_type::const_reverse_iterator it, itEnd = sizes.rend();
37 index_type::reverse_iterator itFaktor;
39 for (it = sizes.rbegin(), itFaktor =
mFactors.rbegin(); it != itEnd; ++it, ++itFaktor)
41 *itFaktor = tmpDataSize;
45 mData.resize(tmpDataSize);
51 assert(index.size() ==
mDim);
55 index_type::const_iterator itIndex, it, itEnd =
mFactors.end();
57 for (itIndex = index.begin(), it =
mFactors.begin(); it != itEnd; ++it, ++itIndex)
58 tmpindex += *itIndex * *it;
60 return mData[tmpindex];
66 assert(index.size() ==
mDim);
70 index_type::const_iterator itIndex, it, itEnd =
mFactors.end();
72 for (itIndex = index.begin(), it =
mFactors.begin(); it != itEnd; ++it, ++itIndex)
73 tmpindex += *itIndex * *it;
75 return mData[tmpindex];
void resize(const index_type &sizes)
std::vector< data_type > mData
data_type & operator[](const index_type &index)
std::vector< size_t > index_type
std::vector< size_t > mFactors
std::vector< size_t > mSizes