12 #ifndef ZYPP_POOLQUERY_H 13 #define ZYPP_POOLQUERY_H 34 class PoolQueryIterator;
93 typedef std::set<ResKind>
Kinds;
120 const_iterator begin()
const;
123 const_iterator end()
const;
129 size_type size()
const;
136 void execute(ProcessResolvable fnc);
153 void addKind(
const ResKind & kind);
161 void addRepo(
const std::string &repoalias);
176 void setInstalledOnly();
178 void setUninstalledOnly();
195 void addString(
const std::string & value);
293 { addDependency( attr, name,
Rel::EQ, edition ); }
296 { addDependency( attr, name,
Rel::EQ, edition, arch ); }
307 { addDependency( attr, std::string(), op, edition ); }
310 { addDependency( attr, std::string(), op, edition, arch ); }
314 { addDependency( attr, std::string(),
Rel::EQ, edition ); }
317 { addDependency( attr, std::string(),
Rel::EQ, edition, arch ); }
355 void setCaseSensitive(
bool value =
true );
362 void setFilesMatchFullPath(
bool value =
true );
365 { setFilesMatchFullPath( !value ); }
368 void setMatchExact();
370 void setMatchSubstring();
374 void setMatchRegex();
386 void setRequireAll(
bool require_all =
true );
393 const StrContainer & strings()
const;
397 const AttrRawStrMap & attributes()
const;
399 const StrContainer & attribute(
const sat::SolvAttr & attr)
const;
401 const Kinds & kinds()
const;
403 const StrContainer &
repos()
const;
406 const Rel editionRel()
const;
411 bool caseSensitive()
const;
414 bool filesMatchFullPath()
const;
417 {
return !filesMatchFullPath(); }
419 bool matchExact()
const;
420 bool matchSubstring()
const;
421 bool matchGlob()
const;
422 bool matchRegex()
const;
423 bool matchWord()
const;
429 {
return flags().mode(); }
435 bool requireAll()
const;
450 bool recover( std::istream &
str,
char delim =
'\n' );
461 void serialize( std::ostream &str,
char delim =
'\n' )
const;
485 void setFlags(
const Match & flags );
505 class PoolQueryMatcher;
520 , sat::LookupAttr::iterator
521 , const sat::Solvable
522 , boost::forward_traversal_tag
523 , const sat::Solvable
526 typedef std::vector<sat::LookupAttr::iterator>
Matches;
537 : _matcher( matcher_r )
592 matches_iterator
matchesEnd()
const {
return matches().end(); }
596 friend class boost::iterator_core_access;
599 {
return base_reference().inSolvable(); }
604 const Matches & matches()
const;
614 {
return str << obj.base(); }
630 #endif // ZYPP_POOLQUERY_H PoolQueryIterator(const shared_ptr< PoolQueryMatcher > &matcher_r)
PoolQuery ctor.
A Solvable object within the sat Pool.
std::ostream & operator<<(std::ostream &str, const PoolQueryIterator &obj)
StatusFilter
Installed status filter setters.
matches_iterator matchesBegin() const
Begin of matches.
bool filesMatchBasename() const
void addDependency(const sat::SolvAttr &attr, const Rel &op, const Edition &edition, const Arch &arch)
std::set< ResKind > Kinds
std::string asString(const DefaultIntegral< Tp, TInitial > &obj)
String matching option flags as used e.g.
void addDependency(const sat::SolvAttr &attr, const std::string &name)
std::ostream & dumpOn(std::ostream &str, const PoolQueryIterator &obj)
void addDependency(const sat::SolvAttr &attr, const std::string &name, const Arch &arch)
PoolQuery iterator as returned by PoolQuery::begin.
void setFilesMatchBasename(bool value=true)
size_type matchesSize() const
Number of attribute matches.
String related utilities and Regular expression matching.
detail::PoolQueryIterator const_iterator
void addDependency(const sat::SolvAttr &attr, const std::string &name, const Edition &edition)
Edition represents [epoch:]version[-release]
bool operator==(const SetRelation::Enum &lhs, const SetCompare &rhs)
bool matchesEmpty() const
False unless this is the end iterator.
void addDependency(const sat::SolvAttr &attr)
matches_iterator matchesEnd() const
End of matches.
Matches::size_type size_type
std::ostream & operator<<(std::ostream &str, const Dump< Tp > &obj)
std::vector< sat::LookupAttr::iterator > Matches
bool operator!=(const PoolQuery &b) const
Base class providing common iterator types based on a Solvable iterator.
sat::Solvable dereference() const
Match::Mode matchMode() const
Returns string matching mode as enum.
std::set< std::string > StrContainer
Mode
Mode flags (mutual exclusive).
void addDependency(const sat::SolvAttr &attr, const std::string &name, const Edition &edition, const Arch &arch)
Matches::const_iterator matches_iterator
std::map< sat::SolvAttr, StrContainer > AttrRawStrMap
shared_ptr< PoolQueryMatcher > _matcher
shared_ptr< Matches > _matches
void addDependency(const sat::SolvAttr &attr, const Edition &edition, const Arch &arch)
RW_pointer< Impl > _pimpl
Pointer to implementation.
void addDependency(const sat::SolvAttr &attr, const Arch &arch)
const_iterator end() const
An iterator pointing to the end of the query result.
Easy-to use interface to the ZYPP dependency resolver.
function< bool(const sat::Solvable &)> ProcessResolvable
void addDependency(const sat::SolvAttr &attr, const Rel &op, const Edition &edition)
PoolQueryIterator()
Default ctor is also end.
void addDependency(const sat::SolvAttr &attr, const Edition &edition)