libzypp 17.37.10

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{
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:
40 using value_type = Solvable;
41 using size_type = unsigned int;
42
43 public:
45 WhatObsoletes()
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:
80 using const_iterator = detail::WhatProvidesIterator;
81
83 const_iterator begin() const
84 { return const_iterator( _begin ); }
85
87 const_iterator end() const
88 { return const_iterator(); }
89
90 private:
91 void ctorAdd( const PoolItem & item_r );
92 void ctorAdd( const ResObject_constPtr& item_r );
93 void ctorAdd( Solvable item_r );
94 void ctorDone();
95
96 private:
97 const sat::detail::IdType * _begin;
98 shared_ptr<void> _private;
99 };
100
101
103 std::ostream & operator<<( std::ostream & str, const WhatObsoletes & obj );
104
106 } // namespace sat
109} // namespace zypp
111#endif // ZYPP_SAT_WHATOBSOLETES_H
WhatProvides.h
shared_ptr
zypp::PoolItem
Combining sat::Solvable and ResStatus.
Definition PoolItem.h:51
zypp::sat::SolvIterMixin< WhatObsoletes, detail::WhatProvidesIterator >::SolvIterMixin
SolvIterMixin()
Definition SolvIterMixin.h:198
zypp::sat::Solvable
A Solvable object within the sat Pool.
Definition Solvable.h:54
zypp::sat::WhatObsoletes
Container of installed Solvable which would be obsoleted by the Solvable passed to the ctor.
Definition WhatObsoletes.h:38
zypp::sat::WhatObsoletes::end
const_iterator end() const
Iterator pointing behind the last Solvable.
Definition WhatObsoletes.h:87
zypp::sat::WhatObsoletes::ctorAdd
void ctorAdd(const PoolItem &item_r)
Definition WhatObsoletes.cc:72
zypp::sat::WhatObsoletes::size_type
unsigned int size_type
Definition WhatObsoletes.h:41
zypp::sat::WhatObsoletes::WhatObsoletes
WhatObsoletes()
Default ctor.
Definition WhatObsoletes.h:45
zypp::sat::WhatObsoletes::size
size_type size() const
Number of solvables inside.
Definition WhatObsoletes.cc:148
zypp::sat::WhatObsoletes::WhatObsoletes
WhatObsoletes(const ResObject_constPtr &item_r)
Ctor from ResObject::constPtr.
zypp::sat::WhatObsoletes::_begin
const sat::detail::IdType * _begin
Definition WhatObsoletes.h:97
zypp::sat::WhatObsoletes::WhatObsoletes
WhatObsoletes(TIterator begin, TIterator end)
Ctor from a range of Solvable, PoolItem or ResObject::constPtr.
Definition WhatObsoletes.h:63
zypp::sat::WhatObsoletes::empty
bool empty() const
Whether the container is empty.
Definition WhatObsoletes.h:73
zypp::sat::WhatObsoletes::value_type
Solvable value_type
Definition WhatObsoletes.h:40
zypp::sat::WhatObsoletes::_private
shared_ptr< void > _private
Definition WhatObsoletes.h:98
zypp::sat::WhatObsoletes::const_iterator
detail::WhatProvidesIterator const_iterator
Definition WhatObsoletes.h:80
zypp::sat::WhatObsoletes::begin
const_iterator begin() const
Iterator pointing to the first Solvable.
Definition WhatObsoletes.h:83
zypp::sat::WhatObsoletes::ctorDone
void ctorDone()
Definition WhatObsoletes.cc:133
zypp::sat::detail::WhatProvidesIterator
WhatProvides iterator.
Definition WhatProvides.h:161
str
String related utilities and Regular expression matching.
zypp::sat::detail::IdType
int IdType
Generic Id type.
Definition PoolMember.h:104
zypp::sat
Definition Resolver.h:28
zypp::sat::operator<<
std::ostream & operator<<(std::ostream &str, const FileConflicts &obj)
Definition FileConflicts.cc:109
zypp
Easy-to use interface to the ZYPP dependency resolver.
Definition Application.cc:20
zypp::sat::detail::PoolMember
Backlink to the associated PoolImpl.
Definition PoolMember.h:89
for_
#define for_(IT, BEG, END)
Convenient for-loops using iterator.
Definition Easy.h:27