41 typedef std::unordered_set<detail::IdType> set_type;
42 typedef std::vector<sat::detail::IdType> vector_type;
67 ctorAdd( item_r->satSolvable() );
76 {
if ( item_r )
ctorAdd( item_r->satSolvable() ); }
82 inline void addToSet(
Solvable item, set_type *& pdata, shared_ptr<void>& _private )
86 _private.reset( (pdata =
new set_type) );
88 pdata->insert( item.
id() );
100 if ( obsoleted.empty() )
104 set_type * pdata = ( _private ?
reinterpret_cast<set_type*
>( _private.get() ) : 0 );
105 for_( it, obsoleted.begin(), obsoleted.end() )
107 if ( it->isSystem() )
108 addToSet( *it, pdata, _private );
114 if ( obsoletes.empty() )
118 set_type * pdata = ( _private ?
reinterpret_cast<set_type*
>( _private.get() ) : 0 );
119 for_( it, obsoletes.begin(), obsoletes.end() )
122 IdString ident( it->detail().name() );
124 for_( iit, obsoleted.begin(), obsoleted.end() )
126 if ( iit->isSystem() && iit->ident() == ident )
127 addToSet( *iit, pdata, _private );
138 set_type * sdata =
reinterpret_cast<set_type*
>( _private.get() );
140 vector_type * pdata =
new vector_type( sdata->begin(), sdata->end() );
144 _private.reset( pdata );
int IdType
Generic Id type.
A Solvable object within the sat Pool.
Container of Solvable providing a Capability (read only).
Container of Capability (currently read only).
WhatObsoletes()
Default ctor.
std::ostream & operator<<(std::ostream &str, const FileConflicts &obj)
Access to the sat-pools string space.
#define for_(IT, BEG, END)
Convenient for-loops using iterator.
TraitsType::constPtrType constPtr
const sat::detail::IdType * _begin
std::ostream & dumpRange(std::ostream &str, TIterator begin, TIterator end, const std::string &intro="{", const std::string &pfx="\n ", const std::string &sep="\n ", const std::string &sfx="\n", const std::string &extro="}")
Print range defined by iterators (multiline style).
void ctorAdd(const PoolItem &item_r)
const_iterator begin() const
Iterator pointing to the first Solvable.
Container of installed Solvable which would be obsoleted by the Solvable passed to the ctor...
bool multiversionInstall() const
Whether different versions of this package can be installed at the same time.
Solvable satSolvable() const
Return the corresponding sat::Solvable.
static const IdType noId(0)
size_type size() const
Number of solvables inside.
Combining sat::Solvable and ResStatus.
IdType id() const
Expert backdoor.
bool obsoleteUsesProvides
const_iterator end() const
Iterator pointing behind the last Solvable.
Capabilities obsoletes() const