zypp::sat::WhatProvides Class Reference

Container of Solvable providing a Capability (read only). More...

#include <WhatProvides.h>

Inheritance diagram for zypp::sat::WhatProvides:
[legend]

List of all members.

Classes

class  Impl
 WhatProvides implementation date. More...

Public Types

typedef Solvable value_type
typedef unsigned size_type
typedef
detail::WhatProvidesIterator 
const_iterator

Public Member Functions

 WhatProvides ()
 Default ctor.
 WhatProvides (Capability cap_r)
 Ctor from Capability.
 WhatProvides (Capabilities caps_r)
 Ctor collecting all providers of capabilities in caps_r.
 WhatProvides (const CapabilitySet &caps_r)
 Ctor collecting all providers of capabilities in caps_r.
bool empty () const
 Whether the container is empty.
size_type size () const
 Number of solvables inside.
const_iterator begin () const
 Iterator pointing to the first Solvable.
const_iterator end () const
 Iterator pointing behind the last Solvable.

Private Attributes

RW_pointer< Impl_pimpl

Related Functions

(Note that these are not member functions.)

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


Detailed Description

Container of Solvable providing a Capability (read only).

 Capability cap("amarok < 1.13");

 WhatProvides q( cap );
 Solvable firstMatch;

 if ( ! q.empty() )
 {
   cout << "Found " << q.size() << " matches for " << cap << ":" << endl;
   firstMatch = *q.begin();

   for_( it, q.begin(), q.end() )
     cout << *it << endl;
 }

 if ( firstMatch )
 {
   WhatProvides req( firstMatch.requires() );
   if ( ! req.empty() )
   {
      cout << "Found " << req.size() << " items providing requirements of " << firstMatch << ":" << endl;
   }
 }

Note:
Note that there are capabilities which are not provided by any Solvable, but are system properties. For example:
   rpmlib(PayloadIsBzip2) <= 3.0.5-1
In that case a Solvable::noSolvable is returned, which has isSystem set true, although there should never be a Solvable::noSolvable returned with isSystem set false. If so, please file a bugreport.
 WhatProvides q( Capability("rpmlib(PayloadIsBzip2) <= 3.0.5-1") );
 for_( it, q.begin(), q.end() )
 {
   if ( *it )
     cout << "Capability is provided by package " << *it << endl;
   else if ( it->isSystem() )
     cout << "Capability is a system property" << endl;
   else
     ; // never reaching this \c else
 }

Definition at line 87 of file WhatProvides.h.


Member Typedef Documentation

Definition at line 91 of file WhatProvides.h.

Definition at line 118 of file WhatProvides.h.


Constructor & Destructor Documentation

zypp::sat::WhatProvides::WhatProvides (  ) 

Default ctor.

Definition at line 94 of file WhatProvides.cc.

zypp::sat::WhatProvides::WhatProvides ( Capability  cap_r  )  [explicit]

zypp::sat::WhatProvides::WhatProvides ( Capabilities  caps_r  )  [explicit]

Ctor collecting all providers of capabilities in caps_r.

Definition at line 107 of file WhatProvides.cc.

References _pimpl, zypp::Capabilities::begin(), zypp::Capabilities::end(), and zypp::RW_pointer< _D, _Traits >::reset().

zypp::sat::WhatProvides::WhatProvides ( const CapabilitySet caps_r  )  [explicit]

Ctor collecting all providers of capabilities in caps_r.

Definition at line 118 of file WhatProvides.cc.

References _pimpl, and zypp::RW_pointer< _D, _Traits >::reset().


Member Function Documentation

bool zypp::sat::WhatProvides::empty (  )  const

Whether the container is empty.

Reimplemented from zypp::sat::SolvIterMixin< WhatProvides, detail::WhatProvidesIterator >.

Definition at line 129 of file WhatProvides.cc.

References _pimpl.

Referenced by zypp::sat::detail::PoolImpl::multiversionListInit().

WhatProvides::size_type zypp::sat::WhatProvides::size (  )  const

Number of solvables inside.

Reimplemented from zypp::sat::SolvIterMixin< WhatProvides, detail::WhatProvidesIterator >.

Definition at line 134 of file WhatProvides.cc.

References _pimpl, begin(), end(), and for_.

Referenced by zypp::sat::operator<<().

WhatProvides::const_iterator zypp::sat::WhatProvides::begin (  )  const

WhatProvides::const_iterator zypp::sat::WhatProvides::end (  )  const [inline]


Friends And Related Function Documentation

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

Stream output

Definition at line 162 of file WhatProvides.cc.


Member Data Documentation

Definition at line 127 of file WhatProvides.h.

Referenced by begin(), empty(), size(), and WhatProvides().


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

doxygen