# CoinWarmStartVectorDiff< T > Class Template Reference

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

`#include <CoinWarmStartVector.hpp>`

Inheritance diagram for CoinWarmStartVectorDiff< T >:
[legend]
Collaboration diagram for CoinWarmStartVectorDiff< T >:
[legend]

List of all members.

## Public Member Functions
virtual CoinWarmStartDiff * | clone () const
| `Virtual constructor'
virtual CoinWarmStartVectorDiff & | operator= (const CoinWarmStartVectorDiff< T > &rhs)
| Assignment.
virtual | ~CoinWarmStartVectorDiff ()
| Destructor.
void | swap (CoinWarmStartVectorDiff &rhs)
| CoinWarmStartVectorDiff ()
| Default constructor.
| CoinWarmStartVectorDiff (const CoinWarmStartVectorDiff< T > &rhs)
| Copy constructor.
| CoinWarmStartVectorDiff (int sze, const unsigned int *const diffNdxs, const T *const diffVals)
| Standard constructor.
void | clear ()
| Clear the data.
## Private Attributes
int | sze_
| Number of entries (and allocated capacity), in units of `T`.
unsigned int * | diffNdxs_
| Array of diff indices.
T * | diffVals_
| Array of diff values.
## Friends
CoinWarmStartDiff * | CoinWarmStartVector (const CoinWarmStart *const oldCWS) const
void | CoinWarmStartVector (const CoinWarmStartDiff *const diff)

## Detailed Description

### template<typename T>
class CoinWarmStartVectorDiff< T >

A `diff' between two CoinWarmStartVector objects.

This class exists in order to hide from the world the details of calculating and representing a `diff' between two CoinWarmStartVector 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 CoinWarmStartVector::generateDiff() and CoinWarmStartVector::applyDiff().

The actual data structure is a pair of vectors, diffNdxs_ and diffVals_.

Definition at line 151 of file CoinWarmStartVector.hpp.

## Constructor & Destructor Documentation

template<typename T>

virtual CoinWarmStartVectorDiff< T >::~CoinWarmStartVectorDiff | ( |  | ) | `[inline, virtual]`

Destructor.

Definition at line 170 of file CoinWarmStartVector.hpp.

template<typename T>

CoinWarmStartVectorDiff< T >::CoinWarmStartVectorDiff | ( |  | ) | `[inline]`

Default constructor.

Definition at line 185 of file CoinWarmStartVector.hpp.

template<typename T>

CoinWarmStartVectorDiff< T >::CoinWarmStartVectorDiff | ( | const CoinWarmStartVectorDiff< T > & | rhs | ) | `[inline]`

Copy constructor.

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

Definition at line 458 of file CoinWarmStartVector.hpp.

template<typename T>

CoinWarmStartVectorDiff< T >::CoinWarmStartVectorDiff | ( | int | sze,
|  | const unsigned int *const | diffNdxs,
|  | const T *const | diffVals |
| ) |  |  | `[inline]`

Standard constructor.

Definition at line 475 of file CoinWarmStartVector.hpp.

## Member Function Documentation

template<typename T>

virtual CoinWarmStartDiff* CoinWarmStartVectorDiff< T >::clone | ( |  | ) | const`[inline, virtual]`

`Virtual constructor'

Implements CoinWarmStartDiff.

Definition at line 161 of file CoinWarmStartVector.hpp.

template<typename T>

CoinWarmStartVectorDiff< T > & CoinWarmStartVectorDiff< T >::operator= | ( | const CoinWarmStartVectorDiff< T > & | rhs | ) | `[inline, virtual]`

Assignment.

Definition at line 432 of file CoinWarmStartVector.hpp.

template<typename T>

void CoinWarmStartVectorDiff< T >::swap | ( | CoinWarmStartVectorDiff< T > & | rhs | ) | `[inline]`

Definition at line 175 of file CoinWarmStartVector.hpp.

template<typename T>

void CoinWarmStartVectorDiff< T >::clear | ( |  | ) | `[inline]`

Clear the data.

Make it appear as if the diff was just created using the default constructor.

Definition at line 204 of file CoinWarmStartVector.hpp.

## Friends And Related Function Documentation

template<typename T>

CoinWarmStartDiff* CoinWarmStartVector | ( | const CoinWarmStart *const | oldCWS | ) | const`[friend]`

template<typename T>

void CoinWarmStartVector | ( | const CoinWarmStartDiff *const | diff | ) | `[friend]`

## Member Data Documentation

template<typename T>

int CoinWarmStartVectorDiff< T >::sze_`[private]`

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

Definition at line 215 of file CoinWarmStartVector.hpp.

template<typename T>

unsigned int* CoinWarmStartVectorDiff< T >::diffNdxs_`[private]`

Array of diff indices.

Definition at line 219 of file CoinWarmStartVector.hpp.

template<typename T>

T* CoinWarmStartVectorDiff< T >::diffVals_`[private]`

Array of diff values.

Definition at line 223 of file CoinWarmStartVector.hpp.

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

- /home/coin/svn-release/Osi-0.107.5/CoinUtils/src/CoinWarmStartVector.hpp

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines