libzypp  10.5.0
PoolMember.h
Go to the documentation of this file.
00001 /*---------------------------------------------------------------------\
00002 |                          ____ _   __ __ ___                          |
00003 |                         |__  / \ / / . \ . \                         |
00004 |                           / / \ V /|  _/  _/                         |
00005 |                          / /__ | | | | | |                           |
00006 |                         /_____||_| |_| |_|                           |
00007 |                                                                      |
00008 \---------------------------------------------------------------------*/
00012 #ifndef ZYPP_SAT_DETAIL_POOLMEMBER_H
00013 #define ZYPP_SAT_DETAIL_POOLMEMBER_H
00014 
00015 #include "zypp/base/Tr1hash.h"
00016 #include "zypp/base/Iterator.h"
00017 #include "zypp/base/String.h"
00018 #include "zypp/base/Easy.h"
00019 
00020 extern "C"
00021 {
00022 struct _Solvable;
00023 struct _Repo;
00024 struct _Pool;
00025 }
00026 
00028 namespace zypp
00029 { 
00030 
00031   class IdString;
00032   class Capability;
00033   class Capabilities;
00034   class Repository;
00035   class RepoInfo;
00036 
00038   namespace detail
00039   {
00040     class RepoIterator;
00041     class ByRepository;
00042   }
00043 
00045   namespace sat
00046   { 
00047 
00048     class Pool;
00049     class Solvable;
00050 
00052     namespace detail
00053     { 
00054 
00055       class PoolImpl;
00056 
00058       //
00059       //        CLASS NAME : PoolMember
00060       //
00066       struct PoolMember
00067       {
00068         static PoolImpl & myPool();
00069       };
00071 
00073     } // namespace detail
00075 
00076 
00078     namespace detail
00079     { 
00080 
00082       typedef int IdType;
00083       static const IdType noId( 0 );
00084       static const IdType emptyId( 1 );
00085 
00089       static const IdType solvablePrereqMarker( 15 );
00090       static const IdType solvableFileMarker  ( 16 );
00092       inline bool isDepMarkerId( IdType id_r )
00093       { return( id_r == solvablePrereqMarker || id_r == solvableFileMarker ); }
00094 
00098       typedef unsigned SolvableIdType;
00099       typedef SolvableIdType size_type;
00101       static const SolvableIdType noSolvableId( 0 );
00103       static const SolvableIdType systemSolvableId( 1 );
00104 
00106       typedef ::_Repo * RepoIdType;
00108       static const RepoIdType noRepoId( 0 );
00109 
00111     } // namespace detail
00113 
00114 
00116     namespace detail
00117     { 
00118 
00119       class SolvableIterator;
00120 
00122     } // namespace detail
00124 
00126   } // namespace sat
00129 } // namespace zypp
00131 #endif // ZYPP_SAT_DETAIL_POOLMEMBER_H