libzypp 17.31.23
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
19
21namespace zypp
22{
24 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
Combining sat::Solvable and ResStatus.
Definition: PoolItem.h:51
Base class providing common iterator types based on a Solvable iterator.
A Solvable object within the sat Pool.
Definition: Solvable.h:54
Container of installed Solvable which would be obsoleted by the Solvable passed to the ctor.
Definition: WhatObsoletes.h:38
const_iterator end() const
Iterator pointing behind the last Solvable.
Definition: WhatObsoletes.h:87
void ctorAdd(const PoolItem &item_r)
WhatObsoletes()
Default ctor.
Definition: WhatObsoletes.h:45
size_type size() const
Number of solvables inside.
const sat::detail::IdType * _begin
Definition: WhatObsoletes.h:97
WhatObsoletes(TIterator begin, TIterator end)
Ctor from a range of Solvable, PoolItem or ResObject::constPtr.
Definition: WhatObsoletes.h:63
WhatObsoletes(const ResObject_constPtr item_r)
Ctor from ResObject::constPtr.
bool empty() const
Whether the container is empty.
Definition: WhatObsoletes.h:73
detail::WhatProvidesIterator const_iterator
Definition: WhatObsoletes.h:80
shared_ptr< void > _private
Definition: WhatObsoletes.h:98
const_iterator begin() const
Iterator pointing to the first Solvable.
Definition: WhatObsoletes.h:83
String related utilities and Regular expression matching.
int IdType
Generic Id type.
Definition: PoolMember.h:104
std::ostream & operator<<(std::ostream &str, const FileConflicts &obj)
Easy-to use interface to the ZYPP dependency resolver.
Definition: CodePitfalls.doc:2
Backlink to the associated PoolImpl.
Definition: PoolMember.h:89
#define for_(IT, BEG, END)
Convenient for-loops using iterator.
Definition: Easy.h:28