52 return !((*this)==it);
104 return !((*this)==it);
310 rowCutPtrs_.push_back(static_cast<OsiRowCut*>(newCutPtr));
316 colCutPtrs_.push_back(static_cast<OsiColCut*>(newCutPtr));
333 if ( rcPtr != NULL ) {
339 assert( ccPtr != NULL );
353 assert (rCut || cCut);
411 if (maxEff < (*it)->effectiveness() ) {
412 maxEff = (*it)->effectiveness();
428 for (i=0;i<numberColCuts;i++) {
433 for (i=0;i<numberRowCuts;i++) {
467 for (
unsigned i=0; i<to_erase.size(); i++) {
const_iterator operator++()
OsiRowCut & rowCut(int i)
Get reference to i'th row cut.
bool operator!=(const const_iterator &it) const
virtual void print() const
Print cuts in collection.
Equality to a scaled tolerance.
bool operator<(const iterator &it) const
bool operator<(const const_iterator &it) const
virtual OsiRowCut * clone() const
Clone.
iterator begin()
Get iterator to beginning of collection.
Equality to an absolute tolerance.
void eraseColCut(int i)
Remove i'th column cut from collection.
void gutsOfCopy(const OsiCuts &source)
Copy internal data.
void printCuts() const
Print cuts in collection.
virtual OsiColCut * clone() const
Clone.
iterator & operator=(const iterator &rhs)
int sizeColCuts() const
Number of column cuts in collection.
Collections of row cuts and column cuts.
void eraseAndDumpCuts(const std::vector< int > to_erase)
Selective delete and clear for row cuts.
bool operator==(const const_iterator &it) const
OsiVectorColCutPtr colCutPtrs_
Vector of column cuts pointers.
OsiVectorRowCutPtr rowCutPtrs_
Vector of row cuts pointers.
const_iterator begin() const
Get const iterator to beginning of collection.
int sizeCuts() const
Number of cuts in collection.
const double COIN_DBL_MIN
iterator end()
Get iterator to end of collection.
OsiColCut & colCut(int i)
Get reference to i'th column cut.
void gutsOfDestructor()
Delete internal data.
double effectiveness() const
Get effectiveness.
virtual void print() const
Print cuts in collection.
friend void OsiCutsUnitTest()
A function that tests the methods in the OsiCuts class.
OsiCut * operator*() const
int sizeRowCuts() const
Number of row cuts in collection.
bool operator()(const OsiCut *c1P, const OsiCut *c2P)
Function for sorting cuts by effectiveness.
void insert(const OsiRowCut &rc)
Insert a row cut.
const_iterator operator++(int)
OsiColCut * colCutPtr(int i)
Get pointer to i'th column cut.
const_iterator & operator=(const const_iterator &rhs)
const_iterator end() const
Get const iterator to end of collection.
OsiRowCut * rowCutPtr(int i)
Get pointer to i'th row cut.
void insertIfNotDuplicate(OsiRowCut &rc, CoinAbsFltEq treatAsSame=CoinAbsFltEq(1.0e-12))
Insert a row cut unless it is a duplicate - cut may get sorted.
const OsiCut * mostEffectiveCutPtr() const
Get const pointer to the most effective cut.
bool operator==(const iterator &it) const
std::vector< OsiColCut * > OsiVectorColCutPtr
Vector of OsiColCut pointers.
void dumpCuts()
Clear all row cuts without deleting them.
OsiCuts & operator=(const OsiCuts &rhs)
Assignment operator.
const OsiCut * operator*() const
std::vector< OsiRowCut * > OsiVectorRowCutPtr
Vector of OsiRowCut pointers.
std::forward_iterator_tag iterator_category
OsiCuts()
Default constructor.
void eraseRowCut(int i)
Remove i'th row cut from collection.
OsiRowCut * rowCutPtrAndZap(int i)
Get pointer to i'th row cut and remove ptr from collection.
Function objects for testing equality of real numbers.
bool operator!=(const iterator &it) const
virtual ~OsiCuts()
Destructor.
void sort()
Cuts with greatest effectiveness are first.