libzypp  17.1.1
zypp::sat::WhatProvides Class Reference

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

#include <WhatProvides.h>

Inheritance diagram for zypp::sat::WhatProvides:

Classes

class  Impl
 WhatProvides implementation date. More...
 

Public Types

typedef Solvable value_type
 
typedef unsigned size_type
 
typedef detail::WhatProvidesIterator const_iterator
 
- Public Types inherited from zypp::sat::SolvIterMixin< WhatProvides, detail::WhatProvidesIterator >
typedef size_t size_type
 
typedef detail::WhatProvidesIterator Solvable_iterator
 
typedef transform_iterator< asPoolItem, Solvable_iteratorPoolItem_iterator
 
typedef transform_iterator< ui::asSelectable, UnifiedSolvable_iteratorSelectable_iterator
 

Public Member Functions

 WhatProvides ()
 Default ctor. More...
 
 WhatProvides (Capability cap_r)
 Ctor from Capability. More...
 
 WhatProvides (Capabilities caps_r)
 Ctor collecting all providers of capabilities in caps_r. More...
 
 WhatProvides (const CapabilitySet &caps_r)
 Ctor collecting all providers of capabilities in caps_r. More...
 
bool empty () const
 Whether the container is empty. More...
 
size_type size () const
 Number of solvables inside. More...
 
const_iterator begin () const
 Iterator pointing to the first Solvable. More...
 
const_iterator end () const
 Iterator pointing behind the last Solvable. More...
 
- Public Member Functions inherited from zypp::sat::SolvIterMixin< WhatProvides, detail::WhatProvidesIterator >
bool empty () const
 Whether the collection is epmty. More...
 
size_type size () const
 Size of the collection. More...
 
bool contains (const TSolv &solv_r) const
 Whether collection contains a specific Solvable. More...
 
Solvable_iterator solvableBegin () const
 
Solvable_iterator solvableEnd () const
 
Iterable< Solvable_iteratorsolvable () const
 
PoolItem_iterator poolItemBegin () const
 
PoolItem_iterator poolItemEnd () const
 
Iterable< PoolItem_iteratorpoolItem () const
 
Selectable_iterator selectableBegin () const
 
Selectable_iterator selectableEnd () const
 
Iterable< Selectable_iteratorselectable () const
 

Private Attributes

RW_pointer< Impl_pimpl
 

Related Functions

(Note that these are not member functions.)

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

Additional Inherited Members

- Protected Member Functions inherited from zypp::sat::SolvIterMixin< WhatProvides, detail::WhatProvidesIterator >
 SolvIterMixin ()
 
 SolvIterMixin (const SolvIterMixin &)
 
 ~SolvIterMixin ()
 
void operator= (const SolvIterMixin &)
 
- Static Protected Member Functions inherited from zypp::sat::detail::PoolMember
static PoolImplmyPool ()
 

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

◆ value_type

Definition at line 91 of file WhatProvides.h.

◆ size_type

Definition at line 92 of file WhatProvides.h.

◆ const_iterator

Constructor & Destructor Documentation

◆ WhatProvides() [1/4]

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

Default ctor.

Definition at line 94 of file WhatProvides.cc.

◆ WhatProvides() [2/4]

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

Ctor from Capability.

Definition at line 97 of file WhatProvides.cc.

◆ WhatProvides() [3/4]

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.

◆ WhatProvides() [4/4]

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.

Member Function Documentation

◆ empty()

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

Whether the container is empty.

Definition at line 129 of file WhatProvides.cc.

◆ size()

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

Number of solvables inside.

Definition at line 134 of file WhatProvides.cc.

◆ begin()

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

Iterator pointing to the first Solvable.

Definition at line 145 of file WhatProvides.cc.

◆ end()

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

Iterator pointing behind the last Solvable.

Definition at line 226 of file WhatProvides.h.

Friends And Related Function Documentation

◆ operator<<()

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

Stream output

Definition at line 162 of file WhatProvides.cc.

Member Data Documentation

◆ _pimpl

RW_pointer<Impl> zypp::sat::WhatProvides::_pimpl
private

Definition at line 127 of file WhatProvides.h.


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