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.
virtual OsiColCut * clone() const
Clone.
iterator begin()
Get iterator to beginning of collection.
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++()
double effectiveness() const
Get effectiveness.
OsiRowCut * rowCutPtr(int i)
Get pointer to i'th row cut.
const_iterator begin() const
Get const iterator to beginning of collection.
void eraseColCut(int i)
Remove i'th column cut from collection.
OsiCut * operator*() const
Collections of row cuts and column cuts.
virtual OsiRowCut * clone() const
Clone.
virtual void print() const
Print cuts in collection.
virtual void print() const
Print cuts in collection.
bool operator<(const const_iterator &it) const
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.
const OsiCut * mostEffectiveCutPtr() const
Get const pointer to the most effective cut.
std::vector< OsiColCut * > OsiVectorColCutPtr
Vector of OsiColCut pointers.
const_iterator & operator=(const const_iterator &rhs)
const OsiCut * operator*() const
Equality to a scaled tolerance.
bool operator!=(const iterator &it) const
std::forward_iterator_tag iterator_category
friend void OsiCutsUnitTest()
A function that tests the methods in the OsiCuts class.
iterator & operator=(const iterator &rhs)
OsiRowCut & rowCut(int i)
Get reference to i'th row cut.
void eraseRowCut(int i)
Remove i'th row cut from collection.
bool operator!=(const const_iterator &it) const
bool operator==(const const_iterator &it) const
void printCuts() const
Print cuts in collection.
void eraseAndDumpCuts(const std::vector< int > to_erase)
Selective delete and clear for row cuts.
Equality to an absolute tolerance.
void insert(const OsiRowCut &rc)
Insert a row cut.
Function objects for testing equality of real numbers.
int sizeCuts() const
Number of cuts in collection.
void gutsOfCopy(const OsiCuts &source)
Copy internal data.
OsiColCut & colCut(int i)
Get reference to i'th column cut.
void sort()
Cuts with greatest effectiveness are first.
OsiCuts & operator=(const OsiCuts &rhs)
Assignment operator.
bool operator<(const iterator &it) const
iterator end()
Get iterator to end of collection.
bool operator==(const iterator &it) const
OsiCuts()
Default constructor.
std::vector< OsiRowCut * > OsiVectorRowCutPtr
Vector of OsiRowCut pointers.
OsiVectorRowCutPtr rowCutPtrs_
Vector of row cuts pointers.
int sizeRowCuts() const
Number of row cuts in collection.
bool operator()(const OsiCut *c1P, const OsiCut *c2P)
Function for sorting cuts by effectiveness.
int sizeColCuts() const
Number of column cuts in collection.