11#ifndef ZYPP_SAT_SOLVABLESPEC_H
12#define ZYPP_SAT_SOLVABLESPEC_H
18#include <zypp-core/base/InputStream>
53 SolvableSpec(
const SolvableSpec &) =
default;
54 SolvableSpec(SolvableSpec &&) noexcept = default;
55 SolvableSpec &operator=(const SolvableSpec &) = default;
56 SolvableSpec &operator=(SolvableSpec &&) noexcept = default;
69 bool addIdenticalInstalledToo() const;
70 void addIdenticalInstalledToo(
bool yesno_r );
74 void parse( const
C_Str & spec_r );
80 template <class TIterator>
81 void parseFrom( TIterator begin, TIterator end )
95 template <
class Derived>
123 friend std::ostream &
operator<<( std::ostream &
str,
const SolvableSpec & obj );
127 std::ostream &
operator<<( std::ostream &
str,
const SolvableSpec & obj );
std::ostream & operator<<(std::ostream &str, const zypp::sat::detail::CDataiterator *obj)
Convenience char* constructible from std::string and char*, it maps (char*)0 to an empty string.
Access to the sat-pools string space.
A Solvable object within the sat Pool.
String related utilities and Regular expression matching.
bool empty() const
Whether neither idents nor provides are set.
void splitParseFrom(const C_Str &multispec_r)
Convenience using str::splitEscaped(", \t") to parse multiple specs from one line.
bool containsIdent(const IdString &ident_r) const
Whether ident_r has been added to the specs (mainly for parser tests).
std::ostream & operator<<(std::ostream &str, const FileConflicts &obj)
RWCOW_pointer< Impl > _pimpl
Implementation class.
void setDirty() const
Explicitly flag the cache as dirty, so it will be rebuilt on the next request.
bool containsProvides(const Capability &provides_r) const
Whether provides_r has been added to the sepcs (mainly for parser tests).
bool dirty() const
Whether the cache is needed and dirty.
void parse(const C_Str &spec_r)
Parse and add spec from a string (IDENT or provides:CAPABILITY`).
Easy-to use interface to the ZYPP dependency resolver.
bool contains(const Container &c, const Elem &elem)
RW_pointer supporting 'copy on write' functionality.
Base class for creating Solvable based types.
Solvable satSolvable() const
Return the corresponding sat::Solvable.
Provides API related macros.
#define for_(IT, BEG, END)
Convenient for-loops using iterator.