]> git.tdb.fi Git - libs/datafile.git/commitdiff
Make the conversion operator of Symbol explicit
authorMikko Rasa <tdb@tdb.fi>
Sat, 4 May 2024 13:56:14 +0000 (16:56 +0300)
committerMikko Rasa <tdb@tdb.fi>
Sat, 4 May 2024 13:56:14 +0000 (16:56 +0300)
source/argumentstore.h
source/type.h
source/value.h

index e7a3c5594e3a60f075d7e12eee85368d70eb802b..e2f38c54236c019ecb589052ad085368c2ba9e4e 100644 (file)
@@ -33,7 +33,7 @@ public:
        template<typename T>
        typename TypeInfo<T>::Load get(unsigned i) const
        {
-               return extract<typename TypeInfo<T>::Store>(store+info.arg_offsets[i], info.key.signature[i]);
+               return static_cast<typename TypeInfo<T>::Load>(extract<typename TypeInfo<T>::Store>(store+info.arg_offsets[i], info.key.signature[i]));
        }
 
 private:
index 4eb07bc2436835cfe0c60dfd628d1260c5ca4acb..9823dff171be7c47a1dc99f761c2b47183ed8c47 100644 (file)
@@ -17,7 +17,8 @@ struct Symbol
        template<typename T>
        Symbol(const T &n): name(lexical_cast<std::string>(n)) { }
 
-       template<typename T> operator T() const { return lexical_cast<T>(name); }
+       template<typename T>
+       explicit operator T() const { return lexical_cast<T>(name); }
 };
 
 struct IntType
index ba6118181260c1c92c2a53f8f885507914a4d759..9dbd1920b61edfab6401e65da3bd28f06e7c5044 100644 (file)
@@ -29,7 +29,7 @@ public:
 
        template<typename T>
        typename TypeInfo<T>::Load get() const
-       { return get_<typename TypeInfo<T>::Store>(); }
+       { return static_cast<typename TypeInfo<T>::Load>(get_<typename TypeInfo<T>::Store>()); }
 
        char get_signature() const { return sig; }
 private: