Add Solvable/PoolItem test for sameNVRA.
authorMichael Andres <ma@suse.de>
Tue, 8 Dec 2009 18:00:03 +0000 (19:00 +0100)
committerMichael Andres <ma@suse.de>
Tue, 8 Dec 2009 18:00:03 +0000 (19:00 +0100)
zypp/PoolItem.h
zypp/sat/Solvable.h

index bf10d7d..ff5d923 100644 (file)
@@ -198,6 +198,18 @@ namespace zypp
   { return lhs.identical( rhs.satSolvable() ); }
 
 
+  /** \relates PoolItem Test for same name version release and arch. */
+  inline bool sameNVRA( const PoolItem & lhs, const PoolItem & rhs )
+  { return lhs == rhs || lhs.satSolvable().sameNVRA( rhs.satSolvable() ); }
+
+  /** \relates PoolItem Test for same name version release and arch. */
+  inline bool sameNVRA( const PoolItem & lhs, sat::Solvable rhs )
+  { return lhs.satSolvable().sameNVRA( rhs ); }
+
+  /** \relates PoolItem Test for same name version release and arch. */
+  inline bool sameNVRA( sat::Solvable lhs, const PoolItem & rhs )
+  { return lhs.sameNVRA( rhs.satSolvable() ); }
+
   /** Solvable to PoolItem transform functor.
    * \relates PoolItem
    * \relates sat::SolvIterMixin
index 4637d2f..85f55a7 100644 (file)
@@ -191,7 +191,11 @@ namespace zypp
          */
         bool identical( Solvable rhs ) const;
 
-      public:
+        /** Test for same name-version-release.arch */
+        bool sameNVRA( Solvable rhs ) const
+        { return( ident() == rhs.ident() && edition() == rhs.edition() && arch() == rhs.arch() ); }
+
+     public:
 
         /** \name Access to the \ref Solvable dependencies.
          *
@@ -308,6 +312,9 @@ namespace zypp
     inline bool identical( Solvable lhs, Solvable rhs )
     { return lhs.identical( rhs ); }
 
+    /** \relates Solvable Test for same name version release and arch. */
+    inline bool sameNVRA( Solvable lhs, Solvable rhs )
+    { return lhs.sameNVRA( rhs ); }
 
     ///////////////////////////////////////////////////////////////////
     namespace detail