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