12#ifndef ZYPP_SAT_SOLVITERMIXIN_H
13#define ZYPP_SAT_SOLVITERMIXIN_H
17#include <zypp/base/PtrTypes.h>
18#include <zypp/base/Iterator.h>
19#include <zypp/base/Hash.h>
36 namespace solvitermixin_detail
47 typedef std::unordered_set<unsigned>
Uset;
115 template <
class Derived,
class DerivedSolvable_iterator>
129 {
return(
self().begin() ==
self().end() ); }
136 template<
class TSolv>
152 {
return self().begin(); }
154 {
return self().end(); }
196 {
return *
static_cast<const Derived*
>( this ); }
Base class providing common iterator types based on a Solvable iterator.
transform_iterator< asPoolItem, Solvable_iterator > PoolItem_iterator
Solvable_iterator solvableBegin() const
SolvIterMixin(const SolvIterMixin &)
Selectable_iterator selectableBegin() const
void operator=(const SolvIterMixin &)
Iterable< Solvable_iterator > solvable() const
filter_iterator< solvitermixin_detail::UnifyByIdent, Solvable_iterator > UnifiedSolvable_iterator
DerivedSolvable_iterator Solvable_iterator
bool contains(const TSolv &solv_r) const
Whether collection contains a specific Solvable.
transform_iterator< ui::asSelectable, UnifiedSolvable_iterator > Selectable_iterator
Iterable< UnifiedSolvable_iterator > unifiedSolvable() const
PoolItem_iterator poolItemEnd() const
Selectable_iterator selectableEnd() const
Iterable< PoolItem_iterator > poolItem() const
Solvable_iterator solvableEnd() const
PoolItem_iterator poolItemBegin() const
const Derived & self() const
bool empty() const
Whether the collection is epmty.
UnifiedSolvable_iterator unifiedSolvableBegin() const
Iterable< Selectable_iterator > selectable() const
UnifiedSolvable_iterator unifiedSolvableEnd() const
size_type size() const
Size of the collection.
A Solvable object within the sat Pool.
Easy-to use interface to the ZYPP dependency resolver.
Solvable to PoolItem transform functor.
To Solvable transform functor.
Unify by ident (kind:name).
std::unordered_set< unsigned > Uset
bool operator()(const Solvable &solv_r) const
Solvable to Selectable transform functor.
#define for_(IT, BEG, END)
Convenient for-loops using iterator.