[Orxonox-commit 6319] r10976 - code/branches/cpp11_v2/src/libraries/util

muemart at orxonox.net muemart at orxonox.net
Fri Dec 25 21:07:13 CET 2015


Author: muemart
Date: 2015-12-25 21:07:12 +0100 (Fri, 25 Dec 2015)
New Revision: 10976

Modified:
   code/branches/cpp11_v2/src/libraries/util/Math.h
   code/branches/cpp11_v2/src/libraries/util/MultiType.h
Log:
Add some static asserts

Modified: code/branches/cpp11_v2/src/libraries/util/Math.h
===================================================================
--- code/branches/cpp11_v2/src/libraries/util/Math.h	2015-12-23 18:16:33 UTC (rev 10975)
+++ code/branches/cpp11_v2/src/libraries/util/Math.h	2015-12-25 20:07:12 UTC (rev 10976)
@@ -180,9 +180,7 @@
     template <typename T>
     inline T zeroise()
     {
-        // Default, raise a compiler error without including large boost header cascade.
-        T temp{};
-        *********temp; // If you reach this code, you abused zeroise()!
+        static_assert(sizeof(T) != sizeof(T), "No template specialization available for T");
         return temp;
     }
 

Modified: code/branches/cpp11_v2/src/libraries/util/MultiType.h
===================================================================
--- code/branches/cpp11_v2/src/libraries/util/MultiType.h	2015-12-23 18:16:33 UTC (rev 10975)
+++ code/branches/cpp11_v2/src/libraries/util/MultiType.h	2015-12-25 20:07:12 UTC (rev 10976)
@@ -427,7 +427,10 @@
                 this->createNewValueContainer(value);
             }
             /// Creates a new value container (works only with specialized types).
-            template <typename T> inline void createNewValueContainer(const T& value) { /* STATIC ASSERT */ *****value; }
+            template <typename T> inline void createNewValueContainer(const T& value)
+            { 
+                static_assert(sizeof(T) != sizeof(T), "No template specialization available for T");
+            }
 
             MT_ValueBase* value_; //!< A pointer to the value container
     };




More information about the Orxonox-commit mailing list