37 if ( ! ident_r.
empty() )
43 if ( ! provides_r.
empty() &&
_provides.insert( provides_r ).second )
83 for (
const auto & solv : *
_cache ) {
84 if ( solv.isSystem() )
126 {
return new Impl( *
this ); }
132 str <<
"SolvableSpec {" << endl
133 <<
" Idents " << obj.
idents() << endl
134 <<
" Provides " << obj.
provides() << endl
145 SolvableSpec::SolvableSpec()
149 SolvableSpec::~SolvableSpec()
152 void SolvableSpec::addIdent(
IdString ident_r )
155 void SolvableSpec::addProvides( Capability provides_r )
158 bool SolvableSpec::addIdenticalInstalledToo()
const
160 void SolvableSpec::addIdenticalInstalledToo(
bool yesno_r )
163 void SolvableSpec::parse(
const C_Str & spec_r )
166 void SolvableSpec::parseFrom(
const InputStream & istr_r )
169 [
this](
int num_r,
const std::string & line_r )->
bool
171 this->
parse( line_r );
176 void SolvableSpec::splitParseFrom(
const C_Str & multispec_r )
178 std::vector<std::string> v;
183 bool SolvableSpec::contains(
const sat::Solvable & solv_r )
const
186 bool SolvableSpec::dirty()
const
189 void SolvableSpec::setDirty()
const
192 bool SolvableSpec::empty()
const
195 bool SolvableSpec::containsIdent(
const IdString & ident_r )
const
198 bool SolvableSpec::containsProvides(
const Capability & provides_r )
const
202 {
return str << *obj._pimpl; }
Convenience char* constructible from std::string and char*, it maps (char*)0 to an empty string.
const char * c_str() const
bool empty() const
Whether the Capability is empty.
Access to the sat-pools string space.
constexpr bool empty() const
Whether the string is empty.
Combining sat::Solvable and ResStatus.
static const ResKind srcpackage
Solvable set wrapper to allow adding additional convenience iterators.
SolvableSpec implementation.
void parse(const C_Str &spec_r)
const WhatProvides & cache() const
const CapabilitySet & provides() const
bool addIdenticalInstalledToo() const
friend Impl * rwcowClone(const Impl *rhs)
bool _addIdenticalInstalledToo
bool contains(const sat::Solvable &solv_r) const
Impl * clone() const
clone for RWCOW_pointer
shared_ptr< WhatProvides > _cache
void addIdenticalInstalledToo(bool yesno_r)
void addIdent(IdString ident_r)
void addProvides(Capability provides_r)
std::ostream & operator<<(std::ostream &str, const SolvableSpec::Impl &obj)
Stream output.
const IdStringSet & idents() const
SolvableSet _cacheIdenticalInstalled
A Solvable object within the sat Pool.
IdString ident() const
The identifier.
Container of Solvable providing a Capability (read only).
static Ptr get(const pool::ByIdent &ident_r)
Get the Selctable.
String related utilities and Regular expression matching.
int simpleParseFile(std::istream &str_r, ParseFlags flags_r, function< bool(int, std::string)> consume_r)
Simple lineparser optionally trimming and skipping comments.
std::ostream & operator<<(std::ostream &str, const FileConflicts &obj)
RWCOW_pointer< Impl > _pimpl
Implementation class.
void parse(const C_Str &spec_r)
Parse and add spec from a string (IDENT or provides:CAPABILITY`).
void parseFrom(const InputStream &istr_r)
Parse file istr_r and add its specs (one per line, #-comments).
bool hasPrefix(const C_Str &str_r, const C_Str &prefix_r)
Return whether str_r has prefix prefix_r.
unsigned splitEscaped(const C_Str &line_r, TOutputIterator result_r, const C_Str &sepchars_r=" \t", bool withEmpty=false)
Split line_r into words with respect to escape delimeters.
Easy-to use interface to the ZYPP dependency resolver.
std::unordered_set< IdString > IdStringSet
std::unordered_set< Capability > CapabilitySet