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() )
228 caps_r.insert( c.begin(),c.end() );
260 if ( includeSuggests_r )
268 if ( includeSuggests_r )
280 PatternExpander expander;
281 if ( ! expander.doExpand(
this ) )
285 for_( it, expander.begin(), expander.end() )
287 Contents c( (*it)->depends( includeSuggests_r ) );
288 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.
Repository repository() const
std::string lookupStrAttribute(const SolvAttr &attr) const
returns the string attribute value for attr or an empty string if it does not exists.
Capabilities provides() const
#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< _Filter, typename _Container::const_iterator > make_filter_begin(_Filter f, const _Container &c)
Convenience to create filter_iterator from container::begin().
std::tr1::unordered_set< Capability > CapabilitySet
static const SolvAttr icon
static const Dep SUGGESTS
CapDetail detail() const
Helper providing more detailed information about a Capability.
std::string asString() const
sat::SolvableSet Contents
NameList extends() const
Ui hint: patterns this one extends.
bool lookupBoolAttribute(const SolvAttr &attr) const
returns the boolean attribute value for attr or false if it does not exists.
const sat::Solvable & satSolvable() const
Access the corresponding ::Solvable.
IMPL_PTR_TYPE(Application)
static const SolvAttr category
static const Dep REQUIRES
Contents core() const
Ui hint: Required Packages.
Interface base for resolvable objects (common data).
TraitsType::constPtrType constPtr
Container & get()
The set.
static const SolvAttr includes
MapKVIteratorTraits< _Map >::Key_const_iterator make_map_key_begin(const _Map &map_r)
Convenience to create the key iterator from container::begin()
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.
filter_iterator< _Filter, typename _Container::const_iterator > make_filter_end(_Filter f, const _Container &c)
Convenience to create filter_iterator from container::end().
std::string category(const Locale &lang_r=Locale()) const
MapKVIteratorTraits< _Map >::Key_const_iterator make_map_key_end(const _Map &map_r)
Convenience to create the key iterator from container::end()
static const CapMatch yes
static const SolvAttr extends
static const SolvAttr script
static ResPool instance()
Singleton ctor.
Solvable set wrapper to allow adding additioanal convenience iterators.