Public Member Functions | Private Attributes | Friends | List of all members
CoinWarmStartVectorDiff< T > Class Template Reference

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

#include <CoinWarmStartVector.hpp>

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

Public Member Functions

virtual CoinWarmStartDiffclone () const
 `Virtual constructor' More...
 
virtual CoinWarmStartVectorDiffoperator= (const CoinWarmStartVectorDiff< T > &rhs)
 Assignment. More...
 
virtual ~CoinWarmStartVectorDiff ()
 Destructor. More...
 
void swap (CoinWarmStartVectorDiff &rhs)
 
 CoinWarmStartVectorDiff ()
 Default constructor. More...
 
 CoinWarmStartVectorDiff (const CoinWarmStartVectorDiff< T > &rhs)
 Copy constructor. More...
 
 CoinWarmStartVectorDiff (int sze, const unsigned int *const diffNdxs, const T *const diffVals)
 Standard constructor. More...
 
void clear ()
 Clear the data. More...
 
- Public Member Functions inherited from CoinWarmStartDiff
virtual ~CoinWarmStartDiff ()
 Abstract destructor. More...
 

Private Attributes

int sze_
 Number of entries (and allocated capacity), in units of T. More...
 
unsigned int * diffNdxs_
 Array of diff indices. More...
 
T * diffVals_
 Array of diff values. More...
 

Friends

CoinWarmStartDiffCoinWarmStartVector (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 ( )
inlinevirtual

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)

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 
)

Standard constructor.

Definition at line 475 of file CoinWarmStartVector.hpp.

Member Function Documentation

template<typename T>
virtual CoinWarmStartDiff* CoinWarmStartVectorDiff< T >::clone ( ) const
inlinevirtual

`Virtual constructor'

Implements CoinWarmStartDiff.

Definition at line 161 of file CoinWarmStartVector.hpp.

template<typename T>
CoinWarmStartVectorDiff< T > & CoinWarmStartVectorDiff< T >::operator= ( const CoinWarmStartVectorDiff< T > &  rhs)
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: