Skip to content

Commit

Permalink
Add increaseArrayPair().
Browse files Browse the repository at this point in the history
  • Loading branch information
brianwalenz committed Jul 5, 2019
1 parent b00a9c2 commit 2b836b4
Showing 1 changed file with 16 additions and 2 deletions.
18 changes: 16 additions & 2 deletions src/utility/arrays.H
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ duplicateString(TT const *fr) {

template<typename TT, typename LL>
void
duplicateArray(TT*& to, LL &toLen, LL &toMax, TT *fr, LL frLen, LL UNUSED(frMax), bool forceAlloc=false) {
duplicateArray(TT*& to, LL &toLen, LL &toMax, TT *fr, LL frLen, LL frMax=0, bool forceAlloc=false) {

if (fr == NULL)
assert(frLen == 0);
Expand Down Expand Up @@ -124,11 +124,25 @@ setArraySize(TT*& array, uint64 arrayLen, LL &arrayMax, uint64 newMax, uint32 op
template<typename TT, typename LL>
void
increaseArray(TT*& array, uint64 arrayLen, LL &arrayMax, uint64 moreSpace) {
uint64 newMax = arrayMax + moreSpace;

if (arrayLen < arrayMax)
return;

setArraySize(array, arrayLen, arrayMax, arrayMax + moreSpace, resizeArray_copyData);
setArraySize(array, arrayLen, arrayMax, newMax, resizeArray_copyData);
}


template<typename T1, typename T2, typename LL>
void
increaseArrayPair(T1*& array1, T2*& array2, uint64 arrayLen, LL &arrayMax, uint64 moreSpace) {
uint64 newMax = arrayMax + moreSpace;

if (arrayLen < arrayMax)
return;

setArraySize(array1, arrayLen, arrayMax, newMax, resizeArray_copyData);
setArraySize(array2, arrayLen, arrayMax, newMax, resizeArray_copyData);
}


Expand Down

0 comments on commit 2b836b4

Please sign in to comment.