]> git.tdb.fi Git - libs/datafile.git/commitdiff
Let Variant take care of detecting type mismatches
authorMikko Rasa <tdb@tdb.fi>
Mon, 25 Jul 2011 14:10:01 +0000 (17:10 +0300)
committerMikko Rasa <tdb@tdb.fi>
Mon, 25 Jul 2011 14:10:01 +0000 (17:10 +0300)
source/value.h

index 219b0e42dd5174cf8b5eabecf55df7f5b03b17d5..78ec54a89b512599305316c9ff6ad0b35cb67b3e 100644 (file)
@@ -4,7 +4,6 @@
 #include <vector>
 #include <msp/core/meta.h>
 #include <msp/core/variant.h>
-#include "except.h"
 #include "type.h"
 
 namespace Msp {
@@ -40,9 +39,6 @@ typedef std::vector<Value> ValueArray __attribute__((deprecated));
 template<typename T>
 inline T Value::get_() const
 {
-       if(sig!=TypeInfo<T>::signature)
-               throw TypeError("Type mismatch");
-
        return data.value<typename TypeInfo<T>::Store>();
 }
 
@@ -51,10 +47,8 @@ inline FloatType::Store Value::get_<FloatType::Store>() const
 {
        if(sig==IntType::signature)
                return data.value<IntType::Store>();
-       else if(sig!=FloatType::signature)
-               throw TypeError("Type mismatch");
-
-       return data.value<FloatType::Store>();
+       else
+               return data.value<FloatType::Store>();
 }
 
 } // namespace DataFile