Browse Source

add useful operators to Either an Maybe

Kolja Strohm 2 years ago
parent
commit
e0aff43ea6
2 changed files with 19 additions and 1 deletions
  1. 12 0
      Either.h
  2. 7 1
      Maybe.h

+ 12 - 0
Either.h

@@ -59,5 +59,17 @@ namespace Framework
             if( !a )
                 action( bValue );
         }
+
+        operator A() const
+        {
+            assert( a );
+            return aValue;
+        }
+
+        operator B() const
+        {
+            assert( !a );
+            return bValue;
+        }
     };
 }

+ 7 - 1
Maybe.h

@@ -38,7 +38,7 @@ namespace Frmaework
             return set;
         }
 
-        T operator(T)() const
+        operator T() const
         {
             assert( set );
             return value;
@@ -55,5 +55,11 @@ namespace Frmaework
             if( !set )
                 action( value );
         }
+
+        T operator->()
+        {
+            assert( set );
+            return current->var;
+        }
     };
 }