?? array-impl.h
字號(hào):
storage_(storage) { BZPRECONDITION(dataFirst != 0); length_ = shape; stride_ = stride; calculateZeroOffset(); data_ += zeroOffset_; } /* * Construct an array from an existing block of memory. */ Array(T_numtype* restrict dataFirst, TinyVector<int, N_rank> shape, preexistingMemoryPolicy deletionPolicy, GeneralArrayStorage<N_rank> storage = GeneralArrayStorage<N_rank>()) : MemoryBlockReference<T_numtype>(product(shape), dataFirst, deletionPolicy), storage_(storage) { BZPRECONDITION(dataFirst != 0); length_ = shape; computeStrides(); data_ += zeroOffset_; if (deletionPolicy == duplicateData) reference(copy()); } /* * Construct an array from an existing block of memory, with a * given set of strides. */ Array(T_numtype* restrict dataFirst, TinyVector<int, N_rank> shape, TinyVector<int, N_rank> stride, preexistingMemoryPolicy deletionPolicy, GeneralArrayStorage<N_rank> storage = GeneralArrayStorage<N_rank>()) : MemoryBlockReference<T_numtype>(product(shape), dataFirst, deletionPolicy), storage_(storage) { BZPRECONDITION(dataFirst != 0); length_ = shape; stride_ = stride; calculateZeroOffset(); data_ += zeroOffset_; if (deletionPolicy == duplicateData) reference(copy()); } /* * This constructor takes an extent (length) vector and storage format. */ Array(const TinyVector<int, N_rank>& extent, GeneralArrayStorage<N_rank> storage = GeneralArrayStorage<N_rank>()) : storage_(storage) { length_ = extent; setupStorage(N_rank - 1); } /* * This construct takes a vector of bases (lbounds) and a vector of * extents. */ Array(const TinyVector<int, N_rank>& lbounds, const TinyVector<int, N_rank>& extent, const GeneralArrayStorage<N_rank>& storage = GeneralArrayStorage<N_rank>()); /* * These constructors allow arbitrary bases (starting indices) to be set. * e.g. Array<int,2> A(Range(10,20), Range(20,30)) * will create an 11x11 array whose indices are 10..20 and 20..30 */ Array(Range r0, GeneralArrayStorage<N_rank> storage = GeneralArrayStorage<N_rank>()) : storage_(storage) { BZPRECONDITION(r0.isAscendingContiguous()); length_[0] = r0.length(); storage_.setBase(0, r0.first()); setupStorage(0); } Array(Range r0, Range r1, GeneralArrayStorage<N_rank> storage = GeneralArrayStorage<N_rank>()) : storage_(storage) { BZPRECONDITION(r0.isAscendingContiguous() && r1.isAscendingContiguous()); length_[0] = r0.length(); storage_.setBase(0, r0.first()); length_[1] = r1.length(); storage_.setBase(1, r1.first()); setupStorage(1); } Array(Range r0, Range r1, Range r2, GeneralArrayStorage<N_rank> storage = GeneralArrayStorage<N_rank>()) : storage_(storage) { BZPRECONDITION(r0.isAscendingContiguous() && r1.isAscendingContiguous() && r2.isAscendingContiguous()); length_[0] = r0.length(); storage_.setBase(0, r0.first()); length_[1] = r1.length(); storage_.setBase(1, r1.first()); length_[2] = r2.length(); storage_.setBase(2, r2.first()); setupStorage(2); } Array(Range r0, Range r1, Range r2, Range r3, GeneralArrayStorage<N_rank> storage = GeneralArrayStorage<N_rank>()) : storage_(storage) { BZPRECONDITION(r0.isAscendingContiguous() && r1.isAscendingContiguous() && r2.isAscendingContiguous() && r3.isAscendingContiguous()); length_[0] = r0.length(); storage_.setBase(0, r0.first()); length_[1] = r1.length(); storage_.setBase(1, r1.first()); length_[2] = r2.length(); storage_.setBase(2, r2.first()); length_[3] = r3.length(); storage_.setBase(3, r3.first()); setupStorage(3); } Array(Range r0, Range r1, Range r2, Range r3, Range r4, GeneralArrayStorage<N_rank> storage = GeneralArrayStorage<N_rank>()) : storage_(storage) { BZPRECONDITION(r0.isAscendingContiguous() && r1.isAscendingContiguous() && r2.isAscendingContiguous() && r3.isAscendingContiguous() && r4.isAscendingContiguous()); length_[0] = r0.length(); storage_.setBase(0, r0.first()); length_[1] = r1.length(); storage_.setBase(1, r1.first()); length_[2] = r2.length(); storage_.setBase(2, r2.first()); length_[3] = r3.length(); storage_.setBase(3, r3.first()); length_[4] = r4.length(); storage_.setBase(4, r4.first()); setupStorage(4); } Array(Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, GeneralArrayStorage<N_rank> storage = GeneralArrayStorage<N_rank>()) : storage_(storage) { BZPRECONDITION(r0.isAscendingContiguous() && r1.isAscendingContiguous() && r2.isAscendingContiguous() && r3.isAscendingContiguous() && r4.isAscendingContiguous() && r5.isAscendingContiguous()); length_[0] = r0.length(); storage_.setBase(0, r0.first()); length_[1] = r1.length(); storage_.setBase(1, r1.first()); length_[2] = r2.length(); storage_.setBase(2, r2.first()); length_[3] = r3.length(); storage_.setBase(3, r3.first()); length_[4] = r4.length(); storage_.setBase(4, r4.first()); length_[5] = r5.length(); storage_.setBase(5, r5.first()); setupStorage(5); } Array(Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, GeneralArrayStorage<N_rank> storage = GeneralArrayStorage<N_rank>()) : storage_(storage) { BZPRECONDITION(r0.isAscendingContiguous() && r1.isAscendingContiguous() && r2.isAscendingContiguous() && r3.isAscendingContiguous() && r4.isAscendingContiguous() && r5.isAscendingContiguous() && r6.isAscendingContiguous()); length_[0] = r0.length(); storage_.setBase(0, r0.first()); length_[1] = r1.length(); storage_.setBase(1, r1.first()); length_[2] = r2.length(); storage_.setBase(2, r2.first()); length_[3] = r3.length(); storage_.setBase(3, r3.first()); length_[4] = r4.length(); storage_.setBase(4, r4.first()); length_[5] = r5.length(); storage_.setBase(5, r5.first()); length_[6] = r6.length(); storage_.setBase(6, r6.first()); setupStorage(6); } Array(Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, GeneralArrayStorage<N_rank> storage = GeneralArrayStorage<N_rank>()) : storage_(storage) { BZPRECONDITION(r0.isAscendingContiguous() && r1.isAscendingContiguous() && r2.isAscendingContiguous() && r3.isAscendingContiguous() && r4.isAscendingContiguous() && r5.isAscendingContiguous() && r6.isAscendingContiguous() && r7.isAscendingContiguous()); length_[0] = r0.length(); storage_.setBase(0, r0.first()); length_[1] = r1.length(); storage_.setBase(1, r1.first()); length_[2] = r2.length(); storage_.setBase(2, r2.first()); length_[3] = r3.length(); storage_.setBase(3, r3.first()); length_[4] = r4.length(); storage_.setBase(4, r4.first()); length_[5] = r5.length(); storage_.setBase(5, r5.first()); length_[6] = r6.length(); storage_.setBase(6, r6.first()); length_[7] = r7.length(); storage_.setBase(7, r7.first()); setupStorage(7); } Array(Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, Range r8, GeneralArrayStorage<N_rank> storage = GeneralArrayStorage<N_rank>()) : storage_(storage) { BZPRECONDITION(r0.isAscendingContiguous() && r1.isAscendingContiguous() && r2.isAscendingContiguous() && r3.isAscendingContiguous() && r4.isAscendingContiguous() && r5.isAscendingContiguous() && r6.isAscendingContiguous() && r7.isAscendingContiguous() && r8.isAscendingContiguous()); length_[0] = r0.length(); storage_.setBase(0, r0.first()); length_[1] = r1.length(); storage_.setBase(1, r1.first()); length_[2] = r2.length(); storage_.setBase(2, r2.first()); length_[3] = r3.length(); storage_.setBase(3, r3.first()); length_[4] = r4.length(); storage_.setBase(4, r4.first()); length_[5] = r5.length(); storage_.setBase(5, r5.first()); length_[6] = r6.length(); storage_.setBase(6, r6.first()); length_[7] = r7.length(); storage_.setBase(7, r7.first()); length_[8] = r8.length(); storage_.setBase(8, r8.first()); setupStorage(8); } Array(Range r0, Range r1, Range r2, Range r3, Range r4, Range r5, Range r6, Range r7, Range r8, Range r9, GeneralArrayStorage<N_rank> storage = GeneralArrayStorage<N_rank>()) : storage_(storage) { BZPRECONDITION(r0.isAscendingContiguous() && r1.isAscendingContiguous() && r2.isAscendingContiguous() && r3.isAscendingContiguous() && r4.isAscendingContiguous() && r5.isAscendingContiguous() && r6.isAscendingContiguous() && r7.isAscendingContiguous() && r8.isAscendingContiguous() && r9.isAscendingContiguous()); length_[0] = r0.length(); storage_.setBase(0, r0.first()); length_[1] = r1.length(); storage_.setBase(1, r1.first()); length_[2] = r2.length(); storage_.setBase(2, r2.first()); length_[3] = r3.length(); storage_.setBase(3, r3.first()); length_[4] = r4.length(); storage_.setBase(4, r4.first()); length_[5] = r5.length(); storage_.setBase(5, r5.first()); length_[6] = r6.length(); storage_.setBase(6, r6.first()); length_[7] = r7.length(); storage_.setBase(7, r7.first()); length_[8] = r8.length(); storage_.setBase(8, r8.first()); length_[9] = r9.length(); storage_.setBase(9, r9.first()); setupStorage(9); } Array(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 = GeneralArrayStorage<N_rank>()) : storage_(storage) { BZPRECONDITION(r0.isAscendingContiguous() && r1.isAscendingContiguous() && r2.isAscendingContiguous() && r3.isAscendingContiguous() && r4.isAscendingContiguous() && r5.isAscendingContiguous() && r6.isAscendingContiguous() && r7.isAscendingContiguous() && r8.isAscendingContiguous() && r9.isAscendingContiguous() && r10.isAscendingContiguous()); length_[0] = r0.length(); storage_.setBase(0, r0.first()); length_[1] = r1.length(); storage_.setBase(1, r1.first()); length_[2] = r2.length(); storage_.setBase(2, r2.first()); length_[3] = r3.length(); storage_.setBase(3, r3.first()); length_[4] = r4.length(); storage_.setBase(4, r4.first()); length_[5] = r5.length(); storage_.setBase(5, r5.first()); length_[6] = r6.length(); storage_.setBase(6, r6.first()); length_[7] = r7.length(); storage_.setBase(7, r7.first()); length_[8] = r8.length(); storage_.setBase(8, r8.first()); length_[9] = r9.length(); storage_.setBase(9, r9.first()); length_[10] = r10.length();
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -