{
CapSet caps = item_r->dep( cap_r );
for (CapSet::iterator ic = caps.begin(); ic != caps.end(); ++ic) {
- store_r[cap_r][ic->index()].insert( CapAndItem( *ic, item_r ) );
+ store_r[cap_r][ic->index()].push_back( CapAndItem( *ic, item_r ) );
}
}
/* -------------------------------------------------------------------------------
* 3.) Feed
* ------------------------------------------------------------------------------- */
-
- item = *_poolImpl._store.insert( item ).first;
-
+ item = *_poolImpl._store.insert( item ).first;
_poolImpl._namehash.insert( item );
_poolImpl._caphash.insert( item );
// don't miss to invalidate ResPoolProxy
PoolImpl & _poolImpl;
};
- struct CapAndItemOrder
- {
- bool operator()( const CapAndItem & lhs, const CapAndItem & rhs ) const
- {
- if ( CapOrder()( lhs.cap, rhs.cap ) )
- return true;
- if ( CapOrder()( rhs.cap, lhs.cap ) )
- return false;
- // here: ==
- return( lhs.item.resolvable() < rhs.item.resolvable() );
- }
- };
-
///////////////////////////////////////////////////////////////////
//
// CLASS NAME : PoolTraits
typedef ItemContainerT::const_iterator byName_iterator;
// internal organization
- typedef std::set<CapAndItem,CapAndItemOrder> CapItemContainerT; // (why,who) pairs
+ typedef std::list<CapAndItem> CapItemContainerT; // (why,who) pairs
typedef std::map<std::string,CapItemContainerT> CapItemStoreT; // capability.index -> (why,who) pairs
typedef std::map<Dep,CapItemStoreT> DepCapItemContainerT; // Dep -> (capability.index -> (why,who) pairs)
/** Map of CapSet and "who" has set it*/
typedef std::map<ResStatus::TransactByValue,CapSet> AdditionalCapSet;
-
+
};
///////////////////////////////////////////////////////////////////