Imported Upstream version 14.45.0
[platform/upstream/libzypp.git] / zypp / IdString.h
index cfac604..407a113 100644 (file)
 #include <iosfwd>
 #include <string>
 
-#include "zypp/base/SafeBool.h"
-
 #include "zypp/sat/detail/PoolMember.h"
 
 ///////////////////////////////////////////////////////////////////
 namespace zypp
 { /////////////////////////////////////////////////////////////////
 
+  class IdString;
+  typedef std::tr1::unordered_set<IdString> IdStringSet;
+
   ///////////////////////////////////////////////////////////////////
   //
   //   CLASS NAME : IdString
@@ -35,8 +36,7 @@ namespace zypp
    * While comparison differs between \ref IdString::Null and \ref IdString::Empty
    * ( \c NULL and \c "" ), both are represented by an empty string \c "".
    */
-  class IdString : protected sat::detail::PoolMember,
-                   private base::SafeBool<IdString>
+  class IdString : protected sat::detail::PoolMember
   {
     public:
       typedef sat::detail::IdType IdType;
@@ -63,7 +63,8 @@ namespace zypp
 
     public:
       /** Evaluate in a boolean context <tt>( != \c Null )</tt>. */
-      using base::SafeBool<IdString>::operator bool_type;
+      explicit operator bool() const
+      { return _id; }
 
       /** Whether the string is empty.
        * This is true for \ref Null and \ref Empty.
@@ -101,9 +102,7 @@ namespace zypp
       /** Expert backdoor. */
       IdType id() const
       { return _id; }
-    private:
-      friend base::SafeBool<IdString>::operator bool_type() const;
-      bool boolTest() const { return _id; }
+
     private:
       IdType _id;
   };