88 {
return new Impl( *
this ); }
101 : _pimpl(
new Impl(
std::move(description),
std::move(details) ) )
105 : _pimpl(
new Impl(
std::move(description),
std::move(details),
std::move(completeProblemInfo) ) )
113 {
return _pimpl->_description; }
116 {
return _pimpl->_details; }
119 {
return _pimpl->_solutions; }
122 {
return _pimpl->_completeProblemInfo; }
144 os <<
"Problem:" << endl;
145 os <<
"==============================" << endl;
146 os <<
obj.description() << endl;
147 os <<
obj.details() << endl;
148 os <<
"------------------------------" << endl;
149 os <<
obj.solutions();
150 os <<
"==============================" << endl;
Reference counted access to a Tp object calling a custom Dispose function when the last AutoDispose h...
Describe a solver problem and offer solutions.
const std::vector< std::string > & completeProblemInfo() const
Return a one-line description for each problematic rule in the problem tree.
void setDetails(std::string details)
Set detail description of the problem.
const std::string & description() const
Return a one-line description of the problem.
ResolverProblem()
Constructor.
~ResolverProblem() override
Destructor.
RWCOW_pointer< Impl > _pimpl
const ProblemSolutionList & solutions() const
Return the possible solutions to this problem.
void addSolution(const ProblemSolution_Ptr &solution, bool inFront=false)
Add a solution to this problem.
const std::string & details() const
Return a (possibly muti-line) detailed description of the problem or an empty string if there are no ...
void setDescription(std::string description)
Set description of the problem.
Easy-to use interface to the ZYPP dependency resolver.
std::list< ProblemSolution_Ptr > ProblemSolutionList
std::ostream & dumpRange(std::ostream &str, TIterator begin, TIterator end, const std::string &intro="{", const std::string &pfx="\n ", const std::string &sep="\n ", const std::string &sfx="\n", const std::string &extro="}")
Print range defined by iterators (multiline style).
std::list< ResolverProblem_Ptr > ResolverProblemList
std::ostream & operator<<(std::ostream &str, const SerialNumber &obj)
ResolverProblem implementation.
Impl * clone() const
clone for RWCOW_pointer
std::vector< std::string > _completeProblemInfo
Impl(std::string &&description, std::string &&details, std::vector< std::string > &&completeProblemInfo)
Impl(std::string &&description)
ProblemSolutionList _solutions
Impl(std::string &&description, std::string &&details)
#define IMPL_PTR_TYPE(NAME)