- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# OsiDylpWarmStartBasisDiff Class Reference

A `diff' between two OsiDylpWarmStartBasis objects. More...

`#include <OsiDylpWarmStartBasis.hpp>`

Inheritance diagram for OsiDylpWarmStartBasisDiff:

[legend]
Collaboration diagram for OsiDylpWarmStartBasisDiff:

[legend]
List of all members.

## Public Member Functions
virtual CoinWarmStartDiff * | clone () const
| `Virtual constructor'
virtual OsiDylpWarmStartBasisDiff & | operator= (const OsiDylpWarmStartBasisDiff &rhs)
| Assignment.
virtual | ~OsiDylpWarmStartBasisDiff ()
| Destructor.
## Private Member Functions
| OsiDylpWarmStartBasisDiff (int sze, const unsigned int *const diffNdxs, const unsigned int *const diffVals, const CoinWarmStartBasisDiff *const cwsbd)
| Standard constructor.
| OsiDylpWarmStartBasisDiff ()
| Default constructor.
| OsiDylpWarmStartBasisDiff (const OsiDylpWarmStartBasisDiff &odwsbd)
| Copy constructor.
## Private Attributes
int | consze_
| Number of entries (and allocated capacity), in units of `int`.
unsigned int * | condiffNdxs_
| Array of diff indices for constraint status.
unsigned int * | condiffVals_
| Array of diff values for constraint status.
## Friends
CoinWarmStartDiff * | OsiDylpWarmStartBasis::generateDiff (const CoinWarmStart *const oldCWS) const
void | OsiDylpWarmStartBasis::applyDiff (const CoinWarmStartDiff *const diff)

## Detailed Description

A `diff' between two OsiDylpWarmStartBasis objects.

This class exists in order to hide from the world the details of calculating and representing a `diff' between two OsiDylpWarmStartBasis objects. For convenience, assignment, cloning, and deletion are visible to the world, and default and copy constructors are visible to derived classes. Knowledge of the rest of this structure, and of generating and applying diffs, is restricted to the functions OsiDylpWarmStartBasis::generateDiff() and OsiDylpWarmStartBasis::applyDiff().

The actual data structure is a pair of unsigned int vectors, diffNdxs_ and diffVals_, and a CoinWarmStartBasisDiff object.

Todo:
  This is a pretty generic structure, and vector diff is a pretty generic activity. We should be able to convert this to a template.

Todo:
  Using unsigned int as the data type for the diff vectors might help to contain the damage when this code is inevitably compiled for 64 bit architectures. But the notion of int as 4 bytes is hardwired into CoinWarmStartBasis, so changes are definitely required.

Definition at line 261 of file OsiDylpWarmStartBasis.hpp.

## Constructor & Destructor Documentation

virtual OsiDylpWarmStartBasisDiff::~OsiDylpWarmStartBasisDiff | ( |  | ) | `[inline, virtual]`

Destructor.

Definition at line 274 of file OsiDylpWarmStartBasis.hpp.

References condiffNdxs_, and condiffVals_.

OsiDylpWarmStartBasisDiff::OsiDylpWarmStartBasisDiff | ( | int | sze,
|  | const unsigned int *const | diffNdxs,
|  | const unsigned int *const | diffVals,
|  | const CoinWarmStartBasisDiff *const | cwsbd |
| ) |  |  | `[private]`

Standard constructor.

OsiDylpWarmStartBasisDiff::OsiDylpWarmStartBasisDiff | ( |  | ) | `[inline, private]`

Default constructor.

Definition at line 291 of file OsiDylpWarmStartBasis.hpp.

Referenced by clone().

OsiDylpWarmStartBasisDiff::OsiDylpWarmStartBasisDiff | ( | const OsiDylpWarmStartBasisDiff & | odwsbd | ) | `[private]`

Copy constructor.

For convenience when copying objects containing OsiDylpWarmStartBasisDiff objects. But consider whether you should be using clone() to retain polymorphism.

## Member Function Documentation

virtual CoinWarmStartDiff* OsiDylpWarmStartBasisDiff::clone | ( |  | ) | const`[inline, virtual]`

`Virtual constructor'

Reimplemented from CoinWarmStartBasisDiff.

Definition at line 265 of file OsiDylpWarmStartBasis.hpp.

References OsiDylpWarmStartBasisDiff().

virtual OsiDylpWarmStartBasisDiff& OsiDylpWarmStartBasisDiff::operator= | ( | const OsiDylpWarmStartBasisDiff & | rhs | ) | `[virtual]`

Assignment.

## Friends And Related Function Documentation

CoinWarmStartDiff* OsiDylpWarmStartBasis::generateDiff | ( | const CoinWarmStart *const | oldCWS | ) | const`[friend]`

void OsiDylpWarmStartBasis::applyDiff | ( | const CoinWarmStartDiff *const | diff | ) | `[friend]`

## Member Data Documentation

int OsiDylpWarmStartBasisDiff::consze_`[private]`

Number of entries (and allocated capacity), in units of `int`.

Definition at line 309 of file OsiDylpWarmStartBasis.hpp.

unsigned int* OsiDylpWarmStartBasisDiff::condiffNdxs_`[private]`

Array of diff indices for constraint status.

Definition at line 313 of file OsiDylpWarmStartBasis.hpp.

Referenced by ~OsiDylpWarmStartBasisDiff().

unsigned int* OsiDylpWarmStartBasisDiff::condiffVals_`[private]`

Array of diff values for constraint status.

Definition at line 317 of file OsiDylpWarmStartBasis.hpp.

Referenced by ~OsiDylpWarmStartBasisDiff().

The documentation for this class was generated from the following file:

- /home/coin/SVN-release/Cgl-0.53.1/Osi/src/OsiDylp/OsiDylpWarmStartBasis.hpp