diff --git a/src/utils/CastArray.hpp b/src/utils/CastArray.hpp
index 0f9ec514549056c1b89195356cceaf396f001032..9135489e63e08998799f9498138c61e92d1a861d 100644
--- a/src/utils/CastArray.hpp
+++ b/src/utils/CastArray.hpp
@@ -7,6 +7,8 @@ template <typename DataType,
           typename CastDataType>
 class CastArray
 {
+ public:
+  using data_type = CastDataType;
  private:
   const Array<DataType> m_array;
   const size_t m_size;
@@ -26,6 +28,20 @@ class CastArray
     return m_values[i];
   }
 
+  PASTIS_INLINE
+  CastArray& operator=(const CastArray&) = default;
+
+  PASTIS_INLINE
+  CastArray& operator=(CastArray&&) = default;
+
+  PASTIS_INLINE
+  CastArray()
+      : m_size(0),
+        m_values(nullptr)
+  {
+    ;
+  }
+
   PASTIS_INLINE
   CastArray(const Array<DataType>& array)
       : m_array (array),
@@ -47,12 +63,6 @@ class CastArray
   PASTIS_INLINE
   CastArray(CastArray&&) = default;
 
-  PASTIS_INLINE
-  CastArray& operator=(const CastArray&) = default;
-
-  PASTIS_INLINE
-  CastArray& operator=(CastArray&&) = default;
-
   PASTIS_INLINE
   ~CastArray() = default;
 };