Basically same name, edition, arch, vendor and buildtime.
inline bool operator!=( const ResObject::constPtr & lhs, const PoolItem & rhs )
{ return ! (lhs==rhs); }
+
+ /** \relates PoolItem Test for same content. */
+ inline bool identical( const PoolItem & lhs, const PoolItem & rhs )
+ { return lhs.satSolvable().identical( rhs.satSolvable() ); }
+
+ /** \relates PoolItem Test for same content. */
+ inline bool identical( const PoolItem & lhs, sat::Solvable rhs )
+ { return lhs.satSolvable().identical( rhs ); }
+
+ /** \relates PoolItem Test for same content. */
+ inline bool identical( sat::Solvable lhs, const PoolItem & rhs )
+ { return lhs.identical( rhs.satSolvable() ); }
+
+
/** Solvable to PoolItem transform functor.
* \relates PoolItem
* \relates sat::SolvIterMixin
IdString( _solvable->arch ).c_str() );
}
+ bool Solvable::identical( Solvable rhs ) const
+ {
+ NO_SOLVABLE_RETURN( ! rhs.get() );
+ ::_Solvable * rhssolvable( rhs.get() );
+ return rhssolvable && ::solvable_identical( _solvable, rhssolvable );
+ }
///////////////////////////////////////////////////////////////////
namespace
*/
std::string asString() const;
+ /** Test whether two Solvables have the same content.
+ * Basically the same name, edition, arch, vendor and buildtime.
+ */
+ bool identical( Solvable rhs ) const;
+
public:
/** \name Access to the \ref Solvable dependencies.
inline bool operator<( const Solvable & lhs, const Solvable & rhs )
{ return lhs.get() < rhs.get(); }
+ /** \relates Solvable Test for same content. */
+ inline bool identical( Solvable lhs, Solvable rhs )
+ { return lhs.identical( rhs ); }
+
+
///////////////////////////////////////////////////////////////////
namespace detail
{ /////////////////////////////////////////////////////////////////