41 typedef std::tr1::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).
std::ostream & operator<<(std::ostream &str, const LocaleSupport &obj)
WhatObsoletes()
Default ctor.
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, _Iterator begin, _Iterator 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.
static const IdType noId(0)
sat::Solvable satSolvable() const
Return the corresponding sat::Solvable.
size_type size() const
Number of solvables inside.
Reference to a PoolItem connecting ResObject and ResStatus.
IdType id() const
Expert backdoor.
bool obsoleteUsesProvides
const_iterator end() const
Iterator pointing behind the last Solvable.
Capabilities obsoletes() const