#ifndef ZYPP_SAT_LOOKUPATTR_H
#define ZYPP_SAT_LOOKUPATTR_H
+extern "C"
+{
+struct _Dataiterator;
+}
#include <iosfwd>
#include "zypp/base/PtrTypes.h"
*/
size_type size() const;
- /** TransformIterator returning an \ref iterator vaue of type \c TResult. */
- template<class TResult, class TAttr = TResult>
- class TransformIterator;
+ /** TransformIterator returning an \ref iterator vaue of type \c _ResultT. */
+ template<class _ResultT, class _AttrT = _ResultT> class transformIterator;
//@}
public:
namespace detail
{
- /** Wrapper around sat \c detail::CDataiterator.
+ /** Wrapper around sat \c ::_Dataiterator.
*
* Manages copy and assign, and release of allocated
* resources like datamatcher inside the dataiterator.
class DIWrap
{
public:
- /** \c NULL \c detail::CDataiterator */
+ /** \c NULL \c ::_Dataiterator */
DIWrap()
: _dip( 0 )
{}
{ return _dip; }
public:
- detail::CDataiterator * operator->() const { return _dip; }
- detail::CDataiterator * get() const { return _dip; }
+ ::_Dataiterator * operator->() const { return _dip; }
+ ::_Dataiterator * get() const { return _dip; }
const std::string & getstr() const { return _mstring; }
private:
- detail::CDataiterator * _dip;
+ ::_Dataiterator * _dip;
std::string _mstring;
};
/** \relates DIWrap Stream output. */
*/
class LookupAttr::iterator : public boost::iterator_adaptor<
iterator // Derived
- , detail::CDataiterator * // Base
+ , ::_Dataiterator * // Base
, detail::IdType // Value
, boost::forward_traversal_tag // CategoryOrTraversal
, detail::IdType // Reference
*
* Should be specialized for supported types above.
*/
- template<class Tp> Tp asType() const { return Tp(id()); }
+ template<class _Tp> _Tp asType() const { return _Tp(id()); }
//@}
///////////////////////////////////////////////////////////////////
public:
/**
- * C-tor taking over ownership of the passed \c detail::CDataiterator
+ * C-tor taking over ownership of the passed \c ::_Dataiterator
* and doing it's first iteration (::dataiterator_step)
*/
iterator( detail::DIWrap & dip_r );
&& ( ! base() || dip_equal( *base(), *rhs.base() ) );
}
- bool dip_equal( const detail::CDataiterator & lhs, const detail::CDataiterator & rhs ) const;
+ bool dip_equal( const ::_Dataiterator & lhs, const ::_Dataiterator & rhs ) const;
detail::IdType dereference() const;
public:
/** Expert backdoor. */
- detail::CDataiterator * get() const
+ ::_Dataiterator * get() const
{ return _dip.get(); }
private:
detail::DIWrap _dip;
template<> inline IdString LookupAttr::iterator::asType<IdString>() const { return idStr(); }
template<> CheckSum LookupAttr::iterator::asType<CheckSum>() const;
- template<class TResult, class TAttr>
+ template<class _ResultT, class _AttrT>
class ArrayAttr;
//@}
///////////////////////////////////////////////////////////////////
/** \relates LookupAttr::iterator Stream output of the underlying iterator for debug. */
-std::ostream & operator<<( std::ostream & str, const zypp::sat::detail::CDataiterator * obj );
+std::ostream & operator<<( std::ostream & str, const ::_Dataiterator * obj );
/** \relates LookupAttr::iterator Stream output of the underlying iterator for debug. */
-inline std::ostream & operator<<( std::ostream & str, const zypp::sat::detail::CDataiterator & obj )
+inline std::ostream & operator<<( std::ostream & str, const ::_Dataiterator & obj )
{ return str << &obj; }
#endif // ZYPP_SAT_LOOKUPATTR_H