21#ifndef ZYPP_SOLVER_DETAIL_QUEUEITEM_H 
   22#define ZYPP_SOLVER_DETAIL_QUEUEITEM_H 
   23#ifndef ZYPP_USE_RESOLVER_INTERNALS 
   24#error Do not directly include this file! 
   57    QUEUE_ITEM_TYPE_UNKNOWN = 0,
 
   58    QUEUE_ITEM_TYPE_UPDATE,
 
   59    QUEUE_ITEM_TYPE_INSTALL,
 
   60    QUEUE_ITEM_TYPE_DELETE,
 
   61    QUEUE_ITEM_TYPE_INSTALL_ONE_OF,
 
   68#define CMP(a,b) (((a) < (b)) - ((b) < (a))) 
   78    SolverQueueItemType _type;
 
   83    SolverQueueItem (SolverQueueItemType type, ResPool  pool);
 
   87    virtual ~SolverQueueItem();
 
   91    virtual std::ostream & 
dumpOn( std::ostream & str ) 
const;
 
   93    friend std::ostream& 
operator<<(std::ostream & str, 
const SolverQueueItem & obj)
 
   94    { 
return obj.dumpOn (str); }
 
   95    friend std::ostream& 
operator<<(std::ostream & str, 
const SolverQueueItemList & itemlist);
 
   99    ResPool pool (
void)
 const { 
return _pool; }
 
  103    void copy (
const SolverQueueItem *from);
 
  105    bool isDelete (
void)
 const { 
return _type == QUEUE_ITEM_TYPE_DELETE; }
 
  106    bool isInstall (
void)
 const { 
return _type == QUEUE_ITEM_TYPE_INSTALL; }
 
  107    bool isUpdate (
void)
 const { 
return _type == QUEUE_ITEM_TYPE_UPDATE; }
 
  108    bool isLock (
void)
 const { 
return _type == QUEUE_ITEM_TYPE_LOCK; }
 
  109    bool isInstallOneOf (
void)
 const { 
return _type == QUEUE_ITEM_TYPE_INSTALL_ONE_OF; }
 
  112    virtual SolverQueueItem_Ptr 
copy (
void) 
const = 0;
 
  113    virtual bool addRule (sat::detail::CQueue & q) =0 ;
 
  114    virtual int cmp (SolverQueueItem_constPtr item) 
const = 0;
 
  115    int compare (SolverQueueItem_constPtr item)
 const { 
return CMP(_type, item->_type); }
 
std::ostream & operator<<(std::ostream &str, const zypp::sat::detail::CDataiterator *obj)
SetCompare compare(const SetRelationMixin< Derived > &src, const SetRelationMixin< Derived > &trg)
Compare sets.
boost::noncopyable NonCopyable
Ensure derived classes cannot be copied.
std::ostream & copy(std::istream &from_r, std::ostream &to_r)
Copy istream to ostream.
std::list< SolverQueueItem_Ptr > SolverQueueItemList
Easy-to use interface to the ZYPP dependency resolver.
std::ostream & dumpOn(std::ostream &str, const Capability &obj)
#define DEFINE_PTR_TYPE(NAME)
Forward declaration of Ptr types.