#include <CoinWarmStartPrimalDual.hpp>
Inheritance diagram for CoinWarmStartPrimalDualDiff:
Public Member Functions | |
virtual CoinWarmStartDiff * | clone () const |
`Virtual constructor'. To be used when retaining polymorphism is important | |
virtual | ~CoinWarmStartPrimalDualDiff () |
Destructor. | |
Protected Member Functions | |
CoinWarmStartPrimalDualDiff () | |
Default constructor. | |
CoinWarmStartPrimalDualDiff (const CoinWarmStartPrimalDualDiff &rhs) | |
Copy constructor. | |
void | clear () |
Clear the data. | |
void | swap (CoinWarmStartPrimalDualDiff &rhs) |
Private Attributes | |
CoinWarmStartVectorDiff< double > | primalDiff_ |
These two differences describe the differences in the primal and in the dual vector. | |
CoinWarmStartVectorDiff< double > | dualDiff_ |
Friends | |
CoinWarmStartDiff * | CoinWarmStartPrimalDual::generateDiff (const CoinWarmStart *const oldCWS) const |
void | CoinWarmStartPrimalDual::applyDiff (const CoinWarmStartDiff *const diff) |
This class exists in order to hide from the world the details of calculating and representing a `diff' between two CoinWarmStartPrimalDual 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 CoinWarmStartPrimalDual::generateDiff() and CoinWarmStartPrimalDual::applyDiff().
The actual data structure is a pair of vectors, diffNdxs_ and diffVals_.
Definition at line 140 of file CoinWarmStartPrimalDual.hpp.
virtual CoinWarmStartPrimalDualDiff::~CoinWarmStartPrimalDualDiff | ( | ) | [inline, virtual] |
CoinWarmStartPrimalDualDiff::CoinWarmStartPrimalDualDiff | ( | ) | [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 167 of file CoinWarmStartPrimalDual.hpp.
Referenced by clone().
CoinWarmStartPrimalDualDiff::CoinWarmStartPrimalDualDiff | ( | const CoinWarmStartPrimalDualDiff & | rhs | ) | [inline, protected] |
Copy constructor.
For convenience when copying objects containing CoinWarmStartPrimalDualDiff 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 the make their copy constructor protected or private.
Definition at line 179 of file CoinWarmStartPrimalDual.hpp.
virtual CoinWarmStartDiff* CoinWarmStartPrimalDualDiff::clone | ( | ) | const [inline, virtual] |
`Virtual constructor'. To be used when retaining polymorphism is important
Implements CoinWarmStartDiff.
Definition at line 151 of file CoinWarmStartPrimalDual.hpp.
References CoinWarmStartPrimalDualDiff().
void CoinWarmStartPrimalDualDiff::clear | ( | ) | [inline, protected] |
Clear the data.
Make it appear as if the diff was just created using the default constructor.
Definition at line 187 of file CoinWarmStartPrimalDual.hpp.
References CoinWarmStartVectorDiff< T >::clear(), dualDiff_, and primalDiff_.
void CoinWarmStartPrimalDualDiff::swap | ( | CoinWarmStartPrimalDualDiff & | rhs | ) | [inline, protected] |
Definition at line 192 of file CoinWarmStartPrimalDual.hpp.
References dualDiff_, primalDiff_, and CoinWarmStartVectorDiff< T >::swap().
CoinWarmStartDiff* CoinWarmStartPrimalDual::generateDiff | ( | const CoinWarmStart *const | oldCWS | ) | const [friend] |
void CoinWarmStartPrimalDual::applyDiff | ( | const CoinWarmStartDiff *const | diff | ) | [friend] |
CoinWarmStartVectorDiff<double> CoinWarmStartPrimalDualDiff::primalDiff_ [private] |
These two differences describe the differences in the primal and in the dual vector.
Definition at line 205 of file CoinWarmStartPrimalDual.hpp.
CoinWarmStartVectorDiff<double> CoinWarmStartPrimalDualDiff::dualDiff_ [private] |