zypp::PoolQueryResult Class Reference

Helper class to collect (not only) PoolQuery results. More...

#include <PoolQueryResult.h>

Inheritance diagram for zypp::PoolQueryResult:

Inheritance graph
[legend]

List of all members.

Public Types

typedef
std::tr1::unordered_set
< sat::Solvable
ResultSet
typedef ResultSet::size_type size_type
typedef ResultSet::const_iterator const_iterator

Public Member Functions

 PoolQueryResult ()
 Default ctor (empty result).
 PoolQueryResult (sat::Solvable result_r)
 Ctor adding one sat::Solvable.
 PoolQueryResult (const PoolItem &result_r)
 Ctor adding one PoolItem.
 PoolQueryResult (const PoolQuery &query_r)
 Ctor adding one PoolQuery result.
template<class _QueryResultIter>
 PoolQueryResult (_QueryResultIter begin_r, _QueryResultIter end_r)
 Ctor adding a range of items for which operator+= is defined.
bool empty () const
 Whether the result is empty.
size_type size () const
 The number of sat::Solvables.
const_iterator begin () const
const_iterator end () const
bool contains (sat::Solvable result_r) const
 Test whether some item is in the result set.
bool contains (const PoolItem &result_r) const
void clear ()
 Clear the result.
PoolQueryResultoperator+= (const PoolQueryResult &query_r)
 Add items to the result.
PoolQueryResultoperator+= (const PoolQuery &query_r)
PoolQueryResultoperator+= (sat::Solvable result_r)
PoolQueryResultoperator+= (const PoolItem &result_r)
PoolQueryResultoperator-= (const PoolQueryResult &query_r)
 Remove Items from the result.
PoolQueryResultoperator-= (const PoolQuery &query_r)
PoolQueryResultoperator-= (sat::Solvable result_r)
PoolQueryResultoperator-= (const PoolItem &result_r)
PoolQueryResult operator+ (const PoolQueryResult &query_r) const
 Combine results.
PoolQueryResult operator+ (const PoolQuery &query_r) const
PoolQueryResult operator+ (sat::Solvable result_r) const
PoolQueryResult operator- (const PoolQueryResult &query_r) const
 Intersect results.
PoolQueryResult operator- (const PoolQuery &query_r) const
PoolQueryResult operator- (sat::Solvable result_r) const

Private Attributes

ResultSet _result

Related Functions

(Note that these are not member functions.)

std::ostream & operator<< (std::ostream &str, const PoolQueryResult &obj)


Detailed Description

Helper class to collect (not only) PoolQuery results.

Note:
Unfortunately PoolQuery::begin might throw. Exceptions are caught and the query is treated as empty.
PoolQueryResult maintains a set of sat::Solvable. You can add/remove solvables to/from the set defined by:

The class is a sat::SolvIterMixin, so you can iterate the result not just as sat::Solvable, but also as PoolItem or ui::Selectable.

   // Constructed from PoolItem iterator pair
   PoolQueryResult result( pool.byKindBegin<Package>(), pool.byKindEnd<Package>() );
   MIL << result.size() << endl;

   {
     // Removing a PoolQuery result
     PoolQuery q;
     q.addAttribute( sat::SolvAttr::name, "[a-zA-Z]*" );
     q.setMatchGlob();
     result -= q;
     MIL << result.size() << endl;
   }
   MIL << result << endl;

   // Removing a range of sat::Solvables
   sat::WhatProvides poviders( Capability("3ddiag") );
   result -= PoolQueryResult( poviders.begin(), poviders.end() );

   // packages not starting with a letter, except 3ddiag
   MIL << result << endl;

Definition at line 75 of file PoolQueryResult.h.


Member Typedef Documentation

typedef std::tr1::unordered_set<sat::Solvable> zypp::PoolQueryResult::ResultSet

Definition at line 78 of file PoolQueryResult.h.

typedef ResultSet::size_type zypp::PoolQueryResult::size_type

typedef ResultSet::const_iterator zypp::PoolQueryResult::const_iterator

Definition at line 80 of file PoolQueryResult.h.


Constructor & Destructor Documentation

zypp::PoolQueryResult::PoolQueryResult (  )  [inline]

Default ctor (empty result).

Definition at line 84 of file PoolQueryResult.h.

Referenced by operator+(), and operator-().

zypp::PoolQueryResult::PoolQueryResult ( sat::Solvable  result_r  )  [inline, explicit]

Ctor adding one sat::Solvable.

Definition at line 88 of file PoolQueryResult.h.

References operator+=().

zypp::PoolQueryResult::PoolQueryResult ( const PoolItem result_r  )  [inline, explicit]

Ctor adding one PoolItem.

Definition at line 92 of file PoolQueryResult.h.

References operator+=().

zypp::PoolQueryResult::PoolQueryResult ( const PoolQuery query_r  )  [inline, explicit]

Ctor adding one PoolQuery result.

Definition at line 96 of file PoolQueryResult.h.

References operator+=().

template<class _QueryResultIter>
zypp::PoolQueryResult::PoolQueryResult ( _QueryResultIter  begin_r,
_QueryResultIter  end_r 
) [inline]

Ctor adding a range of items for which operator+= is defined.

Definition at line 101 of file PoolQueryResult.h.

References for_, and operator+=().


Member Function Documentation

bool zypp::PoolQueryResult::empty (  )  const [inline]

Whether the result is empty.

