A `diff' between two CoinWarmStartBasis objects. More...
#include <CoinWarmStartBasis.hpp>
Public Member Functions | |
virtual CoinWarmStartDiff * | clone () const |
`Virtual constructor' | |
virtual CoinWarmStartBasisDiff & | operator= (const CoinWarmStartBasisDiff &rhs) |
Assignment. | |
virtual | ~CoinWarmStartBasisDiff () |
Destructor. | |
Protected Member Functions | |
CoinWarmStartBasisDiff () | |
Default constructor. | |
CoinWarmStartBasisDiff (const CoinWarmStartBasisDiff &cwsbd) | |
Copy constructor. | |
CoinWarmStartBasisDiff (int sze, const unsigned int *const diffNdxs, const unsigned int *const diffVals) | |
Standard constructor. | |
CoinWarmStartBasisDiff (const CoinWarmStartBasis *rhs) | |
Constructor when full is smaller than diff! | |
Private Attributes | |
int | sze_ |
Number of entries (and allocated capacity), in units of int . | |
unsigned int * | difference_ |
Array of diff indices and diff values. | |
Friends | |
CoinWarmStartDiff * | CoinWarmStartBasis::generateDiff (const CoinWarmStart *const oldCWS) const |
void | CoinWarmStartBasis::applyDiff (const CoinWarmStartDiff *const diff) |
A `diff' between two CoinWarmStartBasis objects.
This class exists in order to hide from the world the details of calculating and representing a `diff' between two CoinWarmStartBasis objects. For convenience, assignment, cloning, and deletion are visible to the world, and default and copy constructors are made available to derived classes. Knowledge of the rest of this structure, and of generating and applying diffs, is restricted to the friend functions CoinWarmStartBasis::generateDiff() and CoinWarmStartBasis::applyDiff().
The actual data structure is an unsigned int vector, difference_ which starts with indices of changed and then has values starting after sze_
Definition at line 385 of file CoinWarmStartBasis.hpp.
virtual CoinWarmStartBasisDiff::~CoinWarmStartBasisDiff | ( | ) | [virtual] |
Destructor.
CoinWarmStartBasisDiff::CoinWarmStartBasisDiff | ( | ) | [inline, protected] |
Default constructor.
This is protected (rather than private) so that derived classes can see it when they make their default constructor protected or private.
Definition at line 408 of file CoinWarmStartBasis.hpp.
CoinWarmStartBasisDiff::CoinWarmStartBasisDiff | ( | const CoinWarmStartBasisDiff & | cwsbd | ) | [protected] |
Copy constructor.
For convenience when copying objects containing CoinWarmStartBasisDiff objects. But consider whether you should be using clone() to retain polymorphism.
This is protected (rather than private) so that derived classes can see it when they make their copy constructor protected or private.
CoinWarmStartBasisDiff::CoinWarmStartBasisDiff | ( | int | sze, | |
const unsigned int *const | diffNdxs, | |||
const unsigned int *const | diffVals | |||
) | [protected] |
Standard constructor.
CoinWarmStartBasisDiff::CoinWarmStartBasisDiff | ( | const CoinWarmStartBasis * | rhs | ) | [protected] |
Constructor when full is smaller than diff!
virtual CoinWarmStartDiff* CoinWarmStartBasisDiff::clone | ( | ) | const [inline, virtual] |
`Virtual constructor'
Implements CoinWarmStartDiff.
Reimplemented in OsiDylpWarmStartBasisDiff.
Definition at line 389 of file CoinWarmStartBasis.hpp.
virtual CoinWarmStartBasisDiff& CoinWarmStartBasisDiff::operator= | ( | const CoinWarmStartBasisDiff & | rhs | ) | [virtual] |
Assignment.
Reimplemented in OsiDylpWarmStartBasisDiff.
CoinWarmStartDiff* CoinWarmStartBasis::generateDiff | ( | const CoinWarmStart *const | oldCWS | ) | const [friend] |
void CoinWarmStartBasis::applyDiff | ( | const CoinWarmStartDiff *const | diff | ) | [friend] |
int CoinWarmStartBasisDiff::sze_ [private] |
Number of entries (and allocated capacity), in units of int
.
Definition at line 437 of file CoinWarmStartBasis.hpp.
unsigned int* CoinWarmStartBasisDiff::difference_ [private] |
Array of diff indices and diff values.
Definition at line 441 of file CoinWarmStartBasis.hpp.