blob: a397fb8ad7b6292466311a0c641bddf770841044 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
// (C) Copyright International Business Machines Corporation 2007
// All Rights Reserved.
// This code is published under the Eclipse Public License.
//
// Authors :
// Pierre Bonami, International Business Machines Corporation
//
// Date : 10/06/2007
#include "CoinHelperFunctions.hpp"
#ifndef BonArraysHelpers_H
#define BonArraysHelpers_H
namespace Bonmin {
template <class X> void
resizeAndCopyArray(X *& array, unsigned int oldSize, unsigned int newSize){
if(newSize == 0){
if(oldSize > 0){
delete [] array;
array = NULL;
}
return;
}
X * buffy = new X[newSize];
if(oldSize > 0){
if(oldSize < newSize)
CoinCopyN(array, oldSize, buffy);
else
CoinCopyN(array, newSize, buffy);
delete [] array;
}
array = buffy;
}
template <class X> void
resizeAndCopyArray(X *& array, unsigned int oldSize, unsigned int newSize,
unsigned int& capacity){
if(newSize > capacity){
X * buffy = new X[newSize];
if(oldSize > 0){
CoinCopyN(array, oldSize, buffy);
delete [] array;
}
array = buffy;
}
else {
newSize = oldSize;
}
}
}// Ends Bonmin namespace
#endif
|