25 #define ZYPP_USE_RESOLVER_INTERNALS 28 #include <zypp/base/Gettext.h> 31 #include <zypp/base/Logger.h> 32 #include <zypp/solver/detail/Resolver.h> 63 template <
typename Predicate>
69 if ( not std::invoke( std::forward<Predicate>(
predicate), aptr ) )
75 friend Impl * rwcowClone<Impl>(
const Impl * rhs );
78 {
return new Impl( *
this ); }
83 : _pimpl( new
Impl() )
87 : _pimpl( new
Impl(
std::move(description) ) )
91 : _pimpl( new
Impl(
std::move(description),
std::move(details) ) )
142 return aptr->skipsPatchesOnly();
149 os <<
"Solution:" << endl;
159 for (
const auto & ptr: obj )
std::list< ProblemSolution_Ptr > ProblemSolutionList
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.
void setDetails(std::string details)
Set detail description of the solution.
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)
Impl * clone() const
clone for RWCOW_pointer
void addAction(SolutionAction_Ptr action)
Add an action to the actions list.
Impl(std::string &&description)
IMPL_PTR_TYPE(Application)
SolutionActionList _actions
bool allActionsMatch(Predicate &&predicate) const
solver::detail::SolutionAction_Ptr SolutionAction_Ptr
solver::detail::SolutionActionList SolutionActionList
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.
virtual ~ProblemSolution()
Destructor.