zypp::ui::PatternExpander::Impl Class Reference

PatternExpander implementation. More...

List of all members.

Public Member Functions

 Impl (const ResPool &pool_r)
size_type doExpand (Pattern::constPtr pat_r)
 Recursively expand Pattern.
const PatternMappatternMap () const

Private Member Functions

Pattern::constPtr nextUnprocessed () const
 Get the next unprocessed Pattern _patternMap.
void expandIncludes (const Pattern::constPtr &pat_r)
 Store all included patterns in _patternMap.
void expandInclude (const Capability &include_r)
 Store Patterns matching an Includes capability in _patternMap.
bool storeIncludeMatch (const CapAndItem &capitem_r)
 Store a Pattern in _patternMap.
void expandExtending (const Pattern::constPtr &pat_r)
 Store all patterns extending pat_r in _patternMap.
void expandIfExtends (const Pattern::constPtr &pat_r, const PoolItem &extending_r)
 Store extending_r if it extends pat_r.
bool providedBy (const Pattern::constPtr &pat_r, const Capability &extends_r)
 Return true if Capability extends_r is provided by Pattern.
bool providedByFilter (const Pattern::constPtr &pat_r, const Capability &extends_r, const CapAndItem &capitem_r) const
 Return true if capitem_r refers to pat_r and matches extends_r.

Private Attributes

ResPool _pool
PatternMap _patternMap


Detailed Description

PatternExpander implementation.

Definition at line 36 of file PatternExpander.cc.


Constructor & Destructor Documentation

zypp::ui::PatternExpander::Impl::Impl ( const ResPool pool_r  )  [inline]

Definition at line 39 of file PatternExpander.cc.


Member Function Documentation

size_type zypp::ui::PatternExpander::Impl::doExpand ( Pattern::constPtr  pat_r  )  [inline]

Recursively expand Pattern.

Definition at line 44 of file PatternExpander.cc.

References _patternMap, expandExtending(), expandIncludes(), and nextUnprocessed().

const PatternMap& zypp::ui::PatternExpander::Impl::patternMap (  )  const [inline]

Definition at line 64 of file PatternExpander.cc.

References _patternMap.

Pattern::constPtr zypp::ui::PatternExpander::Impl::nextUnprocessed (  )  const [inline, private]

Get the next unprocessed Pattern _patternMap.

Definition at line 69 of file PatternExpander.cc.

References _patternMap.

Referenced by doExpand().

void zypp::ui::PatternExpander::Impl::expandIncludes ( const Pattern::constPtr pat_r  )  [inline, private]

Store all included patterns in _patternMap.

Definition at line 81 of file PatternExpander.cc.

References expandInclude().

Referenced by doExpand().

void zypp::ui::PatternExpander::Impl::expandInclude ( const Capability include_r  )  [inline, private]

Store Patterns matching an Includes capability in _patternMap.

Definition at line 92 of file PatternExpander.cc.

References _pool, zypp::forEachMatchIn(), zypp::Dep::PROVIDES, and storeIncludeMatch().

Referenced by expandIncludes().

bool zypp::ui::PatternExpander::Impl::storeIncludeMatch ( const CapAndItem capitem_r  )  [inline, private]

Store a Pattern in _patternMap.

Definition at line 99 of file PatternExpander.cc.

References _patternMap, and zypp::CapAndItem::item.

Referenced by expandInclude().

void zypp::ui::PatternExpander::Impl::expandExtending ( const Pattern::constPtr pat_r  )  [inline, private]

Store all patterns extending pat_r in _patternMap.

Definition at line 108 of file PatternExpander.cc.

References _pool, zypp::ResPool::byKindBegin(), zypp::ResPool::byKindEnd(), and expandIfExtends().

Referenced by doExpand().

void zypp::ui::PatternExpander::Impl::expandIfExtends ( const Pattern::constPtr pat_r,
const PoolItem extending_r 
) [inline, private]

Store extending_r if it extends pat_r.

Definition at line 116 of file PatternExpander.cc.

References _patternMap, and providedBy().

Referenced by expandExtending().

bool zypp::ui::PatternExpander::Impl::providedBy ( const Pattern::constPtr pat_r,
const Capability extends_r 
) [inline, private]

Return true if Capability extends_r is provided by Pattern.

Definition at line 135 of file PatternExpander.cc.

References _pool, zypp::ResPool::byCapabilityIndexBegin(), zypp::ResPool::byCapabilityIndexEnd(), zypp::Capability::index(), providedByFilter(), and zypp::Dep::PROVIDES.

Referenced by expandIfExtends().

bool zypp::ui::PatternExpander::Impl::providedByFilter ( const Pattern::constPtr pat_r,
const Capability extends_r,
const CapAndItem capitem_r 
) const [inline, private]

Return true if capitem_r refers to pat_r and matches extends_r.

Definition at line 145 of file PatternExpander.cc.

References zypp::CapAndItem::cap, zypp::CapAndItem::item, zypp::Capability::matches(), and zypp::CapMatch::yes.

Referenced by providedBy().


Member Data Documentation

ResPool zypp::ui::PatternExpander::Impl::_pool [private]

Definition at line 153 of file PatternExpander.cc.

Referenced by expandExtending(), expandInclude(), and providedBy().

PatternMap zypp::ui::PatternExpander::Impl::_patternMap [private]

Definition at line 154 of file PatternExpander.cc.

Referenced by doExpand(), expandIfExtends(), nextUnprocessed(), patternMap(), and storeIncludeMatch().


The documentation for this class was generated from the following file:
Generated on Tue Sep 25 19:23:29 2007 for libzypp by  doxygen 1.5.3