CbcCountRowCut Class Reference

OsiRowCut augmented with bookkeeping. More...

#include <CbcCountRowCut.hpp>

Inheritance diagram for CbcCountRowCut:
Inheritance graph
[legend]
Collaboration diagram for CbcCountRowCut:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void increment (int change=1)
 Increment the number of references.
int decrement (int change=1)
 Decrement the number of references and return the number left.
void setInfo (CbcNodeInfo *, int whichOne)
 Set the information associating this cut with a node.
int numberPointingToThis ()
 Number of other CbcNodeInfo objects pointing to this row cut.
int whichCutGenerator () const
 Which generator for cuts - as user order.
Constructors & destructors



 CbcCountRowCut ()
 Default Constructor.
 CbcCountRowCut (const OsiRowCut &)
 `Copy' constructor using an OsiRowCut
 CbcCountRowCut (const OsiRowCut &, CbcNodeInfo *, int whichOne, int whichGenerator=-1)
 `Copy' constructor using an OsiRowCut and an CbcNodeInfo
virtual ~CbcCountRowCut ()
 Destructor.

Private Member Functions

 CbcCountRowCut (const CbcCountRowCut &)
 Standard copy is illegal (reference counts would be incorrect).
CbcCountRowCutoperator= (const CbcCountRowCut &rhs)
 Standard assignment is illegal (reference counts would be incorrect).

Private Attributes

CbcNodeInfoowner_
 Backward pointer to owning CbcNodeInfo.
int ownerCut_
 Index of cut in owner's cut set (cuts_ ).
int numberPointingToThis_
 Number of other CbcNodeInfo objects pointing to this cut.
int whichCutGenerator_
 Which generator created this cut.

Detailed Description

OsiRowCut augmented with bookkeeping.

CbcCountRowCut is an OsiRowCut object augmented with bookkeeping information: a reference count and information that specifies the the generator that created the cut and the node to which it's associated.

The general principles for handling the reference count are as follows:

When all possible uses of a cut have been demonstrated to be unnecessary, the reference count (numberPointingToThis_) will fall to zero. The CbcCountRowCut object (and its included OsiRowCut object) are then deleted.

Definition at line 32 of file CbcCountRowCut.hpp.


Constructor & Destructor Documentation

CbcCountRowCut::CbcCountRowCut (  ) 

Default Constructor.

CbcCountRowCut::CbcCountRowCut ( const OsiRowCut  ) 

`Copy' constructor using an OsiRowCut

CbcCountRowCut::CbcCountRowCut ( const OsiRowCut ,
CbcNodeInfo ,
int  whichOne,
int  whichGenerator = -1 
)

`Copy' constructor using an OsiRowCut and an CbcNodeInfo

virtual CbcCountRowCut::~CbcCountRowCut (  )  [virtual]

Destructor.

Note:
The destructor will reach out (via owner_) and NULL the reference to the cut in the owner's cuts_ list.
CbcCountRowCut::CbcCountRowCut ( const CbcCountRowCut  )  [private]

Standard copy is illegal (reference counts would be incorrect).


Member Function Documentation

void CbcCountRowCut::increment ( int  change = 1  ) 

Increment the number of references.

int CbcCountRowCut::decrement ( int  change = 1  ) 

Decrement the number of references and return the number left.

void CbcCountRowCut::setInfo ( CbcNodeInfo ,
int  whichOne 
)

Set the information associating this cut with a node.

An CbcNodeInfo object and an index in the cut set of the node. For locally valid cuts, the node will be the search tree node where the cut was generated. For globally valid cuts, it's the node where the cut was activated.

int CbcCountRowCut::numberPointingToThis (  )  [inline]

Number of other CbcNodeInfo objects pointing to this row cut.

Definition at line 74 of file CbcCountRowCut.hpp.

int CbcCountRowCut::whichCutGenerator (  )  const [inline]

Which generator for cuts - as user order.

Definition at line 78 of file CbcCountRowCut.hpp.

CbcCountRowCut& CbcCountRowCut::operator= ( const CbcCountRowCut rhs  )  [private]

Standard assignment is illegal (reference counts would be incorrect).

Reimplemented from OsiRowCut.


Member Data Documentation

Backward pointer to owning CbcNodeInfo.

Definition at line 95 of file CbcCountRowCut.hpp.

Index of cut in owner's cut set (cuts_ ).

Definition at line 99 of file CbcCountRowCut.hpp.

Number of other CbcNodeInfo objects pointing to this cut.

Definition at line 102 of file CbcCountRowCut.hpp.

Which generator created this cut.

Definition at line 105 of file CbcCountRowCut.hpp.


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

Generated on 15 Mar 2015 for Coin-All by  doxygen 1.6.1