12 #ifndef ZYPP_SAT_WHATPROVIDES_H 13 #define ZYPP_SAT_WHATPROVIDES_H 32 class WhatProvidesIterator;
115 size_type size()
const;
121 const_iterator begin()
const;
124 const_iterator end()
const;
148 , const detail::IdType *
150 , boost::forward_traversal_tag
157 : iterator_adaptor_( 0 ), _baseRef( 0 ), _offset( 0 )
164 : iterator_adaptor_( base_r ), _baseRef( base_r ? &base_reference() : 0 ), _offset( offset_r )
171 : iterator_adaptor_( 0 ), _baseRef( baseRef_r ), _offset( offset_r )
176 : iterator_adaptor_( rhs.base_reference() )
177 , _baseRef( base_reference() ? &base_reference() : rhs._baseRef )
178 , _offset( rhs._offset )
186 base_reference() = rhs.base_reference();
187 _baseRef = ( base_reference() ? &base_reference() : rhs.
_baseRef );
194 friend class boost::iterator_core_access;
199 template <
class OtherDerived,
class OtherIterator,
class V,
class C,
class R,
class D>
200 bool equal(
const boost::iterator_adaptor<OtherDerived, OtherIterator, V, C, R, D> & rhs )
const 204 if ( ! ( getId() || rhs.
getId() ) )
208 if ( base_reference() )
209 return( base_reference() == rhs.base_reference() );
217 {
return _baseRef ? (*_baseRef)[_offset] :
detail::noId; }
235 #endif // ZYPP_SAT_WHATPROVIDES_H const detail::IdType *const * _baseRef
int IdType
Generic Id type.
A Solvable object within the sat Pool.
Container of Solvable providing a Capability (read only).
Container of Capability (currently read only).
detail::WhatProvidesIterator const_iterator
WhatProvidesIterator & operator=(const WhatProvidesIterator &rhs)
Assignment operator required to keep _baseRef adjusted.
reference dereference() const
String related utilities and Regular expression matching.
detail::IdType getId() const
WhatProvidesIterator(const detail::IdType *const *baseRef_r, unsigned offset_r)
Ctor with pointer to pointer to 1st elemment of an array.
Base class providing common iterator types based on a Solvable iterator.
Backlink to the associated PoolImpl.
WhatProvidesIterator(const detail::IdType *const base_r, unsigned offset_r=0)
Ctor with pointer to 1st elemment of an array.
const_iterator end() const
Iterator pointing behind the last Solvable.
WhatProvidesIterator(const WhatProvidesIterator &rhs)
Copy-ctor required to keep _baseRef adjusted.
std::ostream & operator<<(std::ostream &str, const DIWrap &obj)
WhatProvides implementation date.
std::unordered_set< Capability > CapabilitySet
static const IdType noId(0)
bool equal(const WhatProvidesIterator &rhs) const
Easy-to use interface to the ZYPP dependency resolver.
RW_pointer< Impl > _pimpl