25 #define ZYPP_USE_RESOLVER_INTERNALS 65 std::set<PoolItem> ret;
67 ret.insert( aptr->item() );
71 template <
typename Predicate>
83 friend Impl * rwcowClone<Impl>(
const Impl * rhs );
86 {
return new Impl( *
this ); }
91 : _pimpl( new
Impl() )
95 : _pimpl( new
Impl(
std::move(description) ) )
99 : _pimpl( new
Impl(
std::move(description),
std::move(details) ) )
149 return aptr->skipsPatchesOnly();
153 std::optional<std::set<PoolItem>> ProblemSolution::getIfSkipsPatchesOnly()
const 163 os <<
"Solution:" << endl;
173 for (
const auto & ptr: obj )
std::set< PoolItem > collectActionItems() const
const SolutionActionList & actions() const
Return the list of actions forming this solution.
RWCOW_pointer< Impl > _pimpl
std::ostream & operator<<(std::ostream &str, const SerialNumber &obj)
ProblemSolution()
Constructor.
const std::string & details() const
Return a (possibly multi-line) detailed description of this solution or an empty string if there are ...
Impl(std::string &&description, std::string &&details)
std::enable_if< std::is_member_pointer< typename std::decay< Functor >::type >::value, typename std::result_of< Functor &&(Args &&...)>::type >::type invoke(Functor &&f, Args &&... args)
Impl * clone() const
clone for RWCOW_pointer
solver::detail::SolutionAction_Ptr SolutionAction_Ptr
Impl(std::string &&description)
solver::detail::SolutionActionList SolutionActionList
IMPL_PTR_TYPE(Application)
void setDetails(const std::string &details)
Set detail description of the solution.
SolutionActionList _actions
bool allActionsMatch(Predicate &&predicate) const
void addAction(const SolutionAction_Ptr &action)
Add an action to the actions list.
~ProblemSolution() override
Destructor.
void setDescription(std::string description)
Set description of the solution.
bool skipsPatchesOnly() const
The solution contains only 'do not install patch:' actions.
ProblemSolution implementation.
const std::string & description() const
Return a one-line text description of this solution.
Easy-to use interface to the ZYPP dependency resolver.
void pushDescriptionDetail(std::string description, bool front=false)
Collect multiple action descriptions in details (NL separated)
Class representing one possible solution to a problem found during resolving.
std::list< ProblemSolution_Ptr > ProblemSolutionList