libzypp  13.10.6
zypp::detail::PoolQueryIterator Class Reference

PoolQuery iterator as returned by PoolQuery::begin. More...

#include <PoolQuery.h>

Inheritance diagram for zypp::detail::PoolQueryIterator:

Public Types

typedef Matches::size_type size_type
 
typedef Matches::const_iterator matches_iterator
 

Public Member Functions

 PoolQueryIterator ()
 Default ctor is also end. More...
 
 PoolQueryIterator (const shared_ptr< PoolQueryMatcher > &matcher_r)
 PoolQuery ctor. More...
 
Detailed inspection of attribute matches within the current Solvable.

The matches_iterator visits all attribute matches within the current Solvable, providing a sat::LookupAttr::iterator pointing to attribute.

While a matches_iterator itself becomes invalid if the PoolQueryIterator is advanced, the sat::LookupAttr::iterator it pointed to stays valid, even after the query ended.

* // Setup query for "libzypp" in name or requires:
* PoolQuery q;
* q.addString( "libzypp" );
* q.setMatchSubstring();
* q.setCaseSensitive( false );
* q.addAttribute( sat::SolvAttr::name );
* q.addDependency( sat::SolvAttr::requires );
*
* // Iterate the result:
* for_( solvIter, q.begin(), q.end() )
* {
* sat::Solvable solvable( *solvIter );
* cout << "Found matches in " << solvable << endl;
* if ( verbose )
* for_( attrIter, solvIter.matchesBegin(), solvIter.matchesEnd() )
* {
* sat::LookupAttr::iterator attr( *attrIter );
* cout << " " << attr.inSolvAttr() << "\t\"" << attr.asString() << "\"" << endl;
* }
* }
*
*
* Found matches in PackageKit-0.3.11-1.12.i586(@System)
* solvable:requires "libzypp.so.523"
* Found matches in libqdialogsolver1-1.2.6-1.1.2.i586(@System)
* solvable:requires "libzypp.so.523"
* solvable:requires "libzypp >= 5.25.3-0.1.2"
* Found matches in libzypp-5.30.3-0.1.1.i586(@System)
* solvable:name "libzypp"
* Found matches in libzypp-testsuite-tools-4.2.6-8.1.i586(@System)
* solvable:name "libzypp-testsuite-tools"
* solvable:requires "libzypp.so.523"
* ...
*
bool matchesEmpty () const
 False unless this is the end iterator. More...
 
size_type matchesSize () const
 Number of attribute matches. More...
 
matches_iterator matchesBegin () const
 Begin of matches. More...
 
matches_iterator matchesEnd () const
 End of matches. More...
 

Private Types

typedef std::vector
< sat::LookupAttr::iterator
Matches
 

Private Member Functions

sat::Solvable dereference () const
 
void increment ()
 
const Matchesmatches () const
 

Private Attributes

shared_ptr< PoolQueryMatcher_matcher
 
shared_ptr< Matches_matches
 

Friends

class boost::iterator_core_access
 

Related Functions

(Note that these are not member functions.)

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

Detailed Description

PoolQuery iterator as returned by PoolQuery::begin.

The PoolQueryIterator visits sat::Solavables that do contain matches.

But it also provides an iterator by itself, to allow a detailed inspection of the individual attribute matches within the current Solvable.

Definition at line 511 of file PoolQuery.h.

Member Typedef Documentation

Definition at line 519 of file PoolQuery.h.

typedef Matches::size_type zypp::detail::PoolQueryIterator::size_type

Definition at line 521 of file PoolQuery.h.

typedef Matches::const_iterator zypp::detail::PoolQueryIterator::matches_iterator

Definition at line 522 of file PoolQuery.h.

Constructor & Destructor Documentation

zypp::detail::PoolQueryIterator::PoolQueryIterator ( )
inline

Default ctor is also end.

Definition at line 525 of file PoolQuery.h.

zypp::detail::PoolQueryIterator::PoolQueryIterator ( const shared_ptr< PoolQueryMatcher > &  matcher_r)
inline

PoolQuery ctor.

Definition at line 529 of file PoolQuery.h.

Member Function Documentation

bool zypp::detail::PoolQueryIterator::matchesEmpty ( ) const
inline

False unless this is the end iterator.

Definition at line 579 of file PoolQuery.h.

size_type zypp::detail::PoolQueryIterator::matchesSize ( ) const
inline

Number of attribute matches.

Definition at line 581 of file PoolQuery.h.

matches_iterator zypp::detail::PoolQueryIterator::matchesBegin ( ) const
inline

Begin of matches.

Definition at line 583 of file PoolQuery.h.

matches_iterator zypp::detail::PoolQueryIterator::matchesEnd ( ) const
inline

End of matches.

Definition at line 585 of file PoolQuery.h.

sat::Solvable zypp::detail::PoolQueryIterator::dereference ( ) const
inlineprivate

Definition at line 591 of file PoolQuery.h.

void zypp::detail::PoolQueryIterator::increment ( )
private

Definition at line 1688 of file PoolQuery.cc.

const PoolQueryIterator::Matches & zypp::detail::PoolQueryIterator::matches ( ) const
private

Definition at line 1701 of file PoolQuery.cc.

Friends And Related Function Documentation

friend class boost::iterator_core_access
friend

Definition at line 589 of file PoolQuery.h.

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

Stream output.

Definition at line 606 of file PoolQuery.h.

std::ostream & dumpOn ( std::ostream &  str,
const PoolQueryIterator obj 
)
related

Detailed stream output.

Definition at line 1718 of file PoolQuery.cc.

Member Data Documentation

shared_ptr<PoolQueryMatcher> zypp::detail::PoolQueryIterator::_matcher
private

Definition at line 600 of file PoolQuery.h.

shared_ptr<Matches> zypp::detail::PoolQueryIterator::_matches
mutableprivate

Definition at line 601 of file PoolQuery.h.


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