Reimplemented from zypp::sat::SolvIterMixin< Derived, DerivedSolvable_iterator >.

Definition at line 111 of file PoolQueryResult.h.

References _result.

Referenced by operator+=().

size_type zypp::PoolQueryResult::size (  )  const [inline]

The number of sat::Solvables.

Reimplemented from zypp::sat::SolvIterMixin< Derived, DerivedSolvable_iterator >.

Definition at line 114 of file PoolQueryResult.h.

References _result.

Referenced by zypp::pool::PoolImpl::reapplyHardLocks(), and zypp::pool::PoolImpl::setHardLockQueries().

const_iterator zypp::PoolQueryResult::begin (  )  const [inline]

Definition at line 117 of file PoolQueryResult.h.

References _result.

Referenced by operator+=(), operator-=(), and zypp::operator<<().

const_iterator zypp::PoolQueryResult::end (  )  const [inline]

Definition at line 120 of file PoolQueryResult.h.

References _result.

Referenced by operator+=(), operator-=(), and zypp::operator<<().

bool zypp::PoolQueryResult::contains ( sat::Solvable  result_r  )  const [inline]

Test whether some item is in the result set.

Definition at line 124 of file PoolQueryResult.h.

References _result.

Referenced by contains(), zypp::pool::PoolImpl::reapplyHardLocks(), and zypp::pool::PoolImpl::setHardLockQueries().

bool zypp::PoolQueryResult::contains ( const PoolItem result_r  )  const [inline]

Definition at line 127 of file PoolQueryResult.h.

References contains(), and zypp::PoolItem::satSolvable().

void zypp::PoolQueryResult::clear (  )  [inline]

Clear the result.

Definition at line 132 of file PoolQueryResult.h.

References _result.

Referenced by operator-=().

PoolQueryResult& zypp::PoolQueryResult::operator+= ( const PoolQueryResult query_r  )  [inline]

Add items to the result.

Definition at line 136 of file PoolQueryResult.h.

References _result, begin(), empty(), and end().

Referenced by PoolQueryResult().

PoolQueryResult& zypp::PoolQueryResult::operator+= ( const PoolQuery query_r  )  [inline]

Definition at line 143 of file PoolQueryResult.h.

References _result, zypp::PoolQuery::begin(), zypp::PoolQuery::end(), and for_.

PoolQueryResult& zypp::PoolQueryResult::operator+= ( sat::Solvable  result_r  )  [inline]

Definition at line 155 of file PoolQueryResult.h.

References _result.

PoolQueryResult& zypp::PoolQueryResult::operator+= ( const PoolItem result_r  )  [inline]

Definition at line 161 of file PoolQueryResult.h.

References _result, and zypp::PoolItem::satSolvable().

PoolQueryResult& zypp::PoolQueryResult::operator-= ( const PoolQueryResult query_r  )  [inline]

Remove Items from the result.

Definition at line 168 of file PoolQueryResult.h.

References _result, begin(), clear(), end(), and for_.

PoolQueryResult& zypp::PoolQueryResult::operator-= ( const PoolQuery query_r  )  [inline]

Definition at line 178 of file PoolQueryResult.h.

References _result, zypp::PoolQuery::begin(), zypp::PoolQuery::end(), and for_.

PoolQueryResult& zypp::PoolQueryResult::operator-= ( sat::Solvable  result_r  )  [inline]

Definition at line 190 of file PoolQueryResult.h.

References _result.

PoolQueryResult& zypp::PoolQueryResult::operator-= ( const PoolItem result_r  )  [inline]

Definition at line 196 of file PoolQueryResult.h.

References _result, and zypp::PoolItem::satSolvable().

PoolQueryResult zypp::PoolQueryResult::operator+ ( const PoolQueryResult query_r  )  const [inline]

Combine results.

Definition at line 204 of file PoolQueryResult.h.

References PoolQueryResult().

PoolQueryResult zypp::PoolQueryResult::operator+ ( const PoolQuery query_r  )  const [inline]

Definition at line 207 of file PoolQueryResult.h.

References PoolQueryResult().

PoolQueryResult zypp::PoolQueryResult::operator+ ( sat::Solvable  result_r  )  const [inline]

Definition at line 210 of file PoolQueryResult.h.

References PoolQueryResult().

PoolQueryResult zypp::PoolQueryResult::operator- ( const PoolQueryResult query_r  )  const [inline]

Intersect results.

Definition at line 214 of file PoolQueryResult.h.

References PoolQueryResult().

PoolQueryResult zypp::PoolQueryResult::operator- ( const PoolQuery query_r  )  const [inline]

Definition at line 217 of file PoolQueryResult.h.

References PoolQueryResult().

PoolQueryResult zypp::PoolQueryResult::operator- ( sat::Solvable  result_r  )  const [inline]

Definition at line 220 of file PoolQueryResult.h.

References PoolQueryResult().


Friends And Related Function Documentation

std::ostream & operator<< ( std::ostream &  str,
const PoolQueryResult obj 
) [related]

Stream output

Definition at line 28 of file PoolQueryResult.cc.


Member Data Documentation

Definition at line 224 of file PoolQueryResult.h.

Referenced by begin(), clear(), contains(), empty(), end(), operator+=(), operator-=(), and size().


The documentation for this class was generated from the following file:

Generated on Tue May 5 14:49:25 2015 for libzypp by  doxygen 1.5.6