PPI: Checkin of first compiling (yet not working) version
[senf.git] / Utils / SafeBool.hh
index 02f4151..eb116da 100644 (file)
@@ -1,6 +1,27 @@
 // $Id$
 //
-// Copyright (C) 2006
+// Copyright (C) 2007 
+// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
+// Kompetenzzentrum fuer Satelitenkommunikation (SatCom)
+//     Stefan Bund <g0dil@berlios.de>
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the
+// Free Software Foundation, Inc.,
+// 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+
+/** \file
+    \brief SafeBool public header */
 
 #ifndef HH_SafeBool_
 #define HH_SafeBool_ 1
@@ -79,7 +100,7 @@ namespace senf {
         SafeBool to safe_bool (I tend to the latter ...)
      */
     template <typename T>
-    class SafeBool
+    class ComparableSafeBool
         : public SafeBoolBase
     {
     public:
@@ -87,9 +108,12 @@ namespace senf {
         bool operator !() const;
 
     protected:
-        ~SafeBool();
+        ~ComparableSafeBool();
     };
 
+    template <typename T>
+    class SafeBool : public ComparableSafeBool<T> {};
+
     template <typename T, typename U>
     void operator==(const SafeBool<T>& lhs,const SafeBool<U>& rhs);
 
@@ -113,4 +137,5 @@ namespace senf {
 // indent-tabs-mode: nil
 // ispell-local-dictionary: "american"
 // compile-command: "scons -u test"
+// comment-column: 40
 // End: