reduced "fix pool capability index tables"
authorStefan Schubert <schubi@suse.de>
Mon, 27 Nov 2006 17:26:16 +0000 (17:26 +0000)
committerStefan Schubert <schubi@suse.de>
Mon, 27 Nov 2006 17:26:16 +0000 (17:26 +0000)
zypp/pool/PoolImpl.cc
zypp/pool/PoolTraits.h

index b5fc671..461566d 100644 (file)
@@ -109,7 +109,7 @@ namespace zypp
     {
       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 ) );
       }
     }
 
@@ -252,9 +252,7 @@ namespace zypp
       /* -------------------------------------------------------------------------------
        * 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
index 534266d..0eb7bf5 100644 (file)
@@ -54,19 +54,6 @@ namespace zypp
       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
@@ -90,7 +77,7 @@ namespace zypp
       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)
 
@@ -108,7 +95,7 @@ namespace zypp
 
       /** Map of CapSet and "who" has set it*/
       typedef std::map<ResStatus::TransactByValue,CapSet>              AdditionalCapSet;
-
+       
     };
     ///////////////////////////////////////////////////////////////////