libzypp  15.28.6
WhatObsoletes.h
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
12 #ifndef ZYPP_SAT_WHATOBSOLETES_H
13 #define ZYPP_SAT_WHATOBSOLETES_H
14 
15 #include <iosfwd>
16 #include <vector>
17 
18 #include "zypp/sat/WhatProvides.h"
19 
21 namespace zypp
22 {
23  namespace sat
25  {
26 
28  //
29  // CLASS NAME : WhatObsoletes
30  //
36  class WhatObsoletes : public SolvIterMixin<WhatObsoletes,detail::WhatProvidesIterator>,
37  protected detail::PoolMember
38  {
39  public:
41  typedef unsigned size_type;
42 
43  public:
46  : _begin( 0 )
47  {}
48 
50  explicit
51  WhatObsoletes( Solvable item_r );
52 
54  explicit
55  WhatObsoletes( const PoolItem & item_r );
56 
58  explicit
59  WhatObsoletes( const ResObject_constPtr item_r );
60 
62  template <class TIterator>
63  WhatObsoletes( TIterator begin, TIterator end )
64  : _begin( 0 )
65  {
66  for_( it, begin, end )
67  ctorAdd( *it );
68  ctorDone();
69  }
70 
71  public:
73  bool empty() const
74  { return ! ( _begin && *_begin ); }
75 
77  size_type size() const;
78 
79  public:
81 
84  { return const_iterator( _begin ); }
85 
88  { return const_iterator(); }
89 
90  private:
91  void ctorAdd( const PoolItem & item_r );
92  void ctorAdd( ResObject_constPtr item_r );
93  void ctorAdd( Solvable item_r );
94  void ctorDone();
95 
96  private:
98  shared_ptr<void> _private;
99  };
101 
103  std::ostream & operator<<( std::ostream & str, const WhatObsoletes & obj );
104 
106  } // namespace sat
109 } // namespace zypp
111 #endif // ZYPP_SAT_WHATOBSOLETES_H
int IdType
Generic Id type.
Definition: PoolMember.h:130
A Solvable object within the sat Pool.
Definition: Solvable.h:53
detail::WhatProvidesIterator const_iterator
Definition: WhatObsoletes.h:80
WhatObsoletes()
Default ctor.
Definition: WhatObsoletes.h:45
bool empty() const
Whether the container is empty.
Definition: WhatObsoletes.h:73
std::ostream & operator<<(std::ostream &str, const FileConflicts &obj)
WhatObsoletes(TIterator begin, TIterator end)
Ctor from a range of Solvable, PoolItem or ResObject::constPtr.
Definition: WhatObsoletes.h:63
#define for_(IT, BEG, END)
Convenient for-loops using iterator.
Definition: Easy.h:27
const sat::detail::IdType * _begin
Definition: WhatObsoletes.h:97
Base class providing common iterator types based on a Solvable iterator.
Backlink to the associated PoolImpl.
Definition: PoolMember.h:114
shared_ptr< void > _private
Definition: WhatObsoletes.h:98
void ctorAdd(const PoolItem &item_r)
const_iterator begin() const
Iterator pointing to the first Solvable.
Definition: WhatObsoletes.h:83
Container of installed Solvable which would be obsoleted by the Solvable passed to the ctor...
Definition: WhatObsoletes.h:36
size_type size() const
Number of solvables inside.
Combining sat::Solvable and ResStatus.
Definition: PoolItem.h:50
const_iterator end() const
Iterator pointing behind the last Solvable.
Definition: WhatObsoletes.h:87