22 #include <solv/solver.h>
48 os <<
"[" << (_soft?
"Soft":
"") <<
"InstallOneOf: ";
49 for (PoolItemList::const_iterator iter = _oneOfList.begin();
50 iter != _oneOfList.end();
63 , _oneOfList (itemList)
78 MIL <<
"Install one of " << (
_soft ?
"(soft):" :
":")<< endl;
82 queue_push( &(q), SOLVER_INSTALL | SOLVER_SOLVABLE_ONE_OF | SOLVER_WEAK);
84 queue_push( &(q), SOLVER_INSTALL | SOLVER_SOLVABLE_ONE_OF );
89 Id
id = (*iter)->satSolvable().id();
91 ERR << *iter <<
" not found" << endl;
94 MIL <<
" candidate:" << *iter <<
" with the SAT-Pool ID: " <<
id << endl;
95 queue_push( &(qs),
id );
99 queue_push( &(q), pool_queuetowhatprovides(satPool.
get(), &qs));
109 new_installOneOf->SolverQueueItem::copy(
this);
110 new_installOneOf->_soft =
_soft;
112 return new_installOneOf;
123 return (
_oneOfList == install->_oneOfList) ? 0 : -1;
::_Pool * get() const
Expert backdoor.
virtual ~SolverQueueItemInstallOneOf()
virtual bool addRule(_Queue &q)
std::list< PoolItem > PoolItemList
static Pool instance()
Singleton ctor.
SolverQueueItemInstallOneOf(const ResPool &pool, const PoolItemList &itemList, bool soft=false)
virtual std::ostream & dumpOn(std::ostream &str) const
Overload to realize std::ostream & operator<<.
virtual SolverQueueItem_Ptr copy(void) const
IMPL_PTR_TYPE(ProblemSolutionCombi)
virtual int cmp(SolverQueueItem_constPtr item) const
int compare(SolverQueueItem_constPtr item) const