void AllVersionsChunk::setInputChunk(ConstChunk const& inputChunk, VersionID version) { DelegateChunk::setInputChunk(inputChunk); isClone = true; currVersion = version; prependVersion(firstPos, inputChunk.getFirstPosition(false), version); prependVersion(lastPos, inputChunk.getLastPosition(false), version); prependVersion(firstPosWithOverlap, inputChunk.getFirstPosition(true), version); prependVersion(lastPosWithOverlap, inputChunk.getLastPosition(true), version); }
void ShiftChunk::setInputChunk(ConstChunk const& inputChunk) { DelegateChunk::setInputChunk(inputChunk); isClone = true; array.in2out(inputChunk.getFirstPosition(false), firstPos); array.in2out(inputChunk.getLastPosition(false), lastPos); }
void ConcatChunk::setInputChunk(ConstChunk const& inputChunk) { DelegateChunk::setInputChunk(inputChunk); ConcatArrayIterator const& arrayIterator((ConcatArrayIterator const&)iterator); Coordinate shift = arrayIterator.shift; isClone = inputChunk.getArrayDesc().getDimensions()[CONCAT_DIM].getChunkOverlap() == 0; direct = true; firstPos = inputChunk.getFirstPosition(false); firstPosWithOverlap = inputChunk.getFirstPosition(true); lastPos = inputChunk.getLastPosition(false); lastPosWithOverlap = inputChunk.getLastPosition(true); if (shift != 0) { firstPos[CONCAT_DIM] += shift; firstPosWithOverlap[CONCAT_DIM] += shift; lastPos[CONCAT_DIM] += shift; lastPosWithOverlap[CONCAT_DIM] += shift; } }