public:
static const mxClassID ScalarType = mxUNKNOWN_CLASS;
static const mxComplexity Complex = mxCOMPLEX;
- static const mxComplexity Real = mxCOMPLEX;
+ static const mxComplexity Real = mxREAL;
static std::string ToString() { return "Unknown/Unsupported"; }
};
// bool
MxArray() : ptr_(mxCreateDoubleMatrix(0, 0, matlab::Traits<>::Real)), owns_(true) {}
/*!
+ * @brief destructor
+ *
+ * The destructor deallocates any data allocated by mxCreate* methods only
+ * if the object is owned
+ */
+ virtual ~MxArray() {
+ dealloc();
+ }
+
+ /*!
* @brief inheriting constructor
*
* Inherit an mxArray from Matlab. Don't claim ownership of the array,
*
* This constructor explicitly creates an MxArray of the given size and type.
*/
- MxArray(size_t m, size_t n, size_t k, mxClassID id, mxComplexity com = matlab::Traits<>::Real) : owns_(true) {
+ MxArray(size_t m, size_t n, size_t k, mxClassID id, mxComplexity com = matlab::Traits<>::Real)
+ : ptr_(NULL), owns_(true) {
mwSize dims[] = { static_cast<mwSize>(m), static_cast<mwSize>(n), static_cast<mwSize>(k) };
ptr_ = mxCreateNumericArray(3, dims, id, com);
}
}
/*!
- * @brief destructor
- *
- * The destructor deallocates any data allocated by mxCreate* methods only
- * if the object is owned
- */
- virtual ~MxArray() {
- dealloc();
- }
-
- /*!
* @brief copy constructor
*
* All copies are deep copies. If you have a C++11 compatible compiler, prefer