]> git.stg.codes - stg.git/commitdiff
Small refactoring in RESETABLE.
authorMaxim Mamontov <faust.madf@gmail.com>
Mon, 7 Oct 2013 20:25:25 +0000 (23:25 +0300)
committerMaxim Mamontov <faust.madf@gmail.com>
Fri, 9 Jan 2015 19:29:09 +0000 (21:29 +0200)
include/stg/resetable.h

index f3cecac843b65ba94f85ffc023f945e7c8981c64..c78d02476e5cbea97d9b80acd764a80aad8d1c61 100644 (file)
@@ -1,9 +1,3 @@
- /*
- $Revision: 1.9 $
- $Date: 2010/03/11 14:42:04 $
- $Author: faust $
- */
-
 /*
  * Copyright (c) 2001 by Peter Simons <simons@cryp.to>.
  * All rights reserved.
@@ -15,8 +9,6 @@
 // This is a wrapper class about variables where you want to keep
 // track of whether it has been assigened yet or not.
 
-#include <iostream>
-
 template <typename T>
 class RESETABLE
 {
@@ -24,32 +16,31 @@ public:
     typedef T value_type;
 
     RESETABLE() : value(), is_set(false) {}
+    RESETABLE(const T & v) : value(v), is_set(true) {}
 
-    RESETABLE(const RESETABLE<value_type> & rvalue)
+    RESETABLE(const RESETABLE<T> & rvalue)
         : value(rvalue.value),
           is_set(rvalue.is_set)
     {}
 
-    RESETABLE(const value_type& val) : value(val), is_set(true) {}
-
-    RESETABLE<value_type> & operator=(const RESETABLE<value_type> & rvalue)
+    RESETABLE<T> & operator=(const RESETABLE<T> & rhs)
     {
-        value = rvalue.value;
-        is_set = rvalue.is_set;
+        value = rhs.value;
+        is_set = rhs.is_set;
         return *this;
     }
 
-    RESETABLE<value_type> & operator=(const value_type& rhs)
+    RESETABLE<T> & operator=(const T & rhs)
     {
         value = rhs;
         is_set = true;
         return *this;
     }
 
-    const value_type & const_data() const throw() { return value; }
-    value_type & data() throw() { return value; }
-    operator const value_type&() const throw() { return value; }
-    bool res_empty() const throw() { return !is_set; }
+    const T & const_data() const throw() { return value; }
+    T & data() throw() { return value; }
+    const T & data() const throw() { return value; }
+    bool empty() const throw() { return !is_set; }
     void reset() throw() { is_set = false; }
 
 private:
@@ -57,14 +48,4 @@ private:
     bool       is_set;
 };
 
-template <typename T>
-std::ostream & operator<<(std::ostream & o, const RESETABLE<T> & v);
-
-template <typename T>
-inline
-std::ostream & operator<<(std::ostream & o, const RESETABLE<T> & v)
-{
-    return o << v.const_data();
-}
-
 #endif // RESETABLE_VARIABLE_H