libzypp
10.5.0
|
00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00012 #ifndef ZYPP_POOL_POOLTRAITS_H 00013 #define ZYPP_POOL_POOLTRAITS_H 00014 00015 #include <set> 00016 #include <map> 00017 #include <list> 00018 #include <vector> 00019 00020 #include "zypp/base/Iterator.h" 00021 #include "zypp/base/Tr1hash.h" 00022 00023 #include "zypp/PoolItem.h" 00024 #include "zypp/pool/ByIdent.h" 00025 #include "zypp/sat/Pool.h" 00026 00028 namespace zypp 00029 { 00030 00031 class PoolQuery; 00032 00034 namespace pool 00035 { 00036 00037 class PoolImpl; 00038 00040 struct ByPoolItem 00041 { 00042 bool operator()( const PoolItem & pi ) const 00043 { return pi; } 00044 }; 00045 00047 // 00048 // CLASS NAME : PoolTraits 00049 // 00051 struct PoolTraits 00052 { 00053 public: 00054 typedef sat::detail::SolvableIdType SolvableIdType; 00055 00057 typedef std::vector<PoolItem> ItemContainerT; 00058 typedef ItemContainerT::const_iterator item_iterator; 00059 typedef filter_iterator<ByPoolItem,ItemContainerT::const_iterator> 00060 const_iterator; 00061 typedef ItemContainerT::size_type size_type; 00062 00064 typedef std::tr1::unordered_multimap<sat::detail::IdType, PoolItem> 00065 Id2ItemT; 00066 typedef std::_Select2nd<Id2ItemT::value_type> Id2ItemValueSelector; 00067 typedef transform_iterator<Id2ItemValueSelector, Id2ItemT::const_iterator> 00068 byIdent_iterator; 00069 00071 typedef sat::Pool::RepositoryIterator repository_iterator; 00072 00074 typedef std::tr1::unordered_set<IdString> AutoSoftLocks; 00075 typedef AutoSoftLocks::const_iterator autoSoftLocks_iterator; 00076 00078 typedef std::list<PoolQuery> HardLockQueries; 00079 typedef HardLockQueries::const_iterator hardLockQueries_iterator; 00080 00081 typedef PoolImpl Impl; 00082 typedef shared_ptr<PoolImpl> Impl_Ptr; 00083 typedef shared_ptr<const PoolImpl> Impl_constPtr; 00084 }; 00086 00088 } // namespace pool 00091 } // namespace zypp 00093 #endif // ZYPP_POOL_POOLTRAITS_H