12 #ifndef ZYPP_SAT_SOLVITERMIXIN_H
13 #define ZYPP_SAT_SOLVITERMIXIN_H
42 namespace solvitermixin_detail
53 typedef std::tr1::unordered_set<unsigned>
Uset;
121 template <
class Derived,
class DerivedSolvable_iterator>
135 {
return(
self().begin() ==
self().end() ); }
139 {
size_type s = 0;
for_( it,
self().begin(),
self().end() ) ++s;
return s;}
142 template<
class _Solv>
146 for_( it,
self().begin(),
self().end() )
158 {
return self().begin(); }
160 {
return self().end(); }
193 const Derived &
self()
const
194 {
return *
static_cast<const Derived*
>( this ); }
209 #endif // ZYPP_SAT_SOLVITERMIXIN_H
A Solvable object within the sat Pool.
Transaction const_iterator.
bool contains(const _Solv &solv_r) const
Whether collection contains a specific Solvable.
bool operator()(const Solvable &solv_r) const
UnifiedSolvable_iterator unifiedSolvableBegin() const
UnifiedSolvable_iterator unifiedSolvableEnd() const
filter_iterator< solvitermixin_detail::UnifyByIdent, Solvable_iterator > UnifiedSolvable_iterator
SolvIterMixin(const SolvIterMixin &)
Selectable_iterator selectableEnd() const
transform_iterator< ui::asSelectable, UnifiedSolvable_iterator > Selectable_iterator
#define for_(IT, BEG, END)
Convenient for-loops using iterator.
transform_iterator< asPoolItem, Solvable_iterator > PoolItem_iterator
Base class providing common iterator types based on a Solvable iterator.
DerivedSolvable_iterator Solvable_iterator
Solvable_iterator solvableBegin() const
PoolItem_iterator poolItemEnd() const
PoolItem_iterator poolItemBegin() const
Selectable_iterator selectableBegin() const
Solvable_iterator solvableEnd() const
Unify by ident (kind:name).
void operator=(const SolvIterMixin &)
size_type size() const
Size of the collection.
std::tr1::unordered_set< unsigned > Uset
bool empty() const
Whether the collection is epmty.
To Solvable transform functor.
Solvable to PoolItem transform functor.
Solvable to Selectable transform functor.