41 typedef std::map<Pattern::constPtr, DefaultIntegral<bool, false> > PatternMap;
43 typedef PatternMap::key_type value_type;
44 typedef MapKVIteratorTraits<PatternMap>::Key_const_iterator const_iterator;
61 expandIncludes( unprocessed );
62 expandExtending( unprocessed );
65 }
while( (unprocessed = nextUnprocessed()) );
71 const_iterator begin()
const
74 const_iterator end()
const
94 for_( it, c.begin(), c.end() )
96 expandInclude( Capability( it->c_str() ) );
101 void expandInclude(
const Capability & include_r )
103 sat::WhatProvides w( include_r );
104 for_( it, w.begin(), w.end() )
115 for_( it, pool.byKindBegin<Pattern>(), pool.byKindEnd<Pattern>() )
117 expandIfExtends( pat_r, *it );
122 void expandIfExtends(
const Pattern::constPtr & pat_r,
const PoolItem & extending_r )
126 for_( it, c.begin(), c.end() )
128 if ( providedBy( pat_r, Capability( it->c_str() ) ) )
143 sat::Solvable pat( pat_r->satSolvable() );
144 sat::WhatProvides w( extends_r );
145 for_( it, w.begin(), w.end() )
238 PatternExpander expander;
239 if ( ! expander.doExpand(
this ) )
243 for_( it, expander.begin(), expander.end() )
246 result.
get().insert( c.begin(), c.end() );