27 inline Capability autoCapability(
const Capabilities & provides_r )
29 static const Capability autopattern(
"autopattern()" );
30 for (
const auto & cap : provides_r )
49 typedef std::map<Pattern::constPtr, DefaultIntegral<bool, false> > PatternMap;
51 typedef PatternMap::key_type value_type;
52 typedef MapKVIteratorTraits<PatternMap>::Key_const_iterator const_iterator;
69 expandIncludes( unprocessed );
70 expandExtending( unprocessed );
73 }
while( (unprocessed = nextUnprocessed()) );
79 const_iterator begin()
const
82 const_iterator end()
const
102 for_( it, c.begin(), c.end() )
104 expandInclude( Capability( it->c_str() ) );
109 void expandInclude(
const Capability & include_r )
111 sat::WhatProvides w( include_r );
112 for_( it, w.begin(), w.end() )
123 for_( it, pool.byKindBegin<Pattern>(), pool.byKindEnd<Pattern>() )
125 expandIfExtends( pat_r, *it );
130 void expandIfExtends(
const Pattern::constPtr & pat_r,
const PoolItem & extending_r )
134 for_( it, c.begin(), c.end() )
136 if ( providedBy( pat_r, Capability( it->c_str() ) ) )
151 sat::Solvable pat( pat_r->satSolvable() );
152 sat::WhatProvides w( extends_r );
153 for_( it, w.begin(), w.end() )
234 caps_r.insert( c.begin(),c.end() );
266 if ( includeSuggests_r )
274 if ( includeSuggests_r )
286 PatternExpander expander;
287 if ( ! expander.doExpand(
this ) )
291 for_( it, expander.begin(), expander.end() )
293 Contents c( (*it)->depends( includeSuggests_r ) );
294 result.
get().insert( c.begin(), c.end() );
std::string order() const
sat::Solvable autoPackage() const
The corresponding patterns- package if isAutoPattern.
A Solvable object within the sat Pool.
Container of Solvable providing a Capability (read only).
static const Dep RECOMMENDS
static const SolvAttr order
static const SolvAttr isvisible
static const SolvAttr isdefault
Container of Capability (currently read only).
sat::ArrayAttr< IdString, IdString > NameList
Enumeration class of dependency types.
std::string lookupStrAttribute(const SolvAttr &attr) const
Access to the sat-pools string space.
#define for_(IT, BEG, END)
Convenient for-loops using iterator.
bool isAutoPattern() const
This patterns is auto-defined by a patterns- package.
LookupAttr::TransformIterator based container to retrieve list attributes.
filter_iterator< TFilter, typename TContainer::const_iterator > make_filter_end(TFilter f, const TContainer &c)
Convenience to create filter_iterator from container::end().
static const SolvAttr icon
static const Dep SUGGESTS
MapKVIteratorTraits< TMap >::Key_const_iterator make_map_key_begin(const TMap &map_r)
Convenience to create the key iterator from container::begin()
Repository repository() const
CapDetail detail() const
Helper providing more detailed information about a Capability.
std::string asString() const
Iterable< byIdent_iterator > byIdent(const ByIdent &ident_r) const
sat::SolvableSet Contents
NameList extends() const
Ui hint: patterns this one extends.
IMPL_PTR_TYPE(Application)
static const SolvAttr category
static const Dep REQUIRES
MapKVIteratorTraits< TMap >::Key_const_iterator make_map_key_end(const TMap &map_r)
Convenience to create the key iterator from container::end()
Contents core() const
Ui hint: Required Packages.
Base for resolvable objects.
TraitsType::constPtrType constPtr
Container & get()
The set.
constexpr bool empty() const
Whether the string is empty.
static const SolvAttr includes
'Language[_Country]' codes.
std::unordered_set< Capability > CapabilitySet
Contents contents(bool includeSuggests_r=true) const
The collection of packages associated with this pattern.
NameList includes() const
Ui hint: included patterns.
Contents depends(bool includeSuggests_r=true) const
Ui hint: Dependent packages.
Pattern(const sat::Solvable &solvable_r)
Ctor.
Solvable satSolvable() const
Return the corresponding sat::Solvable.
bool lookupBoolAttribute(const SolvAttr &attr) const
filter_iterator< TFilter, typename TContainer::const_iterator > make_filter_begin(TFilter f, const TContainer &c)
Convenience to create filter_iterator from container::begin().
std::string category(const Locale &lang_r=Locale()) const
static const CapMatch yes
Capabilities provides() const
static const SolvAttr extends
static const SolvAttr script
static ResPool instance()
Singleton ctor.
Solvable set wrapper to allow adding additioanal convenience iterators